Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4547233B2 - Communication system, communication method and program thereof - Google Patents
[go: Go Back, main page]

JP4547233B2 - Communication system, communication method and program thereof - Google Patents

Communication system, communication method and program thereof Download PDF

Info

Publication number
JP4547233B2
JP4547233B2 JP2004312069A JP2004312069A JP4547233B2 JP 4547233 B2 JP4547233 B2 JP 4547233B2 JP 2004312069 A JP2004312069 A JP 2004312069A JP 2004312069 A JP2004312069 A JP 2004312069A JP 4547233 B2 JP4547233 B2 JP 4547233B2
Authority
JP
Japan
Prior art keywords
terminal
information
terminals
module
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004312069A
Other languages
Japanese (ja)
Other versions
JP2006128869A (en
Inventor
仁士 益谷
徹 奥川
育生 依田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004312069A priority Critical patent/JP4547233B2/en
Publication of JP2006128869A publication Critical patent/JP2006128869A/en
Application granted granted Critical
Publication of JP4547233B2 publication Critical patent/JP4547233B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、各端末間のコネクションにより構築されたフルメッシュ網において、各端末が他端末の意思を確認するためのコミュニケーションシステム、コミュニケーション方法およびそのプログラムに関する。   The present invention relates to a communication system, a communication method, and a program for each terminal to confirm the intention of another terminal in a full mesh network constructed by connections between the terminals.

従来、IPネットワーク上において複数のエンティティ(例:端末)が参加・加入する多人数チャットのようなシステムでは、ある複数のエンティティから一時的に構成されたコミュニティを構築し、その中で各エンティティはアプリケーションデータをやり取りする。   Conventionally, in a system such as a multi-person chat in which a plurality of entities (eg, terminals) participate and join on an IP network, a community temporarily composed of a plurality of entities is constructed, and each entity is Exchange application data.

このとき、各エンティティ間はデータを送受信するセッションをセットアップするためになんらかの関係(コネクションと呼ぶ)を持たなければならず、そのコネクションの構築モデルは複数存在する。   At this time, each entity must have some kind of relationship (called a connection) in order to set up a session for transmitting and receiving data, and there are a plurality of models for constructing the connection.

一般的に普及しているモデルとしては、コミュニティのエンティティ以外のコンポーネントとしてコネクションを管理するサーバを利用し、各エンティティはそのサーバとだけコネクションを構築するモデル(中央型モデルと呼ぶ)である。   A generally popular model is a model that uses a server that manages a connection as a component other than a community entity, and each entity constructs a connection only with that server (referred to as a central model).

しかし、この中央型モデルでは、各エンティティ以外に別途サーバが必要となり、上記のシステムやサービスとして提供する事業者だけでなく、自らシステムを構築する側にとっても管理・運用・保守におけるコストの点で導入が難しい。   However, this central model requires a separate server in addition to each entity, and not only for the providers providing the above systems and services, but also for those who build their own systems in terms of management, operation, and maintenance costs. Introduction is difficult.

また、中央型モデルでは一つのサーバでコネクションを管理するために、そのサーバに障害が発生した場合、そのサーバを利用して構築された全コミュニティ内の全コネクションが切断されるため、通信断が発生してしまう。つまり、中央型モデルでは単一箇所障害(single point of failure)に非常に弱いシステムであり、可用性が低いといえる。   In the central model, in order to manage connections with one server, if a failure occurs in that server, all connections in all communities built using that server will be disconnected, so communication will be interrupted. Will occur. That is, the central model is a system that is very vulnerable to a single point of failure, and can be said to have low availability.

ここで、可用性とはアベイラビリティのことであり、一般的にシステムの壊れにくさ、障害の発生しにくさ、障害発生時の修復速度などによって計られる。アベイラビリティの高いシステムと言えば、めったに障害が発生せずいつでも安心して使えるシステムを指し、逆にアベイラビリティの低いシステムとは障害が頻発し、しかもなかなか復旧しないシステムのことを意味している。   Here, availability refers to availability, and is generally measured by the degree to which a system is hard to break, the difficulty of a failure, the repair speed when a failure occurs, and the like. Speaking of a highly available system, it refers to a system that rarely fails and can be used safely at any time. On the other hand, a system with low availability means a system that frequently fails and does not recover easily.

さらに中央型モデルでは、コネクションはサーバで一括管理しているため、多くの場合、アプリケーションデータは一度、サーバに送られ、ミキシングなどのデータ加工が行われた後に、他のエンティティに送信される。このようなデータ送受信方法は、比較的データ量の大きさが小さい場合や厳密なリアルタイム性を必要としないアプリケーションには適するが、反対にテレビ会議や音声通話などの送受信するデータ量が大きく、厳密なリアルタイム性を必要とするアプリケーションには不適切である。   Furthermore, in the central model, since connections are collectively managed by a server, in many cases, application data is once sent to the server, and after data processing such as mixing is performed, it is sent to other entities. This type of data transmission / reception method is suitable for applications where the amount of data is relatively small and applications that do not require strict real-time characteristics. It is inappropriate for applications that require real-time performance.

一方、コネクションのモデルとしては各エンティティ間のコネクションを直接フルメッシュに構築するフルメッシュ型のモデルが存在する。このモデルは中央型モデルと違い、コミュニティに参加・加入するエンティティを除いて、必要となるコンポーネントはない。つまり、コネクションを一括管理するサーバは必要なく、各エンティティ自身が代わりに複数のコネクションを管理する。   On the other hand, as a connection model, there is a full mesh type model in which connections between entities are directly constructed in a full mesh. Unlike the central model, this model has no required components, except for entities that join and join the community. In other words, there is no need for a server that collectively manages connections, and each entity manages a plurality of connections instead.

また、コネクションの管理が各エンティティに分散することにより、中央型モデルに比べ、可用性が高い。これにより、あるエンティティに障害が起きたとしてもその影響は最小限に抑えられ、コミュニティ全体の通信が切断されることはない。さらに、このモデルでは多くの場合、アプリケーションのデータはサーバを介さず、直接エンティティへ送信されるため、厳密なリアルタイム性を必要とするアプリケーションに適している。   In addition, since the management of connections is distributed to each entity, the availability is higher than that of the central model. As a result, even if a failure occurs in an entity, the effect is minimized, and communication of the entire community is not cut off. Furthermore, in this model, since the application data is often transmitted directly to the entity without passing through the server, it is suitable for an application that requires strict real-time property.

ところで、コミュニティを形成する多地点通信のアプリケーションでは、新規にエンティティが参加・加入したり(新規エンティティと呼ぶ)、すでに参加・加入しているエンティティが離脱したりするといったイベントが多々発生する。このとき、コミュニティにおけるセキュリティを考えた場合、新規エンティティはコミュニティへの参加・加入に対する許可をコミュニティから得てから参加・加入することが必要である。   By the way, in a multi-point communication application that forms a community, there are many events in which a new entity joins or joins (referred to as a new entity) or an entity that already joins or joins leaves. At this time, when considering security in the community, it is necessary for the new entity to participate and join after obtaining permission from the community to join and join the community.

フルメッシュ型モデルでは各エンティティ間のエンティティ認証は電子署名などの既存技術により可能なものの、新規エンティティをそのコミュニティへ参加・加入させる場合のアクセスコントロールが非常に困難である。これは新規エンティティに対する参加・加入のアクセスコントロールの実権を持つエンティティが存在しないからである。中央型モデルの場合、例えば、コネクションを一括管理するサーバに一元的なアクセスコントロール機能を持たせることで実現できる。   In the full mesh model, entity authentication between entities can be performed by existing technologies such as electronic signatures, but access control when a new entity joins or joins the community is very difficult. This is because there is no entity having the right of participation / subscription access control for the new entity. In the case of the central model, for example, it can be realized by providing a centralized access control function to a server that collectively manages connections.

一元的なアクセスコントロール機能がない、つまりコミュニティ内のエンティティ間の様々な権限に隔たりがなくフラットな関係にある場合、新規エンティティの参加・加入の可否はすでにコミュニティに参加・加入している複数のエンティティの賛否により決定する方法が考えられる(満場一致や過半数賛成など)。   If there is no centralized access control function, that is, there is a flat relationship between the various authorities among the entities in the community, whether or not a new entity can join / subscribe multiple The method of deciding by the approval or disapproval of the entity can be considered (unanimous or majority approval).

この場合、票を生成する処理、票を各エンティティに配布する処理、各エンティティの賛否の票を収集する処理、その票によりエンティティの参加・加入の可否を決定する処理など、様々な処理(許可決定プロセス)をエンティティが行わなければならない。しかし、各エンティティ間はたとえエンティティ認証が行われていたとしても、これらの処理の間にエンティティがどのような不正を起こすか予想することができない。認証はエンティティを特定する機能を提供するだけのものであると考えられる。   In this case, various processes (permissions such as a process for generating votes, a process for distributing votes to each entity, a process for collecting votes for each entity's approval and disapproval, and a process for determining whether or not an entity can participate / subscribe with the vote) The decision process must be done by the entity. However, even if entity authentication is performed between the entities, it is impossible to predict what kind of fraud the entities will cause during these processes. Authentication is considered to only provide the ability to identify an entity.

よって、フルメッシュ型モデルでは全エンティティが信用できるエンティティが存在しないために、不正のない票の生成、不正のない票の配布、不正のない票の収集などを行うことが難しく、正しく票が配られたことや正しい手順で投票が行われたことを保証することが困難である。   Therefore, in the full mesh model, there is no entity that all entities can trust, so it is difficult to generate fraudulent votes, distribute fraudless votes, collect fraudless votes, etc. It is difficult to guarantee that the vote has been made and the correct procedure has been taken.

また、フルメッシュ型モデルではコミュニティ内の他のエンティティ間でのやり取りは直接知ることができないため、あるエンティティが新規エンティティに関する参加・加入の許可決定プロセス(票の生成・配布など)を行い、許可決定プロセス後、その新規エンティティが既にコミュニティに参加・加入している各エンティティに対してアクセスしコネクションを構築するときに、アクセスを受けたエンティティは、許可決定プロセスにおける各処理が不正なく安全に実施され、その新規エンティティが他のエンティティから許可を得ていることを確実に知る事が難しい。   In addition, since the full mesh model cannot directly know the exchanges between other entities in the community, one entity performs a permission decision process (such as generation and distribution of votes) for participation / subscription for new entities. After the decision process, when the new entity accesses and establishes a connection to each entity that has already joined or joined the community, the entity that has received the access will perform each process in the authorization decision process safely and without fraud It is difficult to reliably know that the new entity has permission from other entities.

ここで不正とは、例えば、新規エンティティがあるコミュニティに参加・加入しているエンティティから満場一致の賛成を得られないと参加・加入できないとしたとき、不正を行わないあるエンティティ1とエンティティ2が前者は新規エンティティのコミュニティの参加・加入に対し反対であり、後者が賛成のときに、エンティティ1とエンティティ2以外の他のエンティティによる不正により、エンティティ2に対し、新規エンティティが満場一致の賛成を得ているように思わせることである(非特許文献1〜6を参照)。
Henry Sinnreich, Alan B.Johnson(著),阪口 克彦(翻訳),“マスタリングTCP/IP SIP編,”オーム社 Oct 2002. 12章 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.
Here, fraud is, for example, when an entity 1 and entity 2 that do not perform fraud are considered to be unable to participate / subscribe without obtaining unanimous agreement from an entity that has joined / subscribed to a community. The former is against the participation and participation of the community of the new entity, and when the latter is in favor, the new entity agrees that Entity 2 is unanimously due to fraud by entities other than Entity 1 and Entity 2. It is to make it seem to have obtained (refer nonpatent literatures 1-6).
Henry Sinnreich, Alan B. Johnson (Author), Katsuhiko Sakaguchi (Translation), “Mastering TCP / IP SIP,” Ohm Corporation Oct. 2002, Chapter 12 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. TPPedersen, "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. Tatsuaki Okamoto, Hiroshi Yamamoto, “Contemporary Cryptography Series / Mathematics of Information Science,” P.217 Sangyo Tosho Publishing, July 1997.

しかしながら、上述した従来の技術においては以下のような解決すべき課題があった。   However, the conventional techniques described above have the following problems to be solved.

上述のフルメッシュ型モデルでは、一元的なアクセスコントロール機関が存在しないために、既にコミュニティに参加・加入している複数のエンティティが新規エンティティのコミュニティへの参加・加入の決定を投票により決定する方法が考えられるが、この場合、許可決定プロセスを複数のエンティティが協力して行わなければならなかった。   In the above-described full mesh model, since there is no centralized access control organization, a plurality of entities that have already joined or joined a community determine the decision of joining or joining a new entity to the community by voting. In this case, however, the permission decision process had to be carried out by multiple entities.

また、たとえ電子署名などの認証技術を利用してエンティティ認証が行われたとしても、エンティティの行動は予想不可能であるため、フルメッシュ型モデルでは、結局、全エンティティが信用できるエンティティを仮定することが難しい。このため、不正のない票の生成、不正のない票の配布、不正のない票の収集などを行うことが困難であり、正しく票が配られたことや正しい手順で投票が行われたことを保証することが難しかった。   In addition, even if entity authentication is performed using an authentication technique such as electronic signature, the behavior of the entity is unpredictable, so in the full mesh model, all entities are assumed to be trusted in the end. It is difficult. For this reason, it is difficult to generate a vote without fraud, distribute a vote without fraud, collect a vote without fraud, and so on. It was difficult to guarantee.

また、フルメッシュ型のコネクションでは、コミュニティ内の他のエンティティ間でのやり取りは直接知ることができないため、エンティティによる行動を直接他のエンティティが知ることが難しかった。よって、許可決定プロセスが実施され、新規エンティティとすでにコミュニティに参加・加入しているエンティティ間でコネクションを構築するときに、許可決定プロセスが各処理が不正なく安全に実施され、その新規エンティティが他のエンティティから許可を得ていることを各エンティティは確実に知ることが難しかった。   Further, in a full mesh connection, since the exchange between other entities in the community cannot be directly known, it is difficult for other entities to directly know the behavior of the entity. Therefore, when a permission determination process is performed and a connection is established between a new entity and an entity that has already joined or joined the community, the permission determination process is performed safely without any unauthorized processing. It was difficult for each entity to know for sure that they had permission from the other entities.

本発明は、上記の課題に鑑みてなされたもので、その目的とするところは、新規エンティティがフルメッシュ網によるコミュニティに参加・加入する場合に、既にコミュニティに加入している複数のエンティティによる賛否の票によるアクセスコントロールを実現でき、許可決定プロセス中において存在する不正なエンティティを検出することができ、許可決定プロセスが不正に操作されることを防止でき、新規エンティティがコミュニティに既に参加・加入している各エンティティに対してコネクションを確立する場合に、許可決定プロセスを不正なく安全に行うことができ、コミュニティに参加・加入している他のエンティティが新規エンティティのコミュニティへの参加・加入に賛否(許可)したことを確実に確認することができるコミュニケーションシステム、コミュニケーション方法およびそのプログラムを提供することにある。   The present invention has been made in view of the above-described problems, and the object of the present invention is to approve or reject by a plurality of entities that have already joined the community when a new entity joins or joins a community based on a full mesh network. Can control access by the vote, detect unauthorized entities that exist in the authorization decision process, prevent unauthorized manipulation of the authorization decision process, and new entities have already joined and joined the community. When establishing a connection for each entity, the authorization decision process can be performed safely and without fraud, and other entities participating in or joining the community agree or disagree with the participation or participation of the new entity in the community. (Allowed) Interview Nikeshon system, to provide a communication method and a program.

課題を解決するために、本発明の請求項1は、ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションシステムであって、2つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成された前記コミュニティと、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成される応対端末と、前記応対端末以外の前記コミュニティに属する端末により構成されるメンバ端末と、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するための許可情報生成モジュールと、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するコネクション確立情報生成モジュールと、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、投票用情報であるn個の許可情報シェアと1個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の(k、n)閾値法(k≦n)によって分散符号化し、n個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が3以上のときに新規端末の宛先情報を前記検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、n個の宛先情報シェアと1個の宛先情報シェア検証用情報を生成するためのVSS分散符号化モジュールと、前記秘密分散法または前記検証可秘密分散の(k、n)閾値法によって、n個の分散符号化されたシェアからk個以上のシェアを利用することで元の情報を復元するためのVSS復号化モジュールと、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、VSSにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するシェア検証モジュールと、共通鍵暗号化方式によるセッションキーを生成する共通鍵生成モジュールと、を有し、前記許可情報生成モジュールで生成する前記許可情報と、前記VSS分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記VSS分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記VSS分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するデータベースと、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記VSS復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するための許可情報比較モジュールと、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するためのコネクション確立情報比較モジュールと、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するための公開鍵暗号化方式暗号化モジュールと、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するための共通鍵暗号化方式暗号化モジュールと、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するためのdigest生成モジュールと、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するための公開鍵暗号化方式復号化モジュールと、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するための共通鍵暗号化方式復号化モジュールと、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするための意思入力モジュールと、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記digest生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するためのメッセージ生成モジュールと、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記VSS分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記VSS復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するための制御モジュールと、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記digest生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するためのメッセージ不正判断モジュールと、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記digest生成モジュールによりダイジェストを生成し、2つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すためのメッセージ解析モジュールと、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すためのメッセージ処理モジュールと、を備える。   In order to solve the problem, claim 1 of the present invention communicates with a plurality of terminals or public key servers connected to a network, and establishes a connection with the plurality of terminals to establish a community. A full-mesh network formed by a full-mesh connection between two or more terminals, the communication system for obtaining a public key by a public key acquisition request to the public key server A request is made to invite a new terminal that does not belong to the community and a new terminal that does not belong to the community, or a request that a new terminal that does not belong to the community belongs to the community. A reception terminal configured by any of the terminals belonging to the community; Information that is the basis for creating voting information for deciding whether or not to join / subscribe when a new terminal joins / joins a member terminal composed of terminals belonging to the community other than the end And when a new terminal requests each of the member terminals to establish the connection, whether the new terminal has obtained approval for the participation / subscription from the member terminal and the receiving terminal of the community. A permission information generation module for generating permission information, which is information for confirmation, and connection establishment information necessary for the reception terminal to confirm whether a new terminal has established the connection with the member terminal The connection establishment information generation module to be generated and the permission generated independently by each of the member terminals. Information is distributedly encoded by the verifiable secret sharing (k, n) threshold method (k ≦ n) to generate n permission information shares and one permission information share verification information as voting information, and the like All terminals that are distributed and encoded with the secret sharing method (k, n) threshold method (k ≦ n), generate n connection establishment information shares, and participate in or join the community in the same manner When the number is 3 or more, the destination information of the new terminal is distributedly encoded by the verifiable secret sharing (k, n) threshold method (k ≦ n) to verify n destination information shares and one destination information share. VSS share coding module for generating information for use, and (k, n) threshold method of the secret sharing method or the verifiable secret sharing method to obtain k or more shares from n distributed coded shares By using the original information The VSS decryption module for restoring information, the permission information share verification information and the destination information share verification information are used, and the permission information share, the connection establishment information share, and the destination information share are illegal by VSS. The permission information generated by the permission information generation module, and the VSS distributed code, the share verification module for checking whether or not there is a common key generation module for generating a session key by a common key encryption method The permission information share that is generated using the authentication module and the permission information, the permission information share verification information, the connection establishment information that is generated by the connection establishment information generation module, the VSS distributed encoding module, and the The connection establishment information generated using the connection establishment information Share, a session key generated by the common key generation module, a public key of a terminal other than the terminal acquired by inquiring the public key server, a secret key and a public key of the terminal, and another terminal The destination information share generated using the VSS distributed encoding module and the destination information, the destination information share verification information, and all terminals participating in or joining the community A database managing the terminal list, and when the new terminal requests each of the member terminals to establish the connection, the member terminal agrees with the terminal from the other terminals belonging to the community. The permission information share acquired from the new terminal and the permission managed in the database of the own terminal. A permission information comparison module for comparing and confirming permission information restored using the information share, the VSS decryption module, and permission information managed in the database of the own terminal; When the connection is received from the new terminal, whether or not the connection is established with all the member terminals, the connection establishment information share acquired from the new terminal and the connection managed by the database of the own terminal A connection establishment information comparison module for comparing and confirming the connection establishment information restored using the establishment information share, the VSS decoding module, and the connection establishment information managed in the database of the terminal itself; To encrypt information that has been requested for encryption using public key encryption The conversion result of multiple information is the same as the public key encryption module for the public key, the common key encryption module for encrypting the requested information using the common key encryption system A digest generation module for generating a digest of arbitrary information using a message digest function, which is a kind of hash function that is difficult to become, and decryption of the information requested to be decrypted by a public key encryption method Whether to establish a connection with a public key encryption scheme decryption module for decrypting information, a common key encryption scheme decryption module for decrypting information requested for decryption with a common key encryption scheme, and Determination of the approval and disapproval of participation / subscription of the new terminal to the community, and participation / addition of the new terminal to the community A decision input module for making a final decision on approval or disapproval for admission and a decision on whether to join or join the community, a message with the requested content, and a request to generate the message In the case of attaching the information passed from time to time to the message, when the electronic signature and encryption are applied to the message, the public key encryption method encryption module, the common key encryption method module, and the digest generation module are used. On the other hand, if only the encryption is performed, a message generation module for executing the attachment with the common key cryptosystem module, and requesting the permission information generation module to generate the permission information, The connection establishment information generation module generates the connection establishment information. Requesting the VSS distribution to generate the permission information share, the permission information share verification information, or the connection establishment information share, or the destination information share, and the destination information share verification information. Request the encoding module, request the public key cryptosystem encryption module to encrypt the permission information share with the public key, and decrypt the encrypted permission information share with the public key cryptosystem decryption module Requesting the intention input module to make the decision, requesting the VSS decryption module to restore the destination information from the destination information share, and comparing the permission information to the permission information comparison Requesting the module to compare the connection establishment information to the connection establishment information comparison module. Request the common key generation module to generate the application key, request the share verification module to check whether the permission information share or the destination information share is illegal, and inquire and store various information in the database to generate the message. A control module for requesting the module to generate the message, and for all terminals, a digest included in the message to confirm whether fraudulent activity has been performed during transmission / reception of the received message. A message fraud determination module for comparing whether the digest generated by the digest generation module is different from the content of the message and the content of the message, and the electronic signature and encryption of the received message for all terminals If the When the message is decrypted with the key encryption system decryption module and the common key encryption system decryption module, and the public key of the source terminal necessary for decrypting the message is not stored in the database In order to request the public key server to obtain a public key through the control module, and to check whether the message is fraudulent after the decryption process, the content of the obtained message The digest is generated by the digest generation module with the content of the message from the digest, and the two digests are passed to the message fraud determination module, and confirmation of the presence or absence of fraud is requested. The message content, while the message A message analysis module for decrypting the message by the common key encryption method decryption module and passing the content of the message after the decryption to the control module; A message processing module for transmitting the message generated by the message generation module to an external terminal or the public key server, and passing the message received from the external terminal or the public key server to the message analysis module; .

また、請求項2に記載の本発明は、請求項1において、前記許可情報生成モジュールは、前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。   Also, in the present invention described in claim 2, the permission information generation module according to claim 1, wherein the permission information generation module includes the time information at the time of generation, the destination information of the new terminal, and an arbitrary random keyword. And generate.

また、請求項3に記載の本発明は、請求項1または2のいずれかにおいて、前記コネクション確立情報生成モジュールは、前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。   In addition, according to a third aspect of the present invention, in the first or second aspect, the connection establishment information generation module is configured to generate the connection establishment information, time information at the time of generation, and the destination information of the new terminal. And arbitrary random keywords.

また、請求項4に記載の本発明は、請求項1〜3のいずれかにおいて、全端末数が2つの場合において、前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値(3、3)により3個生成し、そのうちの一つを前記応対端末に配布する第一段階と、前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ1つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した1個と、前記応対端末が持つ1個と、を併せた2個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、あるいは、全端末数が3つ以上の場合において、前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより閾値((全端末数)、(全端末数))で(全端末数)個の前記許可情報シェアと、1個の前記許可情報シェア検証用情報と、を生成し、(全端末数)個のうちの(全端末数−1)個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に1つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した(全端末数−2)個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した(全端末数−2)×(全端末数−1)個と前記応対端末が持つ(全端末数−1)個とを併せた、(全端末数−1)×(全端末数−1)個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とする。   In addition, in the present invention described in claim 4, in any one of claims 1 to 3, when the total number of terminals is two, the reception terminal can join the member terminal to the community of the new terminal. The member terminal asks for approval / disapproval of the subscription, and based on the permission information generated independently in the case of approval, the VSS distributed coding module uses the threshold information (3, 3) for the three permission information shares as voting information. Generating and distributing one of them to the receiving terminal, and when the member terminal approves in the first stage, the member terminal shares one permission information share of its own terminal The second stage of determining whether or not to allow the new terminal to participate in or join the community is submitted as an approval vote to the receiving terminal, and the member terminal is in favor of the second stage. In this case, the permission terminal shares two permission information shares, one of which is collected as an approval vote from the member terminal and one of the reception terminal, into the new terminal. Provided as a ticket for joining, and when the new terminal establishes the connection with the member terminal, attaches all the permission information shares acquired from the receiving terminal to a message for requesting establishment of the connection Or when the total number of terminals is three or more, the receiving terminal asks all the member terminals to approve or disagree with the participation / subscription of the new terminal to the community. Based on the permission information generated independently, the member terminal uses the VSS distributed coding module as a threshold ((total number of terminals), (total number of terminals)) (all (Number of terminals) number of permission information shares and one piece of permission information share verification information are generated, and (number of all terminals) out of the number of permission information shares of (number of all terminals). Distribute one each to all the other member terminals and the receiving terminal, and simultaneously distribute the permission information share verification information, and all the member terminals agree in the first stage. If there is, each of the member terminals submits the permission information share (total number of terminals -2) acquired from all the other member terminals to the corresponding terminal as an approval vote, so that the new terminal In the second stage, and when all the member terminals are in favor in the second stage, the receiving terminal is in favor of all the member terminals. As recovered (Total number of terminals−1) × (total number of terminals−1) × (total number of terminals−1) × (total number of terminals−1) ) Obtained permission information shares as tickets for joining / subscribing to the community to the new terminal, and obtained from the corresponding terminal when the new terminal establishes the connection with each of the member terminals The permission information share is added to a message for requesting establishment of the connection as a third stage.

また、請求項5に記載の本発明は、請求項4において、前記第一段階は、各々の前記メンバ端末が前記許可情報シェアを配布する場合において、全端末数が2つのときは、前記メンバ端末は自端末が生成した3個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、全端末数が3つ以上のときは、各々の前記メンバ端末は自端末が生成した(全端末数)個の前記許可情報シェアのうち、(全端末数−1)個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理する。   Further, in the present invention according to claim 5, in the claim 4, in the case where each of the member terminals distributes the permission information share in the case of the first stage, when the total number of terminals is two, the member The terminal distributes one of the three permission information shares generated by its own terminal to the corresponding terminal, one is a vote for its own terminal, and the other one of the permission information shares is sent to other terminals. When managing all without leaking and the total number of terminals is three or more, each of the member terminals is (total number of terminals minus one) among the permitted information shares generated by the own terminal (total number of terminals) The information is distributed to other terminals, and the remaining one of the permission information share and the permission information is managed without leaking to the other terminals.

また、請求項6に記載の本発明は、請求項5において、前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出する。   Further, in the present invention described in claim 6, when the member terminal submits the permission information share to the reception terminal in claim 5, or the permission acquired by the reception terminal from each of the member terminals. When providing the information share to the new terminal, the information is encrypted and submitted by the public key cryptosystem encryption module using the public key of the new terminal including the destination information of the own terminal.

また、請求項7に記載の本発明は、請求項4〜6のいずれかにおいて、前記第二段階において、全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記VSS分散符号化モジュールにより、閾値((全端末数)、(全端末数))で分散符号化して得られた(全端末数)個の前記コネクション情報シェアのうちの(全端末数−1)を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理する。   Further, in the present invention described in claim 7, in any one of claims 4 to 6, in the second stage, when all the member terminals have submitted a vote in favor to the reception terminal, The connection establishment information is generated by the connection establishment information generation module, and the connection establishment information is distributedly encoded by the VSS distributed encoding module with threshold values ((total number of terminals), (total number of terminals)). Of the connection information shares of (total number of terminals), (total number of terminals −1) is provided to all the member terminals one by one, and the remaining one connection establishment information share and its original The connection establishment information which is information is managed by the database without leakage to the outside.

また、請求項8に記載の本発明は、請求項4〜7のいずれかにおいて、前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、全端末数が2つの場合は、前記コネクション確立要求メッセージに添付されている2個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、全端末数が3つ以上の場合は、前記コネクション確立要求メッセージに添付されている(全端末数−1)×(全端末数−1)個の前記許可情報シェアのうち、自端末が配布した(全端末数−1)個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの(全端末数−2)×(全端末数−1)個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返す。   The invention according to claim 8 is the case where the member terminal receives a message indicating the connection establishment request attached with the permission information share from the new terminal according to any one of claims 4 to 7. In order to check whether the new terminal receives approval for participation / subscription from all terminals belonging to the community other than its own terminal, the permission information comparison module receives the permission information from the control module. When the comparison request is received and the total number of terminals is two, the two permission information shares attached to the connection establishment request message and the one permission information share managed in the database of the own terminal The permission information is restored by the VSS decryption module and stored in the database of the terminal itself. If there is no difference, the difference between the time information included in the permission information and the time information at the time of comparison is greater than or equal to a predetermined value set in advance. If it is less than the predetermined value, it is further checked whether the destination information is different from the new terminal. If there is no difference, a normal response is returned to the control module, and the total number of terminals is three or more. In the case of (1), among the (total number of terminals −1) × (total number of terminals −1) of the permission information shares attached to the connection establishment request message, the own terminal distributed (total number of terminals −1). The permission information is restored by the VSS decryption module using the permission information shares and the one permission information share managed in the database of the terminal, and is stored in the database of the terminal. Before If there is no difference, it is checked whether or not the difference between the time information included in the permission information and the time information at the time of comparison is equal to or greater than the predetermined value. If it is equal to or smaller than the predetermined value, it is further checked whether the destination information is different from the new terminal. If there is no difference, the remaining (total number of terminals−2) × (total number of terminals−1) Whether or not the permission information share is illegal is confirmed by using the permission information share verification information acquired at the time of distribution of the permission information share from the share verification module and the other member terminals. A normal response is returned to the control module.

また、請求項9に記載の本発明は、請求項8において、前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備える。   The present invention described in claim 9 further comprises permission information validity period setting means for arbitrarily setting the predetermined value indicating the validity period of the permission information.

また、請求項10に記載の本発明は、請求項8または9のいずれかにおいて、前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した(全端末数−1)個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した(全端末数−1)個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している1個の前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返す。   Further, in the present invention according to claim 10, in any one of claims 8 and 9, the new terminal transmits a message indicating the connection establishment request to each of the member terminals, and the connection is normally established. Each of the member terminals provides the connection establishment information share stored in the database by the own terminal, and the new terminals are obtained from all the member terminals (total number of terminals −1). Including the connection establishment information share, and providing the connection terminal with the connection terminal in order to confirm whether or not the new terminal has established the connection with all the member terminals. The comparison module receives a request for comparison of the connection establishment information from the control module and acquires it from the new terminal (all end Number-1) connection establishment information shares, one connection establishment information share managed in the database of its own terminal, and the connection establishment information restored using the VSS decoding module, The connection establishment information managed in the database of the terminal is compared to check whether there is a difference. If there is no difference, the time information included in the connection establishment information and the comparison It is checked whether or not the difference from the time information is equal to or greater than the predetermined value. If the difference is equal to or smaller than the predetermined value, a normal response is returned to the control module.

また、請求項11に記載の本発明は、請求項10において、前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備える。   The present invention described in claim 11 further comprises connection establishment information validity period setting means for arbitrarily setting the predetermined value indicating the validity period of the connection establishment information.

また、請求項12に記載の本発明は、請求項4〜11のいずれかにおいて、前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、全端末数が3つ以上の場合は、前記新規端末の前記宛先情報を前記VSS分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記VSS復号化モジュールにより元の前記宛先情報を復元する。   Further, in the present invention described in claim 12, in any one of claims 4 to 11, the response terminal asks each of the member terminals for approval or disapproval for participation / subscription of the new terminal to the community. The member terminal is notified as the destination information of the new terminal that wishes to invite or join / subscribe, and when the total number of terminals is three or more, the destination information of the new terminal is the VSS distributed coding The destination information share obtained by distributed encoding by the module and the destination information share verification information are notified, and each of the member terminals acquires the destination information share acquired from the reception terminal in order to obtain the original destination information. All of the destination information with the destination information share verification information and the share verification module acquired from the reception terminal. To restore the original of the destination information by the VSS decryption module after verifying the fraud share.

また、請求項13に記載の本発明は、請求項4〜12のいずれかにおいて、前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行う。   Further, in the present invention described in claim 13, when the member terminal submits the permission information share as an approval vote in any one of claims 4 to 12, the permission information share is changed to the permission information share. The share verification module checks whether the verification information is fraudulent.

また、請求項14に記載の本発明は、請求項4〜13のいずれかにおいて、前記第一段階において、前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知する。   In addition, in the present invention according to claim 14, in any one of claims 4 to 13, in the first stage, the reception terminal joins the community of the new terminal notified from all the member terminals In response to a request for approval or disapproval of the subscription, a totaling result indicating whether or not it is possible to proceed to the second stage for the voting is notified, and the voting result is notified in the second stage.

また、請求項15に記載の本発明は、ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーション方法であって、前記コミュニティを、2つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成するステップと、応対端末を、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成するステップと、メンバ端末を、前記応対端末以外の前記コミュニティに属する端末により構成するステップと、許可情報生成モジュールにより、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するステップと、コネクション確立情報生成モジュールにより、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するステップと、VSS分散符号化モジュールにより、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、投票用情報であるn個の許可情報シェアと1個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の(k、n)閾値法(k≦n)によって分散符号化し、n個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が3以上のときに新規端末の宛先情報を前記検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、n個の宛先情報シェアと1個の宛先情報シェア検証用情報を生成するステップと、VSS復号化モジュールにより、前記秘密分散法または前記検証可秘密分散の(k、n)閾値法によって、n個の分散符号化されたシェアからk個以上のシェアを利用することで元の情報を復元するステップと、シェア検証モジュールにより、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、VSSにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するステップと、共通鍵生成モジュールにより、共通鍵暗号化方式によるセッションキーを生成するステップと、を有し、データベースにより、前記許可情報生成モジュールで生成する前記許可情報と、前記VSS分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記VSS分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記VSS分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するステップと、許可情報比較モジュールにより、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記VSS復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するステップと、コネクション確立情報比較モジュールにより、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するステップと、公開鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するステップと、共通鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するステップと、digest生成モジュールにより、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するステップと、公開鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するステップと、共通鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するステップと、意思入力モジュールにより、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするステップと、メッセージ生成モジュールにより、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記digest生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するステップと、制御モジュールにより、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記VSS分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記VSS復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するステップと、メッセージ不正判断モジュールにより、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記digest生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するステップと、メッセージ解析モジュールにより、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記digest生成モジュールによりダイジェストを生成し、2つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すステップと、メッセージ処理モジュールにより、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すステップと、を有する。   The present invention according to claim 15 communicates with a plurality of terminals or public key servers connected to a network, and establishes a connection with the plurality of terminals to form a community, And a communication method for acquiring a public key by a public key acquisition request to the public key server, wherein the community is formed by a full mesh connection between two or more of the terminals. A step of forming a network and a request for inviting a new terminal that does not belong to the community to the community, or a new terminal that does not belong to the community belongs to the community. Configuring with any of the terminals belonging to the community that received the request; For determining whether to participate or join when a new terminal joins or joins the community by the step of configuring a mobile terminal with a terminal belonging to the community other than the receiving terminal and the permission information generation module Information that is the basis for creating voting information, and when a new terminal requests each of the member terminals to establish the connection, the new terminal participates from the member terminal and the receiving terminal of the community. A step of generating permission information, which is information for confirming whether or not approval for subscription has been obtained, and whether or not a new terminal has established the connection with the member terminal by the connection establishment information generation module; Of generating connection establishment information necessary for confirmation , The VSS distributed encoding module distributes and encodes the permission information generated independently by each of the member terminals by the verifiable secret sharing (k, n) threshold method (k ≦ n), and outputs n pieces of voting information. A permission information share and one permission information share verification information are generated, and similarly connection establishment information is distributedly encoded by the secret sharing method (k, n) threshold method (k ≦ n), and n pieces of connection establishment information are obtained. Similarly, when the total number of terminals participating in or joining the community is 3 or more, the destination information of the new terminal is obtained by the (k, n) threshold method (k ≦ n) of the verifiable secret sharing A distributed encoding, generating n destination information shares and one destination information share verification information, and a (k, n) threshold of the secret sharing method or the verifiable secret sharing by a VSS decryption module A step of restoring original information by using k or more shares from n distributed coded shares by a value method; and the permission information share verification information and the destination information share by a share verification module A step of confirming whether the permission information share, the connection establishment information share, and the destination information share are illegal by using VSS, and a session key by a common key encryption method by a common key generation module; Generating the permission information generated by the permission information generation module using the database, the VSS distributed coding module and the permission information share generated using the permission information, and Authorization information share verification information and the connection generated by the connection establishment information generation module Inquiry to the public key server, the connection establishment information share generated by using the connection establishment information, the VSS distributed encoding module and the connection establishment information, the session key generated by the common key generation module, and the public key server Generated by using the public key of the other terminal other than the own terminal acquired in the above, the private key and public key of the own terminal, the destination information of the other terminal, the VSS distributed encoding module, and the destination information. Managing the destination information share, the destination information share verification information, and a terminal list covering all terminals participating in or joining the community, and a permission information comparison module, whereby the new terminal When the member terminal is requested to establish the connection, the new terminal in the member terminal Whether the approval is obtained from another terminal belonging to the tee, the permission information share acquired from the new terminal, the permission information share managed in the database of the own terminal, and the VSS decoding module, When the response terminal receives access from the new terminal by the step of comparing and confirming the permission information restored using and the permission information managed in the database of the own terminal, and the connection establishment information comparison module Whether the connection has been established with all the member terminals, the connection establishment information share acquired from the new terminal, the connection establishment information share managed by the database of the own terminal, and the VSS decoding module And the connection establishment information restored using A step of comparing and confirming connection establishment information managed in a database, a step of encrypting information requested by the public key encryption method using a public key encryption method encryption module, and a common key A step of encrypting information requested to be encrypted by a common key encryption method by an encryption method encryption module and a hash function in which conversion results of a plurality of information are difficult to be the same by a digest generation module A step of generating a digest of arbitrary information using a message digest function which is a type of the above, and a step of decrypting information requested for decryption by a public key encryption method decryption module by a public key encryption method And the information received by the common key encryption method decryption module into the common key encryption method A step of further decryption, a decision input module to determine whether to establish the connection, a primary decision on the approval or disapproval of participation / subscription of the new terminal to the community, and participation of the new terminal in the community A final decision on whether or not to participate and a decision on whether or not to join / subscribe to the community; a message generation module generates a message of the requested content, and generation of the message In the case of attaching the information passed at the time of the request to the message and applying the electronic signature and encryption to the message, the public key encryption module, the common key encryption module, the digest generation module, While performing the attachment, while applying only the encryption. In this case, the step of executing the attachment with the common key cryptosystem module, and the control module requests the permission information generation module to generate the permission information, and the connection establishment information generation module generates the connection establishment information. The VSS to generate the permission information share, the permission information share verification information, or the connection establishment information share, or the destination information share, and the destination information share verification information. Request the distributed encoding module, request the public key cryptosystem encryption module to encrypt the permission information share with the public key, and decrypt the encrypted permission information share with the public key cryptosystem decryption Ask the module to ask the intention input module to make the decision, The VSS decoding module is requested to restore the destination information from the destination information share, the permission information comparison module is requested to compare the permission information, and the connection establishment information comparison is performed to the connection establishment information comparison module. Request the common key generation module to generate the session key, request the share verification module to perform fraud checks on permission information share or destination information share, and inquire and store various information in the database. A step of requesting the message generation module to generate the message and a message fraud determination module for confirming whether or not fraudulent activity has been performed during transmission / reception of the received message for all terminals. The digest included in the message And whether the digest generated by the digest generating module is different from the content of the message and the content of the message, and the received message is digitally signed and encrypted for all terminals by the message analyzing module. The message is decrypted by the public key encryption system decryption module and the common key encryption system decryption module, and further, the source terminal required for decrypting the message If the public key is not stored in the database, the public key server is requested to acquire the public key through the control module, and it is confirmed whether or not the message is fraudulent after the decryption process. In order to do so from the content and digest of the obtained message A digest is generated by the digest generation module based on the message content, two digests are passed to the message fraud determination module, and confirmation of the presence or absence of fraud is requested. If there is no fraud, the message content is passed to the control module. On the other hand, if the message is only encrypted, decrypting the message by the common key encryption method decryption module, and passing the content of the decrypted message to the control module; The message processing module transmits the message generated by the message generation module to an external terminal or the public key server, and passes the message received from the external terminal or public key server to the message analysis module. And having.

また、請求項16に記載の本発明は、請求項15において、前記許可情報生成モジュールは、前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。   Further, in the present invention described in claim 16, in claim 15, the permission information generation module is configured to generate the permission information, time information at the time of generation, the destination information of the new terminal, and an arbitrary random keyword. And generate.

また、請求項17に記載の本発明は、請求項15または16のいずれかにおいて、前記コネクション確立情報生成モジュールは、前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。   Further, the present invention according to claim 17 is the connection establishment information generation module according to any one of claims 15 and 16, wherein the connection establishment information includes the time information at the time of generation and the destination information of the new terminal. And arbitrary random keywords.

また、請求項18に記載の本発明は、請求項15〜17のいずれかにおいて、全端末数が2つの場合において、前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値(3、3)により3個生成し、そのうちの一つを前記応対端末に配布する第一段階と、前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ1つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した1個と、前記応対端末が持つ1個と、を併せた2個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、あるいは、全端末数が3つ以上の場合において、前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより閾値((全端末数)、(全端末数))で(全端末数)個の前記許可情報シェアと、1個の前記許可情報シェア検証用情報と、を生成し、(全端末数)個のうちの(全端末数−1)個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に1つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した(全端末数−2)個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した(全端末数−2)×(全端末数−1)個と前記応対端末が持つ(全端末数−1)個とを併せた、(全端末数−1)×(全端末数−1)個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とする。   Further, in the present invention described in claim 18, in any one of claims 15 to 17, when the total number of terminals is two, the reception terminal can join the member terminal to the community of the new terminal. The member terminal asks for approval / disapproval of the subscription, and based on the permission information generated independently in the case of approval, the VSS distributed coding module uses the threshold information (3, 3) for the three permission information shares as voting information. Generating and distributing one of them to the receiving terminal, and when the member terminal approves in the first stage, the member terminal shares one permission information share of its own terminal A second step of submitting as an approval vote to the receiving terminal and determining whether or not the new terminal is to participate in or join the community, and the member terminal agrees in the second step If the answering terminal has received the permission information share, which is a combination of the one collected by the receiving terminal from the member terminal as an approval vote and the one held by the receiving terminal, to the new terminal to the community Provided as a ticket for joining / subscribing, and when the new terminal establishes the connection with the member terminal, all the permission information shares acquired from the receiving terminal are used as a message for requesting establishment of the connection. A third stage to be attached, or in the case where the total number of terminals is three or more, the receiving terminal asks all the member terminals for approval or disapproval for participation / subscription of the new terminal to the community, Each of the member terminals is thresholded by the VSS distributed coding module based on the permission information generated independently ((total number of terminals), (total number of terminals)). (The total number of terminals) pieces of the permission information share and one piece of the permission information share verification information are generated, and (the total number of terminals) out of the (total number of terminals) pieces of the permission information. Each share is distributed to all the other member terminals and the receiving terminal, and the permission information share verification information is distributed at the same time as the first stage. In the first stage, all the member terminals In the case of approval, each of the member terminals submits the permission information share (total number of terminals−2) acquired from all the other member terminals to the reception terminal as approval votes, Deciding whether to join or join a new terminal to the community is the second stage, and when all the member terminals are in favor in the second stage, the receiving terminal is sent from all the member terminals. In favor (Total number of terminals−2) × (total number of terminals−1) and (total number of terminals−1) × (total number of terminals−1) × (total number of terminals) -1) providing the permission information share to the new terminal as a ticket for joining / subscribing to the community, and when the new terminal establishes the connection with each of the member terminals, the corresponding terminal The third stage is to attach all the permission information shares acquired from the message to the message for requesting establishment of the connection.

また、請求項19に記載の本発明は、請求項18において、前記第一段階は、各々の前記メンバ端末が前記許可情報シェアを配布する場合において、全端末数が2つのときは、前記メンバ端末は自端末が生成した3個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、全端末数が3つ以上のときは、各々の前記メンバ端末は自端末が生成した(全端末数)個の前記許可情報シェアのうち、(全端末数−1)個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理する。   Further, in the present invention according to claim 19, in the claim 18, in the case where each of the member terminals distributes the permission information share when the number of all terminals is two, The terminal distributes one of the three permission information shares generated by its own terminal to the corresponding terminal, one is a vote for its own terminal, and the other one of the permission information shares is sent to other terminals. When managing all without leaking and the total number of terminals is three or more, each of the member terminals is (total number of terminals −1) among (the total number of terminals) of the permitted information shares generated by the own terminal The information is distributed to other terminals, and the remaining one of the permission information share and the permission information is managed without leaking to the other terminals.

また、請求項20に記載の本発明は、請求項19において、前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出する。   In addition, the present invention described in claim 20 provides the permission obtained in claim 19 when the member terminal submits the permission information share to the receiving terminal, or the receiving terminal acquires from each of the member terminals. When providing the information share to the new terminal, the information is encrypted and submitted by the public key cryptosystem encryption module using the public key of the new terminal including the destination information of the own terminal.

また、請求項21に記載の本発明は、請求項18〜20のいずれかにおいて、前記第二段階において、全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記VSS分散符号化モジュールにより、閾値((全端末数)、(全端末数))で分散符号化して得られた(全端末数)個の前記コネクション情報シェアのうちの(全端末数−1)を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理する。   Further, in the present invention described in claim 21, in any one of claims 18 to 20, in the second stage, when all the member terminals have submitted a vote of approval to the reception terminal, The connection establishment information is generated by the connection establishment information generation module, and the connection establishment information is distributedly encoded by the VSS distributed encoding module with threshold values ((total number of terminals), (total number of terminals)). Of the connection information shares of (total number of terminals), (total number of terminals −1) is provided to all the member terminals one by one, and the remaining one connection establishment information share and its original The connection establishment information which is information is managed by the database without leakage to the outside.

また、請求項22に記載の本発明は、請求項18〜21のいずれかにおいて、前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、全端末数が2つの場合は、前記コネクション確立要求メッセージに添付されている2個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、全端末数が3つ以上の場合は、前記コネクション確立要求メッセージに添付されている(全端末数−1)×(全端末数−1)個の前記許可情報シェアのうち、自端末が配布した(全端末数−1)個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの(全端末数−2)×(全端末数−1)個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返す。   The present invention according to claim 22 is the case where the member terminal receives a message indicating the connection establishment request attached with the permission information share from the new terminal according to any of claims 18 to 21. In order to check whether the new terminal receives approval for participation / subscription from all terminals belonging to the community other than its own terminal, the permission information comparison module receives the permission information from the control module. When the comparison request is received and the total number of terminals is two, the two permission information shares attached to the connection establishment request message and the one permission information share managed in the database of the own terminal The VSS decryption module restores the permission information and uses the database of its own terminal. If there is no difference, the difference between the time information included in the permission information and the time information at the time of comparison is greater than or equal to a predetermined value set in advance. If there is no difference between the destination information and the new terminal, a normal response is returned to the control module, and the total number of terminals is 3 If there are more than two, the own terminal has distributed (total number of terminals− of the total number of terminals−1) × (total number of terminals−1) of the permission information shares attached to the connection establishment request message. 1) Using the one permission information share and one permission information share managed in the database of the own terminal, the permission information is restored by the VSS decoding module, and is stored in the database of the own terminal. Save Whether or not there is a difference from the permission information, and if there is no difference, whether or not the difference between the time information included in the permission information and the time information at the time of comparison is greater than or equal to the predetermined value. If it is less than the predetermined value, it is further checked whether the destination information is different from the new terminal. If there is no difference, the remaining (total number of terminals−2) × (total number of terminals−1) Whether or not the permission information share is illegal is confirmed using the permission information share verification information acquired at the time of distribution of the permission information share from the share verification module and the other member terminals. If not, a normal response is returned to the control module.

また、請求項23に記載の本発明は、請求項22において、前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備える。   In addition, the present invention described in claim 23 comprises, in claim 22, a permission information valid period setting means for arbitrarily setting the predetermined value indicating the validity period of the permission information.

また、請求項24に記載の本発明は、請求項22または23のいずれかにおいて、前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した(全端末数−1)個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した(全端末数−1)個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している1個の前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返す。   According to a twenty-fourth aspect of the present invention, in any one of the twenty-second or twenty-third aspect, the new terminal transmits a message indicating the connection establishment request to each of the member terminals, and the connection is normally established. Each of the member terminals provides the connection establishment information share stored in the database by the own terminal, and the new terminals are obtained from all the member terminals (total number of terminals −1). Including the connection establishment information share of the connection terminal, and providing the reception terminal with the connection establishment information to confirm whether the new terminal has established the connection with all the member terminals. The comparison module receives a request for comparison of the connection establishment information from the control module, and obtains it from the new terminal ( Number of terminals-1) connection establishment information share, one connection establishment information share managed in the database of its own terminal, and connection establishment information restored using the VSS decoding module Is compared with the connection establishment information managed in the database of its own terminal to check whether there is a difference. If there is no difference, the time information included in the connection establishment information is compared with It is checked whether or not the difference from the time information is equal to or larger than the predetermined value. If the difference is equal to or smaller than the predetermined value, a normal response is returned to the control module.

また、請求項25に記載の本発明は、請求項24において、前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備える。   According to a twenty-fifth aspect of the present invention, in the twenty-fourth aspect, there is provided connection establishment information valid period setting means for arbitrarily setting the predetermined value indicating the validity period of the connection establishment information.

また、請求項26に記載の本発明は、請求項18〜25のいずれかにおいて、前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、全端末数が3つ以上の場合は、前記新規端末の前記宛先情報を前記VSS分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記VSS復号化モジュールにより元の前記宛先情報を復元する。   According to a twenty-sixth aspect of the present invention, in any one of the eighteenth to twenty-fifth aspects, the receiving terminal asks each of the member terminals whether or not the new terminal participates in or joins the community. The member terminal is notified as the destination information of the new terminal that wishes to invite or join / subscribe, and when the total number of terminals is three or more, the destination information of the new terminal is the VSS distributed coding The destination information share obtained by distributed encoding by the module and the destination information share verification information are notified, and each of the member terminals acquires the destination information share acquired from the reception terminal in order to obtain the original destination information. All the destinations with the destination information share verification information and the share verification module acquired from the receiving terminal. By the VSS decryption module after verifying the incorrect distribution share to restore the original the destination information.

また、請求項27に記載の本発明は、請求項18〜26のいずれかにおいて、前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行う。   Further, in the present invention of claim 27, in any of claims 18 to 26, when the member terminal submits the permission information share as an approval vote, the permission information share is changed to the permission information share. The share verification module checks whether the verification information is fraudulent.

また、請求項28に記載の本発明は、請求項18〜27のいずれかにおいて、前記第一段階において、前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知する。   In addition, in the present invention according to claim 28, in any one of claims 18 to 27, in the first stage, the reception terminal has joined the community of the new terminal notified from all the member terminals. In response to a request for approval or disapproval for the subscription, the result of counting whether or not it is possible to proceed to the second stage for the voting is notified, and the result of the voting is notified in the second stage.

また、請求項29に記載の本発明は、ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションプログラムであって、前記コミュニティを、2つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成するステップと、応対端末を、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成するステップと、メンバ端末を、前記応対端末以外の前記コミュニティに属する端末により構成するステップと、許可情報生成モジュールにより、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するステップと、コネクション確立情報生成モジュールにより、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するステップと、VSS分散符号化モジュールにより、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、投票用情報であるn個の許可情報シェアと1個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の(k、n)閾値法(k≦n)によって分散符号化し、n個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が3以上のときに新規端末の宛先情報を前記検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、n個の宛先情報シェアと1個の宛先情報シェア検証用情報を生成するステップと、VSS復号化モジュールにより、前記秘密分散法または前記検証可秘密分散の(k、n)閾値法によって、n個の分散符号化されたシェアからk個以上のシェアを利用することで元の情報を復元するステップと、シェア検証モジュールにより、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、VSSにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するステップと、共通鍵生成モジュールにより、共通鍵暗号化方式によるセッションキーを生成するステップと、を有し、データベースにより、前記許可情報生成モジュールで生成する前記許可情報と、前記VSS分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記VSS分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記VSS分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するステップと、許可情報比較モジュールにより、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記VSS復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するステップと、コネクション確立情報比較モジュールにより、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するステップと、公開鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するステップと、共通鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するステップと、digest生成モジュールにより、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するステップと、公開鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するステップと、共通鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するステップと、意思入力モジュールにより、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするステップと、メッセージ生成モジュールにより、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記digest生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するステップと、制御モジュールにより、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記VSS分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記VSS復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するステップと、メッセージ不正判断モジュールにより、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記digest生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するステップと、メッセージ解析モジュールにより、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記digest生成モジュールによりダイジェストを生成し、2つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すステップと、メッセージ処理モジュールにより、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すステップと、を有する。   The present invention according to claim 29 communicates with a plurality of terminals or public key servers connected to a network, and establishes a connection with the plurality of terminals to form a community, And a communication program for obtaining a public key by a public key acquisition request to the public key server, wherein the community is formed by a full mesh connection between two or more of the terminals. A step of forming a network and a request for inviting a new terminal that does not belong to the community to the community, or a new terminal that does not belong to the community belongs to the community. A step configured by one of the terminals belonging to the community that has received the request. And a step of configuring a member terminal with a terminal belonging to the community other than the reception terminal, and a permission information generation module, when a new terminal participates in or joins the community, determines whether to participate or join. Information for creating voting information for the new terminal, when the new terminal requests establishment of the connection to each of the member terminals, the new terminal receives information from the member terminal and the reception terminal of the community. Generating permission information, which is information for confirming whether or not approval for the participation / subscription is obtained, and whether or not a new terminal has established the connection with the member terminal by a connection establishment information generation module; A service that generates connection establishment information necessary for the receiving terminal to check And the VSS distributed coding module, the permission information generated independently by the member terminals is distributedly encoded by the verifiable secret sharing (k, n) threshold method (k ≦ n), and used as voting information. n permission information shares and one permission information share verification information are generated, and connection establishment information is similarly distributedly encoded by the (k, n) threshold method (k ≦ n) of the secret sharing method, A connection establishment information share is generated. Similarly, when the total number of terminals participating / subscribing to the community is 3 or more, the destination information of a new terminal is converted to the verifiable secret sharing (k, n) threshold method (k ≦ n) to perform distributed encoding and generate n destination information shares and one destination information share verification information, and a VSS decryption module to execute the secret sharing method or the verifiable secret sharing (k, n) a step of restoring original information by using k or more shares from n distributed coded shares by a threshold method, and the permission information share verification information and the destination by a share verification module Using information share verification information, confirming whether the permission information share, the connection establishment information share, and the destination information share are illegal by VSS, and by using a common key encryption method by a common key generation module Generating a session key, and using the database, the permission information generated by the permission information generation module, the permission information share generated using the VSS distributed encoding module and the permission information, Generated by the permission information share verification information and the connection establishment information generation module By inquiring the connection establishment information, the connection establishment information share generated using the VSS distributed encoding module and the connection establishment information, the session key generated by the common key generation module, and the public key server. The destination generated using the public key of the terminal other than the own terminal to be acquired, the private key and public key of the own terminal, the destination information of the other terminal, the VSS distributed encoding module, and the destination information Managing the information share, the destination information share verification information, and a terminal list that covers all terminals participating in or joining the community; and a permission information comparison module that allows the new terminal to be the member When requesting establishment of the connection to each of the terminals, the new terminal in the member terminal Whether the approval is obtained from another terminal belonging to the community, the permission information share acquired from the new terminal, the permission information share managed in the database of the own terminal, and the VSS decoding module, When the response terminal receives access from the new terminal by the step of comparing and confirming the permission information restored using and the permission information managed in the database of the own terminal, and the connection establishment information comparison module Whether the connection has been established with all the member terminals, the connection establishment information share acquired from the new terminal, the connection establishment information share managed by the database of the own terminal, and the VSS decoding module And the connection establishment information restored using A step of comparing and confirming connection establishment information managed by the database, and a step of encrypting information requested by the public key encryption method encryption module using a public key encryption method. The step of encrypting the information requested to be encrypted by the key encryption method encryption module by the common key encryption method, and the hash that makes it difficult for the conversion result of the plurality of information to be the same by the digest generation module Generate a digest of arbitrary information using a message digest function, which is a kind of function, and decrypt the requested information using the public key encryption method by the public key encryption method decryption module Step and the common key encryption method decryption module Decrypting according to the method, determination by the intention input module whether to establish the connection, primary determination of approval / disapproval for participation / subscription of the new terminal to the community, and determination of the new terminal to the community A final decision on whether or not to participate / subscribe and a decision on whether or not to join / subscribe to the community; and a message generation module generates a message of the requested content; When attaching the information passed at the time of the generation request to the message, and applying the electronic signature and encryption to the message, the public key encryption module, the common key encryption module, and the digest generation module And execute the attachment with the encryption When the attachment is performed using the common key encryption module, the control module requests the permission information generation module to generate the permission information, and the connection establishment information is generated by the connection information. Requesting the generation module to generate the permission information share, the permission information share verification information, or the connection establishment information share, or the destination information share, and the destination information share verification information. Request the VSS distributed encoding module, request the public key cryptography encryption module to encrypt the permission information share with a public key, and decrypt the encrypted permission information share with the public key cryptosystem Ask the decryption module and ask the intention input module to make the decision. Requesting the VSS decoding module to restore the destination information from the destination information share, requesting the permission information comparison module to compare the permission information, and comparing the connection establishment information to the connection establishment information comparison. Request to the module, request the common key generation module to generate the session key, request the share verification module to perform fraud check on permission information share or destination information share, A step of saving and requesting the message generation module to generate the message, and a message fraud determination module confirming whether or not fraudulent activity has been performed during transmission / reception of the received message for all terminals. In order to Comparing the digest generated from the digest and the digest generated by the digest generating module with the message generating module, and the message analyzing module using the message analyzing module The message is decrypted by the public key encryption system decryption module and the common key encryption system decryption module, and further, the source terminal required for decrypting the message If the database does not have the public key, the request is made to the public key server through the control module to obtain the public key, and after the decryption process, the message is checked for fraud. To get the message content and digest The digest generation module generates a digest with the contents of the message, passes the two digests to the message fraud determination module, requests confirmation of the presence of fraud, and if there is no fraud, sends message content to the control module. On the other hand, when the message is only encrypted, the message is decrypted by the common key encryption method decryption module, and the content of the decrypted message is passed to the control module. The message processing module transmits the message generated by the message generation module to an external terminal or the public key server, and the message received from the external terminal or public key server is sent to the message analysis module. Pass Tep.

また、請求項30に記載の本発明は、請求項29において、前記許可情報生成モジュールは、前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。   In addition, in the present invention described in claim 30 according to claim 29, the permission information generation module includes the permission information, time information at the time of generation, the destination information of the new terminal, and an arbitrary random keyword. And generate.

また、請求項31に記載の本発明は、請求項29または30のいずれかにおいて、前記コネクション確立情報生成モジュールは、前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。   Further, in the present invention according to claim 31, in any one of claim 29 or 30, the connection establishment information generation module is configured to generate the connection establishment information, time information at the time of generation, and the destination information of the new terminal. And arbitrary random keywords.

また、請求項32に記載の本発明は、請求項29〜31のいずれかにおいて、全端末数が2つの場合において、前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値(3、3)により3個生成し、そのうちの一つを前記応対端末に配布する第一段階と、前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ1つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した1個と、前記応対端末が持つ1個と、を併せた2個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、あるいは、全端末数が3つ以上の場合において、前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより閾値((全端末数)、(全端末数))で(全端末数)個の前記許可情報シェアと、1個の前記許可情報シェア検証用情報と、を生成し、(全端末数)個のうちの(全端末数−1)個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に1つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した(全端末数−2)個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した(全端末数−2)×(全端末数−1)個と前記応対端末が持つ(全端末数−1)個とを併せた、(全端末数−1)×(全端末数−1)個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とする。   Further, in the present invention described in claim 32, in any one of claims 29-31, when the total number of terminals is two, the reception terminal makes the member terminal join the community of the new terminal. The member terminal asks for approval / disapproval of the subscription, and based on the permission information generated independently in the case of approval, the VSS distributed coding module uses the threshold information (3, 3) for the three permission information shares as voting information. Generating and distributing one of them to the receiving terminal, and when the member terminal approves in the first stage, the member terminal shares one permission information share of its own terminal A second step of submitting as an approval vote to the receiving terminal and determining whether or not the new terminal is to participate in or join the community, and the member terminal agrees in the second step If the answering terminal has received the permission information share, which is a combination of the one collected by the receiving terminal from the member terminal as an approval vote and the one held by the receiving terminal, to the new terminal to the community Provided as a ticket for joining / subscribing, and when the new terminal establishes the connection with the member terminal, all the permission information shares acquired from the receiving terminal are used as a message for requesting establishment of the connection. A third stage to be attached, or in the case where the total number of terminals is three or more, the receiving terminal asks all the member terminals for approval or disapproval for participation / subscription of the new terminal to the community, Each of the member terminals is thresholded by the VSS distributed coding module based on the permission information generated independently ((total number of terminals), (total number of terminals)). (The total number of terminals) pieces of the permission information share and one piece of the permission information share verification information are generated, and (the total number of terminals) out of the (total number of terminals) pieces of the permission information. Each share is distributed to all the other member terminals and the receiving terminal, and the permission information share verification information is distributed at the same time as the first stage. In the first stage, all the member terminals In the case of approval, each of the member terminals submits the permission information share (total number of terminals−2) acquired from all the other member terminals to the reception terminal as approval votes, Deciding whether to join or join a new terminal to the community is the second stage, and when all the member terminals are in favor in the second stage, the receiving terminal is sent from all the member terminals. In favor (Total number of terminals−2) × (total number of terminals−1) and (total number of terminals−1) × (total number of terminals−1) × (total number of terminals) -1) providing the permission information share to the new terminal as a ticket for joining / subscribing to the community, and when the new terminal establishes the connection with each of the member terminals, the corresponding terminal The third stage is to attach all the permission information shares acquired from the message to the message for requesting establishment of the connection.

また、請求項33に記載の本発明は、請求項32において、前記第一段階は、各々の前記メンバ端末が前記許可情報シェアを配布する場合において、全端末数が2つのときは、前記メンバ端末は自端末が生成した3個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、全端末数が3つ以上のときは、各々の前記メンバ端末は自端末が生成した(全端末数)個の前記許可情報シェアのうち、(全端末数−1)個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理する。   Further, in the present invention according to claim 33, in the claim 32, the first step is that when each of the member terminals distributes the permission information share and the total number of terminals is two, the member The terminal distributes one of the three permission information shares generated by its own terminal to the corresponding terminal, one is a vote for its own terminal, and the other one of the permission information shares is sent to other terminals. When managing all without leaking and the total number of terminals is three or more, each of the member terminals is (total number of terminals minus one) among the permitted information shares generated by the own terminal (total number of terminals) The information is distributed to other terminals, and the remaining one of the permission information share and the permission information is managed without leaking to the other terminals.

また、請求項34に記載の本発明は、請求項33において、前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出する。   Further, in the present invention described in claim 34, in the claim 33, when the member terminal submits the permission information share to the reception terminal, or the permission terminal acquired from each of the member terminals. When providing the information share to the new terminal, the information is encrypted and submitted by the public key cryptosystem encryption module using the public key of the new terminal including the destination information of the own terminal.

また、請求項35に記載の本発明は、請求項32〜34のいずれかにおいて、前記第二段階において、全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記VSS分散符号化モジュールにより、閾値((全端末数)、(全端末数))で分散符号化して得られた(全端末数)個の前記コネクション情報シェアのうちの(全端末数−1)を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理する。   Further, in the present invention described in claim 35, in any one of claims 32 to 34, in the second stage, when all the member terminals have submitted a vote of approval to the reception terminal, The connection establishment information is generated by the connection establishment information generation module, and the connection establishment information is distributedly encoded by the VSS distributed encoding module with threshold values ((total number of terminals), (total number of terminals)). Of the connection information shares of (total number of terminals), (total number of terminals −1) is provided to all the member terminals one by one, and the remaining one connection establishment information share and its original The connection establishment information which is information is managed by the database without leakage to the outside.

また、請求項36に記載の本発明は、請求項32〜35のいずれかにおいて、前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、全端末数が2つの場合は、前記コネクション確立要求メッセージに添付されている2個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、全端末数が3つ以上の場合は、前記コネクション確立要求メッセージに添付されている(全端末数−1)×(全端末数−1)個の前記許可情報シェアのうち、自端末が配布した(全端末数−1)個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの(全端末数−2)×(全端末数−1)個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返す。   Further, in the present invention of claim 36, in any of claims 32 to 35, when the member terminal receives a message indicating the connection establishment request attached with the permission information share from the new terminal. The member information terminal confirms whether the new terminal receives approval for participation / subscription from all terminals belonging to the community other than its own terminal. If the total number of terminals is two when a request for comparison is received, the two permission information shares attached to the connection establishment request message and the one permission information share managed in the database of the own terminal The VSS decryption module restores the permission information and uses the database of its own terminal. If there is no difference, the difference between the time information included in the permission information and the time information at the time of comparison is greater than or equal to a predetermined value set in advance. If there is no difference between the destination information and the new terminal, a normal response is returned to the control module, and the total number of terminals is 3 If there are more than two, the own terminal has distributed (total number of terminals− of the total number of terminals−1) × (total number of terminals−1) of the permission information shares attached to the connection establishment request message. 1) Using the one permission information share and one permission information share managed in the database of the own terminal, the permission information is restored by the VSS decoding module, and is stored in the database of the own terminal. Save Whether or not there is a difference from the permission information, and if there is no difference, whether or not the difference between the time information included in the permission information and the time information at the time of comparison is greater than or equal to the predetermined value. If it is less than the predetermined value, it is further checked whether the destination information is different from the new terminal. If there is no difference, the remaining (total number of terminals−2) × (total number of terminals−1) Whether or not the permission information share is illegal is confirmed using the permission information share verification information acquired at the time of distribution of the permission information share from the share verification module and the other member terminals. If not, a normal response is returned to the control module.

また、請求項37に記載の本発明は、請求項36において、前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備える。   The present invention as set forth in claim 37 further comprises permission information validity period setting means for arbitrarily setting the predetermined value indicating the validity period of the permission information.

また、請求項38に記載の本発明は、請求項36または37のいずれかにおいて、前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した(全端末数−1)個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した(全端末数−1)個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している1個の前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返す。   The present invention as described in claim 38, according to any one of claims 36 and 37, wherein the new terminal transmits a message indicating the connection establishment request to each of the member terminals, and the connection is normally established. Each of the member terminals provides the connection establishment information share stored in the database by the own terminal, and the new terminals are obtained from all the member terminals (total number of terminals −1). Including the connection establishment information share of the connection terminal, and providing the reception terminal with the connection establishment information to confirm whether the new terminal has established the connection with all the member terminals. The comparison module receives a request for comparison of the connection establishment information from the control module, and acquires it from the new terminal ( Number of terminals-1) connection establishment information share, one connection establishment information share managed in the database of its own terminal, and connection establishment information restored using the VSS decoding module Is compared with the connection establishment information managed in the database of its own terminal to check whether there is a difference. If there is no difference, the time information included in the connection establishment information is compared with It is checked whether or not the difference from the time information is equal to or larger than the predetermined value. If the difference is equal to or smaller than the predetermined value, a normal response is returned to the control module.

また、請求項39に記載の本発明は、請求項38において、前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備える。   Further, the present invention described in claim 39 comprises connection establishment information valid period setting means for arbitrarily setting the predetermined value indicating the validity period of the connection establishment information in claim 38.

また、請求項40に記載の本発明は、請求項32〜39のいずれかにおいて、前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、全端末数が3つ以上の場合は、前記新規端末の前記宛先情報を前記VSS分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記VSS復号化モジュールにより元の前記宛先情報を復元する。   Further, in the present invention according to claim 40, in any one of claims 32 to 39, the receiving terminal asks each of the member terminals for approval or disapproval for participation / subscription of the new terminal to the community. The member terminal is notified as the destination information of the new terminal that wishes to invite or join / subscribe, and when the total number of terminals is three or more, the destination information of the new terminal is the VSS distributed coding The destination information share obtained by distributed encoding by the module and the destination information share verification information are notified, and each of the member terminals acquires the destination information share acquired from the reception terminal in order to obtain the original destination information. All the destinations with the destination information share verification information and the share verification module acquired from the reception terminal. By the VSS decryption module after verifying the incorrect distribution share to restore the original the destination information.

また、請求項41に記載の本発明は、請求項32〜40のいずれかにおいて、前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行う。   In addition, in the present invention according to claim 41, when the member terminal submits the permission information share as an approval vote in any of claims 32 to 40, the permission information share is changed to the permission information share. The share verification module checks whether or not there is an illegality based on the verification information.

また、請求項42に記載の本発明は、請求項32〜41のいずれかにおいて、前記第一段階において、前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知する。   Further, the present invention according to claim 42 is any one of claims 32 to 41, wherein, in the first stage, participation of the new terminal notified by the member terminal from all the member terminals to the community. In response to a request for approval or disapproval of the subscription, a totaling result indicating whether or not it is possible to proceed to the second stage for the voting is notified, and the voting result is notified in the second stage.

本発明によれば、新規エンティティがフルメッシュ網によるコミュニティに参加・加入する場合に、既にコミュニティに加入している複数のエンティティによる賛否の票によるアクセスコントロールを実現でき、許可決定プロセス中において存在する不正なエンティティを検出することができ、許可決定プロセスが不正に操作されることを防止でき、新規エンティティがコミュニティに既に参加・加入している各エンティティに対してコネクションを確立する場合に、許可決定プロセスを不正なく安全に行うことができ、コミュニティに参加・加入している他のエンティティが新規エンティティのコミュニティへの参加・加入に賛否(許可)したことを確実に確認することができるコミュニケーションシステム、コミュニケーション方法およびそのプログラムを提供することができる。   According to the present invention, when a new entity joins or joins a community using a full mesh network, access control based on approval and disapproval votes by a plurality of entities already participating in the community can be realized and exists in the permission determination process. Allows unauthorized entities to be detected, prevents the authorization decision process from being manipulated illegally, and permits decisions when a new entity establishes a connection to each entity that has already joined or joined the community A communication system that can safely and securely perform the process, and that can reliably confirm that other entities that have joined or joined the community have agreed to (permitted) to join or join the community of the new entity, Communication methods and It is possible to provide the program.

本発明の実施の形態を、図面を参照して説明する。   Embodiments of the present invention will be described with reference to the drawings.

図1は本発明の実施の形態に係る端末間の関係を表したネットワークの構成を示す説明図である。   FIG. 1 is an explanatory diagram showing a network configuration representing the relationship between terminals according to an embodiment of the present invention.

端末1、端末2、端末3、端末4、公開鍵サーバ5はネットワーク100に接続しており、それらの間で通信可能であるとする。図1の状態では、各端末間ではコネクションが確立されていないとする。また、公開鍵サーバ5は複数の端末の公開鍵を一括管理しており、端末からの要求に応じて、公開鍵を提供するリポジトリであるとする。   Terminal 1, terminal 2, terminal 3, terminal 4, and public key server 5 are connected to network 100 and can communicate with each other. In the state of FIG. 1, it is assumed that no connection is established between the terminals. The public key server 5 collectively manages public keys of a plurality of terminals and is a repository that provides public keys in response to requests from the terminals.

公開鍵サーバ5は少なくとも端末1、端末2、端末3、端末4の公開鍵を管理しているとする。ネットワーク100は任意の情報をやり取りするためのインフラであり、例えば、インターネットやプライベートネットワークを表す。   It is assumed that the public key server 5 manages at least the public keys of the terminal 1, the terminal 2, the terminal 3, and the terminal 4. The network 100 is an infrastructure for exchanging arbitrary information, and represents, for example, the Internet or a private network.

図2は、図1で示された端末1、端末2、端末3、端末4、のそれぞれが持つ共通の機能モジュールの構成を示した図である。   FIG. 2 is a diagram showing a configuration of common function modules possessed by each of terminal 1, terminal 2, terminal 3, and terminal 4 shown in FIG.

ここで、コミュニティとは複数の端末間でフルメッシュにコネクションを確立することで形成されるフルメッシュ網であるとし、最低2つの端末間で構築される1対のコネクションが必要となる。   Here, the community is a full mesh network formed by establishing a connection to a full mesh between a plurality of terminals, and a pair of connections constructed between at least two terminals are required.

また、コミュニティにおいて発生する、端末の新規参加・加入や離脱といったイベントにおいて、コミュニティに属していない端末の招待を希望し、実際にその端末に対して招待を行う任意の端末、またはコミュニティに属していない端末が、あるコミュニティに新規に参加・加入するために、初めてアクセスを行ったコミュニティに属する任意の相手の端末を応対端末と呼ぶ。   In addition, in an event that occurs in a community, such as a new device joining / joining or leaving a device, the user wishes to invite a device that does not belong to the community and actually belongs to any device or community that invites the device. In order for a new terminal to newly join or join a certain community, an arbitrary partner terminal belonging to the community that has accessed for the first time is referred to as a reception terminal.

また、コミュニティに属しておらず、新規に招待される、または参加・加入する端末は新規端末と呼ぶ。さらに、応対端末が属するコミュニティにおいて、応対端末を除くコミュニティに属する端末をメンバ端末と呼ぶ。コミュニティにおいて、応対端末は1つだけであり、残りの端末がメンバ端末となる。   A terminal that does not belong to a community and is newly invited or joined / joined is called a new terminal. Furthermore, in the community to which the service terminal belongs, a terminal that belongs to the community excluding the service terminal is called a member terminal. In the community, there is only one reception terminal, and the remaining terminals are member terminals.

制御モジュール110は、メッセージ生成モジュール126、メッセージ解析モジュール128、公開鍵暗号方式暗号化モジュール121、許可情報生成モジュール112、VSS分散符号化モジュール116、共通鍵生成モジュール118、コネクション確立情報比較モジュール115、コネクション確立情報生成モジュール114、意思入力モジュール111、データベース125、公開鍵暗号方式復号化モジュール122、VSS復号化モジュール117、シェア検証モジュール129とのインタフェースを持つ。   The control module 110 includes a message generation module 126, a message analysis module 128, a public key cryptosystem encryption module 121, a permission information generation module 112, a VSS distributed encoding module 116, a common key generation module 118, a connection establishment information comparison module 115, The connection establishment information generation module 114, the intention input module 111, the database 125, the public key cryptosystem decryption module 122, the VSS decryption module 117, and the share verification module 129 are provided.

メッセージ生成モジュール126に対しては、コネクション確立要求メッセージ、コネクション確立確認メッセージ、コミュニティ参加・加入伺いメッセージ、コミュニティ招待メッセージ、コミュニティ参加・加入承諾メッセージ、賛否の一次意思決定メッセージ、賛否の最終意思決定メッセージ、宛先情報シェア取得要求メッセージ、応答メッセージ、公開鍵取得要求メッセージ、投票用情報提供メッセージ、一次結果通知メッセージ、最終結果通知メッセージを生成するように依頼する。   For the message generation module 126, a connection establishment request message, a connection establishment confirmation message, a community participation / subscription invitation message, a community invitation message, a community participation / subscription acceptance message, a pros and cons primary decision message, and a pros and cons final decision message Request to generate a destination information share acquisition request message, a response message, a public key acquisition request message, a voting information provision message, a primary result notification message, and a final result notification message.

コネクション確立要求メッセージは、自端末が任意のコミュニティに属しておらず、さらに相手端末も任意のコミュニティに属していないときにコネクションの確立を要求するときと、応対端末からコミュニティ招待メッセージを受信した新規端末が各メンバ端末に対してコネクションの確立を要求するときと、応対端末へ参加・加入を示すメッセージを送信した新規端末が全メンバ端末に対してコネクションの確立を要求するときに生成する。   The connection establishment request message includes a request for establishing a connection when the own terminal does not belong to any community, and the other terminal does not belong to any community, and a new one that receives a community invitation message from the receiving terminal. It is generated when a terminal requests connection establishment from each member terminal, and when a new terminal that has transmitted a message indicating participation / subscription to a corresponding terminal requests connection establishment from all member terminals.

コネクション確立確認メッセージは、コネクション確立要求メッセージの応答メッセージを受信したときと、コミュニティ参加・加入承諾メッセージを受信したときの応答として生成する。   The connection establishment confirmation message is generated as a response when the response message of the connection establishment request message is received and when the community participation / subscription acceptance message is received.

コミュニティ参加・加入伺いメッセージは、新規端末をコミュニティに招待または参加・加入させる前に、応対端末が全メンバ端末に新規端末のコミュニティへの参加・加入に対する賛否を伺うときに生成する。   The community participation / subscription inquiry message is generated when the responding terminal asks all member terminals about the pros and cons of joining or joining the new terminal to the community before inviting, joining, or joining the new terminal to the community.

コミュニティ参加・加入承諾メッセージは、新規端末が応対端末から受信したコミュニティ招待メッセージの応答メッセージであり、コミュニティへの参加・加入を承諾し、全メンバ端末とコネクション確立した後に生成する。   The community participation / subscription acceptance message is a response message of the community invitation message received by the new terminal from the reception terminal, and is generated after accepting the participation / subscription to the community and establishing connections with all the member terminals.

宛先情報シェア取得要求メッセージは、各メンバ端末が宛先情報を復元するために必要となる宛先情報シェアを他の全メンバ端末から取得するために生成する。   The destination information share acquisition request message is generated in order to acquire the destination information share necessary for each member terminal to restore the destination information from all other member terminals.

賛否の一次意思決定メッセージは、コミュニティ参加・加入伺いメッセージを応対端末から受信したメンバ端末が、新規端末のコミュニティへの参加・加入の可否を決定した後、応答メッセージとして生成する。   The primary decision message for approval or disapproval is generated as a response message after the member terminal that has received the community participation / subscription inquiry message from the receiving terminal determines whether the new terminal can participate in or join the community.

投票用情報提供メッセージは、全端末数が3以上の場合にメンバ端末が一次意思決定後に他の全メンバ端末に投票用情報となる許可情報シェア(許可情報を前記VSS分散符号化モジュール116により分散符号化して得られるシェア)を提供するために生成する。   When the total number of terminals is 3 or more, the voting information provision message is sent to all other member terminals after the primary decision is made. (Share obtained by encoding).

一次結果通知メッセージは、応対端末が全メンバ端末から賛否の一次意思決定メッセージを受信後、新規端末のコミュニティへの参加・加入に対する賛否の一次意思決定において、全メンバ端末が賛成の場合は投票準備が終了し投票が可能であることを、そうでない場合は投票が不可能であることを応対端末が全メンバ端末に通知するために生成する。   The primary result notification message is prepared for voting when all the member terminals agree in the primary decision of approval / disapproval for participation / subscription of the new terminal to the community after the receiving terminal receives the primary decision message for approval / disapproval from all the member terminals. Is generated to notify all member terminals that voting is possible and voting is possible, otherwise voting is impossible.

賛否の最終意思決定メッセージは、賛否の一次意思決定メッセージを送信したメンバ端末が、応対端末から一次結果通知メッセージを受信し応答メッセージを返した後、一次結果通知メッセージの内容が投票可能であることを示していた場合に、最終的に新規端末のコミュニティへの参加・加入の可否を決定した後、応対端末に意思を伝えるために生成する。   The final decision message of approval or disapproval is that the member terminal that sent the primary decision message of approval or disapproval receives the primary result notification message from the response terminal and returns a response message, and then the content of the primary result notification message can be voted Is generated in order to convey the intention to the receiving terminal after finally determining whether or not the new terminal can participate in or join the community.

最終結果通知メッセージは、応対端末が全メンバ端末から賛否の最終意思決定メッセージを受信後、新規端末のコミュニティへの参加・加入に対する賛否の最終意思決定において、全メンバ端末が賛成であったか、そうでなかったかを応対端末が全メンバ端末に通知するために生成する。   The final result notification message indicates whether or not all the member terminals have agreed in the final decision on the approval or disapproval for participation / subscription of the new terminal to the community after the receiving terminal receives the final approval / disapproval message from all the member terminals. It is generated in order for the receiving terminal to notify all member terminals of the absence.

コミュニティ招待メッセージは、応対端末が新規端末に参加・加入を依頼するときに生成する。   The community invitation message is generated when the receiving terminal requests a new terminal to join / subscribe.

応答メッセージは、端末においてはコネクション確立要求メッセージを受信したとき、または賛否の最終意思決定メッセージを受信したときに、または宛先情報シェア取得要求メッセージを受信したときに、または投票用情報提供メッセージを受信したときに、または一次結果通知メッセージを受信したときに、または最終結果通知メッセージを受信したときに、公開鍵サーバ5にとっては公開鍵取得要求メッセージを受信したときに、応答として生成する。   The response message is received at the terminal when a connection establishment request message is received, when a final decision message for approval or disapproval is received, when a destination information share acquisition request message is received, or when a voting information provision message is received Or when the primary result notification message is received, or when the final result notification message is received, when the public key acquisition request message is received for the public key server 5, it is generated as a response.

公開鍵取得要求メッセージは、公開鍵を外部の公開鍵サーバ5に問い合わせるときに生成する。   The public key acquisition request message is generated when inquiring the public key to the external public key server 5.

制御モジュール110はメッセージの作成を依頼する際、メッセージをセキュアに送信するために、コネクション確立要求メッセージ、コミュニティ招待メッセージの場合は、公開鍵、セッションキー(共通鍵)を渡し、送信するメッセージに電子署名と暗号化を施すよう依頼する。その他のメッセージ(公開鍵取得要求メッセージを除く)の場合は、セッションキーを渡し暗号化してメッセージを送信するように依頼する。   When requesting the creation of a message, the control module 110 passes a public key and a session key (common key) in the case of a connection establishment request message and a community invitation message in order to transmit the message securely, and sends an electronic message to the message to be transmitted. Request to sign and encrypt. In the case of other messages (excluding public key acquisition request messages), a session key is passed and requested to be sent after being encrypted.

また、コミュニティ参加・加入伺いメッセージの場合、全端末数が2の場合は新規端末の宛先情報を、3以上の場合は端末の宛先情報をVSSにより分散符号化した宛先情報シェアと、宛先情報シェアに不正がないかどうかを検証するための宛先情報シェア検証用情報を添付する。   In the case of a community participation / subscription inquiry message, if the total number of terminals is 2, the destination information share of the new terminal, and if it is 3 or more, the destination information share obtained by distributedly encoding the destination information of the terminal by VSS, and the destination information share Attach destination information share verification information for verifying whether there is any fraud.

宛先情報シェア取得要求メッセージの場合、新規端末の宛先情報シェアを添付する。   In the case of the destination information share acquisition request message, the destination information share of the new terminal is attached.

賛否の一次意思決定メッセージの場合、賛成の意思を示す場合は、全端末数が2の場合は許可情報をSSSにより閾値(3、3)で分散符号化して得られた許可情報シェアを、全端末数が3以上の場合はVSSにより閾値((全端末数)、(全端末数))で分散符号化して得られた許可情報シェアと、許可情報シェアが不正なく正しく生成されているかどうかを確認するための許可情報シェア検証用情報を添付する。   In the case of the primary decision message of approval or disapproval, in the case of indicating the intention of approval, when the total number of terminals is 2, the permission information share obtained by distributedly encoding the permission information with the threshold value (3, 3) by SSS, If the number of terminals is 3 or more, whether or not the permission information share obtained by distributed encoding with the threshold values ((total number of terminals), (total number of terminals)) by VSS and whether the permission information share is correctly generated without fraud Attach permission information share verification information for confirmation.

投票用情報提供メッセージの場合、許可情報をVSSにより閾値((全端末数)、(全端末数))で分散符号化し得られた許可情報シェアと、許可情報シェア検証用情報を添付する。   In the case of the voting information provision message, the permission information share obtained by distributedly encoding the permission information with the threshold values ((total number of terminals), (total number of terminals)) by VSS and the permission information share verification information are attached.

賛否の最終意思決定メッセージの場合、メンバ端末が賛成の意思を示す場合は、許可チケット(全端末数が2の場合は、自端末が生成した許可情報シェアと自端末の宛先情報とを、全端末数が3以上の場合は、他の全メンバ端末から取得した(全端末数−2)個の許可情報シェアと自端末の宛先情報とを新規端末の公開鍵で暗号化したもの)を賛成票として添付する。   In the case of the final decision message of approval or disapproval, if the member terminal indicates the approval intention, the permission ticket (when the total number of terminals is 2, the permission information share generated by the own terminal and the destination information of the own terminal are all If the number of terminals is 3 or more, agree with the (permitted number of terminals-2) permission information shares and destination information of the own terminal encrypted with the public key of the new terminal) obtained from all other member terminals Attach as a vote.

コミュニティ招待メッセージの場合、新規端末が全メンバ端末とコネクションを確立するために必要となる(全端末数−1)×(全端末数−1)個の許可チケットを添付する。   In the case of a community invitation message, (new terminal number-1) × (total terminal number-1) permission tickets necessary for a new terminal to establish a connection with all member terminals are attached.

コネクション確立要求メッセージの場合、新規端末が各メンバ端末に送信する場合には、全端末が2の場合は2個の許可情報シェアを、3以上の場合は(全端末数−1)×(全端末数−1)個の許可情報シェアを添付する。自端末と相手端末が両方ともコミュニティに参加・加入していない場合には何も添付しない。   In the case of a connection establishment request message, when a new terminal transmits to each member terminal, if all terminals are 2, two permission information shares are used. If more than three, (number of all terminals-1) × (all The number of terminals-1) permission information share is attached. Nothing is attached when both the own terminal and the partner terminal have not joined or joined the community.

コミュニティ参加・加入承諾メッセージの場合、新規端末は全メンバ端末とコネクションを確立したときに取得するコネクション確立情報シェアを(全端末数−1)個添付する。   In the case of the community participation / subscription acceptance message, the new terminal attaches (total number of terminals minus 1) connection establishment information shares acquired when connections are established with all member terminals.

最終結果通知メッセージの場合、応対端末は1個のコネクション確立情報シェアを添付する。   In the case of the final result notification message, the receiving terminal attaches one connection establishment information share.

メッセージ解析モジュール128に対しては、制御モジュール110は受信するメッセージのうち、電子署名と暗号化が施されているコネクション確立要求メッセージ、またはコミュニティ招待メッセージを解読するのに必要な公開鍵がデータベース125にない場合に、公開鍵取得要求が伝えられる。そして、公開鍵取得後、制御モジュール110はメッセージ解析モジュール128に取得した公開鍵を渡す。   For the message analysis module 128, the control module 110 receives a public key necessary for decrypting a connection establishment request message or a community invitation message that has been digitally signed and encrypted from among the received messages. If not, a public key acquisition request is transmitted. After acquiring the public key, the control module 110 passes the acquired public key to the message analysis module 128.

公開鍵暗号方式暗号化モジュール121に対しては、公開鍵を提供し、許可情報シェアを許可情報シェアの配布元端末の宛先情報を含めて暗号化するように依頼する。   The public key cryptosystem encryption module 121 is requested to provide the public key and encrypt the permission information share including the destination information of the distribution source terminal of the permission information share.

許可情報生成モジュール112に対しては、許可情報の生成を依頼する。   The permission information generation module 112 is requested to generate permission information.

VSS分散符号化モジュール116に対しては、VSSによって各種情報(端末の宛先情報、許可情報、コネクション確立情報)の分散符号化を依頼する。   The VSS distributed encoding module 116 is requested to perform distributed encoding of various types of information (terminal destination information, permission information, connection establishment information) using the VSS.

共通鍵生成モジュール118に対しては、メッセージのなりすましや改竄、盗聴を防ぐためにメッセージに電子署名や暗号化を施すときに必要となるセッションキー(共通鍵)の生成を依頼する。   The common key generation module 118 is requested to generate a session key (common key) that is required when the message is digitally signed or encrypted in order to prevent message spoofing, falsification, and eavesdropping.

コネクション確立情報比較モジュール115に対しては、コネクション確立情報の比較を依頼する。依頼は、コミュニティ参加・加入承諾メッセージを受信したときに発生し、このメッセージに含まれるコネクション確立情報シェアをコネクション確立情報比較モジュール115に提供する。   The connection establishment information comparison module 115 is requested to compare the connection establishment information. The request is generated when the community participation / subscription acceptance message is received, and the connection establishment information share included in the message is provided to the connection establishment information comparison module 115.

コネクション確立情報生成モジュール114に対しては、コネクション確立情報の生成を依頼する。依頼は、応対端末が全メンバ端末から賛否の最終意思決定メッセージを受信後、全メンバ端末が新規端末のコミュニティへの参加・加入に対し賛成であったならば、最終結果通知メッセージを各メンバ端末に送信する前に発生する。   The connection establishment information generation module 114 is requested to generate connection establishment information. The request is that after the receiving terminal receives a final decision message for approval or disapproval from all the member terminals, if all the member terminals are in favor of joining or joining the new terminal community, a final result notification message is sent to each member terminal. Occurs before sending to.

意思入力モジュール111に対しては、各種意思決定(コネクションを確立してもよいかどうかの決定、コミュニティへの新規端末の参加・加入に対する賛否の一次決定、コミュニティへの新規端末の参加・加入に対する賛否の最終決定、コミュニティへの参加・加入の決定)を依頼する。   For the intention input module 111, various decisions (determination of whether or not to establish a connection, primary determination of approval / disapproval for participation / subscription of a new terminal to the community, and participation / subscription of a new terminal to the community Request final decision on approval or disapproval, decision on community participation or participation).

データベース125に対しては、各種情報の問い合わせと保存依頼を行う。   The database 125 is inquired and stored for various information.

公開鍵暗号方式復号かモジュール122に対しては、自端末の公開鍵で暗号化された許可情報シェア(許可チケット)を復号化するように依頼する。依頼は、コミュニティ招待メッセージを新規端末が受信したときに発生する。   The public key cryptosystem decryption module 122 is requested to decrypt the permission information share (permission ticket) encrypted with the public key of the terminal itself. The request is generated when the new terminal receives a community invitation message.

VSS復号化モジュール117に対しては、全端末が3以上のときに分散符号化された宛先情報シェアを復号化するように依頼する。   The VSS decoding module 117 is requested to decode the distributedly encoded destination information share when all terminals are 3 or more.

シェア検証モジュール129に対しては、受信したメッセージに添付されている許可情報シェア、または宛先情報シェアに不正がないかどうかのチェックを依頼する。   The share verification module 129 is requested to check whether the permission information share attached to the received message or the destination information share is fraudulent.

意思入力モジュール111は制御モジュール110とインタフェースを持つ。制御モジュール110から、コネクションを確立してもよいかどうか、またはコミュニティに新規端末を加えても良いかどうか、またはコミュニティに参加・加入するかどうか、の問い合わせがあるので、それに対する(YESかNOの)回答を制御モジュール110に返す。   The intention input module 111 has an interface with the control module 110. Since there is an inquiry from the control module 110 as to whether a connection may be established, whether a new terminal may be added to the community, or whether to join / join the community (YES or NO) )) To the control module 110.

許可情報生成モジュール112は制御モジュール110と、データベース125とインタフェースを持つ。   The permission information generation module 112 has a control module 110, a database 125, and an interface.

制御モジュール110から許可情報の生成を依頼されると、許可情報生成モジュール112は許可情報を生成し、データベース125に保存後、生成した許可情報を制御モジュール110に返す。この許可情報は複数の端末間でフルメッシュにコネクションを確立することで形成されるコミュニティに新規に端末を招待または参加・加入させるときに必要であり、その新規端末の宛先情報、許可情報の生成時の時刻情報、さらに任意のランダムなキーワードで構成される。   When requested to generate permission information from the control module 110, the permission information generation module 112 generates permission information, stores it in the database 125, and returns the generated permission information to the control module 110. This permission information is necessary when newly inviting, joining, or joining a terminal to a community formed by establishing a full mesh connection between multiple terminals. Generation of destination information and permission information for the new terminal It is composed of time information and arbitrary random keywords.

許可情報比較モジュール113は制御モジュール110、VSS復号化モジュール117、データベース125とインタフェースを持つ。   The permission information comparison module 113 has an interface with the control module 110, the VSS decryption module 117, and the database 125.

制御モジュール110に対しては、許可情報の比較を依頼される。依頼は、各メンバ端末が新規端末からコネクション確立要求メッセージを受信したときに発生する。このとき、全端末数が2の場合、2個の許可情報シェアが制御モジュール110から提供され、これら許可情報シェアと自端末のデータベース125で保存している許可情報シェアとを併せて、VSS復号化モジュール117に許可情報を復号化するように依頼し、復号化された許可情報とデータベース125に保存している許可情報とを比較し、相違がないか調べ、相違がない場合は、許可情報に含まれる時刻情報と比較時の時刻情報の差分が一定の値以下であるかどうか調べ、一定値以下であれば、さらに許可情報に含まれる端末の宛先情報とコネクション確立要求メッセージを送信した端末の宛先情報が合っているかどうか比較する。   The control module 110 is requested to compare permission information. The request is generated when each member terminal receives a connection establishment request message from the new terminal. At this time, when the total number of terminals is 2, two permission information shares are provided from the control module 110, and the VSS decoding is performed by combining these permission information shares and the permission information shares stored in the database 125 of the own terminal. Requesting the decryption module 117 to decrypt the permission information, compare the decrypted permission information with the permission information stored in the database 125, and check whether there is a difference. If there is no difference, the permission information The difference between the time information included in the time information and the time information at the time of comparison is less than or equal to a certain value, and if it is less than or equal to the certain value, the terminal destination information included in the permission information and the terminal that transmitted the connection establishment request message Compare whether the destination information is correct.

なお、一定値は予め設定された任意の値であり、図示しない許可情報有効期間設定手段により入力され、設定される。   The constant value is an arbitrary value set in advance, and is input and set by a permission information valid period setting unit (not shown).

また、全端末数3が以上の場合、メッセージに添付されていた(全端末数−1)×(全端末数−1)個のうち自端末が配布した(全端末数−1)個の許可情報シェアが制御モジュール110から提供され、これら許可情報シェアと自端末のデータベース125で保存している許可情報シェアとを併せて、VSS復号化モジュール117に許可情報を復号化するように依頼し、復号化された許可情報とデータベース125に保存している許可情報とを比較し、相違がないか調べ、相違がない場合は、許可情報に含まれる時刻情報と比較時の時刻情報の差分が一定の値以下であるかどうか調べ、一定値以下であれば、さらに許可情報に含まれる端末の宛先情報とコネクション確立要求メッセージを送信した端末の宛先情報が合っているかどうか比較する。   In addition, when the total number of terminals is 3 or more, the number of (total number of terminals minus 1) distributed by the own terminal among (total number of terminals minus 1) × (total number of terminals minus 1) attached to the message. Information share is provided from the control module 110, and the permission information share and the permission information share stored in the database 125 of the own terminal are combined, and the VSS decryption module 117 is requested to decrypt the permission information. The decrypted permission information is compared with the permission information stored in the database 125 to check whether there is a difference. If there is no difference, the difference between the time information included in the permission information and the time information at the time of comparison is constant. If it is less than a certain value, the ratio of whether the destination information included in the permission information matches the destination information of the terminal that sent the connection establishment request message. To.

以上の比較を終了すると、制御モジュール110に対して正常応答を返す。   When the above comparison is completed, a normal response is returned to the control module 110.

コネクション確立情報生成モジュール114は制御モジュール110とインタフェースを持つ。   The connection establishment information generation module 114 has an interface with the control module 110.

制御モジュール110に対しては、コネクション確立情報の生成依頼を受け、新規端末の宛先情報、コネクション確立情報の生成時の時刻情報、さらに任意のランダムなキーワードで構成し、生成する。そして、制御モジュール110にその情報を返す。   The control module 110 receives a request for generating connection establishment information, and composes and generates the destination information of the new terminal, the time information when the connection establishment information is generated, and an arbitrary random keyword. Then, the information is returned to the control module 110.

コネクション確立情報比較モジュール115は制御モジュール110、データベース125、VSS復号化モジュール117とインタフェースを持つ。   The connection establishment information comparison module 115 has an interface with the control module 110, the database 125, and the VSS decryption module 117.

制御モジュール110に対しては、コネクション確立情報を比較するように依頼される。依頼は、コミュニティ参加・加入承諾メッセージを受信したときに発生する。   The control module 110 is requested to compare the connection establishment information. The request is generated when a community participation / subscription acceptance message is received.

コネクション確立情報比較モジュール115は、コミュニティ参加・加入承諾メッセージに含まれる(全端末数−1)個のコネクション確立情報シェアを制御モジュール110から提供されると、そのコネクション確立情報シェアとデータベース125に保存しているコネクション確立情報シェアからVSS復号化モジュール117を介してコネクション確立情報を復元する。   When the connection establishment information comparison module 115 is provided with the connection establishment information share (total number of terminals −1) included in the community participation / subscription acceptance message from the control module 110, the connection establishment information comparison module 115 stores the connection establishment information share in the database 125. The connection establishment information is restored via the VSS decryption module 117 from the established connection establishment information share.

復元したコネクション確立情報はデータベース125に保存しているコネクション確立情報と比較する。このとき、それらの情報に相違がないかどうか比較し、相違がなければ、コネクション確立情報に含まれる時刻情報と現在の時刻情報の差分がある一定値以下であるかどうか確認する。   The restored connection establishment information is compared with the connection establishment information stored in the database 125. At this time, it is compared whether there is any difference between these pieces of information. If there is no difference, it is confirmed whether the difference between the time information included in the connection establishment information and the current time information is a certain value or less.

なお、一定値は予め設定された任意の値であり、図示しないコネクション確立情報有効期間設定手段により入力され、設定される。   The constant value is an arbitrary value set in advance, and is input and set by a connection establishment information valid period setting unit (not shown).

以上の比較を終了すると、制御モジュール110に対して正常応答を返す。   When the above comparison is completed, a normal response is returned to the control module 110.

VSS分散符号化モジュール116は制御モジュール110、データベース125とインタフェースを持つ。   The VSS distributed encoding module 116 has an interface with the control module 110 and the database 125.

制御モジュール110に対しては、各種情報が提供され、VSSまたはSSSによる分散符号化を依頼される。   Various kinds of information are provided to the control module 110, and distributed coding by VSS or SSS is requested.

端末の宛先情報の場合、VSSにより、閾値((全端末数−1)、(全端末数−1))で分散符号化し、(全端末数−1)個の宛先情報シェアを生成する。さらに、宛先情報シェアを検証するための宛先情報シェア検証用情報を生成する。   In the case of terminal destination information, distributed coding is performed with VSS ((total number of terminals-1), (total number of terminals-1)) by VSS, and (total number of terminals-1) destination information shares are generated. Further, destination information share verification information for verifying the destination information share is generated.

許可情報の場合、全端末数が2の場合はSSSにより、閾値(3、3)で分散符号化し、3個の許可情報シェアを生成し、2個をデータベース125に保存後、残り一つを制御モジュール110に返す。   In the case of permission information, when the total number of terminals is 2, by SSS, distributed coding is performed with thresholds (3, 3), three permission information shares are generated, two are stored in the database 125, and the remaining one is stored. Return to the control module 110.

また、全端末数が3以上の場合は、VSSにより閾値((全端末数)、(全端末数))で分散符号化し(全端末数)個の許可情報シェアを生成する。また、許可情報シェアを検証するための許可情報シェア検証用情報を生成する。そして、(全端末数)個の許可情報シェアのうち、1個をデータベース125に保存後、残りの許可情報シェアと許可情報シェア検証用情報を制御モジュール110に返す。   Further, when the total number of terminals is 3 or more, distributed coding is performed with the threshold values ((total number of terminals), (total number of terminals)) by VSS to generate (total number of terminals) permission information shares. In addition, permission information share verification information for verifying permission information share is generated. Then, after storing one permission information share (total number of terminals) in the database 125, the remaining permission information share and permission information share verification information are returned to the control module 110.

コネクション確立情報の場合、SSSによる閾値((全端末数)、(全端末数))で分散符号化し、(全端末数)個のコネクション確立情報シェアを生成する。そして、得られたコネクション確立情報シェアのうち、一つをデータベース125に保存し、残りを制御モジュール110に返す。   In the case of connection establishment information, distributed encoding is performed using thresholds ((total number of terminals), (total number of terminals)) based on SSS, and (total number of terminals) connection establishment information shares are generated. Then, one of the obtained connection establishment information shares is stored in the database 125 and the rest is returned to the control module 110.

VSS復号化モジュール117は制御モジュール110、コネクション確立情報比較モジュール115、許可情報比較モジュール113とインタフェースを持つ。   The VSS decryption module 117 has an interface with the control module 110, the connection establishment information comparison module 115, and the permission information comparison module 113.

VSS復号化モジュール117はVSSまたはSSSの閾値法を用いて、複数のシェアから元の情報を復元する。   The VSS decryption module 117 restores the original information from the plurality of shares using the VSS or SSS threshold method.

制御モジュール110に対しては、宛先情報シェアから宛先情報の復元を依頼される。   The control module 110 is requested to restore the destination information from the destination information share.

コネクション確立情報比較モジュール115に対しては、コネクション確立情報シェアからコネクション確立情報の復元を依頼される。   The connection establishment information comparison module 115 is requested to restore the connection establishment information from the connection establishment information share.

許可情報比較モジュール113に対しては、許可情報シェアから許可情報の復元を依頼される。   The permission information comparison module 113 is requested to restore permission information from the permission information share.

共通鍵生成モジュール118は制御モジュール110、データベース125とインタフェースを持つ。   The common key generation module 118 has an interface with the control module 110 and the database 125.

制御モジュール110に対しては、セッションキーの生成を依頼される。共通鍵生成モジュール118は共通鍵暗号方式のセッションキーを生成し、それをデータベース125に保存した後、制御モジュール110に返す。   The control module 110 is requested to generate a session key. The common key generation module 118 generates a common key encryption session key, stores it in the database 125, and returns it to the control module 110.

共通鍵暗号方式暗号化モジュール119はメッセージ生成モジュール126とインタフェースを持つ。   The common key encryption module 119 has an interface with the message generation module 126.

メッセージ生成モジュール126に対しては、セッションキーによる暗号化を依頼されるので、共通鍵暗号方式暗号化モジュール119は、共通鍵暗号化方式により暗号化を行う。   Since the message generation module 126 is requested to encrypt using the session key, the common key encryption system encryption module 119 performs encryption using the common key encryption system.

共通鍵暗号方式復号化モジュール120はメッセージ解析モジュール128、データベース125とインタフェースを持つ。   The common key cryptosystem decryption module 120 has an interface with a message analysis module 128 and a database 125.

メッセージ解析モジュール128に対しては、受信したメッセージの復号化を依頼される。依頼を受けると、メッセージの発信元端末と共有しているセッションキーをデータベース125に問い合わせ、取得した後にそのセッションキーを利用して復号化を行う。   The message analysis module 128 is requested to decrypt the received message. When the request is received, the session key shared with the message transmission source terminal is inquired of the database 125, and after being obtained, decryption is performed using the session key.

公開鍵暗号方式暗号化モジュール121は制御モジュール110、メッセージ生成モジュール126とインタフェースを持つ。   The public key cryptosystem encryption module 121 has an interface with the control module 110 and the message generation module 126.

制御モジュール110に対しては、コミュニティ招待メッセージ、または賛否の最終意思決定メッセージを送信するときに添付する情報である許可情報シェアを自端末の宛先情報を含めて、新規端末の公開鍵で暗号化するように依頼される。   For the control module 110, the permission information share, which is information attached when transmitting the community invitation message or the final decision message of approval or disapproval, is encrypted with the public key of the new terminal, including the destination information of the own terminal Be asked to do.

メッセージ生成モジュール126に対しては、コネクション確立情報メッセージ、コミュニティ招待メッセージ、の作成の際に実施される電子署名と暗号化において、秘密鍵によるダイジェストの暗号化、公開鍵によるセッションキーの暗号化を依頼される。   For the message generation module 126, in the digital signature and encryption performed when creating the connection establishment information message and the community invitation message, the encryption of the digest with the secret key and the encryption of the session key with the public key are performed. Requested.

公開鍵暗号方式復号化モジュール122は制御モジュール110、メッセージ解析モジュール128、データベース125とインタフェースを持つ。   The public key cryptosystem decryption module 122 has an interface with a control module 110, a message analysis module 128, and a database 125.

メッセージ解析モジュール128に対しては、コネクション確立要求メッセージ、コミュニティ招待メッセージを受信したときに、電子署名と暗号化が行われたメッセージの解読のために復号化を依頼される。   When the message analysis module 128 receives the connection establishment request message and the community invitation message, the message analysis module 128 is requested to decrypt the electronic signature and the encrypted message.

制御モジュール110に対しては、許可情報シェア(暗号化されている許可情報シェア)を復号化する目的で復号化を依頼される。   The control module 110 is requested to decrypt the permission information share (encrypted permission information share) for the purpose of decryption.

digest生成モジュール123はメッセージ生成モジュール126、メッセージ解析モジュール128とインタフェースを持つ。   The digest generation module 123 has an interface with a message generation module 126 and a message analysis module 128.

送信するメッセージの改竄を防止する目的と、受信したメッセージが改竄されていないかどうか確認する目的の2つの目的でdigest生成モジュール123はハッシュ関数(メッセージダイジェスト関数)を利用して、ダイジェストを生成する。   The digest generation module 123 generates a digest by using a hash function (message digest function) for the purpose of preventing falsification of a message to be transmitted and for the purpose of confirming whether the received message has been falsified. .

メッセージ不正判断モジュール124はメッセージ解析モジュール128とインタフェースを持つ。   The message fraud determination module 124 has an interface with the message analysis module 128.

端末が電子署名と暗号化が施されたメッセージ(コネクション確立要求メッセージ、コミュニティ招待メッセージ)を受信し、そのメッセージの解読が終了したときに、メッセージ不正判断モジュール124はメッセージ解析モジュール128からメッセージの不正がないかどうか確認するように依頼される。このとき、メッセージ解析モジュール128からは復号化されたダイジェストと生成したダイジェストの2つが渡されるので、これらの2つのダイジェストに相違がないかどうかを確認し相違がなければ正常応答をメッセージ解析モジュール128に返す。   When the terminal receives a digitally signed and encrypted message (connection establishment request message, community invitation message) and decrypts the message, the message fraud determination module 124 sends a message fraud message from the message analysis module 128. You are asked to check if there is any. At this time, since the decrypted digest and the generated digest are passed from the message analysis module 128, it is confirmed whether or not there is a difference between these two digests. If there is no difference, a normal response is sent to the message analysis module 128. Return to.

データベース125は制御モジュール110、共通鍵暗号方式復号化モジュール120、公開鍵暗号方式復号化モジュール122、許可情報比較モジュール113、コネクション確立情報比較モジュール115、許可情報生成モジュール112、VSS分散符号化モジュール116、共通鍵作成モジュール118とインタフェースを持つ。   The database 125 includes a control module 110, a common key cryptosystem decryption module 120, a public key cryptosystem decryption module 122, a permission information comparison module 113, a connection establishment information comparison module 115, a permission information generation module 112, and a VSS distributed coding module 116. And an interface with the common key generation module 118.

データベース125は自端末の秘密鍵、公開鍵、セッションキー、許可情報、許可情報シェア、許可情報シェア検証用情報、端末の宛先情報、宛先情報シェア、宛先情報シェア検証用情報、コネクション確立情報、コネクション確立情報シェア、コミュニティに参加・加入している端末リスト、を管理する。   The database 125 includes a private key of the own terminal, a public key, a session key, permission information, permission information share, permission information share verification information, terminal destination information, destination information share, destination information share verification information, connection establishment information, connection Manages establishment information sharing and a list of devices participating and participating in the community.

データベース125は各モジュールから要求される情報を提供したり、逆に保存したりする。   The database 125 provides information required from each module, and conversely stores it.

メッセージ生成モジュール126は制御モジュール110、digest生成モジュール123、公開鍵方式暗号化モジュール121、共通鍵暗号方式暗号化モジュール119、メッセージ処理モジュール127とインタフェースを持つ。   The message generation module 126 has an interface with the control module 110, digest generation module 123, public key encryption module 121, common key encryption module 119, and message processing module 127.

制御モジュール110に対しては、コネクション確立要求メッセージ、コネクション確立確認メッセージ、コミュニティ参加・加入伺いメッセージ、コミュニティ招待メッセージ、コミュニティ参加・加入承諾メッセージ、賛否の一次意思決定メッセージ、賛否の最終意思決定メッセージ、宛先情報シェア取得要求メッセージ、応答メッセージ、公開鍵取得要求メッセージ、投票用情報提供メッセージ、一次結果通知メッセージ、最終結果通知メッセージを作成するように依頼される。   For the control module 110, a connection establishment request message, a connection establishment confirmation message, a community participation / subscription invitation message, a community invitation message, a community participation / subscription acceptance message, a primary decision message for approval / disapproval, a final decision message for approval / disapproval, A request is made to create a destination information share acquisition request message, response message, public key acquisition request message, voting information provision message, primary result notification message, and final result notification message.

メッセージ処理モジュール127はメッセージ生成モジュール126、メッセージ解析モジュール128、外部の端末2〜4、公開鍵サーバ5とインタフェースを持つ。   The message processing module 127 has an interface with the message generation module 126, the message analysis module 128, the external terminals 2 to 4, and the public key server 5.

メッセージ生成モジュール126に対しては、作成されたメッセージをネットワーク100に接続される端末2〜4や公開鍵サーバ5に対して送信するように依頼される。   The message generation module 126 is requested to transmit the created message to the terminals 2 to 4 and the public key server 5 connected to the network 100.

メッセージ解析モジュール128に対しては、端末2〜4や公開鍵サーバ5からの受信したメッセージに解析処理を行うように依頼される。   The message analysis module 128 is requested to perform analysis processing on the messages received from the terminals 2 to 4 and the public key server 5.

メッセージ解析モジュール128は制御モジュール110、digest生成モジュール123、メッセージ処理モジュール127、メッセージ不正判断モジュール124、共通鍵暗号方式復号化モジュール120、公開鍵暗号方式復号化モジュール122とインタフェースを持つ。   The message analysis module 128 has an interface with the control module 110, digest generation module 123, message processing module 127, message fraud determination module 124, common key cryptosystem decryption module 120, and public key cryptosystem decryption module 122.

メッセージ処理モジュール127から、コネクション確立要求メッセージ、コネクション確立確認メッセージ、コミュニティ参加・加入伺いメッセージ、コミュニティ招待メッセージ、コミュニティ参加・加入承諾メッセージ、賛否の一次意思決定メッセージ、賛否の最終意思決定メッセージ、宛先情報シェア取得要求メッセージ、応答メッセージ、公開鍵取得要求メッセージ、投票用情報提供メッセージ、一次結果通知メッセージ、最終結果通知メッセージの各種メッセージが渡される。   From the message processing module 127, a connection establishment request message, a connection establishment confirmation message, a community participation / subscription inquiry message, a community invitation message, a community participation / subscription acceptance message, a primary decision message for approval / disapproval, a final decision message for approval / disapproval, and destination information Various messages such as a share acquisition request message, a response message, a public key acquisition request message, a voting information provision message, a primary result notification message, and a final result notification message are passed.

コネクション確立要求メッセージ、コミュニティ招待メッセージが渡される場合、これらのメッセージは電子署名と暗号化が施されているので、公開鍵暗号方式復号化モジュール122、共通鍵暗号方式復号化モジュール120、digest生成モジュール123、メッセージ不正判断モジュール124を用いて、メッセージを解読し、なりすましや改竄をチェックしてから、不正がない場合に制御モジュール110に復号化されたメッセージの内容と添付されている情報を渡す。このとき、メッセージの解読に必要な公開鍵を内部のデータベース125に持っていなければ、制御モジュール110を通して公開鍵を取得する。   When a connection establishment request message and a community invitation message are passed, since these messages are digitally signed and encrypted, the public key cryptosystem decryption module 122, the common key cryptosystem decryption module 120, and the digest generation module 123, the message fraud determination module 124 is used to decrypt the message, check for impersonation and tampering, and if there is no fraud, the content of the decrypted message and the attached information are passed to the control module 110. At this time, if the internal database 125 does not have the public key necessary for decrypting the message, the public key is acquired through the control module 110.

その他のメッセージに関しては、セッションキーにより暗号化されているので、共通鍵暗号方式復号化モジュール120を利用して、メッセージの発信元端末と共有しているセッションキーを利用して復号化を行い、復号化されたメッセージの内容と添付されている情報を制御モジュール110に渡す。   Since the other messages are encrypted with the session key, the common key cryptosystem decryption module 120 is used to perform decryption using the session key shared with the message source terminal, The contents of the decrypted message and the attached information are passed to the control module 110.

シェア検証モジュール129は制御モジュール110とインタフェースを持ち、VSSを利用して分散符号化された各シェア(宛先情報シェア、許可情報シェア)を、他端末から取得しているシェア検証用情報(具体的には宛先情報シェア検証用情報、許可情報シェア検証用情報)を利用して不正がないかどうかを調べる。   The share verification module 129 has an interface with the control module 110, and share verification information (specifically, each share (destination information share, permission information share) obtained by distributed coding using VSS is obtained from another terminal. Is checked for fraud by using destination information share verification information and permission information share verification information).

端末7は図1の端末1、端末2、端末3、端末4のうちの任意の端末を示す。   A terminal 7 is an arbitrary terminal among the terminal 1, the terminal 2, the terminal 3, and the terminal 4 of FIG.

図3は図1のコネクションが全く構築されていない初期状態から最小規模のコミュニティが形成されるときの端末1と端末2でやり取りされるメッセージを示す説明図である。図3では端末1があらかじめ端末2へメッセージを送信するための宛先情報を知っているものとする。   FIG. 3 is an explanatory diagram showing messages exchanged between the terminal 1 and the terminal 2 when a community of the minimum scale is formed from the initial state where no connection of FIG. 1 is established. In FIG. 3, it is assumed that the terminal 1 knows the destination information for transmitting a message to the terminal 2 in advance.

端末1は端末2とセキュアにコネクションを確立するために端末2の公開鍵が必要となる。端末1は公開鍵サーバ5に対して、公開鍵取得要求メッセージ300を送信する。公開鍵サーバ5は公開鍵取得要求メッセージ300を受信すると、メッセージの内容を判断し、端末2の公開鍵を添付した応答メッセージ301を返答する。   The terminal 1 needs the public key of the terminal 2 in order to establish a secure connection with the terminal 2. The terminal 1 transmits a public key acquisition request message 300 to the public key server 5. When the public key server 5 receives the public key acquisition request message 300, the public key server 5 determines the content of the message and returns a response message 301 with the public key of the terminal 2 attached thereto.

次に、端末1はコネクション確立要求メッセージ302を端末2に対して送信する。端末2は端末1からコネクション確立要求メッセージ302を受信する。しかし、端末1が送信したメッセージ302は電子署名と暗号化が行われているために最初にメッセージ解読処理を行う。ここで端末1の公開鍵が必要となるが、内部のデータベースに端末1の公開鍵を持っていなければ、公開鍵サーバ5に端末1の公開鍵を公開鍵取得要求メッセージ303により問い合わせる。公開鍵サーバ5は端末1の公開鍵を添付した応答メッセージ304を返答する。   Next, the terminal 1 transmits a connection establishment request message 302 to the terminal 2. The terminal 2 receives the connection establishment request message 302 from the terminal 1. However, since the message 302 transmitted from the terminal 1 has been digitally signed and encrypted, the message is first decrypted. Here, the public key of the terminal 1 is required. If the public key of the terminal 1 is not stored in the internal database, the public key server 5 is inquired of the public key of the terminal 1 by the public key acquisition request message 303. The public key server 5 returns a response message 304 attached with the public key of the terminal 1.

端末2は端末1の公開鍵を取得すると、それを利用してコネクション確立要求メッセージ302を解読し、端末1がコネクションを確立した意思があることを知る。端末2はコネクションを確立するかどうかを図2の意思入力モジュールにより決定し、その意思が反映された応答メッセージ305が端末1に対し返答される。ここでは、端末1のコネクション確立要求を端末2が受け入れたとする。   When the terminal 2 obtains the public key of the terminal 1, the terminal 2 decrypts the connection establishment request message 302 using the public key, and knows that the terminal 1 has an intention to establish a connection. The terminal 2 determines whether or not to establish a connection by the intention input module of FIG. 2, and a response message 305 reflecting the intention is returned to the terminal 1. Here, it is assumed that the terminal 2 accepts the connection establishment request of the terminal 1.

端末1は応答メッセージ305からコネクション確立が可能であることを知る。そして、コネクション確立確認メッセージ306を端末2に返答し、コネクションを確立する。   The terminal 1 knows from the response message 305 that a connection can be established. Then, a connection establishment confirmation message 306 is returned to the terminal 2 to establish a connection.

図4は図3において端末1が端末2の公開鍵を取得し、コネクション確立要求メッセージ302を端末2に送信し、コネクションを確立するまでの端末1におけるモジュール処理を示すシーケンス図である。   FIG. 4 is a sequence diagram illustrating module processing in the terminal 1 until the terminal 1 acquires the public key of the terminal 2 in FIG. 3, transmits a connection establishment request message 302 to the terminal 2, and establishes a connection.

図3において、端末1が端末2とコネクションを確立したいとする。また、端末1は端末2の宛先情報をあらかじめ知っているものとする。端末1の制御モジュールは意思入力モジュールから端末2とコネクションを確立したいことを通知される。   In FIG. 3, assume that terminal 1 wants to establish a connection with terminal 2. Further, it is assumed that the terminal 1 knows the destination information of the terminal 2 in advance. The control module of the terminal 1 is notified from the intention input module that it wants to establish a connection with the terminal 2.

端末1の制御モジュールは端末2にコネクション確立要求メッセージを送信するが、セキュアにコネクションを確立するためにメッセージの電子署名と暗号化を行う。制御モジュールはデータベースに端末2の公開鍵の問い合わせを行い(シーケンス1000、1001)、端末2の公開鍵を持っていなければ、公開鍵サーバ5に対して端末2の公開鍵を問い合わせる(シーケンス1002〜1007)。公開鍵を取得すると、データベースに格納する(シーケンス1008、1009)。   The control module of the terminal 1 transmits a connection establishment request message to the terminal 2, but performs electronic signature and encryption of the message in order to establish the connection securely. The control module inquires of the public key of the terminal 2 in the database (sequences 1000 and 1001), and if it does not have the public key of the terminal 2, inquires of the public key server 5 about the public key of the terminal 2 (sequence 1002 to 1002). 1007). When the public key is acquired, it is stored in the database (sequence 1008, 1009).

制御モジュールは端末2とコネクション確立後にメッセージのやり取りに利用するセッションキーを生成するよう共通鍵生成モジュールに依頼する(シーケンス1010)。そして、生成されたセッションキーはコネクション確立後、メッセージの暗号化に利用するためにデータベースに格納しておく(シーケンス1011、シーケンス1012)。そして、共通鍵生成モジュールは生成したセッションキーを制御モジュールに返答する(シーケンス1013)。   The control module requests the common key generation module to generate a session key used for message exchange after establishing a connection with the terminal 2 (sequence 1010). Then, after the connection is established, the generated session key is stored in a database for use in message encryption (sequence 1011 and sequence 1012). Then, the common key generation module returns the generated session key to the control module (sequence 1013).

制御モジュールはメッセージ生成モジュールに対し、電子署名と暗号化を施したコネクション確立要求メッセージを生成するように依頼する(シーケンス1014)。このとき、制御モジュールは端末2と共有するセッションキー、端末1の公開鍵をメッセージ生成モジュールに提供する。   The control module requests the message generation module to generate a connection establishment request message with an electronic signature and encryption (sequence 1014). At this time, the control module provides the message generation module with the session key shared with the terminal 2 and the public key of the terminal 1.

メッセージ生成モジュールはコネクション確立要求の内容が記述したメッセージを生成し、そのメッセージのダイジェストを生成するためにdigest生成モジュールに対し依頼する(シーケンス1015、1016)。   The message generation module generates a message describing the contents of the connection establishment request, and requests the digest generation module to generate a digest of the message (sequences 1015 and 1016).

ダイジェストを得ると、制御モジュールはそれを端末1の秘密鍵を利用し、公開鍵暗号方式暗号化モジュールを介して、公開鍵暗号方式で暗号化する(シーケンス1017、1018)。   When the digest is obtained, the control module uses the private key of the terminal 1 and encrypts it with the public key cryptosystem via the public key cryptosystem encryption module (sequences 1017 and 1018).

そして、コネクション確立要求の内容と暗号化されたダイジェストの両方を含んだものをセッションキーにより、共通鍵暗号方式で暗号化する(シーケンス1019、1020)。これを情報Aとする。セッションキーは端末2の公開鍵により公開鍵暗号方式で暗号化する(シーケンス1021、1022)。これを情報Bとする。そして、情報Aと情報Bを併せてコネクション確立要求メッセージとして、メッセージ処理モジュールを通じて(シーケンス1023)、端末2に送信する(シーケンス1024)。   Then, the contents including both the contents of the connection establishment request and the encrypted digest are encrypted by the common key encryption method using the session key (sequences 1019 and 1020). This is information A. The session key is encrypted by the public key cryptosystem with the public key of the terminal 2 (sequence 1021, 1022). This is information B. Then, the information A and the information B are combined and transmitted as a connection establishment request message through the message processing module (sequence 1023) to the terminal 2 (sequence 1024).

以下、メッセージに電子署名と暗号化を行うプロセス(シーケンス1015〜1022)をメッセージ電子署名・暗号化プロセスと呼ぶ。   Hereinafter, a process (sequence 1015 to 1022) for performing electronic signature and encryption on a message is referred to as a message electronic signature / encryption process.

端末1は端末2からの応答を待つ。そして、応答メッセージ305を端末1のメッセージ処理モジュールが受信すると(シーケンス1025)、そのメッセージは(シーケンス1017、1018で生成した)端末2と共有しているセッションキーで暗号化されているので、メッセージ解析モジュールを通じて(シーケンス1026)、メッセージ解読処理を行う(シーケンス1027〜1030)。   Terminal 1 waits for a response from terminal 2. When the message processing module of the terminal 1 receives the response message 305 (sequence 1025), the message is encrypted with the session key shared with the terminal 2 (generated in sequences 1017 and 1018). Through the analysis module (sequence 1026), message decryption processing is performed (sequences 1027 to 1030).

以下、セッションキーによるメッセージの復号化プロセス(シーケンス1027〜1030)をメッセージ復号化プロセスと呼ぶ。   Hereinafter, the message decryption process (sequence 1027 to 1030) using the session key is referred to as a message decryption process.

メッセージ解析モジュールはメッセージを解読後、復号化されたメッセージを制御モジュールに渡す。   The message analysis module decrypts the message and then passes the decrypted message to the control module.

制御モジュールは復号化されたメッセージの内容からコネクション確立が可能であることを知る。そして、制御モジュールはコネクション確立確認メッセージを送信するが、端末2には既にセッションキーがわたっているため、セッションキーによる共通鍵暗号方式でメッセージを暗号化し送信する(シーケンス1032〜1036)。   The control module knows that the connection can be established from the content of the decrypted message. Then, the control module transmits a connection establishment confirmation message, but since the session key has already passed to the terminal 2, the message is encrypted and transmitted by the common key encryption method using the session key (sequences 1032 to 1036).

以下、セッションキーによるメッセージの暗号化プロセス(シーケンス1033、1034)をメッセージ暗号化プロセスと呼ぶ。   Hereinafter, the message encryption process using the session key (sequence 1033, 1034) is referred to as a message encryption process.

図4において、シーケンス1004、1005はそれぞれ図3のメッセージ300、301に、シーケンス1025は図3のメッセージ305に、シーケンス1036は図3のメッセージ306に相当する。   4, sequences 1004 and 1005 correspond to messages 300 and 301 in FIG. 3, sequence 1025 corresponds to message 305 in FIG. 3, and sequence 1036 corresponds to message 306 in FIG.

図5は図4のシーケンス1025において端末1から送信されたコネクション確立要求メッセージ305を端末2が受信したときのモジュール処理を示すシーケンス図である。   FIG. 5 is a sequence diagram showing module processing when the terminal 2 receives the connection establishment request message 305 transmitted from the terminal 1 in the sequence 1025 of FIG.

端末2のメッセージ処理モジュールはメッセージ302を受信すると、電子署名と暗号化が行われているので、メッセージの解読を行う。   When the message processing module of the terminal 2 receives the message 302, since the electronic signature and encryption are performed, the message is decrypted.

はじめにメッセージ302に含まれている情報Aと情報Bのうち、情報Bからセッションキーを取得するために、端末2の秘密鍵を利用して公開鍵暗号方式により復号化を行い、セッションキーを取得する(シーケンス1101〜1105)。   First, in order to obtain a session key from the information B among the information A and information B included in the message 302, the session key is obtained by decryption by the public key cryptosystem using the secret key of the terminal 2. (Sequence 1101 to 1105).

次に得られたセッションキーを用い、情報Aを共通鍵暗号方式により復号化する(シーケンス1106、1107)。得られた情報はコネクション確立要求の内容と端末1の秘密鍵で暗号化されたダイジェストを含む。暗号化されたダイジェストからダイジェストを取得するために端末1の公開鍵を利用して復号化する(シーケンス1108〜1111)。このとき、端末1の公開鍵を端末2のデータベースが持っていない場合は、メッセージ解析モジュールは一度、制御モジュールに端末1の公開鍵を取得するように依頼する(シーケンス1112)。   Next, using the obtained session key, information A is decrypted by a common key cryptosystem (sequences 1106 and 1107). The obtained information includes the content of the connection establishment request and the digest encrypted with the secret key of the terminal 1. In order to obtain the digest from the encrypted digest, decryption is performed using the public key of the terminal 1 (sequences 1108 to 1111). At this time, if the database of the terminal 2 does not have the public key of the terminal 1, the message analysis module once requests the control module to acquire the public key of the terminal 1 (sequence 1112).

制御モジュールは公開鍵サーバ5に対し、端末1の公開鍵を要求する(シーケンス1113〜1118)。取得後、制御モジュールは端末1の公開鍵をデータベースに保存する(シーケンス1119、1120)。そして、制御モジュールはメッセージ解析モジュールに取得した端末1の公開鍵を渡す(シーケンス1121)。   The control module requests the public key of the terminal 1 from the public key server 5 (sequences 1113 to 1118). After the acquisition, the control module stores the public key of the terminal 1 in the database (sequence 1119, 1120). The control module passes the acquired public key of the terminal 1 to the message analysis module (sequence 1121).

メッセージ解析モジュールはその公開鍵を用いて暗号化されたダイジェストの復号を行う(シーケンス1122、1123)。これをダイジェストCとする。   The message analysis module uses the public key to decrypt the encrypted digest (sequences 1122 and 1123). This is called digest C.

ダイジェスト復号化後、メッセージ解析モジュールはコネクション確立要求の内容が改竄されていないかどうか確認するために、得られたコネクション確立要求の内容からダイジェストを生成する(シーケンス1124、1125)。これをダイジェストDとする。そして、ダイジェストCとDを比較し、不正がないかチェックするようにメッセージ不正判断モジュールに依頼する(シーケンス1126)。   After digest decoding, the message analysis module generates a digest from the content of the obtained connection establishment request in order to confirm whether or not the content of the connection establishment request has been tampered (sequence 1124, 1125). This is called digest D. Then, digest C and D are compared, and a message fraud determination module is requested to check for fraud (sequence 1126).

メッセージ不正判断モジュールはダイジェストCとDの相違を調べ、相違がなければ正常応答を返す(シーケンス1127)。   The message fraud determination module checks the difference between digests C and D, and returns a normal response if there is no difference (sequence 1127).

メッセージ解析モジュールは正常応答を受けると、制御モジュールに対して、コネクション確立要求の内容とセッションキーを渡す(シーケンス1128)。   When the message analysis module receives a normal response, it passes the content of the connection establishment request and the session key to the control module (sequence 1128).

以下、電子署名と暗号化されたメッセージの解読処理(シーケンス1102〜1127)をメッセージ解読プロセスと呼ぶ。   Hereinafter, the decryption process (sequence 1102 to 1127) of the electronic signature and the encrypted message is referred to as a message decryption process.

制御モジュールはコネクション確立要求の内容より、端末1がコネクションを端末2と構築したいことを知る。制御モジュールは意思入力モジュールに対し、コネクション確立に対する意思決定の判断を依頼する(シーケンス1129)。ここで端末2はコネクション確立の意思があるとする。意思入力モジュールは制御モジュールに対し、コネクション確立の意思があることを伝える(シーケンス1130)。   The control module knows from the content of the connection establishment request that the terminal 1 wants to establish a connection with the terminal 2. The control module requests the intention input module to make a decision on connection establishment (sequence 1129). Here, it is assumed that the terminal 2 has an intention to establish a connection. The intention input module notifies the control module that there is an intention to establish a connection (sequence 1130).

制御モジュールはコネクション確立後のセキュアなメッセージのやり取りのために、データベースに対し、セッションキーを保存する(シーケンス1131、1132)。   The control module stores the session key in the database for secure message exchange after the connection is established (sequences 1131 and 1132).

応答メッセージを返すために、制御モジュールはコネクション確立の承諾の内容を示したメッセージを作成するようにメッセージ生成モジュールに依頼する(シーケンス1133)。このとき、制御モジュールはセッションキーをメッセージ生成モジュールに提供する。   In order to return a response message, the control module asks the message generation module to create a message indicating the content of acceptance of connection establishment (sequence 1133). At this time, the control module provides the session key to the message generation module.

メッセージ生成モジュールはコネクション確立の承諾の内容を示すメッセージを生成し、さらにメッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて応答メッセージ305を送信する(シーケンス1134〜1137)。   The message generation module generates a message indicating the content of acceptance of connection establishment, further performs a message encryption process, and transmits a response message 305 through the message processing module (sequences 1134 to 1137).

応答メッセージ305を送信後、端末2のメッセージ処理モジュールは端末1からコネクション確立確認メッセージを受信すると(シーケンス1138)、メッセージは端末1と共有しているセッションキーで暗号化されているので、メッセージ復号化プロセスを行い、メッセージ解析モジュールは復号化されたメッセージを制御モジュールに渡す(シーケンス1139〜1144)。   After transmitting the response message 305, when the message processing module of the terminal 2 receives a connection establishment confirmation message from the terminal 1 (sequence 1138), the message is encrypted with the session key shared with the terminal 1, so that the message decryption is performed. The message analysis module passes the decrypted message to the control module (sequences 1139 to 1144).

制御モジュールは復号化されたメッセージの内容からコネクション確立したことを知る。   The control module knows that the connection has been established from the content of the decrypted message.

上記の過程により、端末1と端末2の間でコネクションが確立する。   Through the above process, a connection is established between the terminal 1 and the terminal 2.

図5において、シーケンス1100は図3のメッセージ302に、シーケンス1137は図3のメッセージ305に、シーケンス1138は図3のメッセージ306に相当する。   5, the sequence 1100 corresponds to the message 302 in FIG. 3, the sequence 1137 corresponds to the message 305 in FIG. 3, and the sequence 1138 corresponds to the message 306 in FIG.

[第1の実施の形態]
図6は既に端末1と端末2の間でコネクション10が確立しており、端末1と端末2で全端末数が2の最小規模のコミュニティ200が形成されている状態から、コミュニティ200側から新規端末として、端末3をコミュニティ200へ招待するために必要となる、端末間でやり取りされるメッセージを示す説明図である。
[First Embodiment]
In FIG. 6, since the connection 10 has already been established between the terminal 1 and the terminal 2, and the community 200 of the smallest scale with the total number of terminals 2 is formed between the terminal 1 and the terminal 2, the community 200 side newly It is explanatory drawing which shows the message exchanged between terminals required in order to invite the terminal 3 to the community 200 as a terminal.

図6では端末3をコミュニティ200に招待を希望する端末は端末1であるとする(つまり、端末1が応対端末、端末3が新規端末であり、メンバ端末は端末2である)。端末1は初めに端末3とセキュアにコネクションを確立するために必要となる公開鍵を内部のデータベースに持っているかどうか問い合わせ、持っていなければ外部の公開鍵サーバ5に取得要求を行う(メッセージ400、401)。そして、端末2に対して、招待希望の内容を示すコミュニティ参加・加入伺いメッセージ402を送信する。このとき、メッセージには端末3の宛先情報を含める。   In FIG. 6, it is assumed that the terminal that wants to invite the terminal 3 to the community 200 is the terminal 1 (that is, the terminal 1 is the receiving terminal, the terminal 3 is the new terminal, and the member terminal is the terminal 2). The terminal 1 first inquires whether the internal database has a public key necessary for establishing a secure connection with the terminal 3, and if not, makes an acquisition request to the external public key server 5 (message 400). 401). Then, a community participation / subscription inquiry message 402 indicating the contents of the invitation request is transmitted to the terminal 2. At this time, the destination information of the terminal 3 is included in the message.

端末2はコミュニティ参加・加入伺いメッセージ402を受信すると、メッセージ内容から端末1が端末3のコミュニティへの招待を希望していることを知る。   When the terminal 2 receives the community participation / subscription inquiry message 402, the terminal 2 knows that the terminal 1 wishes to invite the terminal 3 to the community.

端末2は端末3とセキュアにコネクションを張るために必要となる公開鍵を持っているかどうか内部のデータベースに問い合わせし、持っていなければ、公開鍵サーバ5に対して取得要求を行う(メッセージ403、メッセージ404)。そして、公開鍵取得後、端末2は端末3をコミュニティ200へ参加・加入させるかどうかの意思の一次決定を行う。ここで端末2は賛成であるとする。   The terminal 2 inquires of the internal database whether or not it has a public key necessary for establishing a secure connection with the terminal 3, and if not, makes an acquisition request to the public key server 5 (message 403, Message 404). Then, after obtaining the public key, the terminal 2 makes a primary determination as to whether or not to allow the terminal 3 to participate in or join the community 200. Here, it is assumed that the terminal 2 agrees.

端末2は許可情報(1−2)を生成し、それを閾値(3、3)で分散符号化し、許可情報シェア(1−2−1)、許可情報シェア(1−2−2)、許可情報シェア(1−2−3)を生成する。   The terminal 2 generates permission information (1-2), which is distributedly encoded with threshold values (3, 3), and permits information share (1-2-1), permission information share (1-2-2), permission An information share (1-2-3) is generated.

そして、許可情報(1−2)と3つの許可情報シェアのうち、2つの許可情報シェア(ここでは許可情報シェア(1−2−2)、許可情報シェア(1−2−3)とする)は端末2自身が端末3のコネクション確立要求を受けたときに、端末3がコミュニティ200への参加・加入に対しコミュニティに参加・加入している全端末の賛成を得ているかどうかを確認する目的と、自端末の投票用情報として使用する目的で内部のデータベースに保存しておく。   Of the permission information (1-2) and the three permission information shares, two permission information shares (here, permission information share (1-2-2) and permission information share (1-2-3)) The purpose of confirming whether or not the terminal 3 has gained the approval of all the terminals participating in or joining the community with respect to the participation or participation in the community 200 when the terminal 2 itself receives a connection establishment request for the terminal 3 And stored in an internal database for use as voting information for the terminal itself.

端末2は端末1に対して、コミュニティ参加・加入伺いメッセージ402の応答メッセージとして、投票用情報として許可情報シェア(1−2−1)を添付した、賛否の一次意思決定メッセージ405を送信する。端末3がコミュニティへ参加・加入するためには、賛否の最終意思決定の際に全端末からの許可情報シェアを取得する必要がある。   The terminal 2 transmits, to the terminal 1, a primary decision message 405 for pros and cons attached with a permission information share (1-2-1) as voting information as a response message to the community participation / subscription inquiry message 402. In order for the terminal 3 to participate in or join the community, it is necessary to acquire permission information shares from all terminals at the time of final decision on approval or disapproval.

端末1は賛否の一次意思決定メッセージ405を受信し、メッセージ内容から端末3のコミュニティ200への参加・加入に対して端末2が賛成であることを確認し、許可情報シェア(1−2−1)を内部のデータベースに保存しておく。   The terminal 1 receives the approval / disapproval primary decision-making message 405, confirms that the terminal 2 is in favor of joining / subscribing to the community 200 of the terminal 3 based on the message content, and allows permission information sharing (1-2-1 ) In the internal database.

端末1は全メンバ端末(端末2)から賛否の一次意思決定メッセージを受信したので、全メンバ端末に一次結果通知メッセージを送信する。このとき、全メンバ端末が賛成を示した場合、投票が可能であることを、そうでない場合、投票が不可能であることを伝える。   Since the terminal 1 has received the primary decision message for approval / disapproval from all the member terminals (terminal 2), the terminal 1 transmits a primary result notification message to all the member terminals. At this time, if all the member terminals indicate approval, it is notified that voting is possible, and otherwise, it is notified that voting is impossible.

端末1は投票が可能であることを示す内容の一次結果通知メッセージ406を端末2に送信する。   The terminal 1 transmits to the terminal 2 a primary result notification message 406 indicating that voting is possible.

端末2は端末1から一次結果通知メッセージ406を受信し、全メンバ端末が賛否の一次意思決定メッセージにおいて端末3のコミュニティ200への参加・加入に賛成をし、投票が可能であることを知る。そして、応答メッセージ407を端末1に送信する。   The terminal 2 receives the primary result notification message 406 from the terminal 1, and all the member terminals agree to participate / subscribe to the community 200 of the terminal 3 in the primary decision message of approval or disapproval and know that voting is possible. Then, the response message 407 is transmitted to the terminal 1.

次に、端末2は端末3のコミュニティ200への参加・加入に対する賛否の最終的な判断を行う。ここで端末2は最終的に端末3のコミュニティ200への参加・加入に賛成であるとする。端末2は自端末の宛先情報と許可情報シェア(1−2−3)を併せて、端末3の公開鍵で暗号化した許可チケット(1−2)を生成する。   Next, the terminal 2 makes a final decision as to whether or not the terminal 3 participates in or joins the community 200. Here, it is assumed that the terminal 2 finally agrees to the participation / subscription of the terminal 3 to the community 200. The terminal 2 generates the permission ticket (1-2) encrypted with the public key of the terminal 3 by combining the destination information of the terminal 2 and the permission information share (1-2-3).

端末2は最終的に端末3のコミュニティ200への参加・加入に賛成であることを示す内容に許可チケット(1−2)を添付し、賛否の最終意思決定メッセージ408を送信する。メッセージ408送信後、端末2は端末1から応答メッセージ409を受信する。   The terminal 2 finally attaches a permission ticket (1-2) to the content indicating that the terminal 3 agrees to participate / subscribe to the community 200, and transmits a final decision message 408 of approval or disapproval. After transmitting the message 408, the terminal 2 receives the response message 409 from the terminal 1.

一方、端末1は賛否の最終意思決定メッセージ408により、端末3のコミュニティ200への参加・加入に対して端末2が最終的に賛成であることを確認し、許可チケット(1−2)を内部のデータベースに保存する。そして、端末2に応答メッセージ409を送信する。   On the other hand, the terminal 1 confirms that the terminal 2 finally agrees to the participation / subscription of the terminal 3 to the community 200 based on the final decision message 408 of approval / disapproval, and stores the permission ticket (1-2) inside. Save to the database. Then, a response message 409 is transmitted to the terminal 2.

端末1は全メンバ端末から賛否の最終意思決定メッセージを受信し、全メンバ端末が賛成であることを知る。   The terminal 1 receives the final decision message for approval / disapproval from all the member terminals and knows that all the member terminals agree.

端末1はコネクション確立情報(1−1)を生成し、データベースに保存する。そして、コネクション確立情報(1−1)をVSSにより閾値(2、2)で分散符号化し、生成したコネクション確立情報シェア(1−1−1)、コネクション確立情報シェア(1−1−2)のうち一方(ここではコネクション確立情報シェア(1−1−1)とする)をデータベースに保存する。   The terminal 1 generates connection establishment information (1-1) and stores it in the database. Then, the connection establishment information (1-1) is distributedly encoded by the threshold value (2, 2) by VSS, and the generated connection establishment information share (1-1-1) and connection establishment information share (1-1-2) One of them (here, connection establishment information share (1-1-1)) is stored in the database.

端末1は全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア(1−1−2)を添付した最終結果通知メッセージ410を端末2に送信する。そして、端末2から応答メッセージ411を受信する。   The terminal 1 transmits to the terminal 2 a final result notification message 410 in which the connection establishment information share (1-1-2) is attached to the content informing that all the member terminals agree. Then, the response message 411 is received from the terminal 2.

端末2は最終結果通知メッセージ410を受信し、全メンバ端末は最終的に端末3のコミュニティ200への参加・加入に対して賛成であったことを知る。また、コネクション確立情報シェア(1−1−2)を取得する。そして、端末1に応答メッセージ411を送信する。   The terminal 2 receives the final result notification message 410 and knows that all the member terminals have finally agreed to the participation / subscription of the terminal 3 to the community 200. Also, the connection establishment information share (1-1-2) is acquired. Then, a response message 411 is transmitted to the terminal 1.

一方、端末1は応答メッセージ411を受信後、端末1は賛否の一次意思決定メッセージ405より取得した許可情報シェア(1−2−1)に自端末の宛先情報を含めて端末3の公開鍵で暗号化を行い(許可チケット(1−3)とする)、許可チケット(1−2)と許可チケット(1−3)を添付したコミュニティ招待メッセージ412を端末3に対し送信する。このとき、メッセージには電子署名と暗号化を施す。   On the other hand, after the terminal 1 receives the response message 411, the terminal 1 includes the destination information of the terminal itself in the permission information share (1-2-1) acquired from the primary decision message 405 for approval and disapproval, and uses the public key of the terminal 3 Encryption is performed (referred to as permission ticket (1-3)), and a community invitation message 412 attached with permission ticket (1-2) and permission ticket (1-3) is transmitted to terminal 3. At this time, the message is digitally signed and encrypted.

端末3はコミュニティ招待メッセージ412を受信し、メッセージを解読する。ここで、端末1の公開鍵が必要となるが、データベースに持っていなければ、外部の公開鍵サーバ5に取得要求を行う(メッセージ413、414)。復号されたメッセージ内容から端末1が端末3のコミュニティへの招待を希望していることを知る。また、このとき許可チケット(1−2)、許可チケット(1−3)を取得する。   Terminal 3 receives community invitation message 412 and decrypts the message. Here, the public key of the terminal 1 is required, but if it is not stored in the database, an acquisition request is made to the external public key server 5 (messages 413 and 414). The terminal 1 knows from the decrypted message content that it wishes to invite the terminal 3 to the community. At this time, a permission ticket (1-2) and a permission ticket (1-3) are acquired.

端末3はコミュニティ200にどのような端末が参加・加入しているかを調べるために、許可チケット(1−2)、許可チケット(1−3)を秘密鍵により復号化し、得られた許可情報シェア(1−2−1)、許可情報シェア(1−2−3)、端末1と端末2の宛先情報から、端末1と端末2がコミュニティ200に参加・加入していることを知る。   The terminal 3 decrypts the permission ticket (1-2) and the permission ticket (1-3) with the secret key in order to check what terminal is participating in or joining the community 200, and the permission information share obtained From (1-2-1), permission information share (1-2-3), and destination information of the terminal 1 and the terminal 2, it is known that the terminal 1 and the terminal 2 are participating in / joining the community 200.

端末3はコミュニティ200の招待に賛成であるとする。端末3は端末2に対して、セキュアにコネクションを確立するために端末2の公開鍵を内部のデータベースに問い合わせ、持っていなければ外部の公開鍵サーバ5に取得要求を行う(メッセージ415、応答メッセージ416)。   It is assumed that the terminal 3 is in favor of the community 200 invitation. The terminal 3 inquires of the terminal 2 about the public key of the terminal 2 in order to establish a secure connection with the terminal 2, and if not, makes an acquisition request to the external public key server 5 (message 415, response message) 416).

端末3は許可情報シェア(1−2−1)、許可情報シェア(1−2−3)を含めた、コネクション確立要求メッセージ417を端末2に対して送信する。   The terminal 3 transmits a connection establishment request message 417 including the permission information share (1-2-1) and the permission information share (1-2-3) to the terminal 2.

端末2は端末3からコネクション確立要求メッセージ417を受信すると、添付されている許可情報シェア(1−2−1)、許可情報シェア(1−2−3)を用いて、端末3がコミュニティ200への参加・加入に対し他の全端末から賛成を得ているかどうかをチェックする。   When the terminal 2 receives the connection establishment request message 417 from the terminal 3, the terminal 3 sends it to the community 200 using the attached permission information share (1-2-1) and permission information share (1-2-3). Check whether all other terminals have agreed to participate / subscribe.

まず、端末2の内部がデータベースで持っている、許可情報シェア(1−2−2)と取得した許可情報シェア(1−2−1)、許可情報シェア(1−2−3)を利用し、VSSにより復号化を行い、許可情報(1−2−A)を生成する。そして、端末2が内部のデータベースで持つ許可情報(1−2)と許可情報(1−2−A)とを比較し、相違がないかどうか確認する。相違があった場合は、端末3のアクセスを不正(つまり、コミュニティの他の全ての端末から賛成を得ていない)とみなし、コネクションは確立しない。相違がなければ、比較時の時刻情報と許可情報に含まれる時刻情報の差分を計算し、その値が一定の時間以上であれば、不正と判断し、コネクションは確立しない。不正がなければ、さらに許可情報に記述されている宛先情報が端末3の宛先情報と一致するか比較し、相違があればコネクションは確立しない。   First, using the permission information share (1-2-2), the acquired permission information share (1-2-1), and permission information share (1-2-3) that the terminal 2 has in the database , Decryption is performed by VSS, and permission information (1-2-A) is generated. Then, the permission information (1-2) and permission information (1-2-A) held in the internal database of the terminal 2 are compared to confirm whether there is a difference. If there is a difference, the access of the terminal 3 is regarded as illegal (that is, it is not approved by all other terminals in the community), and the connection is not established. If there is no difference, the difference between the time information at the time of comparison and the time information included in the permission information is calculated. If the value is equal to or longer than a certain time, it is determined to be illegal and the connection is not established. If there is no illegality, the destination information described in the permission information is compared with the destination information of the terminal 3, and if there is a difference, the connection is not established.

以上のようなチェックを行い、端末3に不正がなく、コミュニティ200への参加・加入に対し他の全端末から賛成を得ていることを確認すると、端末2は内部のデータベースに持つ、コネクション確立情報シェア(1−1−2)を添付した応答メッセージ418を端末3に送信する。   When the above checks are performed and it is confirmed that the terminal 3 is not fraudulent and that all other terminals have agreed to participate in or join the community 200, the terminal 2 has a connection established in its internal database. A response message 418 attached with the information share (1-1-2) is transmitted to the terminal 3.

応答メッセージ418を送信後、端末2は端末3からコネクション確立確認メッセージ419を受信する。   After transmitting the response message 418, the terminal 2 receives a connection establishment confirmation message 419 from the terminal 3.

一方、端末3は応答メッセージ418を受信すると、コネクション確立情報シェア(1−1−2)を内部のデータベースに保存した後、コネクション確立確認メッセージ419を端末2に送信する。   On the other hand, when the terminal 3 receives the response message 418, the terminal 3 stores the connection establishment information share (1-1-2) in the internal database, and then transmits a connection establishment confirmation message 419 to the terminal 2.

端末3は端末2とコネクションを確立後、コミュニティ招待メッセージ412の応答メッセージとして、コネクション確立情報シェア(1−1−2)を添付したコミュニティ参加・加入承諾メッセージ420を送信する。   After establishing the connection with the terminal 2, the terminal 3 transmits a community participation / subscription acceptance message 420 attached with the connection establishment information share (1-1-2) as a response message of the community invitation message 412.

端末1は端末3からコミュニティ参加・加入承諾メッセージ420を受信し、コネクション確立情報シェア(1−1−2)を取得する。そして、端末3がコミュニティの他の全ての端末とコネクションを確立しているかどうか確認するために、コネクション確立情報シェア(1−1−2)と内部のデータベースに持つコネクション確立情報シェア(1−1−1)からコネクション確立情報を復号化し、コネクション確立情報(1−1−A)を生成する。   The terminal 1 receives the community participation / subscription acceptance message 420 from the terminal 3, and acquires the connection establishment information share (1-1-2). Then, in order to confirm whether the terminal 3 has established connections with all other terminals in the community, the connection establishment information share (1-1-2) and the connection establishment information share (1-1) held in the internal database -1), the connection establishment information is decrypted to generate connection establishment information (1-1-A).

得られたコネクション確立情報(1−1−A)と内部のデータベースに持つコネクション確立情報(1−1)を比較し、相違がないかどうかチェックする。   The obtained connection establishment information (1-1-A) is compared with the connection establishment information (1-1) held in the internal database to check whether there is any difference.

相違がある場合は、端末3がコミュニティ200に参加・加入している他の全ての端末とはコネクションが確立していないと判断し、コネクションは確立しない。相違がない場合は、コネクション確立情報に含まれる時刻情報と比較時の時刻情報の差分が一定時間以内であるかどうかチェックする。一定時間以上であれば、コネクションは確立しない。   If there is a difference, it is determined that the connection has not been established with all the other terminals that the terminal 3 has joined / subscribed to the community 200, and the connection is not established. If there is no difference, it is checked whether or not the difference between the time information included in the connection establishment information and the time information at the time of comparison is within a certain time. If it is longer than a certain time, the connection is not established.

以上のチェックが終わると、最終的に端末1はコネクション確立確認メッセージ421を端末3に送信し、端末3とコネクションを確立する。   When the above check is completed, the terminal 1 finally transmits a connection establishment confirmation message 421 to the terminal 3 to establish a connection with the terminal 3.

以上のように、メッセージ400〜421を端末1、端末2、端末3、公開鍵サーバ5の間でやり取りすることで、端末3を新規にコミュニティ200に招待する。   As described above, by exchanging messages 400 to 421 among terminal 1, terminal 2, terminal 3, and public key server 5, terminal 3 is newly invited to community 200.

図7から図20は図6において端末間でやり取りされるメッセージを各端末が内部のモジュールを利用して処理するプロセスを詳細に示したシーケンス図である。   7 to 20 are sequence diagrams showing in detail a process in which each terminal processes a message exchanged between the terminals in FIG. 6 using an internal module.

図7は端末1が端末3の招待に対する賛否を問う内容を示すメッセージ(コミュニティ参加・加入伺いメッセージ)を端末2に対して送信するまでのモジュール処理を示すシーケンス図である。   FIG. 7 is a sequence diagram showing module processing until the terminal 1 transmits to the terminal 2 a message (community participation / subscription inquiry message) indicating the contents of the terminal 3 asking for approval or disapproval regarding the invitation of the terminal 3.

端末1の制御モジュールは端末3の宛先情報、端末2と共有しているセッションキー、端末3の公開鍵、を取得するためにデータベースに問い合わせる(シーケンス1200、1201)。このとき、端末2の公開鍵がデータベースになければ、外部の公開鍵サーバ5に対して問い合わせ(シーケンス1202〜1207)、データベースに保存しておく(シーケンス1208、1209)。   The control module of the terminal 1 inquires of the database to acquire the destination information of the terminal 3, the session key shared with the terminal 2, and the public key of the terminal 3 (sequences 1200 and 1201). At this time, if the public key of the terminal 2 is not in the database, the external public key server 5 is inquired (sequence 1202 to 1207) and stored in the database (sequence 1208 and 1209).

制御モジュールはメッセージ生成モジュールにコミュニティ参加・加入伺いメッセージを生成し、端末2へ送信するように依頼する(シーケンス1210)。このとき、同時に端末3の宛先情報、セッションキーを渡す。   The control module requests the message generation module to generate a community participation / subscription inquiry message and transmit it to the terminal 2 (sequence 1210). At this time, the destination information of the terminal 3 and the session key are passed at the same time.

メッセージ生成モジュールは端末3のコミュニティ200への招待に対する賛否を問う内容に端末3の宛先情報を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、コミュニティ参加・加入伺いメッセージ402を端末2に送信する(シーケンス1211〜1214)。   The message generation module generates a message in which the destination information of the terminal 3 is attached to the content asking whether to accept or reject the invitation of the terminal 3 to the community 200, performs the message encryption process, and then sends the community participation / subscription inquiry message 402 to the terminal 2. (Sequences 1211 to 1214).

図7において、シーケンス1204、1205、1214はそれぞれ図6のメッセージ400、401、402に相当する。   In FIG. 7, sequences 1204, 1205, and 1214 correspond to the messages 400, 401, and 402 in FIG.

図8は図7で端末1が送信したコミュニティ参加・加入伺いメッセージ402を端末2が受信したときの端末2内でのモジュール処理を示すシーケンス図である。   FIG. 8 is a sequence diagram showing module processing in the terminal 2 when the terminal 2 receives the community participation / subscription inquiry message 402 transmitted by the terminal 1 in FIG.

端末2のメッセージ処理モジュールはメッセージ402を受信すると、端末1と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス1300〜1305)。そして、復号化されたメッセージを制御モジュールに渡す(シーケンス1306)。   When the message processing module of the terminal 2 receives the message 402, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 1 (sequence 1300 to 1300). 1305). Then, the decrypted message is passed to the control module (sequence 1306).

制御モジュールはメッセージから端末1が端末3をコミュニティ200へ招待することを希望しているのを知る。   The control module knows from the message that terminal 1 wants to invite terminal 3 to community 200.

制御モジュールは端末3の公開鍵を持っているかどうかチェックを行い(シーケンス1307、1308)、持っていなければ公開鍵サーバ5に対し取得要求を行う(シーケンス1309〜1314)。そして取得後、端末3の宛先情報とともにデータベースに保存する(シーケンス1315、1316)。   The control module checks whether or not it has the public key of the terminal 3 (sequences 1307 and 1308), and if not, makes an acquisition request to the public key server 5 (sequences 1309 to 1314). Then, after acquisition, it is stored in the database together with the destination information of the terminal 3 (sequences 1315 and 1316).

そして、制御モジュールは意思入力モジュールに対しコミュニティ200への端末3の参加・加入に対する賛否を伺う(シーケンス1317)。ここで、賛成の意思があるとする。意思入力モジュールは賛成の意思があることを制御モジュールに伝える(シーケンス1318)。この時点での意思決定は一次的なものである。   Then, the control module asks the intention input module whether or not the terminal 3 participates or joins the community 200 (sequence 1317). Here, it is assumed that there is a will of approval. The intention input module informs the control module that there is an intention of approval (sequence 1318). Decision making at this point is primary.

制御モジュールは許可情報生成モジュールに対し、許可情報を生成するように依頼する(シーケンス1319)。   The control module requests the permission information generation module to generate permission information (sequence 1319).

許可情報生成モジュールは許可情報(1−2)を生成し、データベースに保存後(シーケンス1320、1321)、制御モジュールに許可情報(1−2)を返す(シーケンス1322)。   The permission information generation module generates permission information (1-2), stores it in the database (sequence 1320, 1321), and returns the permission information (1-2) to the control module (sequence 1322).

制御モジュールは投票用情報を生成するために、許可情報(1−2)を分散符号化するようにVSS分散符号化モジュールに依頼する(シーケンス1323)。   In order to generate the voting information, the control module requests the VSS distributed encoding module to perform the distributed encoding of the permission information (1-2) (sequence 1323).

VSS分散符号化モジュールは全端末数が2なので、閾値(3、3)で許可情報(1−2)を分散符号化し、許可情報シェア(1−2−1)と、許可情報シェア(1−2−2)、許可情報シェア(1−2−3)と生成する。そして、許可情報シェアのうち、2つ(ここでは許可情報シェア(1−2−2)、許可情報シェア(1−2−3)とする)をデータベースに保存し(シーケンス1324、1325)、許可情報シェア(1−2−1)を制御モジュールに返す(シーケンス1326)。   Since the total number of terminals in the VSS distributed coding module is 2, the permission information (1-2) is distributedly encoded with the thresholds (3, 3), the permission information share (1-2-1), and the permission information share (1- 2-2) and permission information share (1-2-3). Then, two of the permission information shares (here, permission information share (1-2-2) and permission information share (1-2-3)) are stored in the database (sequences 1324 and 1325), and permission is granted. Information sharing (1-2-1) is returned to the control module (sequence 1326).

制御モジュールは端末1と共有しているセッションキーをデータベースに問い合わせ(シーケンス1327、1328)、許可情報シェア(1−2−1)を添付した賛否の一次意思決定メッセージを端末1に送信するようにメッセージ生成モジュールに依頼する(シーケンス1329)。このとき、同時にセッションキー、許可情報シェア(1−2−1)をメッセージ生成モジュールに渡す。   The control module inquires of the database about the session key shared with the terminal 1 (sequences 1327 and 1328), and sends the approval / disapproval primary decision message with the permission information share (1-2-1) to the terminal 1. The message generation module is requested (sequence 1329). At this time, the session key and permission information share (1-2-1) are simultaneously passed to the message generation module.

メッセージ生成モジュールは賛成の意思内容に許可情報シェア(1−2−1)を添付したメッセージを生成し、メッセージ暗号化プロセスを行って、メッセージ処理モジュールを介して端末1に対し送信する(シーケンス1330〜1333)。   The message generation module generates a message with permission information share (1-2-1) attached to the content of approval, performs a message encryption process, and transmits the message to the terminal 1 via the message processing module (sequence 1330). ~ 1333).

図8において、シーケンス1300、1311、1312、1333はそれぞれ図6のメッセージ402、403、404、405に相当する。   In FIG. 8, sequences 1300, 1311, 1312, and 1333 correspond to the messages 402, 403, 404, and 405 in FIG.

図9は図8において、端末2から送信された賛否の一次意思決定メッセージ405を端末1が受信したときのモジュール間の処理を示すシーケンス図である。   FIG. 9 is a sequence diagram showing processing between modules when the terminal 1 receives the primary decision message 405 for approval / disapproval transmitted from the terminal 2 in FIG.

端末1のメッセージ処理モジュールはメッセージ405を受信すると、端末2と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス1400〜1405)。そして、復号化されたメッセージ内容と添付されている許可情報シェア(1−2−1)とを制御モジュールに渡す(シーケンス1406)。   When the message processing module of the terminal 1 receives the message 405, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 2 (sequence 1400 to 1400). 1405). Then, the decrypted message content and the attached permission information share (1-2-1) are passed to the control module (sequence 1406).

制御モジュールは復号化されたメッセージ内容から端末2が賛成の意思があることを知る。そして、取得した投票用情報である許可情報シェア(1−2−1)をデータベースに保存する(シーケンス1407、1408)。   The control module knows from the decrypted message content that the terminal 2 is willing to agree. And the permission information share (1-2-1) which is the acquired information for voting is preserve | saved in a database (sequence 1407, 1408).

端末1は全メンバ端末(端末2)から賛否の一次意思決定メッセージを受信したので、全メンバ端末に一次結果通知メッセージを送信する。このとき、全メンバ端末が賛成を示した場合、投票が可能であることを、そうでない場合、投票が不可能であることを伝える。   Since the terminal 1 has received the primary decision message for approval / disapproval from all the member terminals (terminal 2), the terminal 1 transmits a primary result notification message to all the member terminals. At this time, if all the member terminals indicate approval, it is notified that voting is possible, and otherwise, it is notified that voting is impossible.

端末1の制御モジュールはメッセージ生成モジュールに対し、投票が可能であることを示す内容の一次結果通知メッセージを全メンバ端末に送信するように依頼する(シーケンス1409)。   The control module of the terminal 1 requests the message generation module to transmit a primary result notification message indicating that voting is possible to all member terminals (sequence 1409).

メッセージ生成モジュールは投票が可能であることを示す内容のメッセージを生成し、メッセージ暗号化プロセスを行って、メッセージ処理モジュールを介して端末2に一次結果通知メッセージ406を送信する(シーケンス1410〜1413)。   The message generation module generates a message indicating that voting is possible, performs a message encryption process, and transmits a primary result notification message 406 to the terminal 2 via the message processing module (sequences 1410 to 1413). .

一次結果通知メッセージ406送信後、端末1の制御モジュールは端末2から応答メッセージ407を送信する(シーケンス1414〜1420)。   After transmitting the primary result notification message 406, the control module of the terminal 1 transmits a response message 407 from the terminal 2 (sequences 1414 to 1420).

図9において、シーケンス1400、1413、1414はそれぞれ図6のメッセージ405、406、407に相当する。   In FIG. 9, sequences 1400, 1413, and 1414 correspond to the messages 405, 406, and 407 in FIG. 6, respectively.

図10において、端末2が一次結果通知メッセージ406を受信したときの端末2内のモジュール処理を示すシーケンス図である。   FIG. 11 is a sequence diagram showing module processing in the terminal 2 when the terminal 2 receives the primary result notification message 406 in FIG. 10.

端末2のメッセージ処理モジュールはメッセージ406を受信すると、端末1と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス1500〜1505)。そして、復号化されたメッセージを制御モジュールに渡す(シーケンス1506)。   Upon receiving the message 406, the message processing module of the terminal 2 performs a message decryption process via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 1 (sequence 1500). ~ 1505). Then, the decrypted message is passed to the control module (sequence 1506).

制御モジュールはメッセージから端末1が全メンバ端末から受信した賛否の一次意思決定メッセージにおいて、全メンバ端末(端末2)からの賛成を得て、投票準備が完了し、投票が可能であることを知る。   The control module obtains approval from all the member terminals (terminal 2) in the primary decision message of approval / disapproval received from all the member terminals by the terminal 1, and knows that the voting preparation is completed and voting is possible. .

制御モジュールはメッセージ生成モジュールを介して、一次結果通知メッセージ406の応答メッセージ407を端末1に送信する(シーケンス1507〜1511)。   The control module transmits a response message 407 of the primary result notification message 406 to the terminal 1 through the message generation module (sequences 1507 to 1511).

図10において、シーケンス1500、1511はそれぞれ図6のメッセージ406、407に相当する。   In FIG. 10, sequences 1500 and 1511 correspond to the messages 406 and 407 in FIG. 6, respectively.

図11は図10で端末1に応答メッセージ407を送信した後、端末2内のモジュール処理を示すシーケンス図である。   FIG. 11 is a sequence diagram showing module processing in the terminal 2 after transmitting the response message 407 to the terminal 1 in FIG.

端末2の制御モジュールは意思入力モジュールに対し、端末3のコミュニティ200への参加・加入に対する最終的な賛否の意思決定を問い合わせる(シーケンス1600)。ここで端末2は最終的に端末3のコミュニティ200への参加・加入に賛成であるとする。意思入力モジュールは賛成であることを示す意思を制御モジュールに伝える(シーケンス1601)。   The control module of the terminal 2 inquires the intention input module about the final decision of approval or disapproval for the participation / subscription of the terminal 3 in the community 200 (sequence 1600). Here, it is assumed that the terminal 2 finally agrees to the participation / subscription of the terminal 3 to the community 200. The intention input module communicates the intention indicating approval to the control module (sequence 1601).

制御モジュールに賛成の意思が伝えられると、端末1と共有しているセッションキー、端末3の公開鍵、許可情報シェア(1−2−3)をデータベースに問い合わせる(シーケンス1602、1603)。そして、許可情報シェア(1−2−3)と自端末の宛先情報を併せて、端末3の公開鍵で暗号化するように依頼する(シーケンス1604、1605)。これにより、許可チケット(1−2)が生成される。   When the intention of approval is transmitted to the control module, the database is inquired about the session key shared with the terminal 1, the public key of the terminal 3, and the permission information share (1-2-3) (sequences 1602, 1603). Then, it requests to encrypt the permission information share (1-2-3) and the destination information of the own terminal together with the public key of the terminal 3 (sequences 1604 and 1605). Thereby, the permission ticket (1-2) is generated.

制御モジュールは許可チケット(1−2)、端末1と共有しているセッションキー、をメッセージ生成モジュールに提供し、賛否の最終意思決定メッセージを端末1に対して送信するように依頼する(シーケンス1606)。   The control module provides the permission ticket (1-2) and the session key shared with the terminal 1 to the message generation module, and requests the terminal 1 to transmit a final decision message for approval or disapproval (sequence 1606). ).

メッセージ生成モジュールは最終的な賛成の意思内容に許可チケット(1−2)を添付したメッセージを生成し、メッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて賛否の最終意思決定メッセージ408を送信する(シーケンス1607〜1610)。   The message generation module generates a message with the approval ticket (1-2) attached to the final approval intention content, performs a message encryption process, and transmits a final approval / disapproval message 408 of approval / disapproval through the message processing module (sequence) 1607-1610).

端末2は端末1に対して、賛否の最終意思決定メッセージ408を送信後、端末1から応答メッセージ409を受信する(シーケンス1611〜1617)。   The terminal 2 transmits a final decision message 408 for approval / disapproval to the terminal 1 and then receives a response message 409 from the terminal 1 (sequences 1611 to 1617).

図11において、シーケンス1610、1611はそれぞれ図6のメッセージ408、409に相当する。   In FIG. 11, sequences 1610 and 1611 correspond to the messages 408 and 409 in FIG. 6, respectively.

図12は図11で端末2が賛否の最終意思決定メッセージ408を送信し、そのメッセージを端末1が受信したときの端末1内のモジュール処理を示すシーケンス図である。   FIG. 12 is a sequence diagram illustrating module processing in the terminal 1 when the terminal 2 transmits the approval / disapproval final decision message 408 in FIG. 11 and the terminal 1 receives the message.

端末1のメッセージ処理モジュールはメッセージ408を受信すると、端末2と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス1700〜1705)。そして、復号化されたメッセージ内容と添付されている許可チケット(1−2)を制御モジュールに引き渡す(シーケンス1706)。   When the message processing module of the terminal 1 receives the message 408, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 2 (sequence 1700 to 1700). 1705). Then, the decrypted message content and the attached permission ticket (1-2) are delivered to the control module (sequence 1706).

制御モジュールは復号化されたメッセージ内容から端末2が最終的に賛成の意思を示したことを知る。そして、制御モジュールは許可チケット(1−2)をデータベースに保存しておく(シーケンス1707、1708)。   The control module knows from the decrypted message content that the terminal 2 has finally expressed its intention to agree. The control module stores the permission ticket (1-2) in the database (sequences 1707 and 1708).

制御モジュールは端末2に対して、応答メッセージ409を返す(シーケンス1709〜1713)。   The control module returns a response message 409 to the terminal 2 (sequences 1709 to 1713).

制御モジュールは全メンバ端末から賛否の最終意思決定メッセージを受信し、全メンバ端末が賛成であることを知る。   The control module receives the final decision message for approval / disapproval from all the member terminals and knows that all the member terminals agree.

制御モジュールは全メンバ端末が賛成であったことを知らせるために、最終結果通知メッセージを送信しなければならない。   The control module must send a final result notification message to inform that all member terminals are in favor.

まず、制御モジュールはコネクション確立情報生成モジュールに対して、コネクション確立情報を生成するように依頼する(シーケンス1714)。   First, the control module requests the connection establishment information generation module to generate connection establishment information (sequence 1714).

コネクション確立情報生成モジュールはコネクション確立情報(1−1)を生成し、データベースに保存後、制御モジュールに返す(シーケンス1715〜1717)。   The connection establishment information generation module generates connection establishment information (1-1), stores it in the database, and returns it to the control module (sequences 1715 to 1717).

制御モジュールは生成されたコネクション確立情報(1−1)をVSS分散符号化モジュールに対して閾値(2、2)で分散符号化するように依頼する(シーケンス1718)。   The control module requests the VSS distributed encoding module to perform distributed encoding with the threshold (2, 2) on the generated connection establishment information (1-1) (sequence 1718).

VSS分散符号化モジュールは閾値(2、2)でコネクション確立情報(1−1)を分散符号化し、生成したコネクション確立情報シェア(1−1−1)、コネクション確立情報シェア(1−1−2)のうち一方(ここではコネクション確立情報シェア(1−1−1)とする)をデータベースに保存後、残りのコネクション確立情報シェアを制御モジュールに返す(シーケンス1719〜1721)。   The VSS distributed coding module performs distributed coding on the connection establishment information (1-1) with the threshold (2, 2), and generates the generated connection establishment information share (1-1-1) and connection establishment information share (1-1-2). ) Is saved in the database, and the remaining connection establishment information shares are returned to the control module (sequences 1719 to 1721).

制御モジュールは全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア(1−1−2)を添付した最終結果通知メッセージを送信するようにメッセージ生成モジュールに依頼する(シーケンス1722)。このとき、端末2とのセッションキー、コネクション確立情報シェア(1−1−2)をメッセージ生成モジュールに渡す。   The control module requests the message generation module to transmit a final result notification message with the connection establishment information share (1-1-2) attached to the content informing that all the member terminals are in agreement (sequence 1722). At this time, the session key with the terminal 2 and the connection establishment information share (1-1-2) are passed to the message generation module.

メッセージ生成モジュールは全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア(1−1−2)を添付したメッセージを生成し、メッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて最終結果通知メッセージ410を送信する(シーケンス1723〜1726)。   The message generation module generates a message with the connection establishment information share (1-1-2) attached to the content informing that all the member terminals agree, performs a message encryption process, and sends a final result notification message through the message processing module. 410 is transmitted (sequences 1723 to 1726).

最終結果通知メッセージ410送信後、端末2から応答メッセージ411を受信する(シーケンス1727〜1728)。   After transmitting the final result notification message 410, the response message 411 is received from the terminal 2 (sequences 1727 to 1728).

図12において、シーケンス1700、1713、1726、1727はそれぞれ図6のメッセージ408、409、410、411に相当する。   In FIG. 12, sequences 1700, 1713, 1726, and 1727 correspond to the messages 408, 409, 410, and 411 of FIG.

図13は端末1が端末3に対し、コミュニティ招待メッセージ412を送信するまでの端末1内のモジュール処理を示すシーケンス図である。   FIG. 13 is a sequence diagram illustrating module processing in the terminal 1 until the terminal 1 transmits a community invitation message 412 to the terminal 3.

端末1の制御モジュールは端末3に対し、コミュニティ招待メッセージを送信するために、まず、全メンバ端末から取得した許可チケットに加え、自端末で許可チケットを生成しなければならない。   In order to transmit a community invitation message to the terminal 3, the control module of the terminal 1 must first generate a permission ticket in its own terminal in addition to the permission tickets acquired from all member terminals.

制御モジュールは端末2から賛否の一次意思決定メッセージ405受信時に配布された、許可情報シェア(1−2−1)と、端末3の公開鍵とをデータベースに問い合わせる(シーケンス1800、1801)。そして、許可情報シェア(1−2−1)と自端末の宛先情報を併せた情報を、端末3の公開鍵で暗号化する(シーケンス1802、1803)。これにより、許可チケット(1−3)が生成される。   The control module inquires of the database about the permission information share (1-2-1) and the public key of the terminal 3 distributed when the approval / disapproval primary decision message 405 is received from the terminal 2 (sequences 1800 and 1801). Then, the information including the permission information share (1-2-1) and the destination information of the own terminal is encrypted with the public key of the terminal 3 (sequences 1802 and 1803). Thereby, the permission ticket (1-3) is generated.

制御モジュールは端末3と共有するためのセッションキーの作成を共通鍵生成モジュールに依頼する(シーケンス1804)。共通鍵生成モジュールはセッションキーを生成しデータベースに保存後(シーケンス1805、1806)、制御モジュールにそのセッションキーを渡す(シーケンス1807)。   The control module requests the common key generation module to create a session key to be shared with the terminal 3 (sequence 1804). The common key generation module generates a session key and stores it in the database (sequences 1805 and 1806), and then passes the session key to the control module (sequence 1807).

制御モジュールは電子署名と暗号化されたコミュニティ招待メッセージを作成するようにメッセージ生成モジュールに依頼する(シーケンス1808)。このとき、許可チケット(1−2)、許可チケット(1−3)、端末3の公開鍵、端末3とのセッションキーをメッセージ生成モジュールに引き渡す。   The control module requests the message generation module to create an electronic signature and an encrypted community invitation message (sequence 1808). At this time, the permission ticket (1-2), the permission ticket (1-3), the public key of the terminal 3, and the session key with the terminal 3 are delivered to the message generation module.

メッセージ生成モジュールは、コミュニティ200への招待の内容に許可チケット(1−2)と許可チケット(1−3)を添付したメッセージを生成し、メッセージ電子署名・暗号化プロセスを行って、メッセージ処理モジュールを通じて、端末3にコミュニティ招待メッセージ412を送信する(シーケンス1809〜1818)。   The message generation module generates a message in which the permission ticket (1-2) and the permission ticket (1-3) are attached to the contents of the invitation to the community 200, performs a message electronic signature / encryption process, and performs a message processing module. Then, a community invitation message 412 is transmitted to terminal 3 (sequences 1809 to 1818).

図13において、シーケンス1818は図6のメッセージ412に相当する。   In FIG. 13, a sequence 1818 corresponds to the message 412 in FIG.

図14は端末3が端末1からコミュニティ招待メッセージ412を受信したときの端末3内のモジュール処理を示すシーケンス図である。   FIG. 14 is a sequence diagram showing module processing in the terminal 3 when the terminal 3 receives the community invitation message 412 from the terminal 1.

端末3のメッセージ処理モジュールは端末1からメッセージ412を受信すると、電子署名と暗号化が行われたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ解読プロセスを行う(シーケンス1900〜1927)。そして、復号化されたメッセージ内容と添付されている、許可チケット(1−2)、許可チケット(1−3)、端末1と共有するセッションキー、を制御モジュールに渡す(シーケンス1928)。   When the message processing module of the terminal 3 receives the message 412 from the terminal 1, it performs a message decryption process via the message analysis module in order to decrypt the electronic signature and the encrypted message (sequence 1900 to 1927). . Then, the decrypted message content and the attached permission ticket (1-2), permission ticket (1-3), and session key shared with the terminal 1 are passed to the control module (sequence 1928).

制御モジュールは復号化されたメッセージ内容から、端末1が端末3のコミュニティ200への招待を希望していることを知る。ここで、端末3はコミュニティ200へ参加・加入をするかどうかの判断を決定するにあたり、コミュニティ200に参加・加入している端末がどのような端末であるかを知ることが必要となる。しかし、この時点では、コミュニティ200に参加・加入している全端末のリストを知ることができない。   The control module knows from the decrypted message content that the terminal 1 wishes to invite the terminal 3 to the community 200. Here, when the terminal 3 determines whether or not to join / subscribe to the community 200, it is necessary to know what kind of terminal the terminal is joining / subscribing to the community 200 is. However, at this point, it is not possible to know a list of all terminals that have joined or joined the community 200.

よって、制御モジュールはコミュニティ200に参加・加入している全端末を知るために、許可チケット(1−2)、許可チケット(1−3)を端末3の秘密鍵により復号化する(シーケンス1929〜1932)。   Therefore, the control module decrypts the permission ticket (1-2) and the permission ticket (1-3) with the secret key of the terminal 3 in order to know all the terminals participating / subscribing to the community 200 (sequence 1929- 1932).

得られた許可情報シェア(1−2−1)、許可情報シェア(1−2−3)、端末1と端末2の宛先情報から、端末3の制御モジュールはコミュニティ200に参加・加入している全端末(端末1と端末2)を把握する。   From the obtained permission information share (1-2-1), permission information share (1-2-3), and destination information of the terminal 1 and the terminal 2, the control module of the terminal 3 participates in / joins the community 200 All terminals (terminal 1 and terminal 2) are grasped.

図14において、シーケンス1900、1915、1916はそれぞれ図6のメッセージ412、413、414に相当する。   In FIG. 14, sequences 1900, 1915, and 1916 correspond to the messages 412, 413, and 414 in FIG.

図15は図14において、端末3が端末1から受信したコミュニティ招待メッセージ412を処理した後、端末2に対してコネクション確立要求メッセージを送信するときの端末3内のモジュール処理を示すシーケンス図である。   FIG. 15 is a sequence diagram showing module processing in the terminal 3 when the terminal 3 transmits the connection establishment request message to the terminal 2 after the terminal 3 processes the community invitation message 412 received from the terminal 1 in FIG. .

端末3の制御モジュールは端末2とセキュアにコネクションを確立するために必要な公開鍵をデータベースに問い合わせ(シーケンス2000、2001)、持っていなければ、外部の公開鍵サーバ5に対し取得要求を行う(シーケンス2002〜2009)。そして、公開鍵を取得後、制御モジュールは意思入力モジュールに対し、コミュニティ200への参加・加入に対する意思決定を伺う(シーケンス2010)。ここで意思入力モジュールは端末3のコミュニティ200への参加・加入に対し賛成の意思があるものとする。意思入力モジュールはコミュニティ200への参加・加入の意思を制御モジュールに伝える(シーケンス2011)。   The control module of the terminal 3 queries the database for the public key necessary to establish a secure connection with the terminal 2 (sequence 2000, 2001), and if not, makes an acquisition request to the external public key server 5 ( Sequence 2002-2009). Then, after acquiring the public key, the control module asks the intention input module for decision making regarding participation / subscription in the community 200 (sequence 2010). Here, it is assumed that the intention input module has a willingness to participate in or join the community 200 of the terminal 3. The intention input module informs the control module of the intention to join / join the community 200 (sequence 2011).

制御モジュールは得られた全許可情報シェア(許可情報シェア(1−2−1)、許可情報シェア(1−2−3))、端末1の宛先情報、端末2の宛先情報、端末1と共有するセッションキー、および端末2の公開鍵をデータベースに保存する(シーケンス2012、2013)。   The control module obtains all permission information shares (permission information share (1-2-1), permission information share (1-2-3)), destination information of terminal 1, destination information of terminal 2, and sharing with terminal 1 The session key to be executed and the public key of the terminal 2 are stored in the database (sequences 2012 and 2013).

制御モジュールはコネクション確立要求メッセージを端末2に対して送信するために、端末2と共有するためのセッションキーの生成を、共通鍵生成モジュールに依頼する(シーケンス2014)。   In order to transmit the connection establishment request message to the terminal 2, the control module requests the common key generation module to generate a session key to be shared with the terminal 2 (sequence 2014).

共通鍵生成モジュールは生成したセッションキーをデータベースに保存し(シーケンス2015、2016)、そのセッションキーを制御モジュールに渡す(シーケンス2017)。   The common key generation module stores the generated session key in the database (sequences 2015 and 2016), and passes the session key to the control module (sequence 2017).

制御モジュールは端末2にコネクション確立要求メッセージを送信するようにメッセージ生成モジュールに対して依頼する(シーケンス2018)。このとき、端末2とのセッションキー、全許可情報シェア、端末2の公開鍵をメッセージ生成モジュールに渡す。   The control module requests the message generation module to transmit a connection establishment request message to the terminal 2 (sequence 2018). At this time, the session key with terminal 2, all permission information shares, and the public key of terminal 2 are passed to the message generation module.

メッセージ生成モジュールはコネクション確立要求の内容に全許可情報シェアを添付したメッセージを生成し、メッセージ電子署名・暗号化プロセスを行って、メッセージ処理モジュールを通じて、端末2にコネクション確立要求メッセージ413を送信する(シーケンス2019〜2028)。   The message generation module generates a message with all permission information shares attached to the contents of the connection establishment request, performs a message electronic signature / encryption process, and transmits a connection establishment request message 413 to the terminal 2 through the message processing module ( Sequence 2019-2028).

図15において、シーケンス2004、2005、2028はそれぞれ図6のメッセージ415、416、417に相当する。   In FIG. 15, sequences 2004, 2005, and 2028 correspond to the messages 415, 416, and 417 in FIG.

図16は図15において、端末3が送信したコネクション確立要求メッセージ417を端末2が受信したときの端末2内のモジュール処理を示すシーケンス図である。   FIG. 16 is a sequence diagram showing module processing in the terminal 2 when the terminal 2 receives the connection establishment request message 417 transmitted from the terminal 3 in FIG.

端末2のメッセージ処理モジュールはメッセージ417を受信すると、電子署名と暗号化が行われたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ解読プロセスを行う(シーケンス2100〜2115)。そして、復号化されたメッセージ内容と添付されている全許可情報シェア、端末3と共有するセッションキーを渡す(シーケンス2116)。   When the message processing module of the terminal 2 receives the message 417, it performs a message decryption process via the message analysis module in order to decrypt the digitally signed and encrypted message (sequence 2100 to 2115). Then, the decrypted message content, the share of all permission information attached, and the session key shared with the terminal 3 are passed (sequence 2116).

制御モジュールは復号化されたメッセージ内容から端末3が端末2とのコネクションの確立を要求していることを知る。コミュニティ200への参加・加入にはコミュニティに参加・加入している全端末の賛成が必要であるため、全端末の賛成による参加・加入の権利を端末3が得ているかどうか、端末3から取得した全許可情報シェアを用いてチェックする。   The control module knows from the decrypted message content that the terminal 3 requests establishment of a connection with the terminal 2. Participation / subscription to community 200 requires the approval of all terminals participating / subscribing to the community 200. Therefore, it is obtained from terminal 3 whether or not terminal 3 has the right to participate / subscription by approval of all terminals. Check using all permitted information shares.

制御モジュールは全許可情報シェア(許可情報シェア(1−2−1)、許可情報シェア(1−2−3))を許可情報比較モジュールに渡し、端末2が持っている許可情報シェア(1−2−2)と許可情報(1−2)を利用して、端末3がコミュニティ200へ参加・加入する権利をコミュニティ200の他の全端末から得ているかどうかチェックするように依頼する(シーケンス2117)。このとき、同時に端末3の宛先情報を渡す。   The control module passes all permission information shares (permission information share (1-2-1), permission information share (1-2-3)) to the permission information comparison module, and the permission information share (1- 2-2) and permission information (1-2) are used to request that the terminal 3 check whether all the other terminals of the community 200 have the right to join / join the community 200 (sequence 2117). ). At this time, the destination information of the terminal 3 is passed at the same time.

許可情報比較モジュールはデータベースに対し、許可情報シェア(1−2−2)と許可情報(1−2)を問い合わせる(シーケンス2118、2119)。そして、VSS復号化モジュールに対し、許可情報シェア(1−2−1)、許可情報シェア(1−2−2)、許可情報シェア(1−2−3)から許可情報を復号化するように依頼する(シーケンス2120)。   The permission information comparison module inquires of the database about permission information share (1-2-2) and permission information (1-2) (sequences 2118 and 2119). Then, for the VSS decryption module, the permission information is decrypted from the permission information share (1-2-1), the permission information share (1-2-2), and the permission information share (1-2-3). Request (sequence 2120).

VSS復号化モジュールは3個の許可情報シェアから復号化を行い生成した、許可情報(1−2−A)を許可情報比較モジュールに渡す(シーケンス2121)。   The VSS decoding module passes the permission information (1-2-A) generated by decoding from the three permission information shares to the permission information comparison module (sequence 2121).

許可情報比較モジュールは許可情報(1−2)と許可情報(1−2−A)の比較を行い、相違がないかどうかチェックする。相違があれば、不正とみなしコネクションは確立しない。相違がない場合、比較時の時刻情報と許可情報(1−2)に含まれる時刻情報の差分を計算し、一定時間以上、時間が経過していないことを確認する。経過していなければ正常であると判断し、さらに端末3の宛先情報の比較を行い、許可情報(1−2)に含まれる端末3の宛先情報と相違がないかどうか比較する。   The permission information comparison module compares the permission information (1-2) and the permission information (1-2-A) and checks whether there is any difference. If there is a difference, it is regarded as invalid and the connection is not established. If there is no difference, the difference between the time information at the time of comparison and the time information included in the permission information (1-2) is calculated, and it is confirmed that the time has not passed for a certain time. If it has not elapsed, it is determined that the information is normal, and the destination information of the terminal 3 is compared, and it is compared whether there is any difference from the destination information of the terminal 3 included in the permission information (1-2).

以上の比較が正常に終了すると正常応答を制御モジュールに返す(シーケンス2122)。   When the above comparison ends normally, a normal response is returned to the control module (sequence 2122).

以上のチェックを行い、全許可情報シェアに全く不正がなければ、端末3がコミュニティ200への参加・加入に対する全端末の賛成を得ていると判断する。そして、コネクション確立要求を承諾し、端末3とのセッションキーをデータベースに保存する(シーケンス2123、2124)。また、コネクション確立情報シェア(1−1−2)をデータベースに問い合わせる(シーケンス2125、2126)。   If the above check is performed and there is no fraud in all permission information shares, it is determined that the terminal 3 has obtained approval from all terminals for participation / subscription in the community 200. Then, the connection establishment request is accepted, and the session key with the terminal 3 is stored in the database (sequence 2123, 2124). Also, the database is inquired of the connection establishment information share (1-1-2) (sequences 2125 and 2126).

制御モジュールはコネクション確立情報シェア(1−1−2)を添付した応答メッセージを端末3に送信するようにメッセージ生成モジュールに依頼する(シーケンス2127)。このとき、メッセージ生成モジュールに端末3と共有するセッションキー、コネクション確立情報シェア(1−1−2)を渡す。   The control module requests the message generation module to transmit a response message with the connection establishment information share (1-1-2) attached to the terminal 3 (sequence 2127). At this time, the session key shared with the terminal 3 and the connection establishment information share (1-1-2) are passed to the message generation module.

メッセージ生成モジュールはコネクション確立要求に対する承諾の内容にコネクション確立情報シェア(1−1−2)を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末3に応答メッセージ418を送信する(シーケンス2128〜2131)。   The message generation module generates a message with the connection establishment information share (1-1-2) attached to the content of the consent to the connection establishment request, performs a message encryption process, and then sends a response message to the terminal 3 through the message processing module. 418 is transmitted (sequence 2128 to 2131).

応答メッセージ418送信後、端末2はコネクション確立確認メッセージ419を端末3から受信する。そして、メッセージ内容から端末2と端末3の間でコネクションが正常に確立したことを知る(シーケンス2132〜2138)。   After transmitting the response message 418, the terminal 2 receives a connection establishment confirmation message 419 from the terminal 3. Then, it is known from the message content that the connection is normally established between the terminal 2 and the terminal 3 (sequences 2132 to 2138).

図16において、シーケンス2100、2131、2132はそれぞれ図6のメッセージ417、418、419に相当する。   In FIG. 16, sequences 2100, 2131, and 2132 correspond to messages 417, 418, and 419 in FIG. 6, respectively.

図17は端末2からの応答メッセージ418を端末3が受信したときの端末3内のモジュール処理を示すシーケンス図である。   FIG. 17 is a sequence diagram showing module processing in the terminal 3 when the terminal 3 receives the response message 418 from the terminal 2.

端末3のメッセージ処理モジュールはメッセージ418を受信すると、端末2と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス2200〜2205)。そして、復号化したメッセージ内容とコネクション確立情報シェア(1−1−2)を制御モジュールに渡す(シーケンス2206)。   When the message processing module of the terminal 3 receives the message 418, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 2 (sequence 2200). ~ 2205). Then, the decrypted message content and the connection establishment information share (1-1-2) are transferred to the control module (sequence 2206).

制御モジュールは復号化されたメッセージ内容から端末2とのコネクションが確立可能であることを判断する。取得したコネクション確立情報シェア(1−1−2)をデータベースに保存後(シーケンス2207、2208)、コネクション確立確認メッセージ419を端末2に対して送信する(シーケンス2209〜2213)。   The control module determines from the decrypted message content that a connection with the terminal 2 can be established. After the acquired connection establishment information share (1-1-2) is stored in the database (sequences 2207 and 2208), a connection establishment confirmation message 419 is transmitted to the terminal 2 (sequences 2209 to 2213).

図17において、シーケンス2200は図6のメッセージ418に、シーケンス2213は図6のメッセージ419に相当する。   In FIG. 17, a sequence 2200 corresponds to the message 418 in FIG. 6, and a sequence 2213 corresponds to the message 419 in FIG.

図18はコネクション確立確認メッセージ419を送信後に、端末3が端末1に対してコミュニティ参加・加入承諾メッセージ420を送信するときの端末3内のモジュール処理を示すシーケンス図である。   FIG. 18 is a sequence diagram showing module processing in the terminal 3 when the terminal 3 transmits a community participation / subscription acceptance message 420 to the terminal 1 after transmitting the connection establishment confirmation message 419.

端末3の制御モジュールはデータベースに対して端末1と共有するセッションキーとコネクション確立情報シェア(1−1−2)を問い合わせる(シーケンス2300、2301)。そして、セッションキーとコネクション確立情報シェア(1−1−2)をメッセージ生成モジュールに渡し、コミュニティ参加・加入承諾メッセージを送信するように依頼する(シーケンス2302)。   The control module of the terminal 3 inquires of the database about the session key shared with the terminal 1 and the connection establishment information share (1-1-2) (sequence 2300, 2301). Then, the session key and the connection establishment information share (1-1-2) are passed to the message generation module, and a request to transmit a community participation / subscription acceptance message is made (sequence 2302).

メッセージ生成モジュールはコミュニティ参加・加入承諾の内容を記述したメッセージにコネクション確立情報シェア(1−1−2)を添付し、それをセッションキーで暗号化した後(シーケンス2303、2304)、メッセージ処理モジュールを通じて(シーケンス2305)、端末1にコミュニティ参加・加入承諾メッセージ420を送信する(シーケンス2306)。   The message generation module attaches the connection establishment information share (1-1-2) to the message describing the contents of community participation / subscription acceptance, encrypts it with the session key (sequence 2303, 2304), and then the message processing module. Through (sequence 2305), the community participation / subscription acceptance message 420 is transmitted to the terminal 1 (sequence 2306).

図18において、シーケンス2306は図6のメッセージ420に相当する。   In FIG. 18, a sequence 2306 corresponds to the message 420 in FIG.

図19はコミュニティ参加・加入承諾メッセージ420を端末1が受信したときの端末1内のモジュール処理を示すシーケンス図である。   FIG. 19 is a sequence diagram showing module processing in the terminal 1 when the terminal 1 receives the community participation / subscription acceptance message 420.

端末1のメッセージ処理モジュールはメッセージ420を受信すると、端末3と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う(シーケンス2400〜2405)。そして、復号化されたメッセージ内容と添付されているコネクション確立情報シェア(1−1−2)を制御モジュールに渡す(シーケンス2406)。   When the message processing module of the terminal 1 receives the message 420, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 3 (sequence). 2400-2405). Then, the decrypted message content and the attached connection establishment information share (1-1-2) are passed to the control module (sequence 2406).

制御モジュールは復号化されたメッセージ内容から端末3がコミュニティ200への参加・加入を承諾したことを知る。端末3とコネクションを確立するためには端末1以外のコミュニティ200に参加・加入している全メンバ端末(端末2)とのコネクションが確立していなければ成らないため、端末3から取得したコネクション確立情報シェア(1−1−2)を用いて端末3のコネクション確立状況をチェックする。   The control module knows from the decrypted message content that the terminal 3 has accepted participation / subscription into the community 200. In order to establish a connection with the terminal 3, connections with all member terminals (terminals 2) participating in or joining the community 200 other than the terminal 1 must be established. The connection establishment status of the terminal 3 is checked using the information share (1-1-2).

制御モジュールはコネクション確立情報比較モジュールに対し、コネクション確立情報シェア(1−1−2)を提供し、端末3が端末2とコネクションを確立しているかどうかをチェックするように依頼する(シーケンス2407)。   The control module provides the connection establishment information comparison module to provide the connection establishment information share (1-1-2) and requests the terminal 3 to check whether the connection with the terminal 2 has been established (sequence 2407). .

コネクション確立情報比較モジュールはデータベースにコネクション確立情報シェア(1−1−1)、コネクション確立情報(1−1)を問い合わせる(シーケンス2408、2409)。そして、VSS復号化モジュールに対し、コネクション確立情報シェア(1−1−1)とコネクション確立情報シェア(1−1−2)を提供し、復号化するように依頼する(シーケンス2410)。   The connection establishment information comparison module inquires of the database about connection establishment information share (1-1-1) and connection establishment information (1-1) (sequences 2408 and 2409). Then, the VSS decryption module is requested to provide the connection establishment information share (1-1-1) and the connection establishment information share (1-1-2) and decrypt the connection (sequence 2410).

VSS復号化モジュールはコネクション確立情報シェア(1−1−1)とコネクション確立情報シェア(1−1−2)から、コネクション確立情報(1−1−A)を復元し、コネクション確立情報比較モジュールに返す(シーケンス2411)。   The VSS decryption module restores the connection establishment information (1-1-A) from the connection establishment information share (1-1-1) and the connection establishment information share (1-1-2), and sends it to the connection establishment information comparison module. Return (sequence 2411).

コネクション確立情報比較モジュールはコネクション確立情報(1−1)とコネクション確立情報(1−1−A)との比較を行い、相違がないかどうか確認を行う。相違があれば、端末3のアクセスは不正と判断する。相違がなければ、比較時の時刻情報とコネクション確立情報に含まれる時刻情報の差分を計算し、それが一定時間以上経過していないかどうか調べる。   The connection establishment information comparison module compares the connection establishment information (1-1) and the connection establishment information (1-1-A), and checks whether there is a difference. If there is a difference, it is determined that the access of the terminal 3 is illegal. If there is no difference, the difference between the time information at the time of comparison and the time information included in the connection establishment information is calculated, and it is checked whether or not a certain time has elapsed.

以上の処理が正常に終了するなら、コネクション確立情報比較モジュールは端末2とのコネクションが確立できていることを制御モジュールに知らせる(シーケンス2412)。   If the above processing ends normally, the connection establishment information comparison module informs the control module that the connection with the terminal 2 has been established (sequence 2412).

コネクション確立情報シェアを利用したコネクションのチェックが正常に終了すると、端末1の制御モジュールはコネクション確立を承諾する。そして、制御モジュールはコネクション確立確認メッセージを送信するように、メッセージ生成モジュールに依頼する(シーケンス2413)。このとき、端末3と共有するセッションキーをメッセージ生成モジュールに渡す。   When the connection check using the connection establishment information share ends normally, the control module of the terminal 1 accepts the connection establishment. Then, the control module requests the message generation module to transmit a connection establishment confirmation message (sequence 2413). At this time, the session key shared with the terminal 3 is passed to the message generation module.

メッセージ生成モジュールはコネクション確立確認の内容をメッセージとして生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末4にコネクション確立情報メッセージ421を送信する(シーケンス2414〜2417)。   The message generation module generates the contents of the connection establishment confirmation as a message, performs a message encryption process, and then transmits a connection establishment information message 421 to the terminal 4 through the message processing module (sequences 2414 to 2417).

図19において、シーケンス2400は図6のメッセージ420に、シーケンス2417は図6のメッセージ421に相当する。   In FIG. 19, a sequence 2400 corresponds to the message 420 in FIG. 6, and a sequence 2417 corresponds to the message 421 in FIG.

図20はコネクション確立確認メッセージ421を端末3が受信したときの端末3内のモジュール処理を示すシーケンス図である。   FIG. 20 is a sequence diagram showing module processing in the terminal 3 when the terminal 3 receives the connection establishment confirmation message 421.

端末3のメッセージ処理モジュールはメッセージ421を受信すると、端末1と共有しているセッションキーで暗号化されたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う(シーケンス2500〜2505)。そして、復号化されたメッセージ内容を制御モジュールに引き渡す(シーケンス2506)。   When the message processing module of the terminal 3 receives the message 421, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 1 (sequence 2500). ~ 2505). Then, the decrypted message content is delivered to the control module (sequence 2506).

制御モジュールは復号化されたメッセージから端末1とのコネクションが正常に確立したことを知る。   The control module knows that the connection with the terminal 1 has been normally established from the decrypted message.

以上、新規端末(端末3)のコミュニティへの参加・加入に対して、メンバ端末(端末2)は投票用情報である許可情報シェアを入るすることで投票の準備を行い、メンバ端末は自端末が生成した1個の許可情報シェアを賛成票として応対端末(端末1)に提出することで投票を行い、メンバ端末が賛成票を提出するかどうかによって、コミュニティへのアクセス権を集中的に管理する存在がいなくても、フルメッシュ網において新規端末に対するアクセスコントロールを実現することができる。   As described above, when a new terminal (terminal 3) participates in or joins the community, the member terminal (terminal 2) prepares for voting by entering the permission information share that is information for voting. Voting by submitting a single share of permission information generated by, as an approval vote to the receiving terminal (terminal 1), and centrally managing access rights to the community depending on whether the member terminal submits an approval vote Even if there is no presence, access control for a new terminal can be realized in a full mesh network.

また、各メンバ端末が他のメンバ端末に依存せず、それぞれ独立に任意のランダムなキーワードを含む許可情報を生成することで、他のメンバ端末が許可情報を推測して不正に生成し、それから許可情報シェアを生成することで、例えば、あたかも全端末が新規端末のコミュニティへの参加・加入に対して賛成したかのようにふるまうことを困難にし、各メンバ端末が新規端末からコネクション確立要求を受けたときに、その新規端末が自端末を除く他の全端末からコミュニティへの参加・加入から賛成を得ているかどうかを、
コミュニティに参加・加入している全端末数が2の場合は、自端末の許可情報からSSSにより生成した3つの許可情報シェア(応対端末に提供した許可情報シェアと自端末が応対端末に提出した許可情報シェアと自端末のデータベース内の許可情報シェア)を利用して復元した許可情報と自端末のデータベース内の許可情報とを比較する処理を他の端末に不正に操作されずに各メンバ端末は独立に正しくチェックすることができる。
In addition, each member terminal does not depend on the other member terminals, and by independently generating permission information including any random keyword, the other member terminals guess the permission information and illegally generate it. By generating a permission information share, for example, it becomes difficult for all terminals to act as if they were in favor of joining or joining a new terminal community, and each member terminal issues a connection establishment request from the new terminal. When received, whether or not the new terminal has gained approval from joining or joining the community from all other terminals
When the total number of terminals participating or participating in the community is 2, the three permission information shares generated by the SSS from the permission information of the own terminal (the permission information share provided to the receiving terminal and the own terminal submitted to the receiving terminal Each member terminal performs a process of comparing the permission information restored by using the permission information share and the permission information share in the database of the own terminal and the permission information in the database of the own terminal without being illegally operated by other terminals. Can be checked correctly independently.

また、コミュニティに参加・加入している全端末数が2の場合は、応対端末を除きコミュニティにはメンバ端末が1だけなので、許可情報をVSSによりシェアとシェアの検証用情報を作る必要がなく、SSSによる分散符号化だけを行えばよく、許可情報シェア検証用情報とシェア検証モジュールを利用した計算を省くことができる。   In addition, when the total number of terminals participating / subscribing to the community is 2, since there are only 1 member terminals in the community except for the response terminal, it is not necessary to create permission and share verification information by VSS. Therefore, it is only necessary to perform distributed coding by SSS, and the calculation using the permission information share verification information and the share verification module can be omitted.

また、コミュニティに参加・加入している全端末数を2とすると、許可情報を閾値(3、3)で分散符号化し、得られた3個の許可情報シェアのうちの一つは必ず自端末で保存し、さらに許可情報も自端末で保存し、他端末に一切漏らさないため、他の端末が許可情報を推測するのを防止することができる。   Also, assuming that the total number of terminals participating / subscribing to the community is 2, the permission information is distributedly encoded with a threshold value (3, 3), and one of the obtained three permission information shares is always its own terminal. In addition, since the permission information is also stored in the own terminal and is not leaked to other terminals at all, it is possible to prevent other terminals from guessing the permission information.

また、コミュニティに参加・加入している全端末数をnとすると、基本的には許可情報を閾値(n、n)で分散符号化し、応対端末と全メンバ端末が賛成を示さなければ(つまり、満場一致)、新規端末は各メンバ端末とコネクションを確立することができないが、分散符号化するときの閾値を変化させることで必要な賛成票を自由に変更することができ、例えば、閾値をkとすると、端末数nのうちk個の賛成票(許可情報シェア)があつまれば、新規端末はコミュニティに属する端末とコネクションを確立することができるようになるので、投票に必要な賛成票の数を自由に設定することが可能となる。   Also, assuming that the total number of terminals participating / subscribing to the community is n, basically, the permission information is distributedly encoded with threshold values (n, n), and the receiving terminal and all member terminals do not agree (that is, The new terminal cannot establish a connection with each member terminal, but the required vote can be changed freely by changing the threshold value for distributed encoding. If k is the k number of approval votes (permission information share) out of the number of terminals n, the new terminal can establish a connection with a terminal belonging to the community. The number can be set freely.

また、新規端末に提供する許可情報シェアをそのまま提供するのではなく、宛先情報を含めて新規端末の公開鍵で暗号化した許可チケットとして提供することで、新規端末以外の端末に盗聴されることを防止し、さらに許可チケットを利用してコミュニティに参加・加入している全端末の宛先情報を新規端末に知らせることができる。   In addition, the permission information share provided to the new terminal is not provided as it is, but it is intercepted by a terminal other than the new terminal by providing it as a permission ticket encrypted with the public key of the new terminal including the destination information. In addition, it is possible to notify the new terminal of destination information of all the terminals participating / subscribing to the community using the permission ticket.

また、投票用情報である許可情報シェアを各メンバ端末が独立に直接、新規端末に提供するのではなく、一度応対端末で収集することで、新規端末が各メンバ端末に対してコネクションの確立要求を行うときに必要となる許可情報シェアを、統一的に扱うことが可能となる。これにより、各メンバ端末が許可情報シェアを新規端末に直接提供するために新規端末へアクセスすることにより発生の可能性のある同時アクセスを防止することができる。   In addition, each member terminal does not directly provide the share of permission information, which is voting information, directly to the new terminal, but collects it once at the receiving terminal, so that the new terminal requests each member terminal to establish a connection. It is possible to handle the sharing of permission information required when performing Thus, simultaneous access that may occur by each member terminal accessing the new terminal in order to directly provide the permission information share to the new terminal can be prevented.

また、許可情報に時刻情報を設定しておくことで、新規端末が各メンバ端末とコネクションを確立するまでの有効期限を設定することができ、セキュリティレベルを向上させ、さらに許可情報比較モジュールにおいて、基準となる有効時間を自由に設定することで、任意のセキュリティレベルを設定することが可能となる。   Also, by setting the time information in the permission information, it is possible to set an expiration date until the new terminal establishes a connection with each member terminal, improving the security level, and in the permission information comparison module, An arbitrary security level can be set by freely setting a reference effective time.

また、メンバ端末が新規端末とコネクションを確立したかどうかを応対端末がチェックするために、応対端末はコネクション確立情報と閾値(2、2)によって分散符号化した2個のコネクション確立情報シェアとを利用し、メンバ端末が賛成票である許可情報シェアを提出後、応対端末はメンバ端末に1個のコネクション確立情報シェアを配布し、メンバ端末は新規端末とコネクションを確立するときに、あらかじめ応対端末から取得していたコネクション確立情報シェアを新規端末に渡し、その後、新規端末が応対端末とコネクションを確立するときにメンバ端末から取得した1個のコネクション確立情報シェアを応対端末に渡し、応対端末はその1個のコネクション確立情報シェアと、内部の前記データベースで管理するコネクション確立情報シェアとVSS復号化モジュールを利用して、コネクション確立情報を復元し、復元したコネクション情報と応対端末の内部の前記データベースで管理するコネクション確立情報を比較することで、応対端末は新規端末がメンバ端末とコネクションを確立しているかどうかを確認することができ、応対端末とコネクションを確立するときは必ず全メンバ端末とコネクションを確立しなければならないという状況を作り出すことが可能となる。   In addition, in order for the receiving terminal to check whether or not the member terminal has established a connection with the new terminal, the receiving terminal obtains connection establishment information and two connection establishment information shares that are distributedly encoded using threshold values (2, 2). After the member terminal submits the permission information share that is a vote of approval, the receiving terminal distributes one connection establishment information share to the member terminal, and when the member terminal establishes a connection with the new terminal, the receiving terminal in advance The connection establishment information share acquired from the terminal is passed to the new terminal, and then the connection establishment information share acquired from the member terminal when the new terminal establishes a connection with the reception terminal is passed to the reception terminal. That one connection establishment information share and the connection managed by the internal database By using the standing information share and the VSS decoding module, the connection establishment information is restored, and by comparing the restored connection information with the connection establishment information managed in the database inside the reception terminal, the reception terminal It is possible to check whether or not a connection with a member terminal has been established, and it is possible to create a situation in which a connection must be established with all member terminals when establishing a connection with a corresponding terminal.

また、コネクション確立情報に時刻情報を設定しておくことで、新規端末が応対端末とコネクションを確立するまでの有効期限を設定することができ、これによりセキュリティレベルを向上させ、さらにコネクション確立情報比較モジュールにおいて、基準となる有効時間を自由に設定することで、任意のセキュリティレベルを設定することが可能となる。   In addition, by setting time information in the connection establishment information, it is possible to set an expiration date until the new terminal establishes a connection with the receiving terminal, thereby improving the security level and comparing the connection establishment information. In the module, it is possible to set an arbitrary security level by freely setting a reference effective time.

また、各端末同士がやり取りするメッセージには電子署名と暗号化、または電子署名による認証後はお互いが共有しているセッションキーによる暗号化を必ず行うことで、各端末が交換する様々な情報(許可情報シェア、宛先情報、コネクション確立情報、コネクション確立情報シェア)が第三者に盗聴されることを防止することができる。   Also, messages exchanged between each terminal must be digitally signed and encrypted, or encrypted with a session key shared by each other after authentication by the electronic signature, so that various information exchanged by each terminal ( Permission information share, destination information, connection establishment information, connection establishment information share) can be prevented from being intercepted by a third party.

また、本発明によれば、宛先情報は端末を特定することが可能な任意の種類の情報を適用することができ、例えば、IPアドレスやSIPアドレスを適用することができる。   Further, according to the present invention, any type of information that can identify a terminal can be applied to the destination information, and for example, an IP address or a SIP address can be applied.

[第2の実施の形態]
図21は既に端末1と端末2の間でコネクション10が、端末2と端末3の間でコネクション11が、端末3と端末1の間でコネクション12が確立しており、全端末数が3のコミュニティ201が形成されている状態から、コミュニティ201側から新規端末として、端末4をコミュニティ201へ招待するために必要となる、端末間でやり取りされるメッセージを示す説明図である。
[Second Embodiment]
In FIG. 21, connection 10 has already been established between terminal 1 and terminal 2, connection 11 has been established between terminal 2 and terminal 3, connection 12 has been established between terminal 3 and terminal 1, and the total number of terminals is 3. It is explanatory drawing which shows the message exchanged between terminals required in order to invite the terminal 4 to the community 201 from the state in which the community 201 was formed as a new terminal from the community 201 side.

図21では端末4をコミュニティ201へ招待を希望する端末は端末3であるとする(つまり、端末3は応対端末、端末4が新規端末であり、メンバ端末は端末1と端末2である)。端末3は端末4の公開鍵を内部のデータベースに問い合わせ、持っていなければ、外部の公開鍵サーバ5に問い合わせ、取得する(メッセージ500、501)。公開鍵は端末4とセキュアにコネクションを確立するために後で必要となる。   In FIG. 21, it is assumed that the terminal 4 that wants to invite the terminal 4 to the community 201 is the terminal 3 (that is, the terminal 3 is a service terminal, the terminal 4 is a new terminal, and the member terminals are the terminal 1 and the terminal 2). The terminal 3 queries the internal database for the public key of the terminal 4, and if not, queries the external public key server 5 and acquires it (messages 500 and 501). The public key is required later to establish a secure connection with the terminal 4.

端末3は端末1と端末2に対して、招待希望の内容を示すコミュニティ参加・加入伺いメッセージ502、503を送信する。このとき、メッセージには端末4の宛先情報をそのまま添付するのではなく、VSSを利用し閾値(2、2)で分散符号化を行い、宛先情報シェア(2−3−1)、宛先情報シェア(2−3−2)、宛先情報シェア検証用情報(2−3)を生成し、メッセージ502には、宛先情報シェア(2−3−1)と宛先情報シェア検証用情報(2−3)を、メッセージ503には宛先情報シェア(2−3−2)と宛先情報シェア検証用情報(2−3)を添付する。   The terminal 3 transmits community participation / subscription inquiry messages 502 and 503 indicating the contents of the invitation request to the terminals 1 and 2. At this time, the destination information of the terminal 4 is not attached as it is to the message, but VSS is used to perform distributed encoding with the threshold (2, 2), the destination information share (2-3-1), and the destination information share. (2-3-2), destination information share verification information (2-3) is generated, and the message 502 includes a destination information share (2-3-1) and destination information share verification information (2-3). Is attached to the message 503 with the destination information share (2-3-2) and the destination information share verification information (2-3).

端末1はコミュニティ参加・加入伺いメッセージ502を受信すると、メッセージ内容から端末3がコミュニティ201への端末4の招待を希望していることを知る。また、同時に端末4の宛先情報シェア(2−3−1)、宛先情報シェア検証用情報(2−3)を取得する。しかし、メッセージに添付されているのは宛先情報シェアなので、この時点では端末4の実際の宛先情報はわからない。   Upon receiving the community participation / subscription inquiry message 502, the terminal 1 knows that the terminal 3 wishes to invite the terminal 4 to the community 201 from the message content. At the same time, the destination information share (2-3-1) and destination information share verification information (2-3) of the terminal 4 are acquired. However, since the destination information share is attached to the message, the actual destination information of the terminal 4 is not known at this point.

端末3が招待を希望する端末(端末4)の実際の宛先情報を知るためには、宛先情報シェア(2−3−2)が必要なので、端末1は端末2に対して宛先情報シェア取得要求メッセージ504を送信する。このとき、端末2が端末4の実際の宛先情報を把握するために必要となる、宛先情報シェア(2−3−1)を添付してメッセージを送信する。   Since the destination information share (2-3-2) is necessary for the terminal 3 to know the actual destination information of the terminal (terminal 4) that the terminal 3 wishes to invite, the terminal 1 requests the terminal 2 to acquire the destination information share. A message 504 is transmitted. At this time, the terminal 2 transmits a message with the destination information share (2-3-1) necessary for grasping the actual destination information of the terminal 4.

端末2は宛先情報シェア取得要求メッセージ504を受信し、宛先情報シェア(2−3−1)を取得した後、宛先情報シェア(2−3−2)を添付した応答メッセージ505を端末1に返す。ここで、第2の実施の形態では端末1側から宛先情報シェア取得要求メッセージを送信するが、場合によっては端末2側から送信する場合もある。   The terminal 2 receives the destination information share acquisition request message 504, acquires the destination information share (2-3-1), and then returns a response message 505 attached with the destination information share (2-3-2) to the terminal 1. . Here, in the second embodiment, the destination information share acquisition request message is transmitted from the terminal 1 side, but may be transmitted from the terminal 2 side in some cases.

端末1と端末2は宛先情報シェア(2−3−1)、宛先情報シェア(2−3−2)を取得すると、宛先情報シェア検証用情報(2−3)を用いて各宛先情報シェアをVSSにより不正がないかどうかチェックを行い、チェックが正常に終了すると、2個の宛先情報シェアから端末4の宛先情報を復元する。   When the terminal 1 and the terminal 2 acquire the destination information share (2-3-1) and the destination information share (2-3-2), the destination information share is obtained using the destination information share verification information (2-3). It is checked whether there is any fraud by using VSS, and when the check ends normally, the destination information of the terminal 4 is restored from the two destination information shares.

端末2は端末4とセキュアにコネクションを構築するための端末4の公開鍵を持っているかどうかを内部のデータベースに問い合わせ、持っていなければ公開鍵サーバ5に対して取得要求を行う(公開鍵取得要求メッセージ506、応答メッセージ507)。そして、公開鍵取得後、端末2は端末4をコミュニティ201へ参加・加入させるかどうかの意思の一次決定を行う。ここで端末2は招待に賛成であるとする。   The terminal 2 inquires of the internal database whether or not it has the public key of the terminal 4 for securely establishing a connection with the terminal 4, and if not, makes an acquisition request to the public key server 5 (public key acquisition) Request message 506, response message 507). Then, after obtaining the public key, the terminal 2 makes a primary determination as to whether or not to allow the terminal 4 to participate in or join the community 201. Here, it is assumed that the terminal 2 agrees to the invitation.

端末2は許可情報(2−2)を生成し、それをVSSにより閾値(3、3)で分散符号化し、許可情報シェア(2−2−1)、許可情報シェア(2−2−2)、許可情報シェア(2−2−3)と、許可情報シェア検証用情報(2−2)を生成する。   The terminal 2 generates permission information (2-2), which is distributed and coded with the threshold values (3, 3) by VSS, and permits information share (2-2-1) and permission information share (2-2-2). , Permission information share (2-2-3) and permission information share verification information (2-2) are generated.

そして、許可情報(2−2)と3個の許可情報シェアのうち、1個の許可情報シェア(ここでは許可情報シェア(2−2−2)とする)は、端末2が端末4のコネクション確立要求を受けたときに、端末4がコミュニティ201への参加・加入に対しコミュニティに参加・加入している全端末の賛成を得ているかどうかを確認するのに必要となるため、内部のデータベースに保存しておく。   Of the permission information (2-2) and the three permission information shares, one permission information share (here, permission information share (2-2-2)) is the connection between the terminal 2 and the terminal 4 When the establishment request is received, it is necessary for the terminal 4 to confirm whether or not the terminal 4 has approved the participation / subscription of the community 201 for all the terminals participating / subscribing to the community. Save to.

端末2は端末1に対し、賛否の最終意思決定の際に必要となる投票用情報として許可情報シェア(2−2−1)と許可情報シェア検証用情報(2−2)を添付した、投票用情報提供メッセージ508を送信する。そして、端末1から応答メッセージ509を受信する。   The voting terminal 2 attaches the permission information share (2-2-1) and the permission information share verification information (2-2) to the terminal 1 as voting information necessary for the final decision of approval or disapproval An information providing message 508 is transmitted. Then, the response message 509 is received from the terminal 1.

同様に、端末2は端末3から受信したコミュニティ参加・加入伺いメッセージ503の応答メッセージとして賛否の一次意思決定メッセージ510を投票用情報である許可情報シェア(2−2−3)と許可情報シェア検証用情報(2−2)を添付して送信する。   Similarly, the terminal 2 uses a primary decision making message 510 for approval / disapproval as a response message to the community participation / subscription inquiry message 503 received from the terminal 3, the permission information share (2-2-3) as the voting information and the permission information share verification. Attach the usage information (2-2).

端末4がコミュニティへ参加・加入するためには、賛否の最終意思決定の際に全端末からの許可情報シェアが必要となる。   In order for the terminal 4 to participate in or join the community, it is necessary to share permission information from all terminals at the time of final decision of approval or disapproval.

同様に、端末1は端末4とセキュアにコネクションを張るために必要となる端末4の公開鍵を持っているかどうか内部のデータベースに問い合わせし、持っていなければ、公開鍵サーバ5に対して取得要求を行う(公開鍵取得要求メッセージ511、応答メッセージ512)。そして、公開鍵取得後、端末1は端末4をコミュニティ201へ参加・加入させるかどうかの意思の一次決定を行う。ここで端末1は招待に賛成であるとする。   Similarly, the terminal 1 inquires of the internal database whether or not it has the public key of the terminal 4 necessary for establishing a secure connection with the terminal 4, and if not, the acquisition request is made to the public key server 5. (Public key acquisition request message 511, response message 512). Then, after obtaining the public key, the terminal 1 makes a primary determination as to whether or not to allow the terminal 4 to participate in or join the community 201. Here, it is assumed that the terminal 1 agrees to the invitation.

端末1は許可情報(2−1)を生成し、それをVSSにより閾値(3、3)で分散符号化し、許可情報シェア(2−2−1)、許可情報シェア(2−1−2)、許可情報シェア(2−1−3)と、許可情報シェア検証用情報(2−1)を生成する。   The terminal 1 generates permission information (2-1), which is distributed and coded with the threshold values (3, 3) by VSS, and permits information share (2-2-1) and permission information share (2-1-2). , Permission information share (2-1-3) and permission information share verification information (2-1) are generated.

そして、許可情報(2−1)と3個の許可情報シェアのうち、1つの許可情報シェア(ここでは許可情報シェア(2−1−1)とする)は、端末1が端末4のコネクション確立要求を受けたときに、端末4がコミュニティ201への参加・加入に対しコミュニティに参加・加入している全端末の賛成を得ているかどうかを確認するのに必要となるために、内部のデータベースに保存しておく。   Of the permission information (2-1) and the three permission information shares, one permission information share (here, the permission information share (2-1-1)) is established by the terminal 1 establishing a connection with the terminal 4. When the request is received, it is necessary for the terminal 4 to confirm whether or not the terminal 4 has approved the participation / subscription of the community 201 with respect to all the terminals participating / subscribing to the community. Save to.

端末1は端末2に対し、賛否の最終意思決定の際に必要となる投票用情報として許可情報シェア(2−1−2)と許可情報シェア検証用情報(2−1)を添付した、投票用情報提供メッセージ513を送信する。そして、端末2から応答メッセージ514を受信する。   The voting terminal 1 attaches a permission information share (2-1-2) and permission information share verification information (2-1) as voting information necessary for the final decision of approval or disapproval to the terminal 2 An information provision message 513 is transmitted. Then, the response message 514 is received from the terminal 2.

同様に、端末1は端末3から受信したコミュニティ参加・加入伺いメッセージ502の応答メッセージとして賛否の一次意思決定メッセージ515を投票用情報である許可情報シェア(2−1−3)と許可情報シェア検証用情報(2−1)を添付して送信する。   Similarly, the terminal 1 uses a primary decision-making message 515 for approval / disapproval as a response message of the community participation / subscription inquiry message 502 received from the terminal 3, the permission information share (2-1-3) as the voting information and the permission information share verification. The business information (2-1) is attached and transmitted.

次に、端末1は端末2からの投票用情報提供メッセージ508を受信し、投票用情報である、許可情報シェア(2−2−1)と許可情報シェア検証用情報(2−2)を取得する。   Next, the terminal 1 receives the voting information provision message 508 from the terminal 2, and obtains permission information share (2-2-1) and permission information share verification information (2-2) as voting information. To do.

取得した許可情報シェア(2−2−1)は賛否の最終意思決定の際の賛成票として必要であり、また、許可情報シェア検証用情報(2−2)はシェアの不正をチェックするために必要であるため、データベースに保存しておく。   The acquired permission information share (2-2-1) is necessary as an approval vote at the time of final decision of approval or disapproval, and the permission information share verification information (2-2) is for checking the share fraud. Save it in the database because it is necessary.

同様に、端末2は端末1からの投票養生法提供メッセージ513を受信し、投票用情報である、許可情報シェア(2−1−2)、許可情報シェア検証用情報(2−1)を取得する。   Similarly, the terminal 2 receives the voting regimen provision message 513 from the terminal 1, and acquires permission information share (2-1-2) and permission information share verification information (2-1) which are voting information. To do.

取得した許可情報シェア(2−1−2)は賛否の最終意思決定の際の賛成票として必要であり、また、許可情報シェア検証用情報(2−1)はシェアの不正をチェックするために必要であるため、データベースに保存しておく。   The acquired permission information share (2-1-2) is necessary as an approval vote at the time of final decision of approval or disapproval, and the permission information share verification information (2-1) is for checking the share fraud. Save it in the database because it is necessary.

端末3は端末1と端末2へ送信したコミュニティ参加・加入伺いメッセージ502、503の応答メッセージとして、それぞれ賛否の一次意思決定メッセージ515、510を受信する。   The terminal 3 receives primary and negative primary decision messages 515 and 510 as response messages of the community participation / subscription inquiry messages 502 and 503 transmitted to the terminal 1 and the terminal 2, respectively.

そして、それぞれメッセージから全メンバ端末が賛成であることを知る。また、許可情報シェア(2−1−3)、許可情報シェア検証用情報(2−1)、許可情報シェア(2−2−3)、許可情報シェア検証用情報(2−2)を取得する。   Then, from each message, it is known that all member terminals agree. Also, permission information share (2-1-3), permission information share verification information (2-1), permission information share (2-2-3), and permission information share verification information (2-2) are acquired. .

取得した許可情報シェア(2−1−3)、許可情報シェア(2−2−3)は端末1と端末2からの賛否の最終意思決定メッセージを賛成票として受信した場合に、自端末も賛成であることを示すための情報として必要であり、また、許可情報シェア検証用情報(2−1)、許可情報シェア検証用情報(2−2)はシェアの不正をチェックするために必要であるため、これらはデータベースに保存しておく。   The acquired permission information share (2-1-3) and permission information share (2-2-3) agree with the terminal itself when the final decision message of approval / disapproval from the terminal 1 and the terminal 2 is received as an approval vote. The permission information share verification information (2-1) and the permission information share verification information (2-2) are necessary for checking the share fraud. Therefore, these are stored in the database.

端末3は全メンバ端末(端末1と端末2)から賛否の一次意思決定メッセージを受信したので、全メンバ端末に一次結果通知メッセージを送信する。このとき、全メンバ端末が賛成を示した場合、投票が可能であることを、そうでない場合、投票が不可能であることを伝える。   Since the terminal 3 has received the primary decision message for approval / disapproval from all the member terminals (terminal 1 and terminal 2), the terminal 3 transmits a primary result notification message to all the member terminals. At this time, if all the member terminals indicate approval, it is notified that voting is possible, and otherwise, it is notified that voting is impossible.

端末3は投票が可能であることを示す内容の一次結果通知メッセージ516を端末1に送信する。同様に、端末2に一次結果通知メッセージ518を送信する。メッセージ516、518を送信後、それぞれ端末1と端末2から応答メッセージ517、519を受信する。   The terminal 3 transmits to the terminal 1 a primary result notification message 516 indicating that voting is possible. Similarly, a primary result notification message 518 is transmitted to the terminal 2. After transmitting the messages 516 and 518, response messages 517 and 519 are received from the terminal 1 and the terminal 2, respectively.

一方、端末1は端末3から一次結果通知メッセージ516を受信し、全メンバ端末が賛否の一次意思決定メッセージにおいて端末4のコミュニティ201への参加・加入に賛成をし、投票が可能であることを知る。そして、応答メッセージ517を端末3に送信する。   On the other hand, the terminal 1 receives the primary result notification message 516 from the terminal 3, and all the member terminals agree to the participation / subscription to the community 201 of the terminal 4 in the primary decision message of approval / disapproval and can vote. know. Then, a response message 517 is transmitted to the terminal 3.

同様に、端末2は端末3から一次結果通知メッセージ518を受信し、全メンバ端末が賛否の一次意思決定メッセージにおいて端末4のコミュニティ201への参加・加入に賛成をし、投票が可能であることを知る。そして、応答メッセージ519を端末3に送信する。   Similarly, the terminal 2 receives the primary result notification message 518 from the terminal 3, and all member terminals agree to the participation / subscription to the community 201 of the terminal 4 in the primary decision message of approval / disapproval, and can vote. Know. Then, a response message 519 is transmitted to the terminal 3.

次に、端末1は賛否に対する最終的な判断を行う。ここで端末1は最終的に端末4のコミュニティ201への参加・加入に賛成であるとする。   Next, the terminal 1 makes a final decision regarding approval or disapproval. Here, it is assumed that the terminal 1 finally agrees to participate / subscribe to the community 201 of the terminal 4.

端末1は、端末2から取得した許可情報シェア(2−2−1)を許可情報シェア検証用情報(2−2)を利用して、不正がないかどうかをチェックし、その後、自端末の宛先情報を含めて、許可情報シェア(2−2−1)を端末4の公開鍵で暗号化する。これを許可チケット(2−1)とする。   The terminal 1 uses the permission information share verification information (2-2) for the permission information share (2-2-1) acquired from the terminal 2, and then checks whether there is any fraud. The permission information share (2-2-1) including the destination information is encrypted with the public key of the terminal 4. This is the permission ticket (2-1).

端末1は最終的に端末4のコミュニティ201への参加・加入に賛成であることを示す内容に許可チケット(2−1)を添付し、賛否の最終意思決定メッセージ520として送信する。そして、端末3から応答メッセージ521を受信する。   The terminal 1 finally attaches a permission ticket (2-1) to the content indicating that the terminal 4 is in favor of joining / subscribing to the community 201, and transmits the approval / disapproval final decision message 520. Then, the response message 521 is received from the terminal 3.

同様に、端末2は賛否に対する最終的な決断を行う。ここで端末2は最終的に端末4のコミュニティ201への参加・加入に賛成であるとする。   Similarly, the terminal 2 makes a final decision on pros and cons. Here, it is assumed that the terminal 2 finally agrees to participate / subscribe to the community 201 of the terminal 4.

端末2は、端末1から取得した許可情報シェア(2−1−2)を許可情報シェア検証用情報(2−1)を利用して、不正がないかどうかをチェックし、その後、自端末の宛先情報を含めて、許可情報シェア(2−1−2)を端末4の公開鍵で暗号化する。これを許可チケット(2−2)とする。   The terminal 2 uses the permission information share verification information (2-1) for the permission information share (2-1-2) acquired from the terminal 1, and checks whether there is any fraud. The permission information share (2-1-2) including the destination information is encrypted with the public key of the terminal 4. This is the permission ticket (2-2).

端末2は最終的に端末4のコミュニティ201への参加・加入に賛成であることを示す内容に許可チケット(2−2)を添付し、賛否の最終意思決定メッセージ522として送信する。そして、端末3から応答メッセージ523を受信する。   The terminal 2 finally attaches a permission ticket (2-2) to the content indicating that the terminal 4 is in favor of joining / subscribing to the community 201, and transmits the approval / disapproval final decision message 522. Then, the response message 523 is received from the terminal 3.

一方、端末3は端末1から賛否の最終意思決定メッセージ520を受信し、許可チケット(2−1)を、また端末2から賛否の最終意思決定メッセージ522を受信し、許可チケット(2−2)を取得し、これらを内部のデータベースに保存する。   On the other hand, the terminal 3 receives the final decision message 520 for approval / disapproval from the terminal 1, receives the permission ticket (2-1), and receives the final decision message 522 for approval / disapproval from the terminal 2, and receives the permission ticket (2-2). And store them in an internal database.

端末3はメッセージ内容から全メンバ端末(端末1と端末2)が最終的に端末4のコミュニティ201への参加・加入に対し賛成の意思を示したことを知る。そして、端末1には応答メッセージ521を、端末2には応答メッセージ523を送信する。   The terminal 3 knows from the message content that all the member terminals (terminal 1 and terminal 2) have finally expressed their willingness to participate in or join the community 201 of the terminal 4. Then, the response message 521 is transmitted to the terminal 1 and the response message 523 is transmitted to the terminal 2.

端末3はコネクション確立情報(2−3)を生成し、データベースに保存する。そして、そのコネクション確立情報(2−3)をVSSにより閾値(3、3)で分散符号化し、生成したコネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)、コネクション確立情報シェア(2−3−3)のうちの一つ(ここではコネクション確立情報シェア(2−3−3)とする)をデータベースに保存する。   The terminal 3 generates connection establishment information (2-3) and stores it in the database. Then, the connection establishment information (2-3) is distributedly encoded with the threshold value (3, 3) by VSS, and the generated connection establishment information share (2-3-1) and connection establishment information share (2-3-2) are generated. , One of the connection establishment information shares (2-3-3) (here, connection establishment information share (2-3-3)) is stored in the database.

端末3は全メンバ端末が端末4のコミュニティ201への参加・加入に対し、賛成であることを知らせる内容にコネクション確立情報シェア(2−3−1)を添付した最終結果通知メッセージ524を端末1に送信する。   The terminal 3 displays a final result notification message 524 in which the connection establishment information share (2-3-1) is attached to the content informing that all the member terminals agree to the participation / subscription of the terminal 4 to the community 201. Send to.

同様に、端末3は全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア(2−3−2)を添付した最終結果通知メッセージ526を端末2に送信する。   Similarly, the terminal 3 transmits to the terminal 2 a final result notification message 526 in which the connection establishment information share (2-3-2) is attached to the content informing that all the member terminals agree.

一方、端末1は最終結果通知メッセージ524を受信し、全メンバ端末は最終的に端末4のコミュニティ201への参加・加入に対して賛成であったことを知る。また、コネクション確立情報シェア(2−3−1)を取得する。そして、端末3に応答メッセージ525を送信する。   On the other hand, the terminal 1 receives the final result notification message 524, and all the member terminals finally know that they are in favor of joining / subscribing to the community 201 of the terminal 4. Also, the connection establishment information share (2-3-1) is acquired. Then, a response message 525 is transmitted to the terminal 3.

同様に、端末2は最終結果通知メッセージ526を受信し、全メンバ端末は最終的に端末4のコミュニティ201への参加・加入に対して賛成であったことを知る。また、コネクション確立情報シェア(2−3−2)を取得する。そして、端末3に応答メッセージ527を送信する。   Similarly, the terminal 2 receives the final result notification message 526, and all the member terminals finally know that they are in favor of joining / subscribing to the community 201 of the terminal 4. Also, the connection establishment information share (2-3-2) is acquired. Then, a response message 527 is transmitted to the terminal 3.

一方、端末3は端末1、端末2からそれぞれ応答メッセージ525、527を受信する。そして、端末3は自身の賛成票を生成するために、まず、許可情報シェア(2−1−3)、許可情報シェア(2−2−3)に不正がないかどうかを、それぞれ許可情報シェア検証用情報(2−1)、許可情報シェア検証用情報(2−2)を利用してチェックを行い、自端末の宛先情報を含めて端末4の公開鍵で暗号化し、許可チケット(2−3)を生成する。   On the other hand, the terminal 3 receives response messages 525 and 527 from the terminal 1 and the terminal 2, respectively. Then, in order to generate its own approval vote, the terminal 3 first determines whether the permission information share (2-1-3) and the permission information share (2-2-3) are fraudulent. A check is performed using the verification information (2-1) and the permission information share verification information (2-2), the address information of the terminal itself is encrypted with the public key of the terminal 4, and the permission ticket (2- 3) is generated.

そして、全許可チケット(許可チケット(2−1)、許可チケット(2−2)、許可チケット(2−3))を添付したコミュニティ招待メッセージ528を端末4に対し送信する。このとき、メッセージには電子署名と暗号化を施す。   Then, a community invitation message 528 attached with all permission tickets (permission ticket (2-1), permission ticket (2-2), permission ticket (2-3)) is transmitted to the terminal 4. At this time, the message is digitally signed and encrypted.

端末4はコミュニティ招待メッセージ528を受信し、メッセージを解読する。ここで、端末3の公開鍵が必要となるが、データベースに持っていなければ、外部の公開鍵サーバ5に取得要求を行う(メッセージ529、530)。復号化されたメッセージ内容から端末3が端末4のコミュニティへの招待を希望していることを知る。また、全許可チケットを取得する。   Terminal 4 receives community invitation message 528 and decrypts the message. Here, the public key of the terminal 3 is required, but if it is not stored in the database, an acquisition request is made to the external public key server 5 (messages 529 and 530). The terminal 3 knows from the decrypted message content that it wishes to invite the terminal 4 to the community. Moreover, all permission tickets are acquired.

端末4はコミュニティ201にどのような端末が参加・加入しているか調べるために、端末4の公開鍵で暗号化された全許可チケットを秘密鍵により復号化する。そして、復号化により、許可情報シェア(2−1−3)、許可情報シェア(2−2−3)、許可情報シェア(2−2−1)、許可情報シェア(2−1−2)と、端末1と端末2と端末3の宛先情報が得られ、コミュニティ201に参加・加入している端末が端末1、端末2、端末3であることを知る。   The terminal 4 decrypts all permission tickets encrypted with the public key of the terminal 4 with the secret key in order to check what terminals are participating in or joining the community 201. And by permission, permission information share (2-1-3), permission information share (2-2-3), permission information share (2-2-1), permission information share (2-1-2) and The destination information of the terminal 1, the terminal 2, and the terminal 3 is obtained, and it is known that the terminals participating in and joining the community 201 are the terminal 1, the terminal 2, and the terminal 3.

端末4はコミュニティ201の招待に賛成であるとする。端末4は端末1と端末2に対して、セキュアにコネクションを確立するために端末1と端末2の公開鍵を内部のデータベースに問い合わせ、持っていなければ外部の公開鍵サーバ5に取得要求を行う(公開鍵取得要求メッセージ531、応答メッセージ532)。   It is assumed that the terminal 4 is in favor of the community 201 invitation. The terminal 4 queries the internal database for the public keys of the terminal 1 and the terminal 2 in order to establish a secure connection with the terminal 1 and the terminal 2, and makes an acquisition request to the external public key server 5 if it does not have it. (Public key acquisition request message 531 and response message 532).

端末4は取得した全許可情報シェア(許可情報シェア(2−1−3)、許可情報シェア(2−2−3)、許可情報シェア(2−2−1)、許可情報シェア(2−1−2))を含めたコネクション確立要求メッセージ533を端末1に対して送信する。   The terminal 4 obtains all acquired permission information shares (permission information share (2-1-3), permission information share (2-2-3), permission information share (2-2-1), permission information share (2-1). -2)) including the connection establishment request message 533 is transmitted to the terminal 1.

端末1は端末4からコネクション確立要求メッセージ533を受信すると、添付されている全許可情報シェアを用いて、端末4がコミュニティ201の他の全ての端末から参加・加入に対する許可を得ているかどうかをチェックする。   When the terminal 1 receives the connection establishment request message 533 from the terminal 4, it is determined whether or not the terminal 4 has obtained permission for participation / subscription from all other terminals of the community 201 using the attached all permission information share. To check.

まず、端末1の内部のデータベースで持っている、許可情報シェア(2−1−1)と、取得した許可情報シェア(2−1−2)、許可情報シェア(2−1−3)を利用し、VSSにより復号化を行い、許可情報(2−1−A)を得る。   First, use permission information share (2-1-1), acquired permission information share (2-1-2), and permission information share (2-1-3) held in the internal database of terminal 1. Then, decryption is performed by VSS to obtain permission information (2-1-A).

そして、内部のデータベースで持つ端末1が生成した許可情報(2−1)と許可情報(2−1−A)を比較し、相違がないかどうか確認する。相違があった場合は、端末4のアクセスを不正(つまり、コミュニティの他の全ての端末から賛成を得ていない)とみなし、コネクションは確立しない。相違がなければ、比較時の時刻情報と許可情報に含まれる時刻情報の差分を計算し、その値が一定の時間以上であれば、不正と判断し、コネクションは確立しない。不正がなければ、さらに許可情報に記述されている宛先情報が端末4のものと同じであるか判断し、相違があればコネクションは確立しない。   Then, the permission information (2-1) generated by the terminal 1 held in the internal database is compared with the permission information (2-1-A) to check whether there is any difference. If there is a difference, the access of the terminal 4 is regarded as illegal (that is, it is not approved by all other terminals in the community), and the connection is not established. If there is no difference, the difference between the time information at the time of comparison and the time information included in the permission information is calculated. If the value is equal to or longer than a certain time, it is determined to be illegal and the connection is not established. If there is no fraud, it is further determined whether the destination information described in the permission information is the same as that of the terminal 4, and if there is a difference, the connection is not established.

上記のチェックが正常に終了すると、次に、残りの許可情報シェア(2−2−3)、許可情報シェア(2−2−1)に不正がないかどうかを許可情報シェア検証用情報(2−2)を利用して、検証を行い、不正がないかチェックを行う。   When the above check is completed normally, next, whether or not the remaining permission information share (2-2-3) and permission information share (2-2-1) are fraudulent is checked (2 -2) is used to verify and check for fraud.

以上のようなチェックを行い、正常に終了すれば、端末1は内部のデータベースに持つ、コネクション確立情報シェア(2−3−1)を添付した応答メッセージ534を端末4に送信する。応答メッセージ534送信後、端末1は端末4からコネクション確立確認メッセージ535を受信する。   If the above check is performed and the process ends normally, the terminal 1 transmits to the terminal 4 a response message 534 attached with the connection establishment information share (2-3-1) held in the internal database. After transmitting the response message 534, the terminal 1 receives the connection establishment confirmation message 535 from the terminal 4.

端末4は応答メッセージ534を受信すると、コネクション確立情報シェア(2−3−1)を内部のデータベースに保存した後、コネクション確立確認メッセージ535を端末1に送信する。   Upon receiving the response message 534, the terminal 4 stores the connection establishment information share (2-3-1) in an internal database, and then transmits a connection establishment confirmation message 535 to the terminal 1.

端末4は端末1とコネクションを確立後、さらに端末2とコネクションを確立するために全許可情報シェアを含めた、コネクション確立要求メッセージ536を端末2に対して送信する。   After establishing the connection with the terminal 1, the terminal 4 further transmits a connection establishment request message 536 including the entire permission information share to establish a connection with the terminal 2.

端末4と端末2の間でコネクションを確立するまでの処理は端末1の場合(メッセージ533〜535)と同様であり、端末2は端末4からコネクション確立要求メッセージ536を受信すると、添付されている全許可情報シェアのうち、許可情報シェア(2−2−1)、許可情報シェア(2−2−3)と、内部のデータベースに保存している許可情報シェア(2−2−2)を用いて、VSSにより許可情報を復元し(許可情報(2−2−A))、許可情報(2−2−A)と内部のデータベースに保存している許可情報(2−2)とを比較する。   The process until the connection is established between the terminal 4 and the terminal 2 is the same as that in the case of the terminal 1 (messages 533 to 535). When the terminal 2 receives the connection establishment request message 536 from the terminal 4, it is attached. Among all permission information shares, permission information share (2-2-1), permission information share (2-2-3), and permission information share (2-2-2) stored in the internal database are used. The permission information is restored by VSS (permission information (2-2A)), and the permission information (2-2A) is compared with the permission information (2-2) stored in the internal database. .

そして、残りの許可情報シェア(2−1−3)、許可情報シェア(2−1−2)に不正がないかどうかを許可情報シェア検証用情報(2−1)を利用して、検証を行う。   Then, using the permission information share verification information (2-1), verify whether the remaining permission information share (2-1-3) and permission information share (2-1-2) are fraudulent. Do.

以上のようなチェックを行い、正常に終了すれば、端末2はコネクション確立情報シェア(2−3−2)を添付した応答メッセージ537を端末4に送信する。応答メッセージ537の送信後、端末2は端末4からコネクション確立確認メッセージ538を受信する。   If the above check is performed and the processing ends normally, the terminal 2 transmits a response message 537 attached with the connection establishment information share (2-3-2) to the terminal 4. After transmitting the response message 537, the terminal 2 receives the connection establishment confirmation message 538 from the terminal 4.

端末4は応答メッセージ537を受信すると、コネクション確立情報シェア(2−3−2)を内部のデータベースに保存した後、コネクション確立確認メッセージ538を端末2に送信する。   Upon receiving the response message 537, the terminal 4 stores the connection establishment information share (2-3-2) in the internal database, and then transmits a connection establishment confirmation message 538 to the terminal 2.

端末4は端末1および端末2とコネクションを確立すると、端末3に対してコネクション確立情報シェア(2−3−1)とコネクション確立情報シェア(2−3−2)を添付したコミュニティ参加・加入承諾メッセージ539を送信する。   When the terminal 4 establishes a connection with the terminal 1 and the terminal 2, the community participation / subscription consent with the connection establishment information share (2-3-1) and the connection establishment information share (2-3-2) attached to the terminal 3 is established. A message 539 is transmitted.

端末3は端末4からコミュニティ参加・加入承諾メッセージ539を受信し、コネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)を取得する。そして、端末4がコミュニティの他の全端末とコネクションを確立しているかどうか確認するために、コネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)と内部のデータベースに持つコネクション確立情報シェア(2−3−3)からコネクション確立情報をVSSにより復号化する。得られたコネクション確立情報(2−3−A)と内部のデータベースに持つコネクション確立情報(2−3)を比較し、相違がないかどうかチェックする。   The terminal 3 receives the community participation / subscription acceptance message 539 from the terminal 4 and acquires the connection establishment information share (2-3-1) and the connection establishment information share (2-3-2). Then, in order to confirm whether the terminal 4 has established connections with all other terminals in the community, the connection establishment information share (2-3-1), the connection establishment information share (2-3-2), and the internal The connection establishment information is decrypted by VSS from the connection establishment information share (2-3-3) in the database. The obtained connection establishment information (2-3-A) is compared with the connection establishment information (2-3) held in the internal database to check whether there is any difference.

相違がある場合は、端末4が全メンバ端末とのコネクションが確立していないと判断し、端末3は端末4とコネクションは確立しない。相違がない場合は、コネクション確立情報に含まれる時刻情報と比較時の時刻情報の差分が一定時間以内であるかどうかチェックする。一定時間以上であれば、コネクションは確立しない。   If there is a difference, the terminal 4 determines that connections with all member terminals have not been established, and the terminal 3 does not establish a connection with the terminal 4. If there is no difference, it is checked whether or not the difference between the time information included in the connection establishment information and the time information at the time of comparison is within a certain time. If it is longer than a certain time, the connection is not established.

以上の処理により、端末4と全メンバ端末とのコネクションの確立を確認する。そして、端末3はコネクション確立確認メッセージ540を端末4に送信し、端末4とコネクションを確立する。   With the above processing, the establishment of connections between the terminal 4 and all member terminals is confirmed. Then, the terminal 3 transmits a connection establishment confirmation message 540 to the terminal 4 and establishes a connection with the terminal 4.

以上のように、メッセージ500〜540を端末1、端末2、端末3、端末4、公開鍵サーバ5の間でやり取りすることで、端末4を新規にコミュニティ201に招待する。また、コミュニティの全端末数が3以上の場合は、同様のメッセージのやり取りを行うことで、新規端末をコミュニティに招待する。   As described above, by exchanging the messages 500 to 540 among the terminal 1, the terminal 2, the terminal 3, the terminal 4, and the public key server 5, the terminal 4 is newly invited to the community 201. When the total number of terminals in the community is 3 or more, new messages are invited to the community by exchanging similar messages.

図22から図46は図21において端末間でやり取りされるメッセージを各端末が内部のモジュールを利用して処理するプロセスを詳細に示したシーケンス図である。   22 to 46 are sequence diagrams showing in detail a process in which each terminal processes a message exchanged between the terminals in FIG. 21 using an internal module.

図22は端末3が端末4の招待に対する賛否問う内容を示すメッセージ(コミュニティ参加・加入伺いメッセージ)を端末1と端末2に対して送信するまでの端末3内のモジュール処理を示すシーケンス図である。   FIG. 22 is a sequence diagram showing module processing in the terminal 3 until the terminal 3 transmits a message (community participation / subscription inquiry message) indicating the contents of the terminal 4 to be accepted or rejected to the terminal 4 to the terminal 1 and the terminal 2. .

端末3の制御モジュールは端末4の宛先情報、端末1、端末2と共有しているセッションキー、端末4の公開鍵、をデータベースに問い合わせる(シーケンス2600、2601)。端末4の公開鍵がデータベースになければ、外部の公開鍵サーバ5に対して端末4の公開鍵を問い合わせ(シーケンス2602〜2607)、データベースに保存しておく(シーケンス2608、シーケンス2609)。   The control module of terminal 3 inquires of the database about the destination information of terminal 4, the session key shared with terminal 1 and terminal 2, and the public key of terminal 4 (sequences 2600 and 2601). If the public key of the terminal 4 is not in the database, the public key of the terminal 4 is inquired to the external public key server 5 (sequence 2602 to 2607) and stored in the database (sequence 2608, sequence 2609).

制御モジュールは端末4の宛先情報をデータベースに問い合わせ(シーケンス2610、2611)、閾値(2、2)で分散符号化を行い、宛先情報シェア(2−3−1)と、宛先情報シェア(2−3−2)と、さらに宛先情報シェア検証用情報(2−3)を取得する(シーケンス2612、2613)。   The control module inquires of the destination information of the terminal 4 from the database (sequences 2610 and 2611), performs distributed encoding with the threshold values (2, 2), and performs destination information sharing (2-3-1) and destination information sharing (2- 3-2) and further destination information share verification information (2-3) is acquired (sequences 2612 and 2613).

制御モジュールはまず端末1に対して、コミュニティ参加・加入伺いメッセージを送信するために、端末4の招待に対する賛否を問う内容に宛先情報シェア(2−3−1)、宛先情報シェア検証用情報(2−3)を添付したメッセージを生成し、端末1へ送信するように制御モジュールはメッセージ生成モジュールに依頼する(シーケンス2614)。このとき、同時に端末1のセッションキー、宛先情報シェア(2−3−1)、宛先情報シェア検証用情報(2−3)を渡す。   First, in order to transmit a community participation / subscription request message to the terminal 1, the control module asks whether or not the terminal 4 invites the approval or disapproval of the destination information share (2-3-1), destination information share verification information ( The control module requests the message generation module to generate a message attached with 2-3) and transmit it to the terminal 1 (sequence 2614). At this time, the session key of the terminal 1, the destination information share (2-3-1), and the destination information share verification information (2-3) are handed over at the same time.

メッセージ生成モジュールは端末4の招待に対する賛否を問う内容に宛先情報シェア(2−3−1)、宛先情報シェア検証用情報(2−3)を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、端末1にコミュニティ参加・加入伺いメッセージ502を送信する(シーケンス2615〜2618)。   The message generation module generates a message with the destination information share (2-3-1) and the destination information share verification information (2-3) attached to the contents of the terminal 4 asking for approval or disapproval, and performs a message encryption process. After that, a community participation / subscription inquiry message 502 is transmitted to the terminal 1 (sequences 2615 to 2618).

同様に、制御モジュールはメッセージ生成モジュールを通じて、端末4の招待に対する賛否を問う内容に宛先情報シェア(2−3−2)、宛先情報シェア検証用情報(2−3)を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、端末2へコミュニティ参加・加入伺いメッセージ503を送信する(シーケンス2619〜2623)。   Similarly, the control module generates a message with the destination information share (2-3-2) and the destination information share verification information (2-3) attached to the content asking for approval or disapproval for the invitation of the terminal 4 through the message generation module. After performing the message encryption process, a community participation / subscription inquiry message 503 is transmitted to the terminal 2 (sequences 2619 to 2623).

図22において、シーケンス2604、2605、2618、2623はそれぞれ図21のメッセージ500、501、502、503に相当する。   In FIG. 22, sequences 2604, 2605, 2618, and 2623 correspond to the messages 500, 501, 502, and 503 in FIG.

図23は図22で端末3が送信したコミュニティ参加・加入伺いメッセージ502を端末1が受信したときの端末1内のモジュールを処理を示すシーケンス図である。   FIG. 23 is a sequence diagram showing processing of modules in the terminal 1 when the terminal 1 receives the community participation / subscription inquiry message 502 transmitted by the terminal 3 in FIG.

端末1のメッセージ処理モジュールはメッセージ502を受信すると、端末3と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス2700〜2705)。そして、復号化されたメッセージの内容、添付されている宛先情報シェア(2−3−1)、宛先情報シェア検証用情報(2−3)を制御モジュールに渡す(シーケンス2706)。   Upon receiving the message 502, the message processing module of the terminal 1 performs a message decryption process via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 3 (sequence 2700 to 2705). Then, the contents of the decrypted message, the attached destination information share (2-3-1), and destination information share verification information (2-3) are passed to the control module (sequence 2706).

制御モジュールは復号化されたメッセージから端末3が端末4のコミュニティ201への招待を希望していることを知る。しかし、この時点ではまだ実際の端末4の宛先情報を得ていない。端末4の実際の宛先情報を得るためには残りの宛先情報シェアが必要であるため、応対端末(端末3)以外の全メンバ端末(端末2)から宛先情報シェアを取得しなければならない。   The control module knows from the decrypted message that the terminal 3 wishes to invite the community 4 of the terminal 4. However, the actual destination information of the terminal 4 has not yet been obtained at this point. Since the remaining destination information share is necessary to obtain the actual destination information of the terminal 4, the destination information share must be acquired from all member terminals (terminal 2) other than the reception terminal (terminal 3).

制御モジュールは宛先情報シェア(2−3−1)、宛先情報シェア検証用情報(2−3)をデータベースに保存後(シーケンス2707、2708)、端末2と共有しているセッションキーをデータベースに問い合わせる(シーケンス2709、2710)。そして、宛先情報シェア(2−3−1)を添付した宛先情報シェア取得要求メッセージを送信するようにメッセージ生成モジュールに依頼する(シーケンス2711)。このとき、宛先情報シェア(2−3−1)、セッションキーをメッセージ生成モジュールに渡す。   The control module saves the destination information share (2-3-1) and the destination information share verification information (2-3) in the database (sequence 2707, 2708), and then queries the database for the session key shared with the terminal 2. (Sequence 2709, 2710). Then, the message generation module is requested to transmit a destination information share acquisition request message with the destination information share (2-3-1) attached (sequence 2711). At this time, the destination information share (2-3-1) and the session key are passed to the message generation module.

メッセージ生成モジュールは宛先情報シェア取得要求の内容に宛先情報シェア(2−3−1)を添付したメッセージを、メッセージ暗号化プロセスを行ってから、メッセージ処理モジュールを通じて、宛先情報シェア取得要求メッセージ504として端末2に送信する(シーケンス2712〜2715)。   The message generation module performs a message encryption process on the message with the destination information share acquisition request attached to the content of the destination information share acquisition request, and then sends the message as a destination information share acquisition request message 504 through the message processing module. It transmits to the terminal 2 (sequence 2712 to 2715).

図23において、シーケンス2700、2715はそれぞれ図21のメッセージ502、504に相当する。この実施例では、端末1が先に端末2に対して宛先情報シェア取得要求メッセージを送信するとする。このメッセージの送信と受信のタイミングは早いものが勝ちであり、場合によっては、端末2が送信する宛先情報シェア取得要求メッセージが端末1に先に到着する。   In FIG. 23, sequences 2700 and 2715 correspond to the messages 502 and 504 in FIG. 21, respectively. In this embodiment, it is assumed that the terminal 1 first transmits a destination information share acquisition request message to the terminal 2. An earlier message transmission and reception timing wins. In some cases, a destination information share acquisition request message transmitted by the terminal 2 arrives at the terminal 1 first.

図24は端末3が送信したコミュニティ参加・加入伺いメッセージ503を端末2が受信し、図23と同様の処理を内部で行ってから、端末1から宛先情報シェア取得要求メッセージ504を受信したときの端末2内のモジュール処理を示すシーケンス図である。   FIG. 24 shows a case where the terminal 2 receives the community participation / subscription inquiry message 503 transmitted from the terminal 3, performs the same processing as in FIG. 23, and then receives the destination information share acquisition request message 504 from the terminal 1. FIG. 6 is a sequence diagram showing module processing in the terminal 2.

端末2のメッセージ処理モジュールは端末1から宛先情報シェア取得要求メッセージ504を受信すると、端末1と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う(シーケンス2800〜2805)。そして、復号化されたメッセージの内容と添付されている宛先情報シェア(2−3−1)を制御モジュールに渡す(シーケンス2806)。   When the message processing module of the terminal 2 receives the destination information share acquisition request message 504 from the terminal 1, the message encrypted by the session key shared with the terminal 1 is decrypted via the message analysis module. A decoding process is performed (sequence 2800 to 2805). Then, the contents of the decrypted message and the attached destination information share (2-3-1) are passed to the control module (sequence 2806).

制御モジュールは復号化されたメッセージ内容から端末1が宛先情報シェアを要求していることを知る。制御モジュールは端末1から取得した宛先情報シェア(2−3−1)をデータベースに保存し(シーケンス2807、2808)、データベースに端末3から取得した宛先情報シェア(2−3−2)、端末1と共有しているセッションキーを問い合わせる(シーケンス2809、2810)。   The control module knows from the decrypted message content that the terminal 1 is requesting destination information sharing. The control module stores the destination information share (2-3-1) acquired from the terminal 1 in the database (sequence 2807, 2808), and stores the destination information share (2-3-2) acquired from the terminal 3 in the database. The session key shared with the server is inquired (sequence 2809, 2810).

制御モジュールは宛先情報シェア取得要求メッセージ504の応答を返すために、メッセージ生成モジュールに応答メッセージの生成を依頼する(シーケンス2811)。このとき、宛先情報シェア(2−3−2)、端末1と共有しているセッションキーを渡す。   The control module requests the message generation module to generate a response message in order to return a response to the destination information share acquisition request message 504 (sequence 2811). At this time, the destination information share (2-3-2) and the session key shared with the terminal 1 are passed.

メッセージ生成モジュールは応答メッセージの内容に宛先情報シェア(2−3−2)を添付したメッセージを生成し、メッセージ暗号化プロセスを行ってから、メッセージ処理モジュールを通じて、端末1に宛先情報シェア取得要求メッセージの応答メッセージ505として送信する(シーケンス2812〜2815)。   The message generation module generates a message with the destination information share (2-3-2) attached to the content of the response message, performs a message encryption process, and then sends a destination information share acquisition request message to the terminal 1 through the message processing module. The response message 505 is transmitted (sequences 2812 to 2815).

応答メッセージ505の送信後、制御モジュールは宛先情報シェア(2−3−1)と宛先情報シェア(2−3−2)を利用して、次のように端末4の実際の宛先情報を復元する。   After transmitting the response message 505, the control module uses the destination information share (2-3-1) and the destination information share (2-3-2) to restore the actual destination information of the terminal 4 as follows. .

まず、各宛先情報シェアに不正がないかどうかを端末3から取得した宛先情報シェア検証用情報(2−3)を利用してチェックを行う。   First, the destination information share verification information (2-3) acquired from the terminal 3 is checked to determine whether each destination information share is fraudulent.

制御モジュールはデータベースに対して、宛先情報シェア(2−3−1)と宛先情報シェア検証用情報(2−3)を問い合わせ(シーケンス2816、2817)、シェア検証モジュールに検証を依頼する(シーケンス2818)。   The control module inquires of the database about the destination information share (2-3-1) and the destination information share verification information (2-3) (sequences 2816 and 2817), and requests the share verification module to perform verification (sequence 2818). ).

シェア検証モジュールは宛先情報シェア(2−3−1)の検証を行い、不正がなければ正常応答を返す(シーケンス2819)。   The share verification module verifies the destination information share (2-3-1), and returns a normal response if there is no fraud (sequence 2819).

同様に、制御モジュールは宛先情報シェア(2−3−2)と宛先情報シェア検証用情報(2−3)を利用して、シェア検証モジュールに宛先情報シェアの検証を依頼する(シーケンス2820〜2823)。   Similarly, the control module uses the destination information share (2-3-2) and the destination information share verification information (2-3) to request the share verification module to verify the destination information share (sequences 2820 to 2823). ).

宛先情報シェアの不正チェックが終わると、制御モジュールは宛先情報シェア(2−3−1)と宛先情報シェア(2−3−2)から宛先情報を復号化する(シーケンス2824、2825)。これにより、制御モジュールは実際の端末4の宛先情報を取得する。また、端末4とセキュアにコネクションを確立するための公開鍵をデータベースに問い合わせ(シーケンス2826、2827)、持っていなければ外部の公開鍵サーバ5に対して取得要求を行う(シーケンス2828〜2833)。取得した端末4の公開鍵と宛先情報はデータベースに保存する(シーケンス2834、2835)。   When the destination information share fraud check is finished, the control module decrypts the destination information from the destination information share (2-3-1) and the destination information share (2-3-2) (sequences 2824 and 2825). As a result, the control module acquires the actual destination information of the terminal 4. In addition, a public key for establishing a secure connection with the terminal 4 is inquired of the database (sequences 2826 and 2827), and if not, an acquisition request is made to the external public key server 5 (sequences 2828 to 2833). The acquired public key and destination information of the terminal 4 are stored in the database (sequences 2834 and 2835).

制御モジュールは意思入力モジュールに対しコミュニティ201への端末4の参加・加入に対する賛否の判断を求める(シーケンス2836)。ここで意思入力モジュールにより、賛成の意思があるとする。意思入力モジュールは賛成の意思があることを制御モジュールに伝える(シーケンス2837)。この時点での意思決定は一次意思決定であるとする。   The control module requests the intention input module to determine whether or not the terminal 4 participates or joins the community 201 (sequence 2836). Here, it is assumed that there is an intention of approval by the intention input module. The intention input module informs the control module that there is an intention of approval (sequence 2837). It is assumed that the decision at this point is a primary decision.

図24において、シーケンス2800、2815、2830、2831はそれぞれ図21のメッセージ504、505、506、507に相当する。   24, sequences 2800, 2815, 2830, and 2831 correspond to messages 504, 505, 506, and 507 in FIG. 21, respectively.

図25は端末2が送信した応答メッセージ505を端末1が受信したときの端末1内のモジュール処理を示すシーケンス図である。   FIG. 25 is a sequence diagram illustrating module processing in the terminal 1 when the terminal 1 receives the response message 505 transmitted by the terminal 2.

端末1のメッセージ処理モジュールは端末2から応答メッセージ505を受信すると、端末2と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う(シーケンス2900〜2905)。そして、復号化されたメッセージの内容と添付されている宛先情報シェア(2−3−2)を制御モジュールに渡す(シーケンス2906)。   When the message processing module of the terminal 1 receives the response message 505 from the terminal 2, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 2. Perform (sequence 2900-2905). Then, the contents of the decrypted message and the attached destination information share (2-3-2) are passed to the control module (sequence 2906).

制御モジュールは復号化されたメッセージ内容から自端末が送信した宛先情報シェア取得要求メッセージ504に対する応答メッセージであることを知る。制御モジュールはデータベースに対して端末3から取得した宛先情報シェア(2−3−1)と宛先情報シェア検証用情報(2−3)を問い合わせ(シーケンス2907、2908)、次のように端末4の実際の宛先情報を復元する。   The control module knows from the decrypted message content that it is a response message to the destination information share acquisition request message 504 transmitted by the terminal. The control module inquires the destination information share (2-3-1) and destination information share verification information (2-3) acquired from the terminal 3 with respect to the database (sequence 2907, 2908). Restore actual destination information.

まず、各宛先情報シェアに不正がないかどうかを端末3から取得した宛先情報シェア検証用情報(2−3)を利用してチェックを行う。   First, the destination information share verification information (2-3) acquired from the terminal 3 is checked to determine whether each destination information share is fraudulent.

制御モジュールは宛先情報シェア(2−3−1)と宛先情報シェア検証用情報(2−3)をシェア検証モジュールに渡し、検証を依頼する(シーケンス2909)。   The control module passes the destination information share (2-3-1) and the destination information share verification information (2-3) to the share verification module and requests verification (sequence 2909).

シェア検証モジュールは宛先情報シェア(2−3−1)の検証を行い、不正がなければ正常応答を返す(シーケンス2910)。   The share verification module verifies the destination information share (2-3-1), and returns a normal response if there is no fraud (sequence 2910).

同様に、制御モジュールは宛先情報シェア(2−3−2)と宛先情報シェア検証用情報(2−3)を利用して、シェア検証モジュールに宛先情報シェアの検証を依頼する(シーケンス2911、2912)。   Similarly, the control module uses the destination information share (2-3-2) and the destination information share verification information (2-3) to request the share verification module to verify the destination information share (sequences 2911 and 2912). ).

宛先情報シェアの不正チェックが終わると、制御モジュールは宛先情報シェア(2−3−1)と宛先情報シェア(2−3−2)から宛先情報を復号化する(シーケンス2913、2914)。これにより、制御モジュールは実際の端末4の宛先情報を取得する。また、端末4とセキュアにコネクションを確立するための公開鍵をデータベースに問い合わせ(シーケンス2915、2916)、持っていなければ外部の公開鍵サーバ5に対して取得要求を行う(シーケンス2917〜2922)。取得した端末4の公開鍵と宛先情報はデータベースに保存する(シーケンス2923、2924)。   When the destination information share fraud check is finished, the control module decrypts the destination information from the destination information share (2-3-1) and the destination information share (2-3-2) (sequences 2913 and 2914). As a result, the control module acquires the actual destination information of the terminal 4. Further, a public key for establishing a secure connection with the terminal 4 is inquired of the database (sequences 2915 and 2916), and if not, an acquisition request is made to the external public key server 5 (sequences 2917 to 2922). The acquired public key and destination information of the terminal 4 are stored in a database (sequences 2923 and 2924).

制御モジュールは意思入力モジュールに対しコミュニティ201への端末4の参加・加入に対する賛否の判断を求める(シーケンス2925)。ここで意思入力モジュールにより、賛成の意思があるとする。意思入力モジュールは賛成の意思があることを制御モジュールに伝える(シーケンス2926)。この時点での意思決定は一次意思決定であるとする。   The control module requests the intention input module to determine whether or not the terminal 4 participates or joins the community 201 (sequence 2925). Here, it is assumed that there is an intention of approval by the intention input module. The intention input module informs the control module that there is an intention of approval (sequence 2926). It is assumed that the decision at this point is a primary decision.

図25において、シーケンス2900、2919、2920はそれぞれ図21のメッセージ505、511、512に相当する。   In FIG. 25, sequences 2900, 2919, and 2920 correspond to messages 505, 511, and 512 in FIG.

図26は図25において、端末1が一次の意思決定を行った後の端末1内のモジュール処理を示すシーケンス図である。   FIG. 26 is a sequence diagram showing module processing in the terminal 1 after the terminal 1 makes a primary decision in FIG.

制御モジュールは図25において、意思入力モジュールより端末4のコミュニティ201への参加・加入に対する賛成の一次意思決定を伝えられると(シーケンス2926)、投票用情報である許可情報シェアをそれぞれ端末2と端末2に対して配布するために、許可情報を作成するように制御モジュールは許可情報生成モジュールに依頼する(シーケンス3000)。   In FIG. 25, when the control module is informed by the intention input module of primary decision making in favor of joining / subscribing to the community 201 of the terminal 4 (sequence 2926), the permission information share, which is voting information, is sent to the terminal 2 and the terminal, respectively. In order to distribute to 2, the control module requests the permission information generation module to create permission information (sequence 3000).

許可情報生成モジュールは許可情報(2−1)を生成し、データベースに保存後(シーケンス3001、3002)、制御モジュールにそれを渡す(シーケンス3003)。   The permission information generation module generates permission information (2-1), saves it in the database (sequence 3001, 3002), and passes it to the control module (sequence 3003).

制御モジュールは許可情報(2−1)を閾値(3、3)で分散符号化するようにVSS分散符号化モジュールに依頼する(シーケンス3004)。   The control module requests the VSS distributed encoding module to perform distributed encoding of the permission information (2-1) with the threshold (3, 3) (sequence 3004).

VSS分散符号化モジュールは許可情報(2−1)を閾値(3、3)で分散符号化し、許可情報シェア(2−1−1)、許可情報シェア(2−1−2)、許可情報シェア(2−1−3)、許可情報シェア検証用情報(2−1)を生成し、端末4からコネクション確立要求を受けた時に必要となる許可情報シェアを一つデータベースに保存する(ここでは許可情報シェア(2−1−1)とする)(シーケンス3005、3006)。そして、VSS分散符号化モジュールは許可情報シェア(2−1−2)、許可情報シェア(2−1−3)を制御モジュールに返す(シーケンス3007)。   The VSS distributed coding module performs distributed coding of the permission information (2-1) with the threshold (3, 3), and permits information share (2-1-1), permission information share (2-1-2), permission information share. (2-1-3), permission information share verification information (2-1) is generated, and one permission information share required when a connection establishment request is received from the terminal 4 is stored in one database (here, permission is granted). Information sharing (2-1-1)) (sequence 3005, 3006). Then, the VSS distributed coding module returns the permission information share (2-1-2) and permission information share (2-1-3) to the control module (sequence 3007).

制御モジュールは端末2と端末3のセッションキーをデータベースに問い合わせる(シーケンス3008、3009)。そして、制御モジュールは、許可情報シェア(2−1−2)と許可情報シェア検証用情報(2−1)を添付したメッセージを端末2に対して、送信するようにメッセージ生成モジュールに依頼する(シーケンス3010)。このとき、許可情報シェア(2−1−2)、端末2と共有するセッションキー、許可情報シェア検証用情報(2−1)をメッセージ生成モジュールに渡す。   The control module inquires of the database about the session keys of the terminals 2 and 3 (sequences 3008 and 3009). Then, the control module requests the message generation module to transmit a message with the permission information share (2-1-2) and permission information share verification information (2-1) attached to the terminal 2 ( Sequence 3010). At this time, the permission information share (2-1-2), the session key shared with the terminal 2, and the permission information share verification information (2-1) are passed to the message generation module.

メッセージ生成モジュールは投票用情報提供の内容に許可情報シェア(2−1−2)、許可情報シェア検証用情報(2−1)を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末2に投票用情報提供メッセージ513として送信する(シーケンス3010〜3014)。   The message generation module generates a message with permission information share (2-1-2) and permission information share verification information (2-1) attached to the contents of the voting information provision, and after performing the message encryption process, Through the message processing module, the information is transmitted to the terminal 2 as a voting information provision message 513 (sequences 3010 to 3014).

同様に端末1の制御モジュールは、許可情報シェア(2−1−3)、許可情報シェア検証用情報(2−1)を添付したメッセージを端末3に対し、送信するようにメッセージ生成モジュールに依頼する(シーケンス3015)。   Similarly, the control module of the terminal 1 requests the message generation module to transmit a message attached with the permission information share (2-1-3) and permission information share verification information (2-1) to the terminal 3. (Sequence 3015).

メッセージ生成モジュールは一次賛成の意思内容に許可情報シェア(2−1−3)、許可情報シェア検証用情報(2−1)を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末3に賛否の一次意思決定メッセージ515として送信する(シーケンス3016〜3019)。   The message generation module generates a message with permission information share (2-1-3) and permission information share verification information (2-1) attached to the intention content of the primary approval, and after performing the message encryption process, the message Through a processing module, it transmits to terminal 3 as a primary decision message 515 for approval or disapproval (sequences 3016 to 3019).

図26において、シーケンス3014、3019はそれぞれ図21のメッセージ513、515に相当する。   In FIG. 26, sequences 3014 and 3019 correspond to the messages 513 and 515 in FIG.

図27は、図24において、端末2が一次の意思決定を行った後の端末2内のモジュール処理を示すシーケンス図である。   FIG. 27 is a sequence diagram showing module processing in the terminal 2 after the terminal 2 makes a primary decision in FIG.

図27における処理(シーケンス3100〜3119)は図26の端末1内の処理(シーケンス3000〜3019)とまったく同じであり、許可情報(2−2)を生成し、さらにその許可情報(2−2)を利用して、VSSにより閾値(3、3)で許可情報シェア(2−2−1)、許可情報シェア(2−2−2)、許可情報シェア(2−2−3)、許可情報シェア検証用情報(2−2)を生成し、許可情報シェア(2−2−2)は端末2のデータベースで保存し、許可情報シェア(2−2−1)と許可情報シェア検証用情報(2−2)はシーケンス3114により、端末1に投票用情報提供メッセージ508として送信し、許可情報シェア(2−2−3)と許可情報シェア検証用情報(2−2)はシーケンス3119により、端末3に賛否の一次意思決定メッセージ510として送信する。   The processing (sequence 3100-3119) in FIG. 27 is exactly the same as the processing (sequence 3000-3019) in the terminal 1 of FIG. 26, generates permission information (2-2), and further generates permission information (2-2). ), The permission information share (2-2-1), the permission information share (2-2-2), the permission information share (2-2-3), and the permission information with the threshold (3, 3) by using VSS. Share verification information (2-2) is generated, permission information share (2-2-2) is stored in the database of terminal 2, permission information share (2-2-1) and permission information share verification information ( 2-2) is transmitted to terminal 1 as voting information provision message 508 by sequence 3114, and permission information share (2-2-3) and permission information share verification information (2-2) are transmitted to terminal 1 by sequence 3119. Pros and cons of 3 Transmitting the primary decision message 510.

図27において、シーケンス3114、3119はそれぞれ図21のメッセージ508、510に相当する。   In FIG. 27, sequences 3114 and 3119 correspond to messages 508 and 510 in FIG. 21, respectively.

図28は端末1が端末2から投票用情報提供メッセージ513の応答メッセージとしてメッセージ514を受信し、端末2から投票用情報提供メッセージ508を受信し、その応答メッセージ509を送信し、端末3から一次結果通知メッセージ516を受信し、その応答メッセージ517を送信するまでの端末1内のモジュール処理を示すシーケンス図である。図28において、メッセージ514、508、509と順番に処理するが、順番は場合によって異なる。   In FIG. 28, the terminal 1 receives the message 514 as a response message of the voting information provision message 513 from the terminal 2, receives the voting information provision message 508 from the terminal 2, transmits the response message 509, and receives the primary message from the terminal 3. FIG. 11 is a sequence diagram showing module processing in the terminal 1 until a result notification message 516 is received and a response message 517 is transmitted. In FIG. 28, the messages 514, 508, and 509 are processed in order, but the order varies depending on the case.

端末1の制御モジュールは端末2から投票用情報提供メッセージ513の応答メッセージ514を受信する(シーケンス3200〜3206)。   The control module of terminal 1 receives response message 514 of voting information provision message 513 from terminal 2 (sequence 3200-3206).

端末1のメッセージ処理モジュールは端末2からメッセージ508を受信すると、端末2と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス3207〜3212)。そして、復号化されたメッセージの内容、添付されている許可情報シェア(2−2−1)、許可情報シェア検証用情報(2−2)を制御モジュールに渡す(シーケンス3213)。   When the message processing module of the terminal 1 receives the message 508 from the terminal 2, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 2 ( Sequence 3207 to 3212). Then, the contents of the decrypted message, the attached permission information share (2-2-1), and permission information share verification information (2-2) are passed to the control module (sequence 3213).

制御モジュールは復号されたメッセージ内容から投票用情報が添付されていることを知る。そして、制御モジュールは許可情報シェア(2−2−1)と許可情報シェアを検証用情報(2−2)をデータベースに保存する(シーケンス3214、3215)。   The control module knows that voting information is attached from the decrypted message content. Then, the control module stores the permission information share (2-2-1) and the permission information share in the database for verification information (2-2) (sequences 3214 and 3215).

次に、制御モジュールは端末2に応答メッセージを返すために、端末2と共有するセッションキーをデータベースに問い合わせた後(シーケンス3216、3217)、応答メッセージを端末2に対し送信するようにメッセージ生成モジュールに依頼する(シーケンス3218)。このとき、端末2と共有するセッションキーを渡す。   Next, in order to return a response message to the terminal 2, the control module inquires of the database about a session key shared with the terminal 2 (sequences 3216 and 3217), and then transmits a response message to the terminal 2. (Sequence 3218). At this time, a session key shared with the terminal 2 is passed.

メッセージ生成モジュールは応答内容を生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて応答メッセージ509を端末2に送信する(シーケンス3219〜3222)。   The message generation module generates a response content, performs a message encryption process, and then transmits a response message 509 to the terminal 2 through the message processing module (sequences 3219 to 3222).

応答メッセージ509送信後、端末1の制御モジュールは端末3から一次結果通知メッセージ516を受信する(シーケンス3223〜3229)。そして、制御モジュールはメッセージから、端末3が全メンバ端末(端末1と端末2)から受信した賛否の一次意思決定メッセージ515、510において、全メンバ端末からの賛成を得て、投票準備が完了し、投票が可能であることを知る。   After transmitting the response message 509, the control module of the terminal 1 receives the primary result notification message 516 from the terminal 3 (sequences 3223 to 3229). Then, the control module obtains approval from all the member terminals in the primary decision making messages 515 and 510 of approval / disapproval received from all the member terminals (terminal 1 and terminal 2) by the terminal 3, and the preparation for voting is completed. , Know that voting is possible.

制御モジュールはメッセージ生成モジュールを介して、一次結果通知メッセージ516の応答メッセージ517を端末3に送信する(シーケンス3230〜3234)。   The control module transmits a response message 517 of the primary result notification message 516 to the terminal 3 through the message generation module (sequences 3230 to 3234).

応答メッセージ517を端末3に送信した後、制御モジュールに端末4のコミュニティ201への参加・加入に対する賛否の最終的な決定を行うために、意思入力モジュールに問い合わせる(シーケンス3235)。ここで端末1は最終的に端末4のコミュニティ201への参加・加入に賛成であるとする。意思入力モジュールは賛成であることを示す意思を制御モジュールに伝える(シーケンス3236)。   After transmitting the response message 517 to the terminal 3, the control module is inquired of the intention input module in order to make a final decision on the approval or disapproval for participation / subscription in the community 201 of the terminal 4 (sequence 3235). Here, it is assumed that the terminal 1 finally agrees to participate / subscribe to the community 201 of the terminal 4. The intention input module communicates the intention indicating approval to the control module (sequence 3236).

図28において、シーケンス3200、3207、3222、3223、3234はそれぞれ図21のメッセージ514、508、509、516、517に相当する。   In FIG. 28, sequences 3200, 3207, 3222, 3223, and 3234 correspond to messages 514, 508, 509, 516, and 517 in FIG.

図29は端末2が端末1から投票用情報提供メッセージ508の応答メッセージとして509を受信し、端末1から投票用情報提供メッセージ513を受信し、その応答メッセージ514を送信し、端末3から一次結果通知メッセージ518を受信し、その応答メッセージ519を送信するまでの端末2内のモジュール処理を示すシーケンス図である。図29において、メッセージ509、513、514と順番に処理するが、順番は場合によって異なる。   29, the terminal 2 receives 509 as a response message of the voting information provision message 508 from the terminal 1, receives the voting information provision message 513 from the terminal 1, transmits the response message 514, and receives the primary result from the terminal 3. FIG. 11 is a sequence diagram showing module processing in the terminal 2 until a notification message 518 is received and a response message 519 is transmitted. In FIG. 29, messages 509, 513, and 514 are processed in order, but the order varies depending on the case.

図29における処理(シーケンス3300〜3336)は図28の処理(シーケンス3200〜3236)とまったく同じであり、端末1から投票用情報提供メッセージ513により許可情報シェア(2−1−2)と許可情報シェア検証用情報(2−1)を取得し、端末3から一次結果通知メッセージ518において、端末3が全メンバ端末(端末1と端末2)から受信した賛否の一次意思決定メッセージ515、510において、全メンバ端末からの賛成を得て、投票準備が完了し、投票が可能であることを知る。   The process in FIG. 29 (sequence 3300-3336) is exactly the same as the process in FIG. 28 (sequence 3200-3236), and permission information share (2-1-2) and permission information are transmitted from terminal 1 by voting information provision message 513. The share verification information (2-1) is acquired, and in the primary result notification message 518 from the terminal 3, in the primary decision making messages 515 and 510 that the terminal 3 receives from all the member terminals (terminal 1 and terminal 2), Get approval from all the member terminals and know that voting preparation is completed and voting is possible.

応答メッセージ519を端末3に送信した後、端末2の制御モジュールは端末4のコミュニティ201への参加・加入に対する賛否の最終的な決定を行うために、意思入力モジュールに問い合わせる(シーケンス3335)。ここで端末2は最終的に端末4のコミュニティ201への参加・加入に賛成であるとする。意思入力モジュールは賛成であることを示す意思を制御モジュールに伝える(シーケンス3336)。   After transmitting the response message 519 to the terminal 3, the control module of the terminal 2 inquires the intention input module in order to make a final decision on the approval or disapproval of the participation or participation in the community 201 of the terminal 4 (sequence 3335). Here, it is assumed that the terminal 2 finally agrees to participate / subscribe to the community 201 of the terminal 4. The intention input module communicates the intention indicating approval to the control module (sequence 3336).

図29において、シーケンス3300、3307、3322、3323、3334はそれぞれ図21のメッセージ509、513、514、518、519に相当する。   In FIG. 29, sequences 3300, 3307, 3322, 3323, and 3334 correspond to messages 509, 513, 514, 518, and 519 in FIG.

図30は、賛否の一次意思決定メッセージ515を端末1から受信したときと、賛否の一次意思決定メッセージ510を端末2から受信したときの端末3内のモジュール処理を示すシーケンス図である。図30では端末1からのメッセージが最初に端末3に到着しているが、場合によっては端末2からのメッセージが最初に到着することもある。   FIG. 30 is a sequence diagram showing module processing in the terminal 3 when the primary decision message 515 for approval / disapproval is received from the terminal 1 and when the primary decision message 510 for approval / disapproval is received from the terminal 2. In FIG. 30, the message from the terminal 1 arrives at the terminal 3 first, but in some cases, the message from the terminal 2 may arrive first.

端末3のメッセージ処理モジュールはメッセージ515を受信すると、端末1と共有するセッションキーで暗号化されたメッセージの復号化のために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う(シーケンス3400〜3405)。そして、復号化されたメッセージ内容、添付されている許可情報シェア(2−1−3)、許可情報シェア検証用情報(2−1)を制御モジュールに渡す(シーケンス3406)。   When the message processing module of the terminal 3 receives the message 515, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 1 (sequence 3400- 3405). Then, the decrypted message contents, attached permission information share (2-1-3), and permission information share verification information (2-1) are passed to the control module (sequence 3406).

制御モジュールは端末1が一次賛成の意思があることを知る。制御モジュールは取得した許可情報シェア(2−1−3)、許可情報シェア検証用情報(2−1)をデータベースに保存する(シーケンス3407、3408)。   The control module knows that the terminal 1 is willing to give primary approval. The control module stores the acquired permission information share (2-1-3) and permission information share verification information (2-1) in a database (sequences 3407 and 3408).

端末3のメッセージ処理モジュールはメッセージ510を受信すると、端末2と共有するセッションキーで暗号化されたメッセージの復号化のために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う(シーケンス3409〜3414)。そして、復号化されたメッセージ内容、添付されている許可情報シェア(2−2−3)、許可情報シェア検証用情報(2−2)を制御モジュールに渡す(シーケンス3415)。   When the message processing module of the terminal 3 receives the message 510, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 2 (sequences 3409 to 3409). 3414). Then, the decrypted message content, attached permission information share (2-2-3), and permission information share verification information (2-2) are passed to the control module (sequence 3415).

制御モジュールは端末2が一次賛成の意思があることを知る。制御モジュールは取得した許可情報シェア(2−2−3)、許可情報シェア検証用情報(2−2)をデータベースに保存する(シーケンス3416、3417)。   The control module knows that the terminal 2 is willing to give primary approval. The control module stores the acquired permission information share (2-2-3) and permission information share verification information (2-2) in the database (sequences 3416 and 3417).

図30において、シーケンス3400は図21のメッセージ515に、シーケンス3409は図21のメッセージ510に相当する。   In FIG. 30, a sequence 3400 corresponds to the message 515 in FIG. 21, and a sequence 3409 corresponds to the message 510 in FIG.

図31は図30において、端末3が全メンバ端末(端末1と端末2)からそれぞれ賛否の一次意思決定メッセージ(メッセージ515、510)を受信し、その結果を全メンバ端末に通知するときの端末3内のモジュール処理を示すシーケンス図である。   FIG. 31 shows a terminal in FIG. 30 in which the terminal 3 receives primary approval / disapproval messages (messages 515 and 510) from all member terminals (terminal 1 and terminal 2) and notifies the result to all member terminals. 3 is a sequence diagram showing module processing in FIG.

端末3は全メンバ端末(端末1と端末2)から賛否の一次意思決定メッセージを受信したので、全メンバ端末に一次結果通知メッセージを送信する。このとき、全メンバ端末が賛成を示した場合、投票が可能であることを、そうでない場合、投票が不可能であることを伝える。   Since the terminal 3 has received the primary decision message for approval / disapproval from all the member terminals (terminal 1 and terminal 2), the terminal 3 transmits a primary result notification message to all the member terminals. At this time, if all the member terminals indicate approval, it is notified that voting is possible, and otherwise, it is notified that voting is impossible.

端末3の制御モジュールはメッセージ生成モジュールに対し、投票が可能であることを示す内容の一次結果通知メッセージを端末1に送信するように依頼する(シーケンス3500)。   The control module of the terminal 3 requests the message generation module to transmit a primary result notification message indicating that voting is possible to the terminal 1 (sequence 3500).

メッセージ生成モジュールは投票が可能であることを示す内容のメッセージを生成し、メッセージ暗号化プロセスを行って、メッセージ処理モジュールを介して端末1に一次結果通知メッセージ516を送信する(シーケンス3501〜3504)。   The message generation module generates a message indicating that voting is possible, performs a message encryption process, and transmits a primary result notification message 516 to the terminal 1 via the message processing module (sequence 3501 to 3504). .

同様に、端末2に対しても一次結果通知メッセージ518を送信する(シーケンス3505〜3509)。   Similarly, primary result notification message 518 is also transmitted to terminal 2 (sequence 3505-3509).

一次結果通知メッセージ516、518を送信後、端末3の制御モジュールは端末1と端末2からそれぞれ応答メッセージ517、519を受信する(メッセージ3510〜3523)。   After transmitting the primary result notification messages 516 and 518, the control module of the terminal 3 receives response messages 517 and 519 from the terminal 1 and the terminal 2, respectively (messages 3510 to 3523).

図31において、シーケンス3504、3509、3510、3517はそれぞれ図21のメッセージ516、518、517、519に相当する。   In FIG. 31, sequences 3504, 3509, 3510, and 3517 correspond to the messages 516, 518, 517, and 519 of FIG.

図32は図28で端末1が端末4のコミュニティ201への参加・加入に対する最終的な意思決定を行った後の端末1のモジュール処理を示すシーケンス図である。   FIG. 32 is a sequence diagram showing module processing of the terminal 1 after the terminal 1 makes a final decision on participation / subscription to the community 201 of the terminal 4 in FIG.

端末1の制御モジュールは意思入力モジュールから最終的な賛否の意思決定を伝えられたので(シーケンス3236)、端末3と共有しているセッションキー、端末4の公開鍵、許可情報シェア(2−2−1)、許可情報シェア検証用情報(2−2)をデータベースに問い合わせる(シーケンス3600、3601)。そして、許可情報シェア(2−2−1)に不正がないかどうかシェア検証モジュールに許可情報シェア(2−2−1)と許可情報シェア検証用情報(2−2)を渡してチェックを依頼する(シーケンス3602、3603)。   Since the control module of the terminal 1 is notified of the final decision of approval or disapproval from the intention input module (sequence 3236), the session key shared with the terminal 3, the public key of the terminal 4, the permission information share (2-2) -1) Inquires the database for permission information share verification information (2-2) (sequences 3600 and 3601). Then, whether or not the permission information share (2-2-1) is fraudulent is requested by passing the permission information share (2-2-1) and permission information share verification information (2-2) to the share verification module. (Sequence 3602 and 3603).

許可情報シェア(2−2−1)に不正がなければ、許可情報シェア(2−2−1)と端末4の公開鍵を公開鍵暗号方式暗号化モジュールに渡し、暗号化を依頼する(シーケンス3604、3605)。このとき、端末1の宛先情報を併せて暗号化を行う。生成された情報を許可チケット(2−1)とする。   If the permission information share (2-2-1) is not illegal, the permission information share (2-2-1) and the public key of the terminal 4 are passed to the public key cryptosystem encryption module, and encryption is requested (sequence). 3604, 3605). At this time, the destination information of the terminal 1 is also encrypted. Let the generated information be a permission ticket (2-1).

制御モジュールは許可チケット(2−1)、端末3と共有しているセッションキー、をメッセージ生成モジュールに提供し、賛否の最終意思決定メッセージを端末3に対して送信するように依頼する(シーケンス3606)。   The control module provides the permission ticket (2-1) and the session key shared with the terminal 3 to the message generation module, and requests the terminal 3 to transmit a final decision message for approval or disapproval (sequence 3606). ).

メッセージ生成モジュールは最終的に賛成の意思を示す内容に許可チケット(2−1)を添付してメッセージを生成し、メッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて賛否の最終意思決定メッセージ520を送信する(シーケンス3607〜3610)。   The message generation module finally generates a message by attaching a permission ticket (2-1) to the content indicating approval intention, performs a message encryption process, and transmits a final decision message 520 for approval or disapproval through the message processing module. (Sequence 3607 to 3610).

賛否の最終意思決定メッセージ520を送信後、端末1は端末3から応答メッセージ521を受信する(シーケンス3611〜3617)。   After transmitting the approval / disapproval final decision message 520, the terminal 1 receives the response message 521 from the terminal 3 (sequences 3611 to 3617).

また、応答メッセージ521を受信後、端末3から最終結果通知メッセージ524を受信する(シーケンス3618〜3624)。   In addition, after receiving response message 521, final result notification message 524 is received from terminal 3 (sequences 3618 to 3624).

制御モジュールは最終結果通知メッセージ524の内容から最終的に全メンバ端末が端末4のコミュニティへの参加・加入に賛成であったことを知る。そして、コネクション確立情報シェア(2−3−1)を取得する。   From the content of the final result notification message 524, the control module finally knows that all the member terminals are in favor of joining / subscribing to the community of the terminal 4. And connection establishment information share (2-3-1) is acquired.

制御モジュールは取得したコネクション確立情報シェア(2−3−1)をデータベースに保存後(シーケンス3625、3626)、応答メッセージ525を送信する(シーケンス3627〜3631)。   The control module stores the acquired connection establishment information share (2-3-1) in the database (sequences 3625 and 3626), and then transmits a response message 525 (sequences 3627 to 3631).

図32において、シーケンス3610、3611、3618、3631はそれぞれ図21のメッセージ520、521、524、525に相当する。   In FIG. 32, sequences 3610, 3611, 3618, and 3631 correspond to the messages 520, 521, 524, and 525 of FIG.

図33は、図29で端末2が端末4のコミュニティ201への参加・加入に対する最終的な意思決定を行った後の端末2内のモジュール処理を示すシーケンス図である。   FIG. 33 is a sequence diagram illustrating module processing in the terminal 2 after the terminal 2 makes a final decision on participation / subscription to the community 201 of the terminal 4 in FIG.

図33の処理(シーケンス3700〜3731)は図32の処理とまったく同じである(シーケンス3600〜3631)。   The processing in FIG. 33 (sequences 3700 to 3731) is exactly the same as the processing in FIG. 32 (sequences 3600 to 3631).

端末2は許可情報シェア(2−1−2)の不正チェックを行った後、端末4の公開鍵で許可情報シェア(2−1−2)を端末2の宛先情報と併せて暗号化を行い、許可チケット(2−2)を生成する(シーケンス3700〜3705)。   After the fraud check of the permission information share (2-1-2), the terminal 2 encrypts the permission information share (2-1-2) together with the destination information of the terminal 2 using the public key of the terminal 4 The permission ticket (2-2) is generated (sequence 3700-3705).

そして、許可チケット(2−2)を添付した賛否の最終意思決定メッセージ522を端末3に対して送信する(シーケンス3706〜3710)。賛否の最終意思決定メッセージ522送信後、応答メッセージ523を受信する(シーケンス3711〜3717)。   Then, the approval / disapproval final decision message 522 attached with the permission ticket (2-2) is transmitted to the terminal 3 (sequences 3706 to 3710). After transmitting the approval / disapproval final decision-making message 522, the response message 523 is received (sequence 3711 to 3717).

応答メッセージ523の受信後、端末3から最終結果通知メッセージ526を受信し(シーケンス3718〜3724)、コネクション確立情報シェア(2−3−2)をデータベースに保存後(シーケンス3725、3726)、応答メッセージ527を送信する(シーケンス3727〜3731)。   After receiving the response message 523, the terminal 3 receives the final result notification message 526 (sequences 3718 to 3724), stores the connection establishment information share (2-3-2) in the database (sequences 3725 and 3726), and then receives the response message. 527 is transmitted (sequences 3727 to 3731).

図33において、シーケンス3710、3711、3718、3731はそれぞれ図21のメッセージ522、523、526、527に相当する。   33, sequences 3710, 3711, 3718, and 3731 correspond to messages 522, 523, 526, and 527 of FIG. 21, respectively.

図34は、端末3が端末1から賛否の最終意思決定メッセージ520を受信したときと、端末2から賛否の最終意思決定メッセージ522を受信したときのモジュール処理を示すシーケンス図である。第2の実施の形態では図32に示すようにメッセージ520が先に端末3に到着する例を示しているが、場合によってはメッセージ522が先に到着する場合もある。   FIG. 34 is a sequence diagram illustrating module processing when the terminal 3 receives a final approval / disapproval message 520 from the terminal 1 and when receiving a final approval / disapproval message 522 from the terminal 2. In the second embodiment, an example in which the message 520 arrives first at the terminal 3 as shown in FIG. 32 is shown, but the message 522 may arrive first in some cases.

端末3のメッセージ処理モジュールは端末1からメッセージ520を受信すると、端末1と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス3800〜3805)。そして、得られたメッセージ内容と添付されている許可チケット(2−1)を制御モジュールに引き渡す(シーケンス3806)。   When the message processing module of the terminal 3 receives the message 520 from the terminal 1, it performs a message decryption process via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 1. (Sequence 3800-3805). Then, the obtained message content and the attached permission ticket (2-1) are delivered to the control module (sequence 3806).

制御モジュールは復号化されたメッセージ内容から端末1が最終的に賛成の意思を示したことを知る。そして、制御モジュールは許可チケット(2−1)をデータベースに保存しておく(シーケンス3807、3808)。   The control module knows from the decrypted message content that the terminal 1 has finally expressed its intention to agree. Then, the control module stores the permission ticket (2-1) in the database (sequences 3807 and 3808).

制御モジュールは端末1に対して、応答メッセージ521を返す(シーケンス3809〜3813)。   The control module returns a response message 521 to the terminal 1 (sequences 3809 to 3813).

同様に端末3のメッセージ処理モジュールは端末2からメッセージ522を受信すると、端末2と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス3814〜3819)。そして、得られたメッセージ内容と添付されている許可チケット(2−2)を制御モジュールに引き渡す(シーケンス3820)。   Similarly, when the message processing module of the terminal 3 receives the message 522 from the terminal 2, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 2. Is performed (sequences 3814 to 3819). Then, the obtained message content and the attached permission ticket (2-2) are delivered to the control module (sequence 3820).

制御モジュールは復号化されたメッセージ内容から端末2が最終的に賛成の意思を示したことを知る。そして、制御モジュールは許可チケット(2−2)をデータベースに保存しておく(シーケンス3821、3822)。   The control module knows from the decrypted message content that the terminal 2 has finally expressed its intention to agree. Then, the control module stores the permission ticket (2-2) in the database (sequences 3821 and 3822).

そして、制御モジュールは端末2に対して、応答メッセージ523を返す(シーケンス3823〜3827)。   Then, the control module returns a response message 523 to the terminal 2 (sequences 3823 to 3827).

図34において、シーケンス3800、3813、3814、3827はそれぞれ図21のメッセージ520、521、522、523に相当する。   34, sequences 3800, 3813, 3814, and 3827 correspond to messages 520, 521, 522, and 523 in FIG. 21, respectively.

図35は、端末3が全メンバ端末(端末1と端末2)から最終意思決定メッセージ(メッセージ520、522)を受信し、全メンバ端末に応答メッセージ(メッセージ521、523)を送信した後の端末3内のモジュール処理を示すシーケンス図である。   FIG. 35 shows a terminal after terminal 3 has received a final decision message (messages 520 and 522) from all member terminals (terminal 1 and terminal 2) and has transmitted a response message (messages 521 and 523) to all member terminals. 3 is a sequence diagram showing module processing in FIG.

制御モジュールは全メンバ端末から賛否の脚週意思決定メッセージを受信し、全メンバ端末が賛成であることを知る。   The control module receives the approval / disapproval leg week decision message from all the member terminals and knows that all the member terminals are in favor.

制御モジュールは全メンバ端末が賛成であったことを知らせるために、最終結果通知メッセージを送信しなければならない。   The control module must send a final result notification message to inform that all member terminals are in favor.

まず、制御モジュールはコネクション確立情報生成モジュールに対して、コネクション確立情報を生成するように依頼する(シーケンス3900)。   First, the control module requests the connection establishment information generation module to generate connection establishment information (sequence 3900).

コネクション確立情報生成モジュールはコネクション確立情報(2−3)を生成し、データベースに保存後、制御モジュールに返す(シーケンス3901〜3903)。   The connection establishment information generation module generates connection establishment information (2-3), stores it in the database, and returns it to the control module (sequences 3901 to 3903).

制御モジュールは生成されたコネクション確立情報(2−3)をVSS分散符号化モジュールに対して閾値(3、3)で分散符号化するように依頼する(シーケンス3904)。   The control module requests the VSS distributed encoding module to perform distributed encoding with the threshold (3, 3) on the generated connection establishment information (2-3) (sequence 3904).

VSS分散符号化モジュールは式値(3,3)でコネクション確立情報(2−3)を分散符号化し、生成したコネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)、コネクション確立情報シェア(2−3−)のうち一つ(ここではコネクション確立情報シェア(2−3−3)とする)をデータベースに保存後、残りのコネクション確立情報シェアを制御モジュールに返す(シーケンス3905〜3907)。   The VSS distributed encoding module performs distributed encoding on the connection establishment information (2-3) with the formula values (3, 3), and generates the generated connection establishment information share (2-3-1) and connection establishment information share (2-3- 2) After saving one of the connection establishment information shares (2-3-) (here, connection establishment information share (2-3-3)) in the database, the remaining connection establishment information shares are stored in the control module. Return (sequence 3905 to 3907).

制御モジュールは全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア(2−3−1)を添付した最終結果通知メッセージを端末1に送信するようにメッセージ生成モジュールに依頼する(シーケンス3908)。このとき、端末1とのセッションキー、コネクション確立情報シェア(2−3−1)をメッセージ生成モジュールに渡す。   The control module requests the message generation module to transmit to the terminal 1 a final result notification message in which the connection establishment information share (2-3-1) is attached to the content informing that all the member terminals agree (sequence 3908). ). At this time, the session key with the terminal 1 and the connection establishment information share (2-3-1) are passed to the message generation module.

メッセージ生成モジュールは全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア(2−3−1)を添付したメッセージを生成し、メッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて最終結果通知メッセージ524を端末1に送信する(シーケンス3909〜3912)。   The message generation module generates a message with the connection establishment information share (2-3-1) attached to the content indicating that all the member terminals agree, performs a message encryption process, and sends a final result notification message through the message processing module. 524 is transmitted to the terminal 1 (sequences 3909 to 3912).

同様に、制御モジュールはメッセージ生成モジュールを通じて、コネクション確立情報シェア(2−3−2)を添付した最終結果通知メッセージ526を端末2に送信する(シーケンス3913〜3917)。   Similarly, the control module transmits a final result notification message 526 attached with the connection establishment information share (2-3-2) to the terminal 2 through the message generation module (sequences 3913 to 3917).

最終結果通知メッセージ524、526を送信後、端末3は端末1と端末2からそれぞれ応答メッセージ525、527を受信する(シーケンス3918〜3931)。   After transmitting the final result notification messages 524 and 526, the terminal 3 receives response messages 525 and 527 from the terminal 1 and the terminal 2, respectively (sequences 3918 to 3931).

図35において、シーケンス3912、3917、3918、3925はそれぞれ図21のメッセージ524、526、525、527に相当する。   In FIG. 35, sequences 3912, 3917, 3918, and 3925 correspond to the messages 524, 526, 525, and 527 of FIG.

図36は、図35において、最終結果通知メッセージを全メンバ端末(端末1と端末2)に送信後、端末3が端末4に対してコミュニティ招待メッセージ528を送信するまでのモジュール処理を示すシーケンス図である。   FIG. 36 is a sequence diagram showing module processing until the terminal 3 transmits the community invitation message 528 to the terminal 4 after transmitting the final result notification message to all the member terminals (terminal 1 and terminal 2) in FIG. It is.

制御モジュールは端末4に対し、コミュニティ招待メッセージを送信するために、端末1と端末2からそれぞれ賛否の最終意思決定メッセージ受信時に取得した、許可チケット(2−1)、許可チケット(2−2)と、端末1と端末2からそれぞれ賛否の一次意思決定メッセージ受信時に取得した、許可情報シェア(2−1−3)、許可情報シェア検証用情報(2−1)、許可情報シェア(2−2−3)、許可情報シェア検証用情報(2−2)と、さらに端末4の公開鍵、をデータベースに問い合わせる(シーケンス4000、4001)。   In order to transmit a community invitation message to the terminal 4, the control module obtains the approval ticket (2-1) and the permission ticket (2-2) obtained at the time of receiving the final decision message for approval or disapproval from the terminal 1 and the terminal 2, respectively. And permission information share (2-1-3), permission information share verification information (2-1), permission information share (2-2) acquired when receiving the primary decision message of approval / disapproval from the terminal 1 and the terminal 2, respectively. -3), the permission information share verification information (2-2) and the public key of the terminal 4 are inquired of the database (sequence 4000, 4001).

そして、図32、33と同様に許可チケットを生成する前に許可情報シェア(2−1−3)、許可情報シェア(2−2−3)の不正チェックをそれぞれ、許可情報シェア検証用情報(2−1)、許可情報シェア検証用情報(2−2)を利用して行う(シーケンス4002〜4005)。   Similarly to FIGS. 32 and 33, before the permission ticket is generated, fraud checks on the permission information share (2-1-3) and the permission information share (2-2-3) are performed, respectively. 2-1), using permission information share verification information (2-2) (sequence 4002 to 4005).

不正チェックが終わると、制御モジュールは許可情報シェア(2−1−3)と許可情報シェア(2−2−3)に自端末の宛先情報を併せた情報を、端末4の公開鍵で暗号化する(シーケンス4006、4007)。これを許可チケット(2−3)とする。   When the fraud check is finished, the control module encrypts the information including the permission information share (2-1-3) and the permission information share (2-2-3) with the destination information of the own terminal with the public key of the terminal 4. (Sequence 4006, 4007). This is a permission ticket (2-3).

制御モジュールは端末4と共有するセッションキーの作成を共通鍵生成モジュールに依頼する(シーケンス4008)。共通鍵生成モジュールはセッションキーを生成し、データベースに保存後(シーケンス4009、4010)、制御モジュールにそのセッションキーを渡す(シーケンス4011)。   The control module requests the common key generation module to create a session key shared with the terminal 4 (sequence 4008). The common key generation module generates a session key, stores it in the database (sequence 4009, 4010), and passes the session key to the control module (sequence 4011).

制御モジュールは電子署名と暗号化されたコミュニティ招待メッセージを作成するようにメッセージ生成モジュールに依頼する(シーケンス4012)。このとき、許可チケット(2−1)、許可チケット(2−2)、許可チケット(2−3)、端末4の公開鍵、端末4とのセッションキーをメッセージ生成モジュールに引き渡す。   The control module requests the message generation module to create an electronic signature and an encrypted community invitation message (sequence 4012). At this time, the permission ticket (2-1), the permission ticket (2-2), the permission ticket (2-3), the public key of the terminal 4, and the session key with the terminal 4 are delivered to the message generation module.

メッセージ生成モジュールは、コミュニティ201への招待の内容に許可チケット(2−1)、許可チケット(2−2)、許可チケット(2−3)、を添付したメッセージを生成し、メッセージ電子署名・暗号化プロセスを行って、メッセージ処理モジュールを通じて、端末4はコミュニティ招待メッセージ528を送信する(シーケンス4013〜4022)。   The message generation module generates a message in which the permission ticket (2-1), the permission ticket (2-2), and the permission ticket (2-3) are attached to the contents of the invitation to the community 201, and the message electronic signature / encryption The terminal 4 transmits a community invitation message 528 through the message processing module (sequences 4013 to 4022).

図36において、シーケンス4022は図21のメッセージ528に相当する。   In FIG. 36, the sequence 4022 corresponds to the message 528 of FIG.

図37は、端末4が端末3からコミュニティ招待メッセージ528を受信したときの端末4内のモジュール処理を示すシーケンス図である。   FIG. 37 is a sequence diagram illustrating module processing in the terminal 4 when the terminal 4 receives the community invitation message 528 from the terminal 3.

端末4のメッセージ処理モジュールは端末3からメッセージ528を受信すると、電子署名と暗号化が行われたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ解読プロセスを行う(シーケンス4100〜4127)。そして、復号化されたメッセージ内容と添付されている、許可チケット(2−1)、許可チケット(2−2)、許可チケット(2−3)、端末3と共有するセッションキー、を引き渡す(シーケンス4128)。   When the message processing module of the terminal 4 receives the message 528 from the terminal 3, it performs a message decryption process via the message analysis module in order to decrypt the digitally signed and encrypted message (sequences 4100 to 4127). . Then, the decrypted message content and the attached permission ticket (2-1), permission ticket (2-2), permission ticket (2-3), and session key shared with the terminal 3 are delivered (sequence). 4128).

端末4の制御モジュールは復号化されたメッセージ内容から、端末3が端末4のコミュニティ201への招待を希望しているを知る。ここで、端末4がコミュニティへ参加・加入するかどうかを決定するときに、どのような端末がコミュニティ201に参加・加入しているかを知ることが必要となる。しかし、この時点では、コミュニティ201に参加・加入している全端末のリストを知ることができない。   The control module of the terminal 4 knows from the decrypted message content that the terminal 3 desires an invitation to the community 201 of the terminal 4. Here, when determining whether or not the terminal 4 joins or joins the community, it is necessary to know what terminal is joining or joining the community 201. However, at this point, it is not possible to know a list of all terminals participating in or joining the community 201.

よって、制御モジュールは、コミュニティ201に参加・加入している全端末を知るために、許可チケット(2−1)、許可チケット(2−2)、許可チケット(2−3)を端末4の秘密鍵を利用して復号化する(シーケンス4129〜4140)。   Therefore, the control module sends the permission ticket (2-1), the permission ticket (2-2), and the permission ticket (2-3) to the secret of the terminal 4 in order to know all the terminals that have joined and joined the community 201. Decryption is performed using the key (sequences 4129 to 4140).

端末4の制御モジュールは許可チケットに含まれていた許可情報シェア(許可情報シェア(2−1−2)、許可情報シェア(2−1−3)、許可情報シェア(2−2−1)、許可情報シェア(2−2−3))と端末の宛先情報(端末1、端末2、端末3の宛先情報)を取得し、コミュニティ201に参加・加入している全端末が端末1、端末2、端末3であることを知る。   The control module of the terminal 4 includes the permission information share (permission information share (2-1-2), permission information share (2-1-3), permission information share (2-2-1) included in the permission ticket, Permission information share (2-2-3)) and terminal destination information (terminal 1, terminal 2, and terminal 3 destination information) are acquired, and all terminals participating in / subscribing to the community 201 are terminal 1 and terminal 2 , Know that it is a terminal 3.

図37において、シーケンス4100、4115、4115、4116はそれぞれ図21のメッセージ528、529、530に相当する。   In FIG. 37, sequences 4100, 4115, 4115, and 4116 correspond to messages 528, 529, and 530 in FIG.

図38は、図37において、端末4が端末3から受信したコミュニティ201への招待のメッセージを処理した後、端末1に対してコネクション確立要求メッセージを送信するときのモジュール処理を示すシーケンス図である。   FIG. 38 is a sequence diagram illustrating module processing when the terminal 4 transmits a connection establishment request message to the terminal 1 after processing the invitation message to the community 201 received from the terminal 3 in FIG. .

図37において、端末4の制御モジュールをコミュニティ201に参加・加入している端末が端末1、端末2、および端末3であることを知る。   In FIG. 37, it is known that the terminals that participate in / subscribe the control module of the terminal 4 to the community 201 are the terminal 1, the terminal 2, and the terminal 3.

端末4の制御モジュールは端末1と端末2とセキュアにコネクションを確立するために必要な公開鍵をデータベースに問い合わせ(シーケンス4200、4201)、持っていなければ、外部の公開鍵サーバ5に対し取得要求を行う(シーケンス4202〜4207)。そして、公開鍵を取得後、制御モジュールは意思入力モジュールに対し、コミュニティ201への参加・加入に対する意思決定を伺う(シーケンス4208)。ここで意思入力モジュールは端末4のコミュニティ201への参加・加入に対し賛成の意思があるものとする。意思入力モジュールはコミュニティ201への参加・加入の意思を制御モジュールに伝える(シーケンス4209)。   The control module of the terminal 4 queries the database for a public key necessary for establishing a secure connection with the terminal 1 and the terminal 2 (sequence 4200, 4201), and if not, obtains an acquisition request from the external public key server 5 Are performed (sequences 4202 to 4207). Then, after obtaining the public key, the control module asks the intention input module for decision making regarding participation / subscription in the community 201 (sequence 4208). Here, it is assumed that the intention input module has a willingness to participate in or join the community 201 of the terminal 4. The intention input module informs the control module of the intention to join / join the community 201 (sequence 4209).

制御モジュールは得られた全許可情報シェア(許可情報シェア(2−1−2)、許可情報シェア(2−1−3)、許可情報シェア(2−2−1)、許可情報シェア(2−2−3))、端末(端末1と端末2と端末3)の宛先情報、端末3と共有するセッションキー、および端末1と端末2の公開鍵をデータベースに保存する(シーケンス4210、4211)。   The control module obtains all permission information shares (permission information share (2-1-2), permission information share (2-1-3), permission information share (2-2-1), permission information share (2- 2-3)), destination information of terminals (terminal 1, terminal 2, and terminal 3), session key shared with terminal 3, and public keys of terminal 1 and terminal 2 are stored in a database (sequence 4210, 4211).

制御モジュールはコネクション確立要求メッセージを端末1に対して送信するために、端末1と共有するためのセッションキーの生成を、共通鍵生成モジュールに依頼する(シーケンス4212)。   In order to transmit the connection establishment request message to the terminal 1, the control module requests the common key generation module to generate a session key to be shared with the terminal 1 (sequence 4212).

共通鍵生成モジュールは生成したセッションキーをデータベースに保存し(シーケンス4213、4214)、そのセッションキーを制御モジュールに渡す(シーケンス4215)。   The common key generation module stores the generated session key in the database (sequences 4213 and 4214), and passes the session key to the control module (sequence 4215).

制御モジュールは端末1にコネクション確立要求メッセージを送信するようにメッセージ生成モジュールに対して依頼する(シーケンス4216)。このとき、端末1とのセッションキー、全許可情報シェア、端末1の公開鍵をメッセージ生成モジュールに渡す。   The control module requests the message generation module to transmit a connection establishment request message to the terminal 1 (sequence 4216). At this time, the session key with terminal 1, all permission information shares, and the public key of terminal 1 are passed to the message generation module.

メッセージ生成モジュールはコネクション確立要求の内容に全許可情報シェアを添付したメッセージを生成し、メッセージ電子署名・暗号化プロセスを行って、メッセージ処理モジュールを通じて、端末1にコネクション確立要求メッセージ525を送信する。   The message generation module generates a message with all permission information shares attached to the content of the connection establishment request, performs a message electronic signature / encryption process, and transmits a connection establishment request message 525 to the terminal 1 through the message processing module.

図38において、シーケンス4204、4205、4226はそれぞれ図21のメッセージ531、532、533に相当する。   In FIG. 38, sequences 4204, 4205, and 4226 correspond to the messages 531 532, and 533 in FIG.

図39は、図38において、端末4が送信したコネクション確立要求メッセージ533を端末1が受信したときの端末1内のモジュール処理を示すシーケンス図である。   FIG. 39 is a sequence diagram showing module processing in the terminal 1 when the terminal 1 receives the connection establishment request message 533 transmitted by the terminal 4 in FIG.

端末1のメッセージ処理モジュールはメッセージ533を受信すると、電子署名と暗号化が行われたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ解読プロセスを行う(シーケンス4300〜4315)。そして、復号化されたメッセージ内容と添付されている、全許可情報シェア、端末4と共有するセッションキーを渡す(シーケンス4316)。   When the message processing module of the terminal 1 receives the message 533, the message decryption process is performed via the message analysis module in order to decrypt the electronic signature and the encrypted message (sequences 4300 to 4315). Then, the decrypted message content and the attached all permission information share and the session key shared with the terminal 4 are passed (sequence 4316).

制御モジュールは復号化されたメッセージ内容から端末4が端末1とのコネクションの確立を要求していることを知る。コミュニティ201への参加・加入には全端末の賛成が必要であるため、全端末の賛成による参加・加入の権利を端末4が得ているかどうかを、端末4から取得した全許可情報シェアを用いてチェックする。   The control module knows from the decrypted message content that the terminal 4 requests establishment of a connection with the terminal 1. Since participation / subscription to the community 201 requires the approval of all the terminals, whether or not the terminal 4 has the right to participate / subscribe with the approval of all the terminals is obtained using the all permission information share acquired from the terminal 4 To check.

制御モジュールは全許可情報シェアのうち、許可情報シェア(2−1−2)、許可情報シェア(2−1−3)を許可情報比較モジュールに渡し、端末1が持っている許可情報シェア(2−1−1)と許可情報(2−1)を利用して、端末4がコミュニティ201へ参加・加入する権利をコミュニティ201の他の全端末から得ているかどうかチェックするように依頼する(シーケンス4317)。このとき、同時に端末4の宛先情報を渡す。   The control module passes the permission information share (2-1-2) and the permission information share (2-1-3) to the permission information comparison module among all the permission information shares, and the permission information share (2 -1-1) and permission information (2-1) are used to request that the terminal 4 check whether all the other terminals of the community 201 have the right to join / subscribe to the community 201 (sequence) 4317). At this time, the destination information of the terminal 4 is passed at the same time.

許可情報比較モジュールはデータベースに対し、許可情報シェア(2−1−1)と許可情報(2−1)を問い合わせる(シーケンス4318、4319)。そして、VSS復号化モジュールに対し、許可情報シェア(2−1−1)、許可情報シェア(2−1−2)、許可情報シェア(2−1−3)から許可情報を復号化するように依頼する(シーケンス4320)。   The permission information comparison module inquires of the database about permission information share (2-1-1) and permission information (2-1) (sequences 4318 and 4319). Then, for the VSS decryption module, the permission information is decrypted from the permission information share (2-1-1), the permission information share (2-1-2), and the permission information share (2-1-3). Request (sequence 4320).

VSS復号化モジュールは3個の許可情報シェアから復号化を行い生成した、許可情報(2−1−A)を生成し、許可情報比較モジュールに渡す(シーケンス4321)。   The VSS decryption module generates permission information (2-1-A) generated by decoding from the three permission information shares, and passes it to the permission information comparison module (sequence 4321).

許可情報比較モジュールは許可情報(2−1)と許可情報(2−1−A)の比較を行い、相違がないかどうか判断する。相違があれば、不正とみなしコネクションは確立しない。相違がない場合、比較時の時刻情報と許可情報(2−1)に含まれる時刻情報の差分を計算し、一定時間以上、時間が経過していないことを確認する。経過していなければ正常であると判断し、さらに端末4の宛先情報の比較を行い、許可情報(2−1)に含まれる端末4の宛先情報と相違がないかどうか比較する。   The permission information comparison module compares the permission information (2-1) and the permission information (2-1-A) and determines whether there is a difference. If there is a difference, it is regarded as invalid and the connection is not established. If there is no difference, the difference between the time information at the time of comparison and the time information included in the permission information (2-1) is calculated, and it is confirmed that the time has not passed for a certain time. If it has not elapsed, it is determined that the information is normal, and the destination information of the terminal 4 is compared, and whether there is any difference from the destination information of the terminal 4 included in the permission information (2-1).

以上の比較が正常に終了すると正常応答を制御モジュールに返す(シーケンス4322)。   When the above comparison ends normally, a normal response is returned to the control module (sequence 4322).

次に残りの許可情報シェア(許可情報シェア(2−2−1)、許可情報シェア(2−2−3))に不正がないかどうかをシェア検証モジュールを利用して確認する。   Next, whether or not the remaining permission information shares (permission information share (2-2-1) and permission information share (2-2-3)) are fraudulent is confirmed using a share verification module.

制御モジュールはデータベースに対し、端末2から取得した許可情報シェア検証用情報(2−2)を問い合わせる(シーケンス4323、4324)。そして、制御モジュールは許可情報シェア(2−2−1)と許可情報シェア検証用情報(2−2)をシェア検証モジュールに提供し、不正を検証するようにシェア検証モジュールに依頼し、シェア検証モジュールは不正がなければ、正常応答を制御モジュールに返す(シーケンス4325、4326)。   The control module inquires of the database for permission information share verification information (2-2) acquired from the terminal 2 (sequences 4323 and 4324). Then, the control module provides the permission information share (2-2-1) and permission information share verification information (2-2) to the share verification module, requests the share verification module to verify fraud, and performs share verification. If the module is not illegal, a normal response is returned to the control module (sequence 4325, 4326).

同様に、許可情報シェア(2−2−3)の不正を検証する(シーケンス4327、4328)。   Similarly, the fraud of permission information share (2-2-3) is verified (sequence 4327, 4328).

以上のチェックを行い、全許可情報シェアに全く不正がなければ、端末4がコミュニティ201への参加・加入に対する全端末の賛成を得ていると判断する。そして、コネクション確立要求を承諾し、端末4とのセッションキーをデータベースに保存する(シーケンス4329、4330)。また、コネクション確立情報シェア(2−3−1)をデータベースに問い合わせる(シーケンス4331、4332)。   If the above check is performed and there is no fraud in all permission information shares, it is determined that the terminal 4 has obtained approval from all terminals for participation / subscription in the community 201. Then, the connection establishment request is accepted, and the session key with the terminal 4 is stored in the database (sequences 4329 and 4330). Also, the database is inquired of the connection establishment information share (2-3-1) (sequences 4331 and 4332).

制御モジュールはコネクション確立情報シェア(2−3−1)を添付した応答メッセージを端末4に送信するようにメッセージ生成モジュールに依頼する(シーケンス4333)。このとき、メッセージ生成モジュールに端末4と共有するセッションキーとコネクション確立情報シェア(2−3−1)を渡す。   The control module requests the message generation module to transmit a response message attached with the connection establishment information share (2-3-1) to the terminal 4 (sequence 4333). At this time, the session key shared with the terminal 4 and the connection establishment information share (2-3-1) are passed to the message generation module.

メッセージ生成モジュールはコネクション確立要求に対する承諾の内容にコネクション確立情報シェア(2−3−1)を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末4に応答メッセージ534を送信する(シーケンス4334〜4337)。   The message generation module generates a message with the connection establishment information share (2-3-1) attached to the content of the consent to the connection establishment request, performs the message encryption process, and then sends a response message to the terminal 4 through the message processing module. 534 is transmitted (sequences 4334 to 4337).

応答メッセージ534を端末4に送信後、端末1のメッセージ処理モジュールは端末4からコネクション確立確認メッセージ535を受信する。   After transmitting the response message 534 to the terminal 4, the message processing module of the terminal 1 receives the connection establishment confirmation message 535 from the terminal 4.

メッセージ処理モジュールはメッセージ535を受信すると、端末4と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールをかいして、メッセージ復号化プロセスを行う(シーケンス4338〜4343)。そして、復号化されたメッセージ内容を制御モジュールに渡す(シーケンス4344)。   When the message processing module receives the message 535, in order to decrypt the message encrypted with the session key shared with the terminal 4, the message processing module is used to perform the message decryption process (sequence 4338-). 4343). Then, the decrypted message content is passed to the control module (sequence 4344).

制御モジュールは復号されたメッセージから端末1と端末4の間でコネクションが正常に確立したことを知る。   The control module learns from the decrypted message that the connection has been successfully established between the terminal 1 and the terminal 4.

図39において、シーケンス4300、4337、4338はそれぞれ図21のメッセージ533、534、535に相当する。   In FIG. 39, sequences 4300, 4337, and 4338 correspond to messages 533, 534, and 535 in FIG.

図40は、応答メッセージ534を端末4が受信したときの端末4内のモジュール処理を示すシーケンス図である。   FIG. 40 is a sequence diagram illustrating module processing in the terminal 4 when the terminal 4 receives the response message 534.

端末4のメッセージ処理モジュールはメッセージ534を受信すると、端末1と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス4400〜4405)。そして、復号化されたメッセージ内容とコネクション確立情報シェア(2−3−1)を制御モジュールに渡す(シーケンス4406)。   Upon receiving the message 534, the message processing module of the terminal 4 performs a message decryption process via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 1 (sequence 4400). ~ 4405). Then, the decrypted message content and connection establishment information share (2-3-1) are passed to the control module (sequence 4406).

制御モジュールは復号化されたメッセージ内容から端末1とのコネクションが確立可能であることを判断する。制御モジュールは取得したコネクション確立情報シェア(2−3−1)をデータベースに保存後(シーケンス4407、4408)、コネクション確立確認メッセージを端末1に対して送信する(シーケンス4409〜4413)。   The control module determines from the decrypted message content that a connection with the terminal 1 can be established. The control module stores the acquired connection establishment information share (2-3-1) in the database (sequences 4407 and 4408), and then transmits a connection establishment confirmation message to the terminal 1 (sequences 4409 to 4413).

図40において、シーケンス4400、4413はそれぞれ図21のメッセージ534、535に相当する。   In FIG. 40, sequences 4400 and 4413 correspond to messages 534 and 535 in FIG. 21, respectively.

図41は、図39において、端末4が端末1とコネクションを確立した後、端末2に対してコネクション確立要求メッセージを送信するときの端末4内のモジュール処理を示すシーケンス図である。なお、第2の実施の形態では端末1と先にコネクションを確立するが、場合によっては先に端末2とコネクションを確立する。   FIG. 41 is a sequence diagram showing module processing in the terminal 4 when the terminal 4 transmits a connection establishment request message to the terminal 2 after the terminal 4 establishes a connection with the terminal 1 in FIG. In the second embodiment, the connection is established with the terminal 1 first, but the connection with the terminal 2 is established in some cases.

図41の処理(シーケンス4500〜4514)は図38のシーケンス4212〜4226と全く同じであり、端末4の制御モジュールは端末2と共有するセッションキーを生成して、全許可情報シェアを添付したコネクション確立要求メッセージ536を端末2に対し送信する。   41 (sequence 4500-4514) is exactly the same as sequence 4212-4226 in FIG. 38, and the control module of terminal 4 generates a session key shared with terminal 2 and attaches all permission information shares. An establishment request message 536 is transmitted to the terminal 2.

図41において、シーケンス4514は図21のメッセージ536に相当する。   In FIG. 41, a sequence 4514 corresponds to the message 536 in FIG.

図42は、図41において、端末4が送信したコネクション確立要求メッセージ536を端末2が受信したときのモジュール処理を示すシーケンス図である。   FIG. 42 is a sequence diagram showing module processing when the terminal 2 receives the connection establishment request message 536 transmitted from the terminal 4 in FIG.

図42の処理(シーケンス4600〜4644)は図39の処理(シーケンス4300〜4344)と全く同じであり、端末4から取得した全許可情報シェア(許可情報シェア(2−1−2)、許可情報シェア(2−1−3)、許可情報シェア(2−2−1)、許可情報シェア(2−2−3))を利用して、端末4がコミュニティへの参加・加入に対して全端末から賛成を得ていることを確認してから、端末2は応答メッセージ537にコネクション確立情報シェア(2−3−2)を添付し端末4に送信する。そして、端末2はコネクション確立確認メッセージ538を受信し、端末2と端末4の間でコネクションが正常に確立したことを確認する。   The process in FIG. 42 (sequences 4600 to 4644) is exactly the same as the process in FIG. 39 (sequences 4300 to 4344), and all permission information shares (permission information share (2-1-2) and permission information acquired from the terminal 4). Share (2-1-3), permission information share (2-2-1), permission information share (2-2-3)), and terminal 4 will participate in joining / subscribing to the community. Terminal 2 attaches the connection establishment information share (2-3-2) to the response message 537 and transmits it to the terminal 4. Then, the terminal 2 receives the connection establishment confirmation message 538 and confirms that the connection has been normally established between the terminal 2 and the terminal 4.

図42において、シーケンス4600、4637、4638はそれぞれ図21のメッセージ536、537、538に相当する。   42, sequences 4600, 4637, and 4638 correspond to messages 536, 537, and 538 in FIG. 21, respectively.

図43は、応答メッセージ537を端末4が受信したときの端末4内のモジュール処理を示すシーケンス図である。   FIG. 43 is a sequence diagram illustrating module processing in the terminal 4 when the terminal 4 receives the response message 537.

図43の処理(シーケンス4700〜4713)は図40の処理(シーケンス4400〜4413)と同様であり、端末4は端末2からコネクション確立情報シェア(2−3−2)を取得し、コネクション確立確認メッセージ538を端末2に送信する。   43 (sequences 4700 to 4713) is the same as the process (sequences 4400 to 4413) of FIG. 40, and the terminal 4 acquires the connection establishment information share (2-3-2) from the terminal 2 and confirms the connection establishment. A message 538 is transmitted to the terminal 2.

図43において、シーケンス4700、4713はそれぞれ図21のメッセージ537、538に相当する。   In FIG. 43, sequences 4700 and 4713 correspond to messages 537 and 538 in FIG.

図44は、端末4が端末2に対しコネクション確立確認メッセージ538を送信後、端末3に対してコミュニティ参加・加入承諾メッセージ539を送信するときの端末4内のモジュール処理を示すシーケンス図である。   FIG. 44 is a sequence diagram illustrating module processing in the terminal 4 when the terminal 4 transmits a community establishment / subscription acceptance message 539 to the terminal 3 after the terminal 4 transmits the connection establishment confirmation message 538 to the terminal 2.

端末4の制御モジュールはデータベースに対して、端末3と共有するセッションキー、コネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)を問い合わせる(シーケンス4800、4801)。そして、端末3と共有するセッションキー、コネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)をメッセージ生成モジュールに渡し、コミュニティ参加・加入承諾メッセージを送信するように依頼する(シーケンス4802)。   The control module of the terminal 4 inquires of the database about the session key shared with the terminal 3, the connection establishment information share (2-3-1), and the connection establishment information share (2-3-2) (sequences 4800 and 4801). . Then, the session key shared with the terminal 3, the connection establishment information share (2-3-1), and the connection establishment information share (2-3-2) are passed to the message generation module, and a community participation / subscription acceptance message is transmitted. (Sequence 4802).

メッセージ生成モジュールはコミュニティ参加・加入承諾の内容にコネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末3にコミュニティ参加・加入承諾メッセージ539を送信する(シーケンス4803〜4806)。   The message generation module generates a message with the connection establishment information share (2-3-1) and connection establishment information share (2-3-2) attached to the contents of community participation / subscription acceptance, and performs the message encryption process. Thereafter, a community participation / subscription acceptance message 539 is transmitted to the terminal 3 through the message processing module (sequences 4803 to 4806).

図44において、シーケンス4506は図21のメッセージ539に相当する。   In FIG. 44, a sequence 4506 corresponds to the message 539 in FIG.

図45は、コミュニティ参加・加入承諾メッセージ539を端末3が受信したときの端末3内のモジュール処理を示すシーケンス図である。   FIG. 45 is a sequence diagram showing module processing in the terminal 3 when the terminal 3 receives the community participation / subscription acceptance message 539.

端末3のメッセージ処理モジュールはメッセージ539を受信すると、端末4と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う(シーケンス4900〜4905)。そして、復号化されたメッセージ内容と添付されているコネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)を制御モジュールに渡す(シーケンス4906)。   When the message processing module of the terminal 3 receives the message 539, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 4 (sequence 4900). ~ 4905). Then, the decrypted message content, the connection establishment information share (2-3-1) and the connection establishment information share (2-3-2) attached are passed to the control module (sequence 4906).

制御モジュールは復号化されたメッセージ内容から端末4がコミュニティ201への参加・加入を承諾したことを知る。端末4とコネクションを確立するためには端末3以外のコミュニティ201に参加・加入している全メンバ端末(端末1と端末2)とのコネクションが確立していなければならないため、端末4から取得したコネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)を用いて端末4のコネクション確立状況をチェックする。   The control module knows from the decrypted message content that the terminal 4 has accepted the participation / subscription into the community 201. Obtained from the terminal 4 because the connection with all member terminals (terminal 1 and terminal 2) participating in and joining the community 201 other than the terminal 3 must be established in order to establish a connection with the terminal 4. The connection establishment status of the terminal 4 is checked using the connection establishment information share (2-3-1) and the connection establishment information share (2-3-2).

制御モジュールはコネクション確立情報比較モジュールに対し、コネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)を提供し、端末4が端末1、端末2とコネクションを確立しているかどうかをチェックするように依頼する(シーケンス4907)。   The control module provides the connection establishment information comparison module to the connection establishment information share (2-3-1) and the connection establishment information share (2-3-2), and the terminal 4 establishes a connection with the terminal 1 and the terminal 2. It is requested to check whether or not this is done (sequence 4907).

コネクション確立情報比較モジュールはデータベースにコネクション確立情報シェア(2−3−3)、コネクション確立情報(2−3)を問い合わせる(シーケンス4908、4909)。そして、VSS復号化モジュールに対し、コネクション確立情報シェア(2−3−1)、コネクション確立情報シェア(2−3−2)、コネクション確立情報シェア(2−3−3)を提供し、復号化するように依頼する(シーケンス4910)。   The connection establishment information comparison module inquires the connection establishment information share (2-3-3) and connection establishment information (2-3) to the database (sequences 4908 and 4909). Then, the connection establishment information share (2-3-1), the connection establishment information share (2-3-2), and the connection establishment information share (2-3-3) are provided to the VSS decryption module and decrypted. (Sequence 4910).

VSS復号化モジュールは3個のコネクション確立情報シェアから、コネクション確立情報(2−3−A)を復元し、コネクション確立情報比較モジュールに返す(シーケンス4911)。   The VSS decoding module restores the connection establishment information (2-3-A) from the three connection establishment information shares and returns it to the connection establishment information comparison module (sequence 4911).

コネクション確立情報比較モジュールはコネクション確立情報(2−3−A)とコネクション確立情報(2−3)との比較を行い、相違がないかどうか確認を行う。相違があれば、端末4のアクセスは不正と判断する。相違がなければ、比較時の時刻情報とコネクション確立情報に含まれる時刻情報の差分を計算し、それが一定時間以上経過していないかどうか調べる。   The connection establishment information comparison module compares the connection establishment information (2-3-A) with the connection establishment information (2-3) and checks whether there is a difference. If there is a difference, it is determined that the access of the terminal 4 is illegal. If there is no difference, the difference between the time information at the time of comparison and the time information included in the connection establishment information is calculated, and it is checked whether or not a certain time has elapsed.

以上の処理が正常に終了するなら、コネクション確立情報比較モジュールは制御モジュールに正常応答を返す(シーケンス4912)。   If the above processing ends normally, the connection establishment information comparison module returns a normal response to the control module (sequence 4912).

コネクション確立情報シェアを利用したコネクションのチェックが正常に終了すると、端末3の制御モジュールはコネクション確立を承諾する。そして、制御モジュールはコネクション確立確認メッセージを送信するように、メッセージ生成モジュールに依頼する(シーケンス4913)。このとき、端末4を共有するセッションキーをメッセージ生成モジュールに渡す。   When the connection check using the connection establishment information share ends normally, the control module of the terminal 3 accepts the connection establishment. Then, the control module requests the message generation module to transmit a connection establishment confirmation message (sequence 4913). At this time, the session key sharing the terminal 4 is passed to the message generation module.

メッセージ生成モジュールはコネクション確立確認の内容をメッセージとして生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末4にコネクション確立確認メッセージ540を送信する(シーケンス4914〜4917)。   The message generation module generates the contents of the connection establishment confirmation as a message, performs a message encryption process, and transmits a connection establishment confirmation message 540 to the terminal 4 through the message processing module (sequences 4914 to 4917).

図45において、シーケンス4900は図21のメッセージ539に、シーケンス4917は図21のメッセージ540に相当する。   45, the sequence 4900 corresponds to the message 539 in FIG. 21, and the sequence 4917 corresponds to the message 540 in FIG.

図46は、コネクション確立確認メッセージ540を端末4が受信したときの端末4内のモジュール処理を示す。   FIG. 46 shows module processing in the terminal 4 when the terminal 4 receives the connection establishment confirmation message 540.

端末4のメッセージ処理モジュールはメッセージ540を受信すると、端末3と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う(シーケンス5000〜5005)。そして、復号化されたメッセージ内容を制御モジュールに渡す(シーケンス5006)。   When the message processing module of the terminal 4 receives the message 540, the message decryption process is performed via the message analysis module in order to decrypt the message encrypted with the session key shared with the terminal 3 (sequence). 5000 to 5005). Then, the decrypted message content is passed to the control module (sequence 5006).

制御モジュールは復号化されたメッセージ内容から端末3とのコネクションが正常に確立したことを知る。   The control module knows from the decrypted message content that the connection with the terminal 3 has been successfully established.

図46において、シーケンス5000は図21のメッセージ540に相当する。   In FIG. 46, the sequence 5000 corresponds to the message 540 in FIG.

以上より、新規端末(端末4)のコミュニティへの参加・加入に対して、各メンバ端末(端末1、端末2)は投票用情報である許可情報シェアを投票用情報提供メッセージ、または賛否の一次意思決定メッセージにより、配布することで投票の準備を行い、各メンバ端末が(コミュニティに参加・加入している全端末数−2)個の許可情報シェアを賛成票として、賛否の最終意思決定メッセージにより、応対端末(端末3)に提出することで投票を行い、全メンバ端末が賛成票を提出するかどうかによって、コミュニティへのアクセス権を集中的に管理する存在がいなくても、フルメッシュ網において新規端末のコミュニティへの参加・加入に対する全端末の意思(賛成か反対か)を各端末が確実に確認することができる。   As described above, each member terminal (terminal 1 and terminal 2) uses a permission information share as voting information, a voting information providing message, or a primary or negative for the participation / subscription of a new terminal (terminal 4) to the community. Prepare for voting by distributing with decision-making messages, and each member terminal (total number of terminals participating in / subscribing to the community -2) share the permitted information share with the vote of approval, the final decision message of approval or disapproval By voting by submitting to the receiving terminal (terminal 3), even if there is no existence that centrally manages access rights to the community depending on whether or not all member terminals submit the approval vote, the full mesh network Thus, each terminal can surely confirm the intention (whether or not) of all terminals with respect to participation / subscription of a new terminal in the community.

また、各メンバ端末が他のメンバ端末に依存せず、それぞれ独立に任意のランダムなキーワードを含む許可情報を生成することで、他のメンバ端末が許可情報を推測して不正に生成し、それから許可情報シェアを生成することで、例えば、他の端末が賛成票を提出していないにもかかわらず、あたかも全端末が新規端末のコミュニティへの参加・加入に対して賛成したかのようにふるまうことを困難にし、各メンバ端末が新規端末からコネクション確立要求メッセージを受信したときに、その新規端末が自端末を除く他の全端末からコミュニティへの参加・加入から賛成を得ているかどうかを、自端末の許可情報から生成し、各メンバ端末に配布した(コミュニティに属する全端末数)個の許可情報シェアと自端末のデータベース内の許可情報シェアからVSSにより復元した許可情報と、自端末のデータベース内の許可情報とを比較する処理を、他の端末に不正に操作されずに各メンバ端末は独立に正しくチェックすることができる。   In addition, each member terminal does not depend on the other member terminals, and by independently generating permission information including any random keyword, the other member terminals guess the permission information and illegally generate it. Generating permission information shares, for example, behaves as if all devices were in favor of joining or joining a new device community, even though no other device had submitted a vote If each member terminal receives a connection establishment request message from the new terminal, whether or not the new terminal has gained approval from joining or joining the community from all other terminals except the own terminal, Share of permission information generated from the own terminal's permission information and distributed to each member terminal (the total number of terminals belonging to the community) and permission information in the own terminal's database A permission information restored by VSS through shares, the processing of comparing the authorization information in the database of the terminal, each member terminal without being rigged to another terminal can be checked independently correctly.

また、各メンバ端末は新規端末からコネクション確立要求メッセージを受信したときに、自端末が配布した許可情報シェアを利用した許可情報の比較処理だけを行うのではなく、新規端末が所持している他のメンバ端末が配布した(コミュニティに参加・加入している全端末数−1)×(コミュニティに参加・加入している全端末数−2)個の許可情報シェアに不正がないかどうかを、許可情報シェアの配布時にあらかじめ他のメンバ端末から取得しておいた許可情報シェア検証用情報とシェア検証モジュールとを用いることで検証を行う。   In addition, when each member terminal receives a connection establishment request message from the new terminal, the member terminal does not only perform the comparison process of the permission information using the permission information share distributed by the own terminal, Whether or not there is any fraud in the permission information share of (number of all terminals participating / subscribing to the community-1) × (total number of terminals participating / subscribing to the community-2) distributed by the member terminals of Verification is performed by using permission information share verification information and a share verification module acquired in advance from other member terminals when distributing the permission information share.

これにより、他の各メンバ端末が応対端末に賛成票として許可情報シェアを提出する過程(賛否の最終意思決定メッセージ)や、応対端末が各メンバ端末から回収した許可情報シェアと自端末の許可情報シェアを新規端末に提供する過程(コミュニティ招待メッセージ)において、例えば、すべての許可情報シェアを提出せずに一部の許可情報シェアだけしか提出しないといった不正を検出することができ、自端末で行った許可情報の比較処理において、新規端末がコミュニティへの参加・加入に対し賛成を得ていると判断されるときには、新規端末が自端末以外の他のメンバ端末と必ずコネクションを確立することができる状況を作り出すことができ、さらに、自端末で行った許可情報の比較処理において、新規端末がコミュニティへの参加・加入に対し賛成を得ていないと判断されるときには、新規端末が自端末以外の他のメンバ端末と必ずコネクションを確立することができない状況を作り出すことができる。これにより、賛成を受けていると判断したにもかかわらず新規端末は自端末以外とコネクションを確立することができない。または賛成を受けていないと判断したにもかかわらず新規端末は自端末以外とコネクションを確立することができるといった状況を防止することができる。   As a result, the process in which each other member terminal submits the permission information share as an approval vote to the receiving terminal (final decision message of approval or disapproval), the permission information share collected from each member terminal and the permission information of the own terminal In the process of providing shares to new terminals (community invitation messages), for example, it is possible to detect fraud, such as submitting only some permission information shares without submitting all permission information shares. In the comparison process of permission information, when it is determined that the new terminal is in favor of joining or joining the community, the new terminal can always establish a connection with other member terminals other than its own terminal. A situation can be created, and the new terminal can participate in the community in the comparison process of the permission information performed on its own terminal. - when it is determined not to give the approval to the subscriber can create a situation that can not be new terminal establishes a sure connection with another member terminal other than the terminal itself. As a result, the new terminal cannot establish a connection with a terminal other than its own terminal even though it is determined that it is in favor. Alternatively, it is possible to prevent a situation in which a new terminal can establish a connection with a terminal other than its own terminal even though it is determined that it is not in favor.

また、第2の実施の形態では、各メンバ端末は許可情報を閾値(3、3)で分散符号化し、得られた3個の許可情報シェアのうちの一つは必ず自端末で保存し、さらに許可情報も自端末で保存し、他端末に一切漏らさないため、他の端末が許可情報を推測するのを防止することができる。   Further, in the second embodiment, each member terminal performs distributed encoding of permission information with a threshold (3, 3), and one of the obtained three permission information shares is always stored in its own terminal, Further, since the permission information is also stored in the own terminal and is not leaked to other terminals at all, it is possible to prevent other terminals from guessing the permission information.

また、第2の実施の形態では、各メンバ端末は許可情報を閾値(3、3)で分散符号化し、応対端末と全メンバ端末が賛成を示さなければ(つまり、配布したすべての許可情報シェアが集まらないといけない)、新規端末は各メンバ端末とコネクションを確立することができないが、分散符号化するときの閾値を変化させることで必要な賛成票を自由に変更することができ、例えば、閾値k(k≦3)をとすると、3つの端末からk個の賛成票(許可情報シェア)が集まれば、新規端末はコミュニティに属する端末とコネクションを確立することができるようになるので、投票に必要な賛成票の数を自由に設定することが可能となる。   In the second embodiment, each member terminal performs distributed encoding of permission information with a threshold value (3, 3), and if the receiving terminal and all member terminals do not agree (that is, all distributed permission information shares are distributed). The new terminal cannot establish a connection with each member terminal, but the required vote can be changed freely by changing the threshold value for distributed encoding. For example, If the threshold k (k ≦ 3) is set, if k approval votes (permission information share) are collected from three terminals, a new terminal can establish a connection with a terminal belonging to the community. It is possible to freely set the number of votes required for.

また、新規端末に提供する許可情報シェアをそのまま提供するのではなく、宛先情報も含めて新規端末の公開鍵で暗号化した許可チケットとして提供することで、新規端末以外の端末に盗聴されることを防止し、さらに許可チケットを利用してコミュニティに参加・加入している全端末の宛先情報を新規端末に知らせることができる。   In addition, the permission information share provided to the new terminal is not provided as it is, but it is intercepted by a terminal other than the new terminal by providing it as a permission ticket encrypted with the public key of the new terminal including the destination information. In addition, it is possible to notify the new terminal of destination information of all the terminals participating / subscribing to the community using the permission ticket.

また、投票用情報である許可情報シェアを各メンバ端末が独立に直接、新規端末に提供するのではなく、賛否の最終意思決定メッセージにより、一度、応対端末で収集することで、新規端末が各メンバ端末に対してコネクションの確立要求を行うときに必要となる許可情報シェアを、統一的に扱うことが可能となる。これにより、各メンバ端末が許可情報シェアを新規端末に直接提供するために新規端末へアクセスすることにより発生の可能性のある同時アクセスを防止することができる。   In addition, each member terminal does not provide the permission information share, which is voting information, directly and independently to the new terminal. It becomes possible to handle the permission information share required when making a connection establishment request to the member terminals in a unified manner. Thus, simultaneous access that may occur by each member terminal accessing the new terminal in order to directly provide the permission information share to the new terminal can be prevented.

また、許可情報に時刻情報を設定しておくことで、新規端末が各メンバ端末とコネクションを確立するまでの有効期限を設定することができ、セキュリティレベルを向上させ、さらに許可情報比較モジュールにおいて、基準となる有効時間を自由に設定することで、任意のセキュリティレベルを設定することが可能となる。   Also, by setting the time information in the permission information, it is possible to set an expiration date until the new terminal establishes a connection with each member terminal, improving the security level, and in the permission information comparison module, An arbitrary security level can be set by freely setting a reference effective time.

また、メンバ端末が新規端末とコネクションを確立したかどうかを応対端末がチェックするために、第2の実施の形態では応対端末はコネクション確立情報と閾値(3、3)によって分散符号化した3個のコネクション確立情報シェアとを利用し、各メンバ端末が賛成票である許可情報シェアを提出後、応対端末は全メンバ端末に2個のコネクション確立情報シェアをそれぞれ一つずつ配布し、各メンバ端末は新規端末とコネクションを確立するときに、あらかじめ応対端末から取得していたコネクション確立情報シェアを新規端末に渡し、その後、新規端末が応対端末とコネクションを確立するときに各メンバ端末から取得した2個のコネクション確立情報シェアを応対端末に渡し、応対端末はその2個のコネクション確立情報シェアと、内部の前記データベースで管理するコネクション確立情報シェアとVSS復号化モジュールを利用して、コネクション確立情報を復元し、復元したコネクション情報と応対端末の内部の前記データベースで管理するコネクション確立情報を比較することで、応対端末は新規端末が全メンバ端末とコネクションを確立しているかどうかを確認することができ、応対端末とコネクションを確立するときは必ず全端末とコネクションを確立しなければならないという状況を作り出すことが可能となる。   In addition, in order to check whether the member terminal has established a connection with the new terminal, in the second embodiment, the receiving terminal is distributed and encoded with connection establishment information and threshold values (3, 3). After each member terminal submits an approval information share that is a vote of approval, the receiving terminal distributes two connection establishment information shares to each member terminal one by one. When establishing a connection with a new terminal, the connection establishment information share acquired from the receiving terminal in advance is passed to the new terminal, and then acquired from each member terminal when the new terminal establishes a connection with the receiving terminal. Pass the connection establishment information shares to the receiving terminal, and the receiving terminal shares the two connection establishment information shares, Connection establishment information share managed by the database and a VSS decoding module are used to restore the connection establishment information, and the restored connection information is compared with the connection establishment information managed by the database inside the receiving terminal. Thus, the receiving terminal can check whether the new terminal has established a connection with all member terminals, and creates a situation in which a connection with all the terminals must be established when establishing a connection with the receiving terminal. It becomes possible.

また、コネクション確立情報に時刻情報を設定しておくことで、新規端末が応対端末とコネクションを確立するまでの有効期限を設定することができ、これによりセキュリティレベルを向上させ、さらにコネクション確立情報比較モジュールにおいて、基準となる有効時間を自由に設定することで、任意のセキュリティレベルを設定することが可能となる。   In addition, by setting time information in the connection establishment information, it is possible to set an expiration date until the new terminal establishes a connection with the receiving terminal, thereby improving the security level and comparing the connection establishment information. In the module, it is possible to set an arbitrary security level by freely setting a reference effective time.

また、第2の実施の形態の場合、応対端末がメンバ端末に対し、コミュニティに招待、または参加・加入を希望する新規端末の宛先情報をそのまま提供するのではなく、代わりに閾値(2、2)でVSSにより分散符号化し、得られた宛先情報シェアと、宛先情報シェアの不正を検出するための宛先情報シェア検証用情報をメンバ端末に提供することで、各メンバ端末はそれぞれ取得した宛先情報シェアの不正を宛先情報シェア検証用情報とシェア検証モジュールとを利用して検証することができ、さらに応対端末を除くコミュニティに属する全メンバ端末が協力しないと元の新規端末の宛先情報を復元できないため、応対端末が各メンバ端末ごとに別々の宛先情報を提示するといった不正を防止することができる。   Further, in the case of the second embodiment, the receiving terminal does not provide the member terminal with the destination information of the new terminal that is invited to the community or wants to join or join as it is. ) By providing the member terminal with destination information share obtained by performing distributed encoding using VSS and destination information share verification information for detecting fraud of the destination information share. Share fraud can be verified using the destination information share verification information and the share verification module, and the address information of the original new terminal cannot be restored unless all member terminals belonging to the community except the receiving terminal cooperate. Therefore, it is possible to prevent fraud such that the receiving terminal presents different destination information for each member terminal.

また、各メンバ端末は賛成票を提出する前に、自端末以外の全メンバ端末から取得した許可情報シェアを許可情報シェア検証用情報とシェア検証モジュールを利用して不正のチェックを行うため、不正のない正しい賛成票を応対端末に提出することができると同時に、提出時における不正検出も可能となる。   In addition, each member terminal checks the permission information share obtained from all member terminals other than its own terminal using the permission information share verification information and the share verification module before submitting the approval vote. It is possible to submit a correct approval vote without any error to the receiving terminal and at the same time detect fraud at the time of submission.

また、第2の実施の形態ではコミュニティに属する全端末数が3であるが(端末1、端末2、端末3)、4以上の場合でも同様の効果が得られる。   In the second embodiment, the total number of terminals belonging to the community is three (terminal 1, terminal 2, terminal 3), but the same effect can be obtained even when the number is four or more.

また、端末同士がやり取りするメッセージには電子署名と暗号化、または電子署名による認証後はセッションキーによる暗号化を必ず行うことで、各端末が交換する様々な情報(許可情報シェア、許可情報シェア検証用情報、宛先情報、宛先情報シェア、宛先情報シェア検証用情報、コネクション確立情報、コネクション確立情報シェア)が第三者に盗聴されることを防止することができる。   In addition, messages exchanged between terminals must be digitally signed and encrypted, or encrypted with a session key after authenticating with a digital signature, so that various information exchanged by each terminal (permission information share, permission information share) (Verification information, destination information, destination information share, destination information share verification information, connection establishment information, connection establishment information share) can be prevented from being intercepted by a third party.

また、宛先情報は任意の種類の情報を適用することができ、例えば、IPアドレスやSIPアドレスを適用することができる。   Also, any type of information can be applied to the destination information, for example, an IP address or a SIP address can be applied.

また、以上説明した本発明の実施の形態によれば、新規エンティティがフルメッシュ網によるコミュニティに参加・加入する場合に、既にコミュニティに加入している複数のエンティティによる賛否の票によるアクセスコントロールを実現でき、許可決定プロセス中において存在する不正なエンティティを検出することができ、許可決定プロセスが不正に操作されることを防止でき、新規エンティティがコミュニティに既に参加・加入している各エンティティに対してコネクションを確立する場合に、許可決定プロセスを不正なく安全に行うことができ、コミュニティに参加・加入している他のエンティティが新規エンティティのコミュニティへの参加・加入に賛否(許可)したことを確実に確認することができるコミュニケーションシステム、コミュニケーション方法およびそのプログラムを提供することができる。   In addition, according to the embodiment of the present invention described above, when a new entity joins or joins a community based on a full mesh network, access control based on approval / disapproval votes by a plurality of entities already joining the community is realized. Can detect unauthorized entities present in the authorization decision process, prevent unauthorized manipulation of the authorization decision process, and for each entity that a new entity has already joined or joined the community When establishing a connection, the authorization decision process can be performed safely and without fraud, ensuring that other entities that have joined or joined the community have agreed (allowed) the new entity to join or join the community. Communication system that can be confirmed , It is possible to provide a communication method and a program.

なお、以上説明した本発明の実施の形態において示した構成は、ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の端末に対してはコネクションを確立することでコミュニティを形成し、かつ、公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションシステムであって、2つ以上の端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成されたコミュニティと、コミュニティに属していない新規端末をコミュニティに招待することの要求がされているか、または、コミュニティに属していない新規端末がコミュニティへ属することの要求を受けたコミュニティに属する端末のいずれかにより構成される応対端末と、応対端末以外のコミュニティに属する端末により構成されるメンバ端末と、コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末がメンバ端末のそれぞれにコネクションの確立を要求する場合に、その新規端末がコミュニティのメンバ端末および応対端末から参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するための許可情報生成モジュールと、新規端末がメンバ端末とコネクションを確立したかどうかを応対端末が確認するために必要なコネクション確立情報を生成するコネクション確立情報生成モジュールと、メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、投票用情報であるn個の許可情報シェアと1個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の(k、n)閾値法(k≦n)によって分散符号化し、n個のコネクション確立情報シェアを生成し、同様にコミュニティに参加・加入している全端末数が3以上のときに新規端末の宛先情報を検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、n個の宛先情報シェアと1個の宛先情報シェア検証用情報を生成するためのVSS分散符号化モジュールと、秘密分散法または検証可秘密分散の(k、n)閾値法によって、n個の分散符号化されたシェアからk個以上のシェアを利用することで元の情報を復元するためのVSS復号化モジュールと、許可情報シェア検証用情報と宛先情報シェア検証用情報を利用し、VSSにより許可情報シェアとコネクション確立情報シェアと宛先情報シェアに不正がないかどうかを確認するシェア検証モジュールと、共通鍵暗号化方式によるセッションキーを生成する共通鍵生成モジュールと、を有し、許可情報生成モジュールで生成する許可情報と、VSS分散符号化モジュールと許可情報とを利用して生成する許可情報シェアと、許可情報シェア検証用情報と、コネクション確立情報生成モジュールで生成するコネクション確立情報と、VSS分散符号化モジュールとコネクション確立情報とを利用して生成するコネクション確立情報シェアと、共通鍵生成モジュールで生成するセッションキーと、公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、VSS分散符号化モジュールと宛先情報とを利用して生成する宛先情報シェアと、宛先情報シェア検証用情報と、コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するデータベースと、新規端末がメンバ端末の各々にコネクションの確立を要求する場合に、メンバ端末において新規端末がコミュニティに属する他の端末から賛成を得ているかどうかを、新規端末から取得した許可情報シェアと、自端末のデータベースで管理する許可情報シェアと、VSS復号化モジュールと、を利用して復元した許可情報と、自端末のデータベースで管理する許可情報と、を比較し確認するための許可情報比較モジュールと、応対端末が新規端末からアクセスを受けた場合に、全てのメンバ端末とコネクションを確立しているかどうかを、新規端末から取得したコネクション確立情報シェアと、自端末のデータベースで管理するコネクション確立情報シェアと、VSS復号化モジュールと、を利用して復元したコネクション確立情報と、自端末のデータベースで管理するコネクション確立情報と、を比較し確認するためのコネクション確立情報比較モジュールと、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するための公開鍵暗号化方式暗号化モジュールと、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するための共通鍵暗号化方式暗号化モジュールと、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するためのdigest生成モジュールと、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するための公開鍵暗号化方式復号化モジュールと、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するための共通鍵暗号化方式復号化モジュールと、コネクションを確立するかどうかの決定と、コミュニティへの新規端末の参加・加入に対する賛否の一次決定と、コミュニティへの新規端末の参加・加入に対する賛否の最終決定と、コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするための意思入力モジュールと、要求された内容のメッセージを生成し、メッセージの生成の要求時に渡された情報をメッセージに添付する場合において、メッセージに電子署名と暗号化を施す場合は、公開鍵暗号方式暗号化モジュールと共通鍵暗号方式モジュールとdigest生成モジュールとをもって添付を実行し、一方、暗号化のみを施す場合は、共通鍵暗号方式モジュールをもって添付を実行するためのメッセージ生成モジュールと、許可情報の生成を許可情報生成モジュールに依頼し、コネクション確立情報の生成をコネクション確立情報生成モジュールに依頼し、許可情報シェアと、許可情報シェア検証用情報と、またはコネクション確立情報シェアと、または宛先情報シェアと、宛先情報シェア検証用情報と、を生成することをVSS分散符号化モジュールに依頼し、許可情報シェアの公開鍵による暗号化を公開鍵暗号方式暗号化モジュールに依頼し、暗号化された許可情報シェアの復号化を公開鍵暗号方式復号化モジュールに依頼し、意思入力モジュールに決定を下すように依頼し、宛先情報シェアから宛先情報を復元するようにVSS復号化モジュールに依頼し、許可情報の比較を許可情報比較モジュールに依頼し、コネクション確立情報の比較をコネクション確立情報比較モジュールに依頼し、セッションキーの生成を共通鍵生成モジュールに依頼し、シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、データベースに各種情報の問い合わせと保存を行ってメッセージ生成モジュールにメッセージの生成を依頼するための制御モジュールと、全ての端末について、受信されたメッセージの送受信中に不正行為が行われていないかどうかを確認するために、メッセージに含まれるダイジェストと該メッセージの内容とからdigest生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するためのメッセージ不正判断モジュールと、全ての端末について、受信されたメッセージに電子署名と暗号化が施されている場合は、公開鍵暗号化方式復号化モジュールと、共通鍵暗号方式復号化モジュールと、をもってメッセージを解読し、さらに、メッセージの解読に必要となる発信元端末の公開鍵をデータベースに持っていない場合において、制御モジュールを通じて公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後にメッセージに不正行為が行われていないかどうかを確認するために、得られたメッセージの内容とダイジェストからメッセージの内容をもってdigest生成モジュールによりダイジェストを生成し、2つのダイジェストをメッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ制御モジュールにメッセージ内容を渡し、一方、メッセージに暗号化だけが施されている場合は、共通鍵暗号化方式復号化モジュールによってメッセージを復号し、この復号後のメッセージの内容を制御モジュールへ渡すためのメッセージ解析モジュールと、メッセージ生成モジュールによって生成されたメッセージを、外部の端末または公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージをメッセージ解析モジュールに渡すためのメッセージ処理モジュールと、を備える。   Note that the configuration described in the embodiment of the present invention described above communicates with a plurality of terminals or public key servers connected to the network, and establishes connections to the plurality of terminals to establish a community. Is a communication system for obtaining a public key by a public key acquisition request to a public key server, and a full mesh network formed by a full mesh connection between two or more terminals. A request is made to invite a formed community and a new terminal that does not belong to the community to the community, or a terminal that belongs to the community that has received a request that a new terminal that does not belong to the community belongs to the community. For a service terminal composed of one of them and a community other than the service terminal Information that serves as a basis for creating voting information for deciding whether to participate or join when a new terminal joins or joins a community terminal. To generate permission information that is information for confirming whether or not the new terminal has obtained approval for participation / subscription from the community member terminal and the service terminal when each member terminal is requested to establish a connection. The permission information generation module, the connection establishment information generation module that generates the connection establishment information necessary for the receiving terminal to check whether the new terminal has established a connection with the member terminal, and the member terminal independently generated The permission information is distributed and coded by the (k, n) threshold method (k ≦ n) of the verifiable secret sharing, N pieces of permission information share and one piece of permission information share verification information that is information for voting are generated, and connection establishment information is similarly distributed by the secret sharing method (k, n) threshold method (k ≦ n). , Generate n connection establishment information shares, and similarly verify destination information of new terminals when the total number of terminals participating / subscribing in the community is 3 or more (k, n) threshold method of secret sharing (K ≦ n), and a VSS distributed encoding module for generating n destination information shares and one destination information share verification information, and a secret sharing method or verifiable secret sharing (k, n) VSS decoding module for restoring original information by using k or more shares from n distributed coded shares by threshold method, permission information share verification information and destination information share Validation A share verification module that checks whether the permission information share, the connection establishment information share, and the destination information share are illegal by using VSS, and a common key generation module that generates a session key by a common key encryption method. And the permission information generated by the permission information generation module, the permission information share generated using the VSS distributed encoding module and the permission information, the permission information share verification information, and the connection establishment information generation module The connection establishment information to be generated, the connection establishment information share to be generated by using the VSS distributed coding module and the connection establishment information, the session key to be generated by the common key generation module, and the public key server The public key of the terminal other than the terminal and the private key of your terminal And public key, destination information of other terminals, VSS distributed coding module and destination information share generated using destination information, destination information share verification information, and all participating / subscribed in the community A database that manages a list of all terminals, and whether the new terminal is favored by another terminal that belongs to the community when the new terminal requests each member terminal to establish a connection The permission information share acquired from the new terminal, the permission information share managed by the database of the own terminal, the permission information restored using the VSS decryption module, and the permission information managed by the database of the own terminal The permission information comparison module for comparing and confirming the Establishing a connection with a host terminal by using the connection establishment information share acquired from the new terminal, the connection establishment information share managed by the local terminal database, and the VSS decryption module Connection establishment information comparison module for comparing and confirming information and connection establishment information managed in its own database, and disclosure for encrypting the information requested for encryption using the public key encryption method The key encryption method encryption module, the common key encryption method encryption module for encrypting the information requested for encryption by the common key encryption method, and the conversion results of multiple information must be the same Digest of arbitrary information using a message digest function, which is a kind of hash function that is difficult A digest generation module for generating, a public key encryption scheme decryption module for decrypting information received by the decryption request by a public key encryption scheme, and a common key for the information received by the decryption request Common key encryption method decryption module for decryption by encryption method, determination of whether or not to establish a connection, primary determination of approval or disapproval for participation / subscription of a new terminal to the community, and new terminal to the community A decision input module for making a final decision on whether or not to participate / subscribe and whether or not to join / subscribe to the community, and a message with the requested content. When attaching the information passed at the time of request to the message, if you want to digitally sign and encrypt the message, use public key encryption. A message encryption module, a common key cryptography module, and a digest generation module to execute attachment, and when only encryption is performed, a message generation module for executing attachment with the common key cryptography module, and permission information Request to the permission information generation module, request the connection establishment information generation module to generate the connection establishment information, permit information share, permission information share verification information, connection establishment information share, or destination information share And the destination information share verification information are requested to the VSS distributed encoding module, and encryption with the public key of the permission information share is requested to the public key cryptosystem encryption module, and the encrypted permission Ask the public key cryptosystem decryption module to decrypt the information share, Asks the input module to make a decision, asks the VSS decryption module to restore the destination information from the destination information share, asks the permission information comparison module to compare the permission information, and compares the connection establishment information. Request the connection establishment information comparison module, request the common key generation module to generate the session key, request the share verification module to check whether the permission information share or the destination information share is illegal, A control module for saving and requesting the message generation module to generate a message, and for all terminals, to confirm whether fraudulent activity has been performed during transmission / reception of received messages. Digest from the included digest and the content of the message Message fraud determination module for comparing whether or not there is a difference in the digests generated by the st generation module, and if all received messages are digitally signed and encrypted Control module in the case where the message is decrypted with the key encryption system decryption module and the common key encryption system decryption module, and the public key of the source terminal necessary for decrypting the message is not stored in the database. Requesting the public key server to obtain a public key through the digest, and confirming whether the message is fraudulent after the decryption process, and digesting the message content and the message content from the digest. The digest is generated by the generation module and two digests are generated. The message is sent to the message fraud determination module and a request is made to check for fraud. If there is no fraud, the message content is passed to the control module. On the other hand, if the message is only encrypted, the common key cipher The message decryption module decrypts the message and passes the content of the decrypted message to the control module, and the message generated by the message generation module is sent to an external terminal or public key server. A message processing module for transmitting and passing a message received from an external terminal or public key server to the message analysis module.

また、許可情報生成モジュールは、許可情報を、生成時の時刻情報と、新規端末の宛先情報と、任意のランダムなキーワードと、により構成し生成する。   Further, the permission information generating module generates and generates permission information by time information at the time of generation, destination information of the new terminal, and an arbitrary random keyword.

また、コネクション確立情報生成モジュールは、コネクション確立情報を、生成時の時刻情報と、新規端末の宛先情報と、任意のランダムなキーワードと、により構成し生成する。   The connection establishment information generation module generates and generates connection establishment information by time information at the time of generation, destination information of a new terminal, and an arbitrary random keyword.

また、全端末数が2つの場合において、応対端末が、メンバ端末に新規端末のコミュニティへの参加・加入に対する賛否を伺い、メンバ端末は賛成の場合に独立に生成した許可情報を元にVSS分散符号化モジュールにより投票用情報である許可情報シェアを閾値(3、3)により3個生成し、そのうちの一つを応対端末に配布する第一段階と、第一段階でメンバ端末が賛成であった場合に、メンバ端末は自端末が持つ1つの許可情報シェアを賛成票として応対端末に提出し、新規端末をコミュニティに参加・加入させるかどうかを決定する第二段階と、第二段階においてメンバ端末が賛成であった場合に、応対端末がメンバ端末から賛成票として回収した1個と、応対端末が持つ1個と、を併せた2個の許可情報シェアを新規端末にコミュニティへの参加・加入するためのチケットとして提供し、新規端末がメンバ端末とコネクションを確立する際に、応対端末から取得した全ての許可情報シェアを、コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、あるいは、全端末数が3つ以上の場合において、応対端末が全てのメンバ端末に新規端末のコミュニティへの参加・加入に対する賛否を伺い、各々のメンバ端末は独立に生成した許可情報を元にVSS分散符号化モジュールにより閾値((全端末数)、(全端末数))で(全端末数)個の許可情報シェアと、1個の許可情報シェア検証用情報と、を生成し、(全端末数)個のうちの(全端末数−1)個の許可情報シェアをそれぞれ他の全てのメンバ端末と応対端末に1つずつ配布し、同時に許可情報シェア検証用情報を配布した後を第一段階とし、第一段階で全てのメンバ端末が賛成であった場合に、各々のメンバ端末は他の全てのメンバ端末から取得した(全端末数−2)個の許可情報シェアを賛成票として応対端末に提出することで、新規端末をコミュニティに参加・加入させるかどうかを決定することを第二段階とし、第二段階において全てのメンバ端末が賛成であった場合に、応対端末が全てのメンバ端末から賛成票として回収した(全端末数−2)×(全端末数−1)個と応対端末が持つ(全端末数−1)個とを併せた、(全端末数−1)×(全端末数−1)個の許可情報シェアを新規端末にコミュニティへの参加・加入するためのチケットとして提供し、新規端末が各々のメンバ端末とコネクションを確立する際に、応対端末から取得した全ての許可情報シェアをコネクションの確立要求を行うメッセージに添付する第三段階とする。   In the case where the total number of terminals is two, the receiving terminal asks the member terminal whether or not to join or join the new terminal community, and the member terminal distributes the VSS based on the permission information generated independently. The encoding module generates three permission information shares as voting information with threshold values (3, 3), one of which is distributed to the receiving terminal, and the member terminal agrees with the first stage. Member terminal submits one permission information share of its own terminal to the receiving terminal as an approval vote, and decides whether to join or join the new terminal to the community. If the terminal approves, the new terminal communicates two permission information shares, one of which is collected by the receiving terminal as a vote of approval from the member terminal and one of the receiving terminal. First, a new terminal establishes a connection with a member terminal and attaches all permission information shares acquired from the receiving terminal to a message for requesting connection establishment. If the total number of terminals is three or more, the receiving terminal asks all member terminals whether or not to join or join a new terminal community, and each member terminal is independent. Based on the generated permission information, the VSS distributed coding module uses (permitted number of terminals), (total number of terminals)) (permitted number of terminals) permission information share, permission information share verification information, Of the total number of terminals, and distributes the permission information share of (total number of terminals −1) to each of the other member terminals and the receiving terminals one by one. After the verification information is distributed, the first stage is set, and when all the member terminals agree in the first stage, each member terminal is obtained from all the other member terminals (total number of terminals -2). The second stage is to decide whether to join or join a new terminal to the community by submitting each share of permission information as an approval vote to the receiving terminal. In the second stage, all member terminals are in favor. In this case, (the total number of terminals−2) × (the total number of terminals−1) pieces and the (total number of terminals−1) pieces possessed by the receiving terminals are collected as approval votes from all the member terminals. , (Total number of terminals-1) x (total number of terminals-1) permission information share is provided as a ticket to join / join the community to the new terminal, and the new terminal establishes a connection with each member terminal From the receiving terminal. The third stage attached to the message establishes requirements for all authorized information share a connection to.

また、第一段階は、各々のメンバ端末が許可情報シェアを配布する場合において、全端末数が2つのときは、メンバ端末は自端末が生成した3個の許可情報シェアのうちの一つを応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの許可情報シェアは他端末に一切漏らすことなく管理し、全端末数が3つ以上のときは、各々のメンバ端末は自端末が生成した(全端末数)個の許可情報シェアのうち、(全端末数−1)個は他の端末に配布し、残りの一つの許可情報シェアと許可情報はそれぞれが他端末に一切漏らすことなく管理する。   Further, in the first stage, when each member terminal distributes the permission information share, when the total number of terminals is two, the member terminal can use one of the three permission information shares generated by the own terminal. Distribute to the receiving terminal, and one is a vote for own terminal, and the remaining one permission information share is managed without leaking to other terminals. When the total number of terminals is three or more, each member terminal Is distributed among other terminals out of (total number of terminals) permission information shares generated by the terminal itself, and the remaining one permission information share and permission information are each other terminals To manage without leaking.

また、メンバ端末が応対端末に許可情報シェアを提出する場合において、または応対端末が各々のメンバ端末から取得した許可情報シェアを新規端末に提供する場合において、自端末の宛先情報を含めて新規端末の公開鍵を利用して公開鍵暗号方式暗号化モジュールにより暗号化して提出する。   In addition, when the member terminal submits permission information share to the receiving terminal, or when the receiving terminal provides the permission information share acquired from each member terminal to the new terminal, the new terminal including the destination information of the own terminal The public key is used to encrypt and submit using the public key cryptosystem encryption module.

また、第二段階において、全てのメンバ端末が応対端末に賛成票を提出した場合に、応対端末はコネクション確立情報生成モジュールによりコネクション確立情報を生成し、コネクション確立情報をVSS分散符号化モジュールにより、閾値((全端末数)、(全端末数))で分散符号化して得られた(全端末数)個のコネクション情報シェアのうちの(全端末数−1)を全てのメンバ端末にそれぞれ一つずつに提供し、残りの一つのコネクション確立情報シェアと、その元の情報であるコネクション確立情報をデータベースでもって外部に漏洩なく管理する。   Further, in the second stage, when all member terminals have submitted a vote for the response terminal, the response terminal generates connection establishment information by the connection establishment information generation module, and the connection establishment information is obtained by the VSS distributed encoding module. Of the connection information shares of (total number of terminals) obtained by distributed coding with threshold values ((total number of terminals), (total number of terminals)), (total number of terminals minus 1) is set to one for all member terminals. It is provided one by one, and the remaining one connection establishment information share and the connection establishment information that is the original information are managed by the database without leakage to the outside.

また、メンバ端末が新規端末から許可情報シェアが添付されたコネクション確立要求を示すメッセージを受信した場合において、メンバ端末は新規端末が自端末以外のコミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、許可情報比較モジュールは制御モジュールから許可情報の比較の依頼を受け、全端末数が2つの場合は、コネクション確立要求メッセージに添付されている2個の許可情報シェアと、自端末のデータベースで管理している1つの許可情報シェアを利用して、VSS復号化モジュールにより許可情報を復元し、自端末のデータベースに保存している許可情報と相違がないか比較を行い、相違がない場合は、許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、所定値以下ならば、さらに宛先情報が新規端末と相違がないか否かを調べ、相違がなければ、制御モジュールに正常応答を返し、全端末数が3つ以上の場合は、コネクション確立要求メッセージに添付されている(全端末数−1)×(全端末数−1)個の許可情報シェアのうち、自端末が配布した(全端末数−1)個の許可情報シェアと、自端末のデータベースで管理している1つの許可情報シェアを利用して、VSS復号化モジュールにより許可情報を復元し、自端末のデータベースに保存している許可情報と相違があるか否かの比較を行い、相違がない場合は、許可情報に含まれる時刻情報と比較時の時刻情報との差分が所定値以上であるか否かを調べ、所定値以下ならば、さらに宛先情報が新規端末と相違があるか否かを調べ、相違がなければ、残りの(全端末数−2)×(全端末数−1)個の許可情報シェアに不正があるか否かを、シェア検証モジュールと他のメンバ端末から許可情報シェア配布時に取得した許可情報シェア検証用情報を利用して確認を行い、不正がなければ制御モジュールに正常応答を返す。   In addition, when a member terminal receives a message indicating a connection establishment request with a permission information share attached from a new terminal, the member terminal receives approval for participation / subscription from all terminals belonging to a community other than its own terminal. The permission information comparison module receives a request for comparison of permission information from the control module. If the total number of terminals is two, two permission information shares attached to the connection establishment request message are received. Then, using one permission information share managed in the own terminal database, the permission information is restored by the VSS decryption module and compared with the permission information stored in the own terminal database. If there is no difference, the difference between the time information included in the permission information and the time information at the time of comparison is set in advance. If it is less than the predetermined value, further check whether the destination information is different from the new terminal. If there is no difference, return a normal response to the control module, and the total number of terminals. Is 3 or more (total number of terminals −1) × (total number of terminals −1) permission information shares attached to the connection establishment request message (the total number of terminals− 1) Using one permission information share and one permission information share managed in the own terminal database, the permission information is restored by the VSS decoding module and saved in the own terminal database. If there is no difference, it is checked whether the difference between the time information included in the permission information and the time information at the time of comparison is greater than or equal to a predetermined value. If the destination information is new terminal If there is no difference, whether the remaining (total number of terminals−2) × (total number of terminals−1) pieces of permission information share is illegal or not is determined with the share verification module. Confirmation is performed using permission information share verification information acquired at the time of permission information share distribution from other member terminals, and if there is no fraud, a normal response is returned to the control module.

また、許可情報の有効期間を示す所定値を任意に設定するための許可情報有効期間設定手段を備える。   In addition, a permission information validity period setting unit for arbitrarily setting a predetermined value indicating the validity period of the permission information is provided.

また、新規端末が各々のメンバ端末にコネクション確立要求を示すメッセージを送信し、正常にコネクションが確立される際に、各々のメンバ端末は、自端末がデータベースに保存しているコネクション確立情報シェアを提供し、新規端末は全てのメンバ端末から取得した(全端末数−1)個のコネクション確立情報シェアを含めて、応対端末に提供し、応対端末は新規端末が全てのメンバ端末とコネクションを確立しているか否かを確認するために、コネクション確立情報比較モジュールは制御モジュールからコネクション確立情報の比較の依頼を受け、新規端末から取得した(全端末数−1)個のコネクション確立情報シェアと、自端末のデータベースで管理している1個のコネクション確立情報シェアと、VSS復号化モジュールと、を利用して復元したコネクション確立情報と、自端末のデータベースで管理しているコネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が所定値以上であるか否かを調べ、所定値以下ならば制御モジュールに正常応答を返す。   In addition, when a new terminal transmits a message indicating a connection establishment request to each member terminal and the connection is normally established, each member terminal shares the connection establishment information share stored in the database by itself. The new terminal is provided to the receiving terminal including the connection establishment information share (total number of terminals −1) acquired from all the member terminals, and the new terminal establishes connections with all the member terminals. In order to confirm whether or not the connection establishment information comparison module has received a request for comparison of connection establishment information from the control module, the connection establishment information shares of (total number of terminals-1) pieces of connection establishment information acquired from the new terminal, One connection establishment information share managed in the database of its own terminal, a VSS decryption module, The connection establishment information restored by use and the connection establishment information managed in the database of the own terminal are compared to check whether there is a difference. If there is no difference, it is included in the connection establishment information. It is checked whether or not the difference between the time information and the time information at the time of comparison is equal to or greater than a predetermined value. If the difference is equal to or smaller than the predetermined value, a normal response is returned to the control module.

また、コネクション確立情報の有効期間を示す所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備える。   In addition, a connection establishment information validity period setting unit is provided for arbitrarily setting a predetermined value indicating the validity period of the connection establishment information.

また、応対端末が各々のメンバ端末に新規端末のコミュニティへの参加・加入に対して賛否を問う場合において、招待または参加・加入を希望する新規端末を、宛先情報としてメンバ端末に知らせ、全端末数が3つ以上の場合は、新規端末の宛先情報をVSS分散符号化モジュールにより分散符号化して得られる宛先情報シェアと宛先情報シェア検証用情報とを知らせ、各々のメンバ端末同士は元の宛先情報を得るために応対端末から取得した宛先情報シェアをお互いに交換し、応対端末から取得した宛先情報シェア検証用情報とシェア検証用モジュールでもって、全ての宛先情報シェアの不正を検証した後にVSS復号化モジュールにより元の宛先情報を復元する。   In addition, when the receiving terminal asks each member terminal whether or not to participate / subscribe to the community of the new terminal, the new terminal that is desired to invite or participate / subscribe is notified to the member terminal as destination information, and all terminals When the number is three or more, the destination information share obtained by distributedly encoding the destination information of the new terminal by the VSS distributed encoding module and the information for verifying the destination information share are notified, and each member terminal communicates with the original destination To obtain information, exchange the destination information shares acquired from the receiving terminal with each other, verify the fraud of all destination information shares with the destination information share verification information and the share verification module acquired from the receiving terminal, and then VSS The original destination information is restored by the decryption module.

また、メンバ端末は賛成票として許可情報シェアを提出する場合において、それぞれの許可情報シェアを許可情報シェア検証用情報によって不正があるか否かをシェア検証モジュールによってチェックを行う。   In addition, when the member terminal submits the permission information share as an approval vote, the share verification module checks whether each permission information share is illegal by the permission information share verification information.

また、第一段階において、応対端末が全てのメンバ端末から通知された新規端末のコミュニティへの参加・加入に対する賛否の伺いに対し、投票のために第二段階に進むことが可能であるか否かの集計結果を通知し、第二段階において、投票結果を通知する。   Also, in the first stage, whether or not the receiving terminal can proceed to the second stage for voting in response to a request for approval or disapproval for participation / subscription of the new terminal to the community notified from all member terminals. In the second stage, the voting result is notified.

本発明のコミュニケーションシステムの第1の実施の形態に係る、ネットワークの構成を示す説明図である。It is explanatory drawing which shows the structure of the network based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末1から端末4における内部のモジュール構成の例を示す説明図である。It is explanatory drawing which shows the example of the internal module structure in the terminal 1 to the terminal 4 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末1と端末2の間で一対一にコネクションを確立するときにやり取りされるメッセージの例を示す説明図である。It is explanatory drawing which shows the example of the message exchanged when establishing a one-to-one connection between the terminal 1 and the terminal 2 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末1と端末2の間で1対1にコネクションを確立するときに、端末1内のモジュール間処理を示す説明図である。It is explanatory drawing which shows the process between modules in the terminal 1 when establishing a connection between the terminal 1 and the terminal 2 on the one-to-one basis based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末1と端末2の間で1対1にコネクションを確立するときに、端末2内のモジュール間処理を示す説明図である。It is explanatory drawing which shows the process between modules in the terminal 2 when establishing a connection between the terminal 1 and the terminal 2 on the one-to-one basis based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末1と端末2の間で既にコネクションが確立され、コミュニティが形成されている状態から、端末3を新規にコミュニティに招待するときに各端末間でやり取りされるメッセージを示す説明図である。According to the first embodiment of the communication system of the present invention, each time a terminal 3 is newly invited to a community from a state where a connection has already been established between the terminal 1 and the terminal 2 and a community has been formed. It is explanatory drawing which shows the message exchanged between terminals. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末1がメッセージ400、401、および端末2に対してメッセージ402を送信するまでの端末1内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 1 until the terminal 1 transmits the message 402 with respect to the messages 400 and 401 and the terminal 2 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末2が端末1からメッセージ402を受信し、403、404を送信するまでの端末2内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 2 until the terminal 2 receives the message 402 from the terminal 1 and transmits 403, 404 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末1が端末2からメッセージ405を受信したときの端末1内のモジュール間の処理を示すシーケンス図である。It is a sequence diagram which shows the process between the modules in the terminal 1 when the terminal 1 receives the message 405 from the terminal 2 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末2がメッセージ406を受信し、メッセージ407を送信するまでの端末2内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 2 until the terminal 2 receives the message 406 and transmits the message 407 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末2が端末1にメッセージ408を送信し、メッセージ409を受信するまでの端末2内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 2 until the terminal 2 transmits the message 408 to the terminal 1 and receives the message 409 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末1が端末2からメッセージ408を受信したときの、端末1内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 1 when the terminal 1 receives the message 408 from the terminal 2 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、図12の処理後の端末1が端末3に対してメッセージ412を送信するときの端末1内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 1 when the terminal 1 after the process of FIG. 12 transmits the message 412 with respect to the terminal 3 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末3が端末1からメッセージ412を受信したときの端末3内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 3 when the terminal 3 receives the message 412 from the terminal 1 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末3が端末2にメッセージ417を送信するまでの端末3内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 3 until the terminal 3 transmits the message 417 to the terminal 2 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末2が端末3からメッセージ417を受信したときの端末2内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 2 when the terminal 2 receives the message 417 from the terminal 3 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末3が端末2からメッセージ418を受信し、メッセージ419を返したときの端末3内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 3 when the terminal 3 receives the message 418 from the terminal 2, and returns the message 419 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末3が端末1にメッセージ420を送信したときの端末3内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 3 when the terminal 3 transmits the message 420 to the terminal 1 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末1が端末3からメッセージ420を受信したときの端末1内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 1 when the terminal 1 receives the message 420 from the terminal 3 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第1の実施の形態に係る、端末3が端末1からメッセージ421を受信したときの端末3内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 3 when the terminal 3 receives the message 421 from the terminal 1 based on 1st Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末1と端末2と端末3の間でフルメッシュにコネクションが確立されて、コミュニティが形成されている状態から、端末4を新規にコミュニティに招待するときに各端末間でやり取りされるメッセージを示す説明図である。According to the second embodiment of the communication system of the present invention, the terminal 4 is newly connected to the community from the state where the connection is established in the full mesh between the terminal 1, the terminal 2 and the terminal 3, and the community is formed. It is explanatory drawing which shows the message exchanged between each terminal when inviting to. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末3がメッセージ500を公開鍵サーバ5に送信し、公開鍵サーバからメッセージ501を受信し、さらに端末1にメッセージ502を、端末2にメッセージ503を送信するまでの端末3内のモジュール処理を示すシーケンス図である。According to the second embodiment of the communication system of the present invention, the terminal 3 transmits the message 500 to the public key server 5, receives the message 501 from the public key server, and further sends the message 502 to the terminal 1 and the terminal 2 to the terminal 2. FIG. 5 is a sequence diagram showing module processing in the terminal 3 until a message 503 is transmitted. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末1が端末3からメッセージ502を受信し、メッセージ504を送信するまでの端末1内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 1 until the terminal 1 receives the message 502 from the terminal 3, and transmits the message 504 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末2が端末1からメッセージ504を受信したときの端末2内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 2 when the terminal 2 receives the message 504 from the terminal 1 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末1がメッセージ505を受信したときの端末1内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 1 when the terminal 1 receives the message 505 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、図25のシーケンス後に、端末1が端末2にメッセージ513を、端末3にメッセージ515を送信するまでの端末1内のモジュール処理を示すシーケンス図である。A sequence showing module processing in the terminal 1 until the terminal 1 transmits the message 513 to the terminal 2 and the message 515 to the terminal 3 after the sequence of FIG. 25 according to the second embodiment of the communication system of the present invention. FIG. 本発明のコミュニケーションシステムの第2の実施の形態に係る、図24のシーケンス後に、端末2が端末1にメッセージ508を、端末3にメッセージ510を送信するまでの端末2内のモジュール処理を示すシーケンス図である。24 is a sequence showing module processing in the terminal 2 until the terminal 2 transmits the message 508 to the terminal 1 and the message 510 to the terminal 3 after the sequence of FIG. 24 according to the second embodiment of the communication system of the present invention. FIG. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末1が端末2からメッセージ514を受信したときの端末1内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 1 when the terminal 1 receives the message 514 from the terminal 2 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末2が端末1からメッセージ509を受信したときの端末2内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 2 when the terminal 2 receives the message 509 from the terminal 1 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末3が端末1からメッセージ515を、端末2からメッセージ510を受信したときの端末3内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 3 when the terminal 3 receives the message 515 from the terminal 1, and the message 510 from the terminal 2 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末3が端末1と端末2にそれぞれメッセージ516、518を送信し、応答メッセージ517、519を受信するまでの端末3内のモジュール処理を示すシーケンス図である。According to the second embodiment of the communication system of the present invention, the module processing in the terminal 3 until the terminal 3 transmits messages 516 and 518 to the terminals 1 and 2 and receives the response messages 517 and 519, respectively. FIG. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末1が端末3にメッセージ520を送信し、メッセージ521、524を受信後、525を送信するまでの端末1内のモジュール処理を示すシーケンス図である。The sequence which shows the module process in the terminal 1 until the terminal 1 transmits the message 520 to the terminal 3, and transmits 525 after receiving the messages 521 and 524 based on 2nd Embodiment of the communication system of this invention FIG. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末2が端末3にメッセージ522を送信し、メッセージ523、526を受信後、527を送信するまでの端末2内のモジュール処理を示すシーケンス図である。The sequence which shows the module process in the terminal 2 until the terminal 2 transmits the message 522 to the terminal 3 and receives 527 after receiving the messages 523 and 526 according to the second embodiment of the communication system of the present invention FIG. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末3が端末1からメッセージ520を受信し、メッセージ521を返し、端末2からメッセージ522を受信し、メッセージ523を返すまでの端末3内のモジュール処理を示すシーケンス図である。In the terminal 3 until the terminal 3 receives the message 520 from the terminal 1, returns the message 521, receives the message 522 from the terminal 2, and returns the message 523, according to the second embodiment of the communication system of the present invention. It is a sequence diagram which shows the module process of. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末3が端末1と端末2へメッセージ524、526を送信したときの端末3内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 3 when the terminal 3 transmits the message 524,526 to the terminal 1 and the terminal 2 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末3が端末4にメッセージ528を送信するまでの端末3内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 3 until the terminal 3 transmits the message 528 to the terminal 4 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末4が端末3からメッセージ528を受信したときの端末4内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 4 when the terminal 4 receives the message 528 from the terminal 3 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末4が端末1にメッセージ533を送信するまでの端末4内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 4 until the terminal 4 transmits the message 533 to the terminal 1 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末1が端末4からメッセージ533を受信したときの端末1内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 1 when the terminal 1 receives the message 533 from the terminal 4 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末4が端末1からメッセージ534を受信したときの端末4内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 4 when the terminal 4 receives the message 534 from the terminal 1 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末4が端末2にメッセージ536を送信するまでの端末4内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 4 until the terminal 4 transmits the message 536 to the terminal 2 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末2が端末4からメッセージ536を受信したときの端末2内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 2 when the terminal 2 receives the message 536 from the terminal 4 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末4が端末2からメッセージ537を受信したときの端末4内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 4 when the terminal 4 receives the message 537 from the terminal 2 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末4が端末3へメッセージ539を送信するまでの端末4内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 4 until the terminal 4 transmits the message 539 to the terminal 3 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末3が端末4からメッセージ539を受信したときの端末3内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 3 when the terminal 3 receives the message 539 from the terminal 4 based on 2nd Embodiment of the communication system of this invention. 本発明のコミュニケーションシステムの第2の実施の形態に係る、端末4が端末3からメッセージ540を受信したときの端末4内のモジュール処理を示すシーケンス図である。It is a sequence diagram which shows the module process in the terminal 4 when the terminal 4 receives the message 540 from the terminal 3 based on 2nd Embodiment of the communication system of this invention.

符号の説明Explanation of symbols

1、2、3、4、6 端末
5 公開鍵サーバ
10、11、12 コネクション
100 ネットワーク
111 意思入力モジュール
112 許可情報生成モジュール
113 許可情報比較モジュール
114 コネクション確立情報生成モジュール
115 コネクション確立情報比較モジュール
116 VSS分散符号化モジュール
117 VSS復号化モジュール
118 共通鍵生成モジュール
119 共通鍵暗号方式暗号化モジュール
120 共通鍵暗号方式復号化モジュール
121 公開鍵暗号方式暗号化モジュール
122 公開鍵暗号方式復号化モジュール
123 digest生成モジュール
124 メッセージ不正判断モジュール
125 データベース
126 メッセージ生成モジュール
127 メッセージ処理モジュール
128 メッセージ解析モジュール
129 シェア検証モジュール
1, 2, 3, 4, 6 terminal 5 public key server 10, 11, 12 connection 100 network 111 intention input module 112 permission information generation module 113 permission information comparison module 114 connection establishment information generation module 115 connection establishment information comparison module 116 VSS Distributed encoding module 117 VSS decryption module 118 Common key generation module 119 Common key encryption system encryption module 120 Common key encryption system decryption module 121 Public key encryption system encryption module 122 Public key encryption system decryption module 123 digest generation module 124 Message fraud determination module 125 Database 126 Message generation module 127 Message processing module 128 Message analysis module Joule 129 Share Verification Module

Claims (42)

ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションシステムであって、
2つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成された前記コミュニティと、
前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成される応対端末と、
前記応対端末以外の前記コミュニティに属する端末により構成されるメンバ端末と、
前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するための許可情報生成モジュールと、
新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するコネクション確立情報生成モジュールと、
前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、投票用情報であるn個の許可情報シェアと1個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の(k、n)閾値法(k≦n)によって分散符号化し、n個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が3以上のときに新規端末の宛先情報を前記検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、n個の宛先情報シェアと1個の宛先情報シェア検証用情報を生成するためのVSS分散符号化モジュールと、
前記秘密分散法または前記検証可秘密分散の(k、n)閾値法によって、n個の分散符号化されたシェアからk個以上のシェアを利用することで元の情報を復元するためのVSS復号化モジュールと、
前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、VSSにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するシェア検証モジュールと、
共通鍵暗号化方式によるセッションキーを生成する共通鍵生成モジュールと、
を有し、
前記許可情報生成モジュールで生成する前記許可情報と、前記VSS分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記VSS分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記VSS分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するデータベースと、
前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記VSS復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するための許可情報比較モジュールと、
前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するためのコネクション確立情報比較モジュールと、
暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するための公開鍵暗号化方式暗号化モジュールと、
暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するための共通鍵暗号化方式暗号化モジュールと、
複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するためのdigest生成モジュールと、
復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するための公開鍵暗号化方式復号化モジュールと、
復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するための共通鍵暗号化方式復号化モジュールと、
前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするための意思入力モジュールと、
要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記digest生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するためのメッセージ生成モジュールと、
前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記VSS分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記VSS復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するための制御モジュールと、
全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記digest生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するためのメッセージ不正判断モジュールと、
全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記digest生成モジュールによりダイジェストを生成し、2つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すためのメッセージ解析モジュールと、
前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すためのメッセージ処理モジュールと、
を備えることを特徴とするコミュニケーションシステム。
Communicates with a plurality of terminals or public key servers connected to the network, forms a community by establishing connections with the plurality of terminals, and public keys with respect to the public key server A communication system for acquiring a public key in response to an acquisition request,
The community formed by a full mesh network formed by a full mesh connection between two or more of the terminals;
Either a request is made to invite a new terminal not belonging to the community to the community, or a terminal belonging to the community has received a request that a new terminal not belonging to the community belongs to the community A reception terminal composed of
Member terminals composed of terminals belonging to the community other than the reception terminal;
When joining or joining a new terminal to the community, this is information that serves as a basis for creating voting information for deciding whether to participate or join, and the new terminal is connected to each of the member terminals. When requesting establishment, permission information for generating permission information that is information for confirming whether or not the new terminal obtains approval for the participation / subscription from the member terminal and the reception terminal of the community Generation module,
A connection establishment information generation module for generating connection establishment information necessary for the reception terminal to confirm whether or not a new terminal has established the connection with the member terminal;
The permission information generated independently by each member terminal is distributedly encoded by the verifiable secret sharing (k, n) threshold method (k ≦ n), and the n permission information shares and one permission that are voting information are obtained. Information share verification information is generated, and connection establishment information is similarly distributedly encoded by the secret sharing method (k, n) threshold method (k ≦ n) to generate n connection establishment information shares. When the total number of terminals participating / joining the community is 3 or more, the destination information of the new terminal is distributedly encoded by the verifiable secret sharing (k, n) threshold method (k ≦ n), and n destinations VSS distributed encoding module for generating information share and one destination information share verification information;
VSS decoding for restoring original information by using k or more shares from n distributed coded shares by the secret sharing method or the verifiable secret sharing (k, n) threshold method Module
A share verification module that uses the permission information share verification information and the destination information share verification information to check whether the permission information share, the connection establishment information share, and the destination information share are illegal by VSS,
A common key generation module for generating a session key by a common key encryption method;
Have
The permission information generated by the permission information generation module, the permission information share generated using the VSS distributed coding module and the permission information, the permission information share verification information, and the connection establishment information generation Connection establishment information generated by the module, the connection establishment information share generated using the VSS distributed encoding module and the connection establishment information, a session key generated by the common key generation module, and the public key server Using the public key of the other terminal other than the own terminal obtained by making an inquiry to the terminal, the private key and public key of the own terminal, the destination information of the other terminal, the VSS distributed encoding module, and the destination information. The destination information share to be generated, the destination information share verification information, and the community - a terminal a complete list of all of the terminals that have subscribed, and the database to manage,
When the new terminal requests each of the member terminals to establish the connection, the member terminal acquires from the new terminal whether or not the new terminal has received the approval from another terminal belonging to the community. The permission information share managed by the database of the own terminal, the permission information restored using the VSS decryption module, the permission information managed by the database of the own terminal, Permission information comparison module for comparing and confirming,
When the receiving terminal receives access from the new terminal, the connection establishment information share acquired from the new terminal and whether or not the connection has been established with all the member terminals are stored in the database of the own terminal. Connection establishment for comparing and confirming the connection establishment information restored using the connection establishment information share to be managed and the VSS decryption module, and the connection establishment information managed in the database of the own terminal An information comparison module;
A public key encryption scheme encryption module for encrypting information requested for encryption by a public key encryption scheme;
A common key encryption method encryption module for encrypting information requested for encryption by a common key encryption method;
A digest generating module for generating a digest of arbitrary information using a message digest function which is a kind of hash function in which conversion results of a plurality of information are difficult to be the same;
A public key encryption scheme decryption module for decrypting information requested for decryption by a public key encryption scheme;
A common key encryption method decryption module for decrypting information requested for decryption by a common key encryption method;
Determining whether or not to establish the connection, primary determination of approval / disapproval for participation / subscription of the new terminal to the community, final determination of approval / disapproval for participation / subscription of the new terminal to the community, and A decision input module for making a decision on whether to join or join,
When a message having the requested content is generated and the information passed at the time of requesting the generation of the message is attached to the message, when the electronic signature and encryption are applied to the message, the public key encryption method is used. A message generation module for executing the attachment with the common key cryptography module, when performing the attachment with the module, the common key cryptography module, and the digest generating module; ,
The permission information generation module is requested to generate the permission information, the connection establishment information generation is requested to the connection establishment information generation module, the permission information share and the permission information share verification information, or the connection The VSS distributed encoding module is requested to generate the establishment information share or the destination information share and the destination information share verification information, and the public key of the permission information share is encrypted with the public key. Requesting the encryption scheme encryption module, requesting the public key encryption scheme decryption module to decrypt the encrypted permission information share, requesting the intention input module to make the decision, and sending the destination information Ask the VSS decryption module to restore the destination information from the share, and Request comparison to the permission information comparison module, request comparison of the connection establishment information to the connection establishment information comparison module, request generation of the session key to the common key generation module, and request permission to the share verification module. A control module for requesting fraud check of information share or destination information share, inquiring and storing various information in the database, and requesting the message generation module to generate the message;
Generated by the digest generation module from the digest included in the message and the content of the message to confirm whether or not fraudulent activity has been performed during transmission / reception of the received message for all terminals. A message fraud determination module for comparing whether there is a difference between the digests,
For all terminals, when the received message is digitally signed and encrypted, the public key encryption method decryption module and the common key encryption method decryption module are used to decrypt the message. Furthermore, when the database does not have the public key of the source terminal required for decrypting the message, the public key server is requested to acquire the public key through the control module, and decryption processing is performed. In order to confirm whether the message is not cheated later, the digest generation module generates a digest from the message content and digest obtained from the message content, and the two digests are Passed to the message fraud determination module If there is no fraud, the message content is passed to the control module. On the other hand, if the message is only encrypted, the message is decrypted by the common key encryption method decryption module. A message analysis module for passing the content of the message after decryption to the control module;
A message processing module for transmitting the message generated by the message generation module to an external terminal or the public key server, and passing the message received from the external terminal or public key server to the message analysis module; ,
A communication system characterized by comprising:
前記許可情報生成モジュールは、
前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項1に記載のコミュニケーションシステム。
The permission information generation module includes:
The communication system according to claim 1, wherein the permission information is configured and generated by time information at the time of generation, the destination information of the new terminal, and an arbitrary random keyword.
前記コネクション確立情報生成モジュールは、
前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項1または2のいずれかに記載のコミュニケーションシステム。
The connection establishment information generation module
The said connection establishment information is comprised and produced | generated by the time information at the time of production | generation, the said destination information of the said new terminal, and arbitrary random keywords, The generation | occurrence | production of Claim 1 or 2 characterized by the above-mentioned. Communication system.
全端末数が2つの場合において、
前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値(3、3)により3個生成し、そのうちの一つを前記応対端末に配布する第一段階と、
前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ1つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、
前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した1個と、前記応対端末が持つ1個と、を併せた2個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、
あるいは、全端末数が3つ以上の場合において、
前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより閾値((全端末数)、(全端末数))で(全端末数)個の前記許可情報シェアと、1個の前記許可情報シェア検証用情報と、を生成し、(全端末数)個のうちの(全端末数−1)個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に1つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、
前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した(全端末数−2)個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、
前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した(全端末数−2)×(全端末数−1)個と前記応対端末が持つ(全端末数−1)個とを併せた、(全端末数−1)×(全端末数−1)個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とすることを特徴とする請求項1〜3のいずれかに記載のコミュニケーションシステム。
When the total number of terminals is 2,
The reception terminal asks the member terminal whether or not the new terminal participates in or joins the community, and the member terminal uses the VSS distributed coding module based on the permission information generated independently in the case of approval. A first stage of generating three permission information shares, which are voting information, with a threshold (3, 3), and distributing one of them to the receiving terminal;
When the member terminal approves in the first stage, the member terminal submits one permission information share of its own terminal to the receiving terminal as an approval vote, and joins the new terminal to the community. A second stage of deciding whether to join,
In the second stage, when the member terminal is in favor, the permission is obtained by combining the one collected by the receiving terminal as a vote of approval from the member terminal and the one held by the receiving terminal. Providing an information share as a ticket for joining / subscribing to the community to the new terminal, and when the new terminal establishes the connection with the member terminal, all the permitted information shares acquired from the corresponding terminal A third step of attaching to a message for requesting establishment of the connection,
Alternatively, if the total number of terminals is 3 or more,
The receiving terminal asks all the member terminals whether or not the new terminal participates in or joins the community, and each of the member terminals uses the VSS distributed coding module based on the permission information generated independently. ((Total number of terminals), (total number of terminals)) (total number of terminals) pieces of the permission information share and one piece of permission information share verification information are generated, and (total number of terminals) pieces First, after the distribution of the permission information share verification information is distributed to all the other member terminals and the receiving terminal one by one (total number of terminals −1) of the permission information shares. Stage and
When all the member terminals agree in the first step, each of the member terminals agrees with the permission information share of (total number of terminals−2) obtained from all the other member terminals. As a second step to determine whether to join the new terminal to the community by submitting to the receiving terminal as
When all the member terminals are in favor in the second stage, the receiving terminal collects as a vote of favor from all the member terminals (total number of terminals−2) × (total number of terminals−1) Joining the community to the new terminal with the permission information share of (total number of terminals −1) × (total number of terminals −1) combined with (total number of terminals−1) of the receiving terminal Provided as a ticket for joining, and when the new terminal establishes the connection with each of the member terminals, attaches all the permission information shares acquired from the corresponding terminal to a message for requesting establishment of the connection The communication system according to claim 1, wherein the communication system is a third stage.
前記第一段階は、
各々の前記メンバ端末が前記許可情報シェアを配布する場合において、
全端末数が2つのときは、前記メンバ端末は自端末が生成した3個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、
全端末数が3つ以上のときは、各々の前記メンバ端末は自端末が生成した(全端末数)個の前記許可情報シェアのうち、(全端末数−1)個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理することを特徴とする請求項4に記載のコミュニケーションシステム。
The first stage includes
In the case where each member terminal distributes the permission information share,
When the total number of terminals is two, the member terminal distributes one of the three permission information shares generated by the own terminal to the receiving terminal, and one of them is a vote for the own terminal, and the rest Manage the permission information share of one without leaking it to other terminals,
When the total number of terminals is three or more, each of the member terminals is distributed to other terminals out of (the total number of terminals-1) of the permitted information shares generated by the own terminal. 5. The communication system according to claim 4, wherein the remaining one of the permission information share and the permission information is managed without leaking to any other terminal.
前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、
自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出することを特徴とする請求項5に記載のコミュニケーションシステム。
In the case where the member terminal submits the permission information share to the reception terminal, or in the case where the reception terminal provides the permission information share acquired from each of the member terminals to the new terminal,
6. The communication system according to claim 5, wherein the communication information is submitted by being encrypted by the public key cryptosystem encryption module using the public key of the new terminal including the destination information of the terminal itself.
前記第二段階において、
全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記VSS分散符号化モジュールにより、閾値((全端末数)、(全端末数))で分散符号化して得られた(全端末数)個の前記コネクション情報シェアのうちの(全端末数−1)を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理することを特徴とする請求項4〜6のいずれかに記載のコミュニケーションシステム。
In the second stage,
When all the member terminals have submitted an approval vote to the receiving terminal, the receiving terminal generates the connection establishment information by the connection establishment information generation module, and the connection establishment information is generated by the VSS distributed coding module. Of the connection information shares of (total number of terminals) obtained by distributed encoding with threshold values ((total number of terminals), (total number of terminals)), (total number of terminals-1) is transmitted to all the member terminals. 7. Each of them is provided one by one, and the remaining one connection establishment information share and the connection establishment information which is the original information are managed by the database without leakage to the outside. A communication system according to any one of the above.
前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、
全端末数が2つの場合は、前記コネクション確立要求メッセージに添付されている2個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、
全端末数が3つ以上の場合は、前記コネクション確立要求メッセージに添付されている(全端末数−1)×(全端末数−1)個の前記許可情報シェアのうち、自端末が配布した(全端末数−1)個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの(全端末数−2)×(全端末数−1)個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返すことを特徴とする請求項4〜7のいずれかに記載のコミュニケーションシステム。
When the member terminal receives a message indicating the connection establishment request with the permission information share attached from the new terminal, the member terminal participates from all terminals belonging to the community other than the new terminal. In order to confirm whether or not the approval for the subscription is received, the permission information comparison module receives a request for comparison of the permission information from the control module;
When the total number of terminals is two, the two permission information shares attached to the connection establishment request message and one permission information share managed in the database of the own terminal are used. The permission information is restored by a VSS decryption module and compared with the permission information stored in the database of the terminal itself. If there is no difference, the time information included in the permission information is compared. Check whether the difference from the time information is greater than or equal to a predetermined value set in advance. If the difference is less than or equal to the predetermined value, further check whether the destination information is different from the new terminal. Otherwise, return a normal response to the control module,
When the total number of terminals is three or more, the own terminal has distributed among the permission information shares of (total number of terminals−1) × (total number of terminals−1) attached to the connection establishment request message. The VSS decryption module restores the permission information using the permission information share of (total number of terminals −1) and one permission information share managed in the database of the own terminal. A comparison is made as to whether there is a difference from the permission information stored in the database of the terminal. If there is no difference, the difference between the time information included in the permission information and the time information at the time of comparison is the predetermined information. If it is less than the predetermined value, it is further checked whether the destination information is different from the new terminal. If there is no difference, the remaining (the total number of terminals−2) × (Total number of terminals-1) pieces of the permission Whether or not the information share is illegal is confirmed using the permission information share verification information acquired at the time of distribution of the permission information share from the share verification module and the other member terminals. The communication system according to claim 4, wherein a normal response is returned to the control module.
前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備えることを特徴とする請求項8に記載のコミュニケーションシステム。   9. The communication system according to claim 8, further comprising permission information validity period setting means for arbitrarily setting the predetermined value indicating the validity period of the permission information. 前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、
各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した(全端末数−1)個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した(全端末数−1)個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している1個の前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返すことを特徴とする請求項8または9のいずれかに記載のコミュニケーションシステム。
When the new terminal sends a message indicating the connection establishment request to each of the member terminals, and when the connection is normally established,
Each of the member terminals provides the connection establishment information share stored in the database by the own terminal, and the new terminal acquires (total number of terminals −1) of the connection establishments acquired from all of the member terminals. The connection establishment information comparison module provides the reception terminal including information sharing, and the connection terminal confirms whether or not the new terminal has established the connection with all the member terminals. The request for comparison of the connection establishment information is received from the control module, and the connection establishment information share (total number of terminals −1) acquired from the new terminal and the one managed by the database of the own terminal Connection establishment information restored using the connection establishment information share and the VSS decryption module; Compare with the connection establishment information managed in the database of its own terminal to check whether there is a difference. If there is no difference, the time information included in the connection establishment information and the time of comparison 10. The communication system according to claim 8, wherein whether or not the difference from the information is equal to or greater than the predetermined value is checked, and if it is equal to or smaller than the predetermined value, a normal response is returned to the control module.
前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備えることを特徴とする請求項10に記載のコミュニケーションシステム。   The communication system according to claim 10, further comprising connection establishment information validity period setting means for arbitrarily setting the predetermined value indicating the validity period of the connection establishment information. 前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、
全端末数が3つ以上の場合は、前記新規端末の前記宛先情報を前記VSS分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記VSS復号化モジュールにより元の前記宛先情報を復元することを特徴とする請求項4〜11のいずれかに記載のコミュニケーションシステム。
When the receiving terminal asks each member terminal to approve or reject the participation / subscription of the new terminal to the community, the new terminal that desires the invitation or participation / subscription is used as the member information as the member information. Let your device know,
If the total number of terminals is three or more, the destination information share obtained by distributedly encoding the destination information of the new terminal by the VSS distributed encoding module and the destination information share verification information are notified, The member terminals exchange the destination information share acquired from the receiving terminal with each other in order to obtain the original destination information. The destination information share verification information acquired from the receiving terminal and the share verification module The communication system according to any one of claims 4 to 11, wherein the original destination information is restored by the VSS decoding module after verifying fraud of all the destination information shares.
前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行うことを特徴とする請求項4〜12のいずれかに記載のコミュニケーションシステム。   When the member terminal submits the permission information share as an approval vote, the share verification module checks whether each permission information share is illegal by the permission information share verification information. The communication system according to any one of claims 4 to 12. 前記第一段階において、
前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知することを特徴とする請求項4〜13のいずれかに記載のコミュニケーションシステム。
In the first stage,
Whether the receiving terminal can proceed to the second stage for the voting in response to a request for approval / disapproval for participation / subscription to the community of the new terminal notified from all the member terminals The communication system according to any one of claims 4 to 13, wherein the result of counting is notified, and the voting result is notified in the second stage.
ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーション方法であって、
前記コミュニティを、2つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成するステップと、
応対端末を、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成するステップと、
メンバ端末を、前記応対端末以外の前記コミュニティに属する端末により構成するステップと、
許可情報生成モジュールにより、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するステップと、
コネクション確立情報生成モジュールにより、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するステップと、
VSS分散符号化モジュールにより、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、投票用情報であるn個の許可情報シェアと1個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の(k、n)閾値法(k≦n)によって分散符号化し、n個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が3以上のときに新規端末の宛先情報を前記検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、n個の宛先情報シェアと1個の宛先情報シェア検証用情報を生成するステップと、
VSS復号化モジュールにより、前記秘密分散法または前記検証可秘密分散の(k、n)閾値法によって、n個の分散符号化されたシェアからk個以上のシェアを利用することで元の情報を復元するステップと、
シェア検証モジュールにより、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、VSSにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するステップと、
共通鍵生成モジュールにより、共通鍵暗号化方式によるセッションキーを生成するステップと、
を有し、
データベースにより、前記許可情報生成モジュールで生成する前記許可情報と、前記VSS分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記VSS分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記VSS分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するステップと、
許可情報比較モジュールにより、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記VSS復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するステップと、
コネクション確立情報比較モジュールにより、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するステップと、
公開鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するステップと、
共通鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するステップと、
digest生成モジュールにより、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するステップと、
公開鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するステップと、
共通鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するステップと、
意思入力モジュールにより、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするステップと、
メッセージ生成モジュールにより、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記digest生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するステップと、
制御モジュールにより、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記VSS分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記VSS復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するステップと、
メッセージ不正判断モジュールにより、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記digest生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するステップと、
メッセージ解析モジュールにより、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記digest生成モジュールによりダイジェストを生成し、2つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すステップと、
メッセージ処理モジュールにより、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すステップと、
を有することを特徴とするコミュニケーション方法。
Communicates with a plurality of terminals or public key servers connected to the network, forms a community by establishing connections with the plurality of terminals, and public keys with respect to the public key server A communication method for acquiring a public key in response to an acquisition request,
Forming the community by a full mesh network formed by a full mesh connection between two or more of the terminals;
A request is made to invite a new terminal that does not belong to the community to the community, or a new terminal that does not belong to the community is requested to belong to the community. Configuring with any of the terminals to which it belongs;
Configuring a member terminal with a terminal belonging to the community other than the reception terminal;
When a new terminal joins / subscribes to the community by the permission information generation module, this information is the basis for creating voting information for determining whether to participate / subscribe, and the new terminal is the member terminal Permission information which is information for confirming whether or not the new terminal has obtained approval for the participation / subscription from the member terminal and the reception terminal of the community. Generating step;
Generating connection establishment information necessary for the reception terminal to confirm whether a new terminal has established the connection with the member terminal by a connection establishment information generation module;
The permission information generated independently by the member terminals by the VSS distributed coding module is distributedly coded by the verifiable secret sharing (k, n) threshold method (k ≦ n), and the n permission as voting information is obtained. An information share and one piece of permission information share verification information are generated, and connection establishment information is similarly distributedly encoded by the secret sharing method (k, n) threshold method (k ≦ n) to share n connection establishment information Similarly, when the total number of terminals participating / subscribing to the community is 3 or more, the destination information of the new terminal is distributed by the (k, n) threshold method (k ≦ n) of the verifiable secret sharing Encoding and generating n destination information shares and one destination information share verification information;
The VSS decryption module uses the secret sharing method or the verifiable secret sharing (k, n) threshold method to obtain original information by using k or more shares from n distributed coded shares. Steps to restore,
By using the permission information share verification information and the destination information share verification information by the share verification module, it is confirmed by VSS whether the permission information share, the connection establishment information share, and the destination information share are not illegal. Steps,
Generating a session key by a common key encryption method by the common key generation module;
Have
The permission information generated by the permission information generation module using the database, the permission information share generated using the VSS distributed encoding module and the permission information, the permission information share verification information, and the connection Connection establishment information generated by an establishment information generation module, the connection establishment information share generated using the VSS distributed encoding module and the connection establishment information, a session key generated by the common key generation module, The public key of the terminal other than the own terminal acquired by inquiring the public key server, the private key and public key of the own terminal, the destination information of the other terminal, the VSS distributed encoding module, and the destination information The destination information share to be generated by using the destination information share verification information; And a step to manage, and the terminal a complete list of all of the terminals participating, join the serial community,
When the new terminal requests establishment of the connection to each of the member terminals by the permission information comparison module, whether or not the new terminal has obtained the approval from other terminals belonging to the community in the member terminal. , The permission information share acquired from the new terminal, the permission information share managed by the database of the own terminal, and the permission information restored using the VSS decoding module, and the database of the own terminal Comparing and confirming permission information to be managed;
When the connection terminal receives access from the new terminal by the connection establishment information comparison module, the connection establishment information share acquired from the new terminal indicates whether the connection has been established with all the member terminals and Comparing the connection establishment information share managed by the database of the own terminal and the connection establishment information restored using the VSS decoding module with the connection establishment information managed by the database of the own terminal Step to confirm and
Encrypting information requested by the public key encryption method encryption module using a public key encryption method; and
Encrypting information requested to be encrypted by the common key encryption method using a common key encryption method; and
generating a digest of arbitrary information using a message digest function that is a kind of hash function in which conversion results of a plurality of pieces of information are difficult to be the same by a digest generation module;
Decrypting the information requested for decryption by the public key cryptosystem decryption module using the public key cryptosystem;
Decrypting the information requested for decryption by the common key encryption method decryption module using the common key encryption method;
Determination of whether or not to establish the connection by the intention input module, primary determination of approval / disapproval for participation / subscription of the new terminal to the community, and final determination of approval / disapproval for participation / subscription of the new terminal to the community Determining whether to join or join the community; and
When the message generation module generates a message having the requested content and attaches the information passed when the message generation request is made to the message, the electronic signature and encryption are applied to the message. Executing the attachment with the key encryption system encryption module, the common key encryption system module, and the digest generation module, while executing the attachment with the common key encryption system module when performing only the encryption. When,
The control module requests the permission information generation module to generate the permission information, requests the connection establishment information generation module to generate the connection establishment information, and transmits the permission information share, the permission information share verification information, Or requesting the VSS distributed encoding module to generate the connection establishment information share, the destination information share, and the destination information share verification information, and encrypting the permission information share with a public key. To the public key cryptosystem encryption module, request the public key cryptosystem decryption module to decrypt the encrypted permission information share, and request the intention input module to make the decision. The VSS decryption module to restore the destination information from the destination information share Requesting the permission information comparison module to compare the permission information, requesting the connection establishment information comparison module to compare the connection establishment information, and requesting the common key generation module to generate the session key, Requesting the share verification module to perform fraud check of permission information share or destination information share, inquiring and storing various information in the database, and requesting the message generation module to generate the message;
The message fraud determination module determines whether or not fraudulent activity has been performed during transmission / reception of the received message for all terminals from the digest included in the message and the content of the message. Comparing the digests generated by the generation module for differences;
When all messages are received by the message analysis module and the received message is digitally signed and encrypted, the public key encryption method decryption module, the common key encryption method decryption module, And when the database does not have the public key of the transmission source terminal necessary for decrypting the message, the public key is obtained from the public key server through the control module. In order to check whether the message has been fraudulently requested after the decryption process, the digest generation module generates a digest from the obtained message content and digest, and the message content. The two digests may be The message content to the control module if there is no fraud, and if the message is only encrypted, the common key encryption method Decrypting the message by a decryption module and passing the content of the decrypted message to the control module;
The message processing module transmits the message generated by the message generation module to an external terminal or the public key server, and passes the message received from the external terminal or public key server to the message analysis module. When,
A communication method characterized by comprising:
前記許可情報生成モジュールは、
前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項15に記載のコミュニケーション方法。
The permission information generation module includes:
16. The communication method according to claim 15, wherein the permission information is configured and generated by time information at the time of generation, the destination information of the new terminal, and an arbitrary random keyword.
前記コネクション確立情報生成モジュールは、
前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項15または16のいずれかに記載のコミュニケーション方法。
The connection establishment information generation module
The connection establishment information is configured and generated from time information at the time of generation, the destination information of the new terminal, and an arbitrary random keyword. Communication method.
全端末数が2つの場合において、
前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値(3、3)により3個生成し、そのうちの一つを前記応対端末に配布する第一段階と、
前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ1つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、
前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した1個と、前記応対端末が持つ1個と、を併せた2個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、
あるいは、全端末数が3つ以上の場合において、
前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより閾値((全端末数)、(全端末数))で(全端末数)個の前記許可情報シェアと、1個の前記許可情報シェア検証用情報と、を生成し、(全端末数)個のうちの(全端末数−1)個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に1つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、
前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した(全端末数−2)個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、
前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した(全端末数−2)×(全端末数−1)個と前記応対端末が持つ(全端末数−1)個とを併せた、(全端末数−1)×(全端末数−1)個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とすることを特徴とする請求項15〜17のいずれかに記載のコミュニケーション方法。
When the total number of terminals is 2,
The reception terminal asks the member terminal whether or not the new terminal participates in or joins the community, and the member terminal uses the VSS distributed coding module based on the permission information generated independently in the case of approval. A first stage of generating three permission information shares, which are voting information, with a threshold (3, 3), and distributing one of them to the receiving terminal;
When the member terminal approves in the first stage, the member terminal submits one permission information share of its own terminal to the receiving terminal as an approval vote, and joins the new terminal to the community. A second stage of deciding whether to join,
In the second stage, when the member terminal is in favor, the permission is obtained by combining the one collected by the receiving terminal as a vote of approval from the member terminal and the one held by the receiving terminal. Providing an information share as a ticket for joining / subscribing to the community to the new terminal, and when the new terminal establishes the connection with the member terminal, all the permitted information shares acquired from the corresponding terminal A third step of attaching to a message for requesting establishment of the connection,
Alternatively, if the total number of terminals is 3 or more,
The receiving terminal asks all the member terminals whether or not the new terminal participates in or joins the community, and each of the member terminals uses the VSS distributed coding module based on the permission information generated independently. ((Total number of terminals), (total number of terminals)) (total number of terminals) pieces of the permission information share and one piece of permission information share verification information are generated, and (total number of terminals) pieces First, after the distribution of the permission information share verification information is distributed to all the other member terminals and the receiving terminal one by one (total number of terminals −1) of the permission information shares. Stage and
When all the member terminals agree in the first step, each of the member terminals agrees with the permission information share of (total number of terminals−2) obtained from all the other member terminals. As a second step to determine whether to join the new terminal to the community by submitting to the receiving terminal as
When all the member terminals are in favor in the second stage, the receiving terminal collects as a vote of favor from all the member terminals (total number of terminals−2) × (total number of terminals−1) Joining the community to the new terminal with the permission information share of (total number of terminals −1) × (total number of terminals −1) combined with (total number of terminals−1) of the receiving terminal Provided as a ticket for joining, and when the new terminal establishes the connection with each of the member terminals, attaches all the permission information shares acquired from the corresponding terminal to a message for requesting establishment of the connection The communication method according to any one of claims 15 to 17, wherein a third stage is performed.
前記第一段階は、
各々の前記メンバ端末が前記許可情報シェアを配布する場合において、
全端末数が2つのときは、前記メンバ端末は自端末が生成した3個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、
全端末数が3つ以上のときは、各々の前記メンバ端末は自端末が生成した(全端末数)個の前記許可情報シェアのうち、(全端末数−1)個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理することを特徴とする請求項18に記載のコミュニケーション方法。
The first stage includes
In the case where each member terminal distributes the permission information share,
When the total number of terminals is two, the member terminal distributes one of the three permission information shares generated by the own terminal to the receiving terminal, and one of them is a vote for the own terminal, and the rest Manage the permission information share of one without leaking it to other terminals,
When the total number of terminals is three or more, each of the member terminals is distributed to other terminals out of (the total number of terminals-1) of the permitted information shares generated by the own terminal. 19. The communication method according to claim 18, wherein the remaining one of the permission information share and the permission information is managed without leaking to any other terminal.
前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、
自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出することを特徴とする請求項19に記載のコミュニケーション方法。
In the case where the member terminal submits the permission information share to the reception terminal, or in the case where the reception terminal provides the permission information share acquired from each of the member terminals to the new terminal,
The communication method according to claim 19, wherein the communication is performed by using the public key of the new terminal including the destination information of the own terminal to be encrypted and submitted by the public key cryptosystem encryption module.
前記第二段階において、
全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記VSS分散符号化モジュールにより、閾値((全端末数)、(全端末数))で分散符号化して得られた(全端末数)個の前記コネクション情報シェアのうちの(全端末数−1)を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理することを特徴とする請求項18〜20のいずれかに記載のコミュニケーション方法。
In the second stage,
When all the member terminals have submitted an approval vote to the receiving terminal, the receiving terminal generates the connection establishment information by the connection establishment information generation module, and the connection establishment information is generated by the VSS distributed coding module. Of the connection information shares of (total number of terminals) obtained by distributed encoding with threshold values ((total number of terminals), (total number of terminals)), (total number of terminals-1) is transmitted to all the member terminals. 21. Each one of them is provided one by one, and the remaining one connection establishment information share and the connection establishment information which is the original information are managed by the database without leaking outside. The communication method according to any one of the above.
前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、
全端末数が2つの場合は、前記コネクション確立要求メッセージに添付されている2個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、
全端末数が3つ以上の場合は、前記コネクション確立要求メッセージに添付されている(全端末数−1)×(全端末数−1)個の前記許可情報シェアのうち、自端末が配布した(全端末数−1)個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの(全端末数−2)×(全端末数−1)個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返すことを特徴とする請求項18〜21のいずれかに記載のコミュニケーション方法。
When the member terminal receives a message indicating the connection establishment request with the permission information share attached from the new terminal, the member terminal participates from all terminals belonging to the community other than the new terminal. In order to confirm whether or not the approval for the subscription is received, the permission information comparison module receives a request for comparison of the permission information from the control module;
When the total number of terminals is two, the two permission information shares attached to the connection establishment request message and one permission information share managed in the database of the own terminal are used. The permission information is restored by a VSS decryption module and compared with the permission information stored in the database of the terminal itself. If there is no difference, the time information included in the permission information is compared. Check whether the difference from the time information is greater than or equal to a predetermined value set in advance. If the difference is less than or equal to the predetermined value, further check whether the destination information is different from the new terminal. Otherwise, return a normal response to the control module,
When the total number of terminals is three or more, the own terminal has distributed among the permission information shares of (total number of terminals−1) × (total number of terminals−1) attached to the connection establishment request message. The VSS decryption module restores the permission information using the permission information share of (total number of terminals −1) and one permission information share managed in the database of the own terminal. A comparison is made as to whether there is a difference from the permission information stored in the database of the terminal. If there is no difference, the difference between the time information included in the permission information and the time information at the time of comparison is the predetermined information. If it is less than the predetermined value, it is further checked whether the destination information is different from the new terminal. If there is no difference, the remaining (the total number of terminals−2) × (Total number of terminals-1) pieces of the permission Whether or not the information share is illegal is confirmed using the permission information share verification information acquired at the time of distribution of the permission information share from the share verification module and the other member terminals. The communication method according to any one of claims 18 to 21, wherein a normal response is returned to the control module.
前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備えることを特徴とする請求項22に記載のコミュニケーション方法。   23. The communication method according to claim 22, further comprising permission information validity period setting means for arbitrarily setting the predetermined value indicating the validity period of the permission information. 前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、
各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した(全端末数−1)個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した(全端末数−1)個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している1個の前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返すことを特徴とする請求項22または23のいずれかに記載のコミュニケーション方法。
When the new terminal sends a message indicating the connection establishment request to each of the member terminals, and when the connection is normally established,
Each of the member terminals provides the connection establishment information share stored in the database by the own terminal, and the new terminal acquires (total number of terminals −1) of the connection establishments acquired from all of the member terminals. The connection establishment information comparison module provides the reception terminal including information sharing, and the connection terminal confirms whether or not the new terminal has established the connection with all the member terminals. The request for comparison of the connection establishment information is received from the control module, and the connection establishment information share (total number of terminals −1) acquired from the new terminal and the one managed by the database of the own terminal Connection establishment information restored using the connection establishment information share and the VSS decryption module; Compare with the connection establishment information managed in the database of its own terminal to check whether there is a difference. If there is no difference, the time information included in the connection establishment information and the time of comparison 24. The communication method according to claim 22, wherein whether or not a difference from information is equal to or greater than the predetermined value is checked, and if the difference is equal to or smaller than the predetermined value, a normal response is returned to the control module.
前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備えることを特徴とする請求項24に記載のコミュニケーション方法。   The communication method according to claim 24, further comprising connection establishment information validity period setting means for arbitrarily setting the predetermined value indicating the validity period of the connection establishment information. 前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、
全端末数が3つ以上の場合は、前記新規端末の前記宛先情報を前記VSS分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記VSS復号化モジュールにより元の前記宛先情報を復元することを特徴とする請求項18〜25のいずれかに記載のコミュニケーション方法。
When the receiving terminal asks each member terminal to approve or reject the participation / subscription of the new terminal to the community, the new terminal that desires the invitation or participation / subscription is used as the member information as the member information. Let your device know,
If the total number of terminals is three or more, the destination information share obtained by distributedly encoding the destination information of the new terminal by the VSS distributed encoding module and the destination information share verification information are notified, The member terminals exchange the destination information share acquired from the receiving terminal with each other in order to obtain the original destination information. The destination information share verification information acquired from the receiving terminal and the share verification module 26. The communication method according to claim 18, wherein the original destination information is restored by the VSS decryption module after verifying fraud of all the destination information shares.
前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行うことを特徴とする請求項18〜26のいずれかに記載のコミュニケーション方法。   When the member terminal submits the permission information share as an approval vote, the share verification module checks whether each permission information share is illegal by the permission information share verification information. The communication method according to any one of claims 18 to 26. 前記第一段階において、
前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知することを特徴とする請求項18〜27のいずれかに記載のコミュニケーション方法。
In the first stage,
Whether the receiving terminal can proceed to the second stage for the voting in response to a request for approval / disapproval for participation / subscription to the community of the new terminal notified from all the member terminals 28. The communication method according to claim 18, wherein the result of counting is notified, and the voting result is notified in the second stage.
ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションプログラムであって、
前記コミュニティを、2つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成するステップと、
応対端末を、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成するステップと、
メンバ端末を、前記応対端末以外の前記コミュニティに属する端末により構成するステップと、
許可情報生成モジュールにより、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するステップと、
コネクション確立情報生成モジュールにより、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するステップと、
VSS分散符号化モジュールにより、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、投票用情報であるn個の許可情報シェアと1個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の(k、n)閾値法(k≦n)によって分散符号化し、n個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が3以上のときに新規端末の宛先情報を前記検証可秘密分散の(k、n)閾値法(k≦n)によって分散符号化し、n個の宛先情報シェアと1個の宛先情報シェア検証用情報を生成するステップと、
VSS復号化モジュールにより、前記秘密分散法または前記検証可秘密分散の(k、n)閾値法によって、n個の分散符号化されたシェアからk個以上のシェアを利用することで元の情報を復元するステップと、
シェア検証モジュールにより、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、VSSにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するステップと、
共通鍵生成モジュールにより、共通鍵暗号化方式によるセッションキーを生成するステップと、
を有し、
データベースにより、前記許可情報生成モジュールで生成する前記許可情報と、前記VSS分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記VSS分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記VSS分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するステップと、
許可情報比較モジュールにより、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記VSS復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するステップと、
コネクション確立情報比較モジュールにより、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するステップと、
公開鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するステップと、
共通鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するステップと、
digest生成モジュールにより、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するステップと、
公開鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するステップと、
共通鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するステップと、
意思入力モジュールにより、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするステップと、
メッセージ生成モジュールにより、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記digest生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するステップと、
制御モジュールにより、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記VSS分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記VSS復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するステップと、
メッセージ不正判断モジュールにより、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記digest生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するステップと、
メッセージ解析モジュールにより、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記digest生成モジュールによりダイジェストを生成し、2つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すステップと、
メッセージ処理モジュールにより、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すステップと、
を有することを特徴とするコミュニケーションプログラム。
Communicates with a plurality of terminals or public key servers connected to the network, forms a community by establishing connections with the plurality of terminals, and public keys with respect to the public key server A communication program for acquiring a public key in response to an acquisition request,
Forming the community by a full mesh network formed by a full mesh connection between two or more of the terminals;
A request is made to invite a new terminal that does not belong to the community to the community, or a new terminal that does not belong to the community is requested to belong to the community. Configuring with any of the terminals to which it belongs;
Configuring a member terminal with a terminal belonging to the community other than the reception terminal;
When a new terminal joins / subscribes to the community by the permission information generation module, this information is the basis for creating voting information for determining whether to participate / subscribe, and the new terminal is the member terminal Permission information which is information for confirming whether or not the new terminal has obtained approval for the participation / subscription from the member terminal and the reception terminal of the community. Generating step;
Generating connection establishment information necessary for the reception terminal to confirm whether a new terminal has established the connection with the member terminal by a connection establishment information generation module;
The permission information generated independently by the member terminals by the VSS distributed coding module is distributedly coded by the verifiable secret sharing (k, n) threshold method (k ≦ n), and the n permission as voting information is obtained. An information share and one piece of permission information share verification information are generated, and connection establishment information is similarly distributedly encoded by the secret sharing method (k, n) threshold method (k ≦ n) to share n connection establishment information Similarly, when the total number of terminals participating / subscribing to the community is 3 or more, the destination information of the new terminal is distributed by the (k, n) threshold method (k ≦ n) of the verifiable secret sharing Encoding and generating n destination information shares and one destination information share verification information;
The VSS decryption module uses the secret sharing method or the verifiable secret sharing (k, n) threshold method to obtain original information by using k or more shares from n distributed coded shares. Steps to restore,
By using the permission information share verification information and the destination information share verification information by the share verification module, it is confirmed by VSS whether the permission information share, the connection establishment information share, and the destination information share are not illegal. Steps,
Generating a session key by a common key encryption method by the common key generation module;
Have
The permission information generated by the permission information generation module using the database, the permission information share generated using the VSS distributed encoding module and the permission information, the permission information share verification information, and the connection Connection establishment information generated by an establishment information generation module, the connection establishment information share generated using the VSS distributed encoding module and the connection establishment information, a session key generated by the common key generation module, The public key of the terminal other than the own terminal acquired by inquiring the public key server, the private key and public key of the own terminal, the destination information of the other terminal, the VSS distributed encoding module, and the destination information The destination information share to be generated by using the destination information share verification information; And a step to manage, and the terminal a complete list of all of the terminals participating, join the serial community,
When the new terminal requests establishment of the connection to each of the member terminals by the permission information comparison module, whether or not the new terminal has obtained the approval from other terminals belonging to the community in the member terminal. , The permission information share acquired from the new terminal, the permission information share managed by the database of the own terminal, and the permission information restored using the VSS decoding module, and the database of the own terminal Comparing and confirming permission information to be managed;
When the connection terminal receives access from the new terminal by the connection establishment information comparison module, the connection establishment information share acquired from the new terminal indicates whether the connection has been established with all the member terminals and Comparing the connection establishment information share managed by the database of the own terminal and the connection establishment information restored using the VSS decoding module with the connection establishment information managed by the database of the own terminal Step to confirm and
Encrypting information requested by the public key encryption method encryption module using a public key encryption method; and
Encrypting information requested to be encrypted by the common key encryption method using a common key encryption method; and
generating a digest of arbitrary information using a message digest function that is a kind of hash function in which conversion results of a plurality of pieces of information are difficult to be the same by a digest generation module;
Decrypting the information requested for decryption by the public key cryptosystem decryption module using the public key cryptosystem;
Decrypting the information requested for decryption by the common key encryption method decryption module using the common key encryption method;
Determination of whether or not to establish the connection by the intention input module, primary determination of approval / disapproval for participation / subscription of the new terminal to the community, and final determination of approval / disapproval for participation / subscription of the new terminal to the community Determining whether to join or join the community; and
When the message generation module generates a message having the requested content and attaches the information passed when the message generation request is made to the message, the electronic signature and encryption are applied to the message. Executing the attachment with the key encryption system encryption module, the common key encryption system module, and the digest generation module, while executing the attachment with the common key encryption system module when performing only the encryption. When,
The control module requests the permission information generation module to generate the permission information, requests the connection establishment information generation module to generate the connection establishment information, and transmits the permission information share, the permission information share verification information, Or requesting the VSS distributed encoding module to generate the connection establishment information share, the destination information share, and the destination information share verification information, and encrypting the permission information share with a public key. To the public key cryptosystem encryption module, request the public key cryptosystem decryption module to decrypt the encrypted permission information share, and request the intention input module to make the decision. The VSS decryption module to restore the destination information from the destination information share Requesting the permission information comparison module to compare the permission information, requesting the connection establishment information comparison module to compare the connection establishment information, and requesting the common key generation module to generate the session key, Requesting the share verification module to perform fraud check of permission information share or destination information share, inquiring and storing various information in the database, and requesting the message generation module to generate the message;
The message fraud determination module determines whether or not fraudulent activity has been performed during transmission / reception of the received message for all terminals from the digest included in the message and the content of the message. Comparing the digests generated by the generation module for differences;
When all messages are received by the message analysis module and the received message is digitally signed and encrypted, the public key encryption method decryption module, the common key encryption method decryption module, And when the database does not have the public key of the source terminal necessary for decrypting the message, the public key server obtains the public key through the control module. In order to check whether the message has been fraudulently requested after the decryption process, the digest generation module generates a digest from the obtained message content and digest, and the message content. The two digests may be The message content to the control module if there is no fraud, and if the message is only encrypted, the common key encryption method Decrypting the message by a decryption module and passing the content of the decrypted message to the control module;
The message processing module transmits the message generated by the message generation module to an external terminal or the public key server, and passes the message received from the external terminal or public key server to the message analysis module. When,
A communication program characterized by comprising:
前記許可情報生成モジュールは、
前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項29に記載のコミュニケーションプログラム。
The permission information generation module includes:
30. The communication program according to claim 29, wherein the permission information is configured and generated by time information at the time of generation, the destination information of the new terminal, and an arbitrary random keyword.
前記コネクション確立情報生成モジュールは、
前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項29または30のいずれかに記載のコミュニケーションプログラム。
The connection establishment information generation module
The said connection establishment information is comprised and produced | generated by the time information at the time of production | generation, the said destination information of the said new terminal, and arbitrary random keywords, It produces | generates in any one of Claim 29 or 30 characterized by the above-mentioned. Communication program.
全端末数が2つの場合において、
前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値(3、3)により3個生成し、そのうちの一つを前記応対端末に配布する第一段階と、
前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ1つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、
前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した1個と、前記応対端末が持つ1個と、を併せた2個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、
あるいは、全端末数が3つ以上の場合において、
前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記VSS分散符号化モジュールにより閾値((全端末数)、(全端末数))で(全端末数)個の前記許可情報シェアと、1個の前記許可情報シェア検証用情報と、を生成し、(全端末数)個のうちの(全端末数−1)個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に1つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、
前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した(全端末数−2)個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、
前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した(全端末数−2)×(全端末数−1)個と前記応対端末が持つ(全端末数−1)個とを併せた、(全端末数−1)×(全端末数−1)個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とすることを特徴とする請求項29〜31のいずれかに記載のコミュニケーションプログラム。
When the total number of terminals is 2,
The reception terminal asks the member terminal whether or not the new terminal participates in or joins the community, and the member terminal uses the VSS distributed coding module based on the permission information generated independently in the case of approval. A first stage of generating three permission information shares, which are voting information, with a threshold (3, 3), and distributing one of them to the receiving terminal;
When the member terminal approves in the first stage, the member terminal submits one permission information share of its own terminal to the receiving terminal as an approval vote, and joins the new terminal to the community. A second stage of deciding whether to join,
In the second stage, when the member terminal is in favor, the permission is obtained by combining the one collected by the receiving terminal as a vote of approval from the member terminal and the one held by the receiving terminal. Providing an information share as a ticket for joining / subscribing to the community to the new terminal, and when the new terminal establishes the connection with the member terminal, all the permitted information shares acquired from the corresponding terminal A third step of attaching to a message for requesting establishment of the connection,
Alternatively, if the total number of terminals is 3 or more,
The receiving terminal asks all the member terminals whether or not the new terminal participates in or joins the community, and each of the member terminals uses the VSS distributed coding module based on the permission information generated independently. ((Total number of terminals), (total number of terminals)) (total number of terminals) pieces of the permission information share and one piece of permission information share verification information are generated, and (total number of terminals) pieces First, after the distribution of the permission information share verification information is distributed to all the other member terminals and the receiving terminal one by one (total number of terminals −1) of the permission information shares. Stage and
When all the member terminals agree in the first step, each of the member terminals agrees with the permission information share of (total number of terminals−2) obtained from all the other member terminals. As a second step to determine whether to join the new terminal to the community by submitting to the receiving terminal as
When all the member terminals are in favor in the second stage, the receiving terminal collects as a vote of favor from all the member terminals (total number of terminals−2) × (total number of terminals−1) Joining the community to the new terminal with the permission information share of (total number of terminals −1) × (total number of terminals −1) combined with (total number of terminals−1) of the receiving terminal Provided as a ticket for joining, and when the new terminal establishes the connection with each of the member terminals, attaches all the permission information shares acquired from the corresponding terminal to a message for requesting establishment of the connection 32. The communication program according to claim 29, wherein the communication program is a third stage.
前記第一段階は、
各々の前記メンバ端末が前記許可情報シェアを配布する場合において、
全端末数が2つのときは、前記メンバ端末は自端末が生成した3個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、
全端末数が3つ以上のときは、各々の前記メンバ端末は自端末が生成した(全端末数)個の前記許可情報シェアのうち、(全端末数−1)個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理することを特徴とする請求項32に記載のコミュニケーションプログラム。
The first stage includes
In the case where each member terminal distributes the permission information share,
When the total number of terminals is two, the member terminal distributes one of the three permission information shares generated by the own terminal to the receiving terminal, and one of them is a vote for the own terminal, and the rest Manage the permission information share of one without leaking it to other terminals,
When the total number of terminals is three or more, each of the member terminals is distributed to other terminals out of (the total number of terminals-1) of the permitted information shares generated by the own terminal. The communication program according to claim 32, wherein the remaining one of the permission information share and the permission information is managed without leaking to any other terminal.
前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、
自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出することを特徴とする請求項33に記載のコミュニケーションプログラム。
In the case where the member terminal submits the permission information share to the reception terminal, or in the case where the reception terminal provides the permission information share acquired from each of the member terminals to the new terminal,
34. The communication program according to claim 33, wherein the communication program is encrypted and submitted by the public key cryptosystem encryption module using the public key of the new terminal including the destination information of the terminal itself.
前記第二段階において、
全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記VSS分散符号化モジュールにより、閾値((全端末数)、(全端末数))で分散符号化して得られた(全端末数)個の前記コネクション情報シェアのうちの(全端末数−1)を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理することを特徴とする請求項32〜34のいずれかに記載のコミュニケーションプログラム。
In the second stage,
When all the member terminals have submitted an approval vote to the receiving terminal, the receiving terminal generates the connection establishment information by the connection establishment information generation module, and the connection establishment information is generated by the VSS distributed coding module. Of the connection information shares of (total number of terminals) obtained by distributed encoding with threshold values ((total number of terminals), (total number of terminals)), (total number of terminals-1) is transmitted to all the member terminals. 35. The present invention provides each one by one, and manages the remaining one connection establishment information share and the connection establishment information that is the original information by the database without leaking outside. A communication program according to any of the above.
前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、
全端末数が2つの場合は、前記コネクション確立要求メッセージに添付されている2個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、
全端末数が3つ以上の場合は、前記コネクション確立要求メッセージに添付されている(全端末数−1)×(全端末数−1)個の前記許可情報シェアのうち、自端末が配布した(全端末数−1)個の前記許可情報シェアと、自端末の前記データベースで管理している1つの前記許可情報シェアを利用して、前記VSS復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの(全端末数−2)×(全端末数−1)個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返すことを特徴とする請求項32〜35のいずれかに記載のコミュニケーションプログラム。
When the new terminal transmits a message indicating the connection establishment request to each of the member terminals, and when the connection is normally established, the member terminals are all terminals to which the new terminal belongs to the community other than its own terminal. The permission information comparison module receives a request for comparison of the permission information from the control module in order to confirm whether or not it is approved for participation / subscription from
When the total number of terminals is two, the two permission information shares attached to the connection establishment request message and one permission information share managed in the database of the own terminal are used. The permission information is restored by a VSS decryption module and compared with the permission information stored in the database of the terminal itself. If there is no difference, the time information included in the permission information is compared. Check whether the difference from the time information is greater than or equal to a predetermined value set in advance. If the difference is less than or equal to the predetermined value, further check whether the destination information is different from the new terminal. Otherwise, return a normal response to the control module,
When the total number of terminals is three or more, the own terminal has distributed among the permission information shares of (total number of terminals−1) × (total number of terminals−1) attached to the connection establishment request message. The VSS decryption module restores the permission information using the permission information share of (total number of terminals −1) and one permission information share managed in the database of the own terminal. A comparison is made as to whether there is a difference from the permission information stored in the database of the terminal. If there is no difference, the difference between the time information included in the permission information and the time information at the time of comparison is the predetermined information. If it is less than the predetermined value, it is further checked whether the destination information is different from the new terminal. If there is no difference, the remaining (the total number of terminals−2) × (Total number of terminals-1) pieces of the permission Whether or not the information share is illegal is confirmed using the permission information share verification information acquired at the time of distribution of the permission information share from the share verification module and the other member terminals. 36. The communication program according to claim 32, wherein a normal response is returned to the control module.
前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備えることを特徴とする請求項36に記載のコミュニケーションプログラム。   The communication program according to claim 36, further comprising permission information validity period setting means for arbitrarily setting the predetermined value indicating the validity period of the permission information. 前記新規端末が全ての前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立された場合に、
各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した(全端末数−1)個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した(全端末数−1)個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している1個の前記コネクション確立情報シェアと、前記VSS復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返すことを特徴とする請求項36または37のいずれかに記載のコミュニケーションプログラム。
When the new terminal sends a message indicating the connection establishment request to all the member terminals, and when the connection is successfully established,
Each of the member terminals provides the connection establishment information share stored in the database by the own terminal, and the new terminal acquires (total number of terminals −1) of the connection establishments acquired from all of the member terminals. The connection establishment information comparison module provides the reception terminal including information sharing, and the connection terminal confirms whether or not the new terminal has established the connection with all the member terminals. The request for comparison of the connection establishment information is received from the control module, and the connection establishment information share (total number of terminals −1) acquired from the new terminal and the one managed by the database of the own terminal Connection establishment information restored using the connection establishment information share and the VSS decryption module; Compare with the connection establishment information managed in the database of its own terminal to check whether there is a difference. If there is no difference, the time information included in the connection establishment information and the time of comparison 38. The communication program according to claim 36, wherein a check is made as to whether or not a difference from the information is greater than or equal to the predetermined value, and if the difference is not greater than the predetermined value, a normal response is returned to the control module.
前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備えることを特徴とする請求項38に記載のコミュニケーションプログラム。   The communication program according to claim 38, further comprising connection establishment information validity period setting means for arbitrarily setting the predetermined value indicating the validity period of the connection establishment information. 前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、
全端末数が3つ以上の場合は、前記新規端末の前記宛先情報を前記VSS分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記VSS復号化モジュールにより元の前記宛先情報を復元することを特徴とする請求項32〜39のいずれかに記載のコミュニケーションプログラム。
When the receiving terminal asks each member terminal to approve or reject the participation / subscription of the new terminal to the community, the new terminal that desires the invitation or participation / subscription is used as the member information as the member information. Let your device know,
If the total number of terminals is three or more, the destination information share obtained by distributedly encoding the destination information of the new terminal by the VSS distributed encoding module and the destination information share verification information are notified, The member terminals exchange the destination information share acquired from the receiving terminal with each other in order to obtain the original destination information. The destination information share verification information acquired from the receiving terminal and the share verification module 40. The communication program according to claim 32, wherein the original destination information is restored by the VSS decryption module after verifying fraud of all the destination information shares.
前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行うことを特徴とする請求項32〜40のいずれかに記載のコミュニケーションプログラム。   When the member terminal submits the permission information share as an approval vote, the share verification module checks whether each permission information share is illegal by the permission information share verification information. The communication program according to any one of claims 32 to 40. 前記第一段階において、
前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知することを特徴とする請求項32〜41のいずれかに記載のコミュニケーションプログラム。
In the first stage,
Whether the receiving terminal can proceed to the second stage for the voting in response to a request for approval / disapproval for participation / subscription to the community of the new terminal notified from all the member terminals 42. The communication program according to any one of claims 32 to 41, wherein the communication result is notified, and the voting result is notified in the second stage.
JP2004312069A 2004-10-27 2004-10-27 Communication system, communication method and program thereof Expired - Fee Related JP4547233B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004312069A JP4547233B2 (en) 2004-10-27 2004-10-27 Communication system, communication method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004312069A JP4547233B2 (en) 2004-10-27 2004-10-27 Communication system, communication method and program thereof

Publications (2)

Publication Number Publication Date
JP2006128869A JP2006128869A (en) 2006-05-18
JP4547233B2 true JP4547233B2 (en) 2010-09-22

Family

ID=36723109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004312069A Expired - Fee Related JP4547233B2 (en) 2004-10-27 2004-10-27 Communication system, communication method and program thereof

Country Status (1)

Country Link
JP (1) JP4547233B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008134831A1 (en) * 2007-05-03 2008-11-13 Francisco Mathieu Method for development of applications to interact with internet
JP2015233176A (en) * 2014-06-09 2015-12-24 三菱電機株式会社 Authentication system and authentication method
KR20210066867A (en) 2018-10-12 2021-06-07 티제로 아이피, 엘엘씨 An encrypted asset encryption key portion that allows assembly of an asset encryption key using a subset of the encrypted asset encryption key portion.

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171148A (en) * 2002-11-18 2004-06-17 Nec Corp Cooperator recruiting system, cooperator recruiting method and cooperator recruiting program
JP3910529B2 (en) * 2002-12-06 2007-04-25 株式会社エヌ・ティ・ティ・データ Electronic voting system

Also Published As

Publication number Publication date
JP2006128869A (en) 2006-05-18

Similar Documents

Publication Publication Date Title
CN112311735B (en) Credible authentication method, network equipment, system and storage medium
US10637670B2 (en) Multiparty computation of a digital signature of a transaction with advanced approval system
US7877605B2 (en) Opinion registering application for a universal pervasive transaction framework
US6230266B1 (en) Authentication system and process
EP1989855B1 (en) A system and method for establishing a secure group of entities in a computer network
US10630486B2 (en) Multiparty computation for approving digital transaction by utilizing groups of key shares
Roh et al. A study on electronic voting system using private blockchain.
CN112003889A (en) Distributed cross-chain system and cross-chain information interaction and system access control mechanism
US20070242830A1 (en) Anonymous Certificates with Anonymous Certificate Show
US9100171B1 (en) Computer-implemented forum for enabling secure exchange of information
US20030061484A1 (en) Method and system for communication via a computer network
WO1997050205A9 (en) Digitally signing agreements from remotely located nodes
CN108462696B (en) Decentralized block chain intelligent identity authentication system
CN102209046A (en) Network resource integration system and method
CN111866042B (en) Method and device for synchronizing telecommunication account number change
Onieva et al. Multiparty nonrepudiation: A survey
Zhang et al. Anonymous authentication and information sharing scheme based on blockchain and zero knowledge proof for VANETs
CN112669037A (en) Block chain construction method based on copyright transaction, copyright transaction system and method
CN113328854B (en) Service processing method and system based on block chain
CN111937348B (en) Authentication system and computer-readable recording medium
Ding et al. Genuine on-chain and off-chain collaboration: Achieving secure and non-repudiable file sharing in blockchain applications
EP3664363B1 (en) Device and method for processing public key of user in communication system that includes a plurality of nodes
Zhou Non-repudiation
JP4547233B2 (en) Communication system, communication method and program thereof
Isirova et al. Development Principles for Electronic Voting System Using Distributed Ledger Technology

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100622

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100705

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees