JP2006211118A - Communication terminal, and method for each terminal to surely confirm connections among all other terminals in full-mesh network - Google Patents
Communication terminal, and method for each terminal to surely confirm connections among all other terminals in full-mesh network Download PDFInfo
- Publication number
- JP2006211118A JP2006211118A JP2005018410A JP2005018410A JP2006211118A JP 2006211118 A JP2006211118 A JP 2006211118A JP 2005018410 A JP2005018410 A JP 2005018410A JP 2005018410 A JP2005018410 A JP 2005018410A JP 2006211118 A JP2006211118 A JP 2006211118A
- Authority
- JP
- Japan
- Prior art keywords
- application data
- module
- terminal
- message
- terminals
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、フルメッシュ型モデルの多地点通信において、他の参加者同士のコネクションが正常に確立されていて、データ通信が正常に行われているかどうかを各端末が確実に確認する方法に関する。 The present invention relates to a method in which each terminal reliably confirms whether or not a connection between other participants is normally established and data communication is normally performed in multi-point communication of a full mesh type model.
従来、IPネットワーク上において複数の端末が参加する多人数チャットのようなシステムでは、ある複数の端末により一時的にコミュニティを構築し、その中で各端末はアプリケーションデータをやり取りする。このとき、各端末間はデータを送受信するセッションをセットアップするために関係(コネクションと呼ぶ)を持たなければならず、そのコネクションの構築モデルは複数存在する。一般的に普及しているモデルは、コミュニティの端末以外のコンポーネントとして、コネクションを管理するサーバを利用し、各端末はそのサーバとだけコネクションを構築するモデル(中央型モデルと呼ぶ)である。 Conventionally, in a system such as multi-person chat in which a plurality of terminals participate on an IP network, a community is temporarily constructed by a plurality of terminals, and each terminal exchanges application data therein. At this time, each terminal must have a relationship (called a connection) in order to set up a session for transmitting and receiving data, and there are a plurality of models for establishing the connection. A generally popular model is a model that uses a server that manages connections as a component other than a community terminal, and each terminal constructs a connection only with that server (referred to as a central model).
しかし、中央型モデルでは一つのサーバでコネクションを管理するために、そのサーバに障害が発生した場合、そのサーバを利用して構築された全コミュニティ内の全コネクションが切断されるため、通信断が発生してしまう。つまり、中央型モデルは一般的に単一箇所障害(single point of failure)に弱いシステムであり、可用性が低いといえる。 However, in the central model, in order to manage connections with a single 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. In other words, the central model is generally a system that is vulnerable to a single point of failure and has 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.
また、中央型モデルでは、コネクションはサーバで一括管理しているため、多くの場合、アプリケーションデータは一度、サーバに送られ、ミキシングなどのデータ加工が行われた後に、他の端末に送信される。このようなデータ送受信方法は、比較的データ量の大きさが小さい場合や厳密なリアルタイム性を必要としないアプリケーションには適するが、反対にテレビ会議や音声通話などの、送受信するデータ量が大きく、厳密なリアルタイム性を必要とするアプリケーションには不適切である。 In the central model, connections are managed collectively by the server, so in many cases, application data is sent to the server once, and after data processing such as mixing is performed, it is sent to other terminals. . Such a data transmission / reception method is suitable for applications where the amount of data is relatively small or applications that do not require strict real-time properties, but on the contrary, the amount of data to be transmitted / received, such as video conferences and voice calls, is large. It is unsuitable for applications that require strict real-time characteristics.
一方、コネクションのモデルとしては各端末間のコネクションを直接フルメッシュに構築するフルメッシュ型のモデルが存在する。このモデルは中央型モデルと異なり、コミュニティに参加する端末を除いて、コネクションを一括管理するサーバなどは必要なく、各端末自身が代わりに複数のコネクションを管理する。また、コネクションの管理が各端末に分散することにより、中央型モデルに比べ、可用性が高い。これにより、ある端末に障害が起きたとしてもその影響は最小限に抑えられ、コミュニティ全体の通信が切断されることはない。さらに、このモデルでは多くの場合、アプリケーションのデータはサーバを介さず、直接端末へ送信されるため、厳密なリアルタイム性を必要とするアプリケーションに適している。 On the other hand, as a connection model, there is a full mesh type model in which connections between terminals are directly constructed in a full mesh. Unlike the central model, this model does not require a server for managing connections collectively except for terminals that participate in the community, and each terminal itself manages a plurality of connections instead. In addition, since the management of the connection is distributed to each terminal, the availability is higher than that of the central model. As a result, even if a failure occurs in a certain terminal, the influence 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 terminal without going through the server, it is suitable for an application that requires strict real-time property.
しかし、コネクションが集中的に管理されないために各端末は自端末と他の端末間のコネクションが構築されていることを直接確認できても、一方で他の端末間同士のコネクションが実際、確立されているかどうかを知る手段はない。中央型モデルではサーバが一括してコネクションを管理しているため、サーバにとってはどの端末が実際にコネクションを確立しているかを直接知ることができる。 However, since the connection is not managed intensively, each terminal can directly confirm that the connection between its own terminal and the other terminal is established, but the connection between the other terminals is actually established. There is no way to know if it is. In the central model, since the server manages the connection in a lump, the server can directly know which terminal has actually established the connection.
関連文献としては、以下に示すように、コネクション構築モデルについての非特許文献1、秘密分散法(Secret Sharing Schemes)についての非特許文献2および3が開示されている。
以上のように、フルメッシュ型モデルでは一元的なコネクション制御機関が存在しないために、自端末と各端末間のコネクションが接続されているかどうかを直接確認することができても、他の参加者間同士のコネクションが正常に確立され、アプリケーションデータをやり取りしているかどうかを知る手段がない。 As described above, since there is no centralized connection control organization in the full mesh model, even if it is possible to directly check whether the connection between the terminal itself and each terminal is connected, other participants There is no way to know if the connection between them is established normally and whether application data is exchanged.
本発明は、フルメッシュ型モデルの多地点通信において、他の参加者同士のコネクションが正常に確立されていて、データ通信が正常に行われているかどうかを各端末が確実に確認する方法を提案することを目的とする。 The present invention proposes a method in which each terminal reliably confirms whether or not the data communication is performed normally when the connection between other participants is normally established in multi-point communication of the full mesh type model. The purpose is to do.
上記課題を解決するために、請求項1の本発明は、ネットワークに接続されている複数の外部端末とフルメッシュにコネクションを確立することで、一時的なコミュニティを形成し、コネクション確立の際は認証制御を行い、コネクション確立後は各端末間で一意の共通鍵を共有する端末であって、アプリケーションデータを生成し、また外部端末から受信したアプリケーションデータを処理するアプリケーションと、共通鍵を利用し、任意のデータを暗号化・復号化する共通鍵暗号方式暗号化・復号化モジュールと、(k、n)の閾値(1≦k≦n)でアプリケーションデータを分散符号化し、アプリケーションデータの部分情報であるシェアをn個生成するSSS(Secret Sharing Schemes)分散符号化モジュールと、アプリケーションデータが分散符号化された複数のシェアから元のアプリケーションデータを復元するSSS復号化モジュールと、アプリケーションから直接渡されるアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアと、他の端末と一意に共有している共通鍵と、コミュニティに参加している端末の宛先情報を含む端末リスト、とを管理するデータベースモジュールと、2つのアプリケーションデータを比較し、一致するかどうかを判断するデータ比較モジュールと、他のモジュールから渡されるアプリケーションデータのシェアに、指定された宛先情報と、転送回数を付与してメッセージを生成する手段と、共通鍵により暗号化されたアプリケーションデータを含むメッセージを生成する手段、を有するメッセージ生成モジュールと、他の端末から受信するメッセージに含まれる、アプリケーションデータのシェア、転送回数、共通鍵により暗号化されたアプリケーションデータ、を取り出す手段を有するメッセージ処理モジュールと、メッセージ生成モジュールから渡されるメッセージの宛先情報を基に、当該宛先へメッセージを送信する手段と、他の端末からメッセージを受信する手段と、受信したメッセージを前記メッセージ処理モジュールに渡す手段、とを有するメッセージ送受信モジュールとを備え、データベースモジュールに対して、コミュニティに参加している参加者リスト、アプリケーションデータ、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェア、の保存・取得要求を行う手段と、SSS分散符号化モジュールに対して、アプリケーションから受信するアプリケーションデータを、要求した閾値でSSSにより分散符号化を行うように依頼する手段と、メッセージ生成モジュールに対して、SSS分散符号化モジュールから受信するアプリケーションデータのシェアに、指定する宛先情報、転送回数を設定してメッセージを生成するように依頼する手段と、SSS復号化モジュールに対して、取得したアプリケーションデータのシェアから元のアプリケーションデータを復元するように依頼する手段と、データ比較モジュールに対して、データベースモジュールに保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアからSSS復号化モジュールを利用して復元されたアプリケーションデータ、との比較を要求する手段と、メッセージ処理モジュールから、他の端末から受信されたメッセージから取り出されたアプリケーションデータのシェア、転送回数、暗号化されたアプリケーションデータ、を受信する手段と、共通鍵暗号方式暗号化・復号化モジュールに対して、任意のデータを共通鍵を利用して、暗号化、または復号化するように依頼する手段、とを備える制御モジュールを備えることを特徴とするコミュニケーション端末をもって解決手段とする。
In order to solve the above-mentioned problems, the present invention of
請求項2の本発明は、請求項1記載のコミュニケーション端末である端末はアプリケーションデータを、自端末を除くコミュニティに参加する全端末に送信する際に、前記データベースモジュールにそのアプリケーションデータを保存しておくとともに、前記SSS分散符号化モジュールで((コミュニティに参加する全端末数−1)、(コミュニティに参加する全端末数−1))の閾値で分散符号化して得られる、(コミュニティに参加する全端末数−1)個のアプリケーションデータのシェアを、自端末を除くコミュニティに参加する全端末のそれぞれに対し、1シェアづつメッセージに含めて送信するため、シェアと、該シェアを送信される端末の宛先情報と、1に設定された転送回数、とを含むメッセージを、自端末を除くコミュニティに参加する全端末のそれぞれについて生成し送信するステップ1と、ステップ1で送信されたメッセージを他の各端末が受信し、それら各端末は前記メッセージ処理モジュールを利用して、シェアと転送回数を取り出し、それらを制御モジュールに渡し、制御モジュールは転送回数を参照し、1に設定されている場合は、そのメッセージに含まれていたアプリケーションデータのシェアと0に設定した転送回数とを含むメッセージを生成し、そのメッセージの発信元端末と自端末を除く全端末に対して転送するとともに、アプリケーションデータのシェアは自端末の前記データベースモジュールに保存するステップ2と、ステップ2で転送されたメッセージを受けた各端末の前記制御モジュールは、ステップ2と同様に転送回数を参照し0に設定されているので転送を終了し、各端末が全てメッセージの転送を終了すると、メッセージの発信元端末を除く各端末が得た、(コミュニティに参加する全端末数−1)個のシェアを、前記SSS復号化モジュールを利用して元のアプリケーションデータを復元しアプリケーションに渡すとともに、そのアプリケーションデータを、発信元端末と共有している共通鍵を利用して前記共通鍵暗号方式暗号化・復号化モジュールで暗号化した暗号化データを、発信元端末に送り返すステップ3と、ステップ1における発信元端末は他の全端末から、発信元端末と各端末間で一意に共有している共通鍵を利用して暗号化された暗号化データをステップ3により受信し、受け取った各暗号化データを、それぞれ対応する共通鍵で復号化して得られるアプリケーションデータと、データベースモジュールに保存しているアプリケーションデータとを比較し、一致するかどうかを確認するステップ4と、を備えることを特徴とする、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法をもって解決手段とする。
In the present invention of
請求項3の本発明は、アプリケーションデータの送信ステップをコミュニティに参加する全ての端末が実施する、請求項2に記載のフルメッシュ網において各端末が他の全端末間のコネクション接続を確実に接続する方法をもって解決手段とする。 In the third aspect of the present invention, in the full mesh network according to the second aspect, each terminal surely connects connection connections between all other terminals, in which all terminals participating in the community perform the application data transmission step. This method is the solution.
請求項4の本発明は、ネットワークに接続されている複数の外部端末とフルメッシュにコネクションを確立することで、一時的なコミュニティを形成し、コネクション確立の際は認証制御を行い、コネクション確立後は各端末間で一意の共通鍵を共有する端末であって、アプリケーションデータを生成し、また外部端末から受信したアプリケーションデータを処理するアプリケーションと、共通鍵を利用し、任意のデータを暗号化・復号化する共通鍵暗号方式暗号化・復号化モジュールと、(k、n)の閾値(1≦k≦n)でアプリケーションデータを分散符号化し、アプリケーションデータの部分情報であるシェアをn個生成するSSS(Secret Sharing Schemes)分散符号化モジュールと、アプリケーションデータが分散符号化された複数のシェアから元のアプリケーションデータを復元するSSS復号化モジュールと、アプリケーションデータのハッシュ値と、他の端末から受信するアプリケーションデータのシェアと、他の端末と一意に共有している共通鍵と、コミュニティに参加している端末の宛先情報を含む端末リスト、とを管理するデータベースモジュールと、アプリケーションデータをハッシュ値に変換するハッシュモジュールと、2つのハッシュ値を比較し、一致するかどうかを判断するデータ比較モジュールと、他のモジュールから渡されるアプリケーションデータのシェアに、指定された宛先情報と、転送回数を付与してメッセージを生成する手段と、共通鍵により暗号化されたハッシュ値を含むメッセージを生成する手段、とを有するメッセージ生成モジュールと、他の端末から受信するメッセージに含まれる、アプリケーションデータのシェア、転送回数、共通鍵により暗号化されたハッシュ値、を取り出す手段を有するメッセージ処理モジュールと、メッセージ生成モジュールから渡されるメッセージの宛先情報を基に、当該宛先へメッセージを送信する手段と、他の端末からメッセージを受信する手段と、受信したメッセージを前記メッセージ処理モジュールに渡す手段、とを有するメッセージ送受信モジュールとを備え、データベースモジュールに対して、コミュニティに参加している参加者リスト、アプリケーションデータのハッシュ値、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェアの、保存・取得要求を行う手段と、SSS分散符号化モジュールに対して、アプリケーションから受信するアプリケーションデータを、要求した閾値でSSSにより分散符号化を行うように依頼する手段と、メッセージ生成モジュールに対して、SSS分散符号化モジュールから受信するアプリケーションデータのシェアに、指定する宛先情報、転送回数を設定してメッセージを生成するように依頼する手段と、SSS復号化モジュールに対して、取得したアプリケーションデータのシェアから元のアプリケーションデータを復元するように依頼する手段と、データ比較モジュールに対して、データベースモジュールに保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアからSSS復号化モジュールを利用して復元されたアプリケーションデータ、との比較を要求する手段と、メッセージ処理モジュールから、他の端末から受信されたメッセージから取り出されたアプリケーションデータのシェア、転送回数、暗号化されたハッシュ値、を受信する手段と、ハッシュモジュールに対して、SSS復号化モジュールを利用して復元したアプリケーションデータをハッシュ値に変換するように要求する手段と、共通鍵暗号方式暗号化・復号化モジュールに対して、任意のデータを共通鍵により、暗号化、または復号化するように依頼する手段、とを備える制御モジュールを備えることを特徴とするコミュニケーション端末をもって解決手段とする。 According to the present invention of claim 4, a temporary community is formed by establishing a connection with a plurality of external terminals connected to the network in a full mesh, and authentication control is performed when the connection is established. Is a terminal that shares a unique common key among terminals, generates application data, processes application data received from an external terminal, and encrypts any data using the common key. Application data is distributedly encoded with a common key encryption / decryption module to be decrypted and a threshold (1 ≦ k ≦ n) of (k, n) to generate n shares that are partial information of the application data. An SSS (Secret Sharing Schemes) distributed encoding module and a plurality of shells in which application data is distributed encoded SSS decryption module that restores the original application data from the network, the hash value of the application data, the share of application data received from other terminals, the common key that is uniquely shared with other terminals, and the community A database module that manages a terminal list including destination information of participating terminals, a hash module that converts application data into a hash value, and a data comparison that compares two hash values to determine whether they match. Generates a message that includes a hash value encrypted with a common key and a means for generating a message by assigning the specified destination information and the number of transfers to the share of the application data passed from the module and another module A message generation module comprising: A message processing module having means for extracting application data share, transfer count, hash value encrypted with a common key included in a message received from another terminal, and destination information of a message passed from the message generation module. A message transmission / reception module comprising: means for transmitting a message to the destination; means for receiving a message from another terminal; and means for passing the received message to the message processing module. A means for requesting storage / acquisition of a list of participants participating in the community, a hash value of application data, a common key shared among the participants, and a share in which application data is distributedly encoded, To SSS distributed coding module Then, a means for requesting application data received from the application to be distributed encoded by SSS with the requested threshold, and a share of application data received from the SSS distributed encoding module to the message generation module, Means for requesting to generate a message by setting designated destination information and the number of transfers; means for requesting the SSS decryption module to restore the original application data from the acquired application data share; , Request the data comparison module to compare the application data stored in the database module with the application data restored using the SSS decryption module from the share of application data received from other terminals SSS decryption with respect to the hash module, means for receiving from the message processing module a share of application data extracted from a message received from another terminal, the number of transfers, and an encrypted hash value A means for requesting application data restored using the encryption module to be converted into a hash value and a common key encryption / decryption module for encrypting or decrypting arbitrary data with a common key The communication terminal is provided with a control module including a means for requesting to be converted into a solution.
請求項5の本発明は、請求項4記載のコミュニケーション端末である端末はアプリケーションデータを、自端末を除くコミュニティに参加する全端末に送信する際に、前記ハッシュモジュールを利用してアプリケーションデータのハッシュ値を前記データベースモジュールに保存しておくとともに、前記分散符号化モジュールで、((コミュニティに参加する全端末数−1)、(コミュニティに参加する全端末数−1))の閾値で分散符号化して得られる、(コミュニティに参加する全端末数−1)個のアプリケーションデータのシェアを、自端末を除くコミュニティに参加する全端末のそれぞれに対し、1シェアづつメッセージに含めて送信するため、シェアと、該シェアを送信される端末の宛先情報と、1に設定された転送回数、とを含むメッセージを、自端末を除くコミュニティに参加する全端末のそれぞれについて生成し送信するステップ1と、ステップ1で送信されたメッセージを他の各端末が受信し、それら各端末は前記メッセージ処理モジュールを利用して、シェアと転送回数を取り出し、それらを制御モジュールに渡し、制御モジュールは転送回数を参照し、1に設定されている場合は、メッセージに含まれていたアプリケーションデータのシェアと0に設定した転送回数とを含むメッセージを生成し、前記メッセージの発信元端末と自端末を除く全端末に対して送信するとともに、得られたシェアは自端末の前記データベースモジュールに保存するステップ2と、ステップ2で転送されたメッセージを受けた各端末の前記制御モジュールは、ステップ2と同様に転送回数を参照し、0に設定されているので、転送を終了するとともに、全端末のメッセージの転送終了後、メッセージの発信元端末を除く各端末が得た、(コミュニティに参加する全端末数−1)個のシェアを、前記SSS復号化モジュールを利用して元のアプリケーションデータを復元し、アプリケーションに渡すとともに、そのアプリケーションデータをハッシュモジュールによりハッシュ値に変換し、発信元端末と共有している共通鍵を利用して前記共通鍵暗号方式暗号化・復号化モジュールで暗号化した暗号化ハッシュ値を、発信元端末に送り返すステップ3と、ステップ1における発信元端末を除く全端末から、発信元端末と各端末間で一意に共有している共通鍵を利用して暗号化された暗号化ハッシュ値を、発信元端末はステップ3により受信し、受け取った各暗号化ハッシュ値をそれぞれ対応する共通鍵で復号化し、得られるハッシュ値とデータベースモジュールに保存しているハッシュ値とを比較し、一致するかどうかを確認するステップ4と、を備えることを特徴とする、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法をもって解決手段とする。
According to a fifth aspect of the present invention, when the terminal, which is the communication terminal according to the fourth aspect, transmits the application data to all the terminals participating in the community except for the terminal itself, the hash of the application data is utilized using the hash module. The value is stored in the database module, and is distributedly encoded with the threshold of ((total number of terminals participating in community-1), (total number of terminals participating in community-1)) in the distributed encoding module. Since the share of the application data (total number of terminals participating in the community minus 1) obtained in this way is included in a message for each terminal that participates in the community other than its own terminal, Destination information of the terminal to which the share is transmitted, and the number of transfers set to 1. A message is generated and transmitted for each of all terminals participating in the community except for the terminal itself. The other terminals receive the message transmitted in
請求項6の本発明は、アプリケーションデータの送信ステップをコミュニティに参加する全ての端末が実施する、請求項5に記載のフルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法をもって解決手段とする。 The present invention of claim 6 is such that each terminal in the full mesh network according to claim 5 confirms connection connections between all other terminals in a full mesh network according to claim 5, wherein the application data transmission step is performed by all terminals participating in the community. This method is the solution.
請求項7の本発明は、ネットワークに接続されている複数の外部端末とフルメッシュにコネクションを確立することで、一時的なコミュニティを形成し、コネクション確立の際は認証制御を行い、コネクション確立後は各端末間で一意の共通鍵を共有する端末であって、アプリケーションデータを生成し、また外部端末から受信したアプリケーションデータを処理するアプリケーションと、共通鍵を利用し、任意のデータを暗号化・復号化する共通鍵暗号方式暗号化・復号化モジュールと、(k、n)の閾値(1≦k≦n)でアプリケーションデータを分散符号化し、アプリケーションデータの部分情報であるシェアをn個生成するSSS(Secret Sharing Schemes)分散符号化モジュールと、アプリケーションデータが分散符号化された複数のシェアから元のアプリケーションデータを復元するSSS復号化モジュールと、アプリケーションから直接渡されるアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアと、他の端末と一意に共有している共通鍵と、コミュニティに参加している端末の宛先情報を含む端末リスト、とを管理するデータベースモジュールと、2つのアプリケーションデータを比較し、一致するかどうかを判断するデータ比較モジュールと、他のモジュールから渡されるアプリケーションデータのシェアに、指定された宛先情報と、転送回数を付与してメッセージを生成する手段と、共通鍵により暗号化されたアプリケーションデータを含むメッセージを生成する手段、を有するメッセージ生成モジュールと、他の端末から受信するメッセージに含まれる、アプリケーションデータのシェア、転送回数、共通鍵により暗号化されたアプリケーションデータ、を取り出す手段を有するメッセージ処理モジュールと、メッセージ生成モジュールから渡されるメッセージの宛先情報を基に、当該宛先へメッセージを送信する手段と、他の端末からメッセージを受信する手段と、受信したメッセージを前記メッセージ処理モジュールに渡す手段、とを有するメッセージ送受信モジュールとを備え、データベースモジュールに対して、コミュニティに参加している参加者リスト、アプリケーションデータ、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェア、の保存・取得要求を行う手段と、SSS分散符号化モジュールに対して、アプリケーションから受信するアプリケーションデータを、要求した閾値でSSSにより分散符号化を行うように依頼する手段と、メッセージ生成モジュールに対して、SSS分散符号化モジュールから受信するアプリケーションデータのシェアに、指定する宛先情報、転送回数を設定してメッセージを生成するように依頼する手段と、SSS復号化モジュールに対して、取得したアプリケーションデータのシェアから元のアプリケーションデータを復元するように依頼する手段と、データ比較モジュールに対して、データベースモジュールに保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアからSSS復号化モジュールを利用して復元されたアプリケーションデータ、との比較を要求する手段と、メッセージ処理モジュールから、他の端末から受信されたメッセージから取り出されたアプリケーションデータのシェア、転送回数、暗号化されたアプリケーションデータ、を受信する手段と、共通鍵暗号方式暗号化・復号化モジュールに対して、任意のデータを共通鍵を利用して、暗号化、または復号化するように依頼する手段、とを備える制御モジュールを備えることを特徴とするコミュニケーション端末としてコンピュータを機能させるためのコンピュータプログラムをもって解決手段とする。 In the present invention of claim 7, a temporary community is formed by establishing a connection to a plurality of external terminals connected to the network in a full mesh, and authentication control is performed at the time of establishing the connection. Is a terminal that shares a unique common key among terminals, generates application data, processes application data received from an external terminal, and encrypts any data using the common key. Application data is distributedly encoded with a common key encryption / decryption module to be decrypted and a threshold (1 ≦ k ≦ n) of (k, n) to generate n shares that are partial information of the application data. An SSS (Secret Sharing Schemes) distributed encoding module and a plurality of shells in which application data is distributed encoded SSS decryption module that restores the original application data from the application, application data directly passed from the application, share of application data received from other terminals, a common key that is uniquely shared with other terminals, A database module that manages a terminal list including destination information of terminals participating in the community, a data comparison module that compares two application data and determines whether they match, and an application passed from another module A message generation module having means for generating a message by assigning the specified destination information to the data share, the number of transfers, and a means for generating a message including application data encrypted with a common key, and the like Received from other terminals The message processing module having means for retrieving the application data share, the number of transfers, and the application data encrypted with the common key included in the message, and the destination information of the message passed from the message generation module, to the destination A message transmission / reception module comprising: means for transmitting a message; means for receiving a message from another terminal; and means for passing the received message to the message processing module. Participant list, application data, a common key shared among the participants, a share for which application data is distributed and encoded, a means for performing a storage / acquisition request, and an SSS distributed encoding module, application Means for requesting the application data received from the SSS to be distributed-encoded with the requested threshold, and destination information to be specified for the share of the application data received from the SSS distributed encoding module to the message generation module Means for requesting to generate a message by setting the number of transfers, means for requesting the SSS decryption module to restore the original application data from the acquired application data share, and a data comparison module A means for requesting a comparison between the application data stored in the database module and the application data restored using the SSS decryption module from the share of the application data received from other terminals, and a message place A means for receiving the share of application data extracted from messages received from other terminals, the number of transfers, and encrypted application data from the management module, and the common key encryption / decryption module A computer program for causing a computer to function as a communication terminal, comprising: a control module comprising: a means for requesting to encrypt or decrypt any data using a common key Means.
請求項8の本発明は、請求項1記載のコミュニケーション端末である端末はアプリケーションデータを、自端末を除くコミュニティに参加する全端末に送信する際に、前記データベースモジュールにそのアプリケーションデータを保存しておくとともに、前記SSS分散符号化モジュールで((コミュニティに参加する全端末数−1)、(コミュニティに参加する全端末数−1))の閾値で分散符号化して得られる、(コミュニティに参加する全端末数−1)個のアプリケーションデータのシェアを、自端末を除くコミュニティに参加する全端末のそれぞれに対し、1シェアづつメッセージに含めて送信するため、シェアと、該シェアを送信される端末の宛先情報と、1に設定された転送回数、とを含むメッセージを、自端末を除くコミュニティに参加する全端末のそれぞれについて生成し送信するステップ1と、ステップ1で送信されたメッセージを他の各端末が受信し、それら各端末は前記メッセージ処理モジュールを利用して、シェアと転送回数を取り出し、それらを制御モジュールに渡し、制御モジュールは転送回数を参照し、1に設定されている場合は、そのメッセージに含まれていたアプリケーションデータのシェアと0に設定した転送回数とを含むメッセージを生成し、そのメッセージの発信元端末と自端末を除く全端末に対して転送するとともに、アプリケーションデータのシェアは自端末の前記データベースモジュールに保存するステップ2と、ステップ2で転送されたメッセージを受けた各端末の前記制御モジュールは、ステップ2と同様に転送回数を参照し0に設定されているので転送を終了し、各端末が全てメッセージの転送を終了すると、メッセージの発信元端末を除く各端末が得た、(コミュニティに参加する全端末数−1)個のシェアを、前記SSS復号化モジュールを利用して元のアプリケーションデータを復元しアプリケーションに渡すとともに、そのアプリケーションデータを、発信元端末と共有している共通鍵を利用して前記共通鍵暗号方式暗号化・復号化モジュールで暗号化した暗号化データを、発信元端末に送り返すステップ3と、ステップ1における発信元端末は他の全端末から、発信元端末と各端末間で一意に共有している共通鍵を利用して暗号化された暗号化データをステップ3により受信し、受け取った各暗号化データを、それぞれ対応する共通鍵で復号化して得られるアプリケーションデータと、データベースモジュールに保存しているアプリケーションデータとを比較し、一致するかどうかを確認するステップ4と、を備えることを特徴とする、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法をコンピュータに実行させるためのコンピュータプログラムをもって解決手段とする。 請求項9の本発明は、ネットワークに接続されている複数の外部端末とフルメッシュにコネクションを確立することで、一時的なコミュニティを形成し、コネクション確立の際は認証制御を行い、コネクション確立後は各端末間で一意の共通鍵を共有する端末であって、アプリケーションデータを生成し、また外部端末から受信したアプリケーションデータを処理するアプリケーションと、共通鍵を利用し、任意のデータを暗号化・復号化する共通鍵暗号方式暗号化・復号化モジュールと、(k、n)の閾値(1≦k≦n)でアプリケーションデータを分散符号化し、アプリケーションデータの部分情報であるシェアをn個生成するSSS(Secret Sharing Schemes)分散符号化モジュールと、アプリケーションデータが分散符号化された複数のシェアから元のアプリケーションデータを復元するSSS復号化モジュールと、アプリケーションデータのハッシュ値と、他の端末から受信するアプリケーションデータのシェアと、他の端末と一意に共有している共通鍵と、コミュニティに参加している端末の宛先情報を含む端末リスト、とを管理するデータベースモジュールと、アプリケーションデータをハッシュ値に変換するハッシュモジュールと、2つのハッシュ値を比較し、一致するかどうかを判断するデータ比較モジュールと、他のモジュールから渡されるアプリケーションデータのシェアに、指定された宛先情報と、転送回数を付与してメッセージを生成する手段と、共通鍵により暗号化されたハッシュ値を含むメッセージを生成する手段、とを有するメッセージ生成モジュールと、他の端末から受信するメッセージに含まれる、アプリケーションデータのシェア、転送回数、共通鍵により暗号化されたハッシュ値、を取り出す手段を有するメッセージ処理モジュールと、メッセージ生成モジュールから渡されるメッセージの宛先情報を基に、当該宛先へメッセージを送信する手段と、他の端末からメッセージを受信する手段と、受信したメッセージを前記メッセージ処理モジュールに渡す手段、とを有するメッセージ送受信モジュールとを備え、データベースモジュールに対して、コミュニティに参加している参加者リスト、アプリケーションデータのハッシュ値、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェアの、保存・取得要求を行う手段と、SSS分散符号化モジュールに対して、アプリケーションから受信するアプリケーションデータを、要求した閾値でSSSにより分散符号化を行うように依頼する手段と、メッセージ生成モジュールに対して、SSS分散符号化モジュールから受信するアプリケーションデータのシェアに、指定する宛先情報、転送回数を設定してメッセージを生成するように依頼する手段と、SSS復号化モジュールに対して、取得したアプリケーションデータのシェアから元のアプリケーションデータを復元するように依頼する手段と、データ比較モジュールに対して、データベースモジュールに保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアからSSS復号化モジュールを利用して復元されたアプリケーションデータ、との比較を要求する手段と、メッセージ処理モジュールから、他の端末から受信されたメッセージから取り出されたアプリケーションデータのシェア、転送回数、暗号化されたハッシュ値、を受信する手段と、ハッシュモジュールに対して、SSS復号化モジュールを利用して復元したアプリケーションデータをハッシュ値に変換するように要求する手段と、共通鍵暗号方式暗号化・復号化モジュールに対して、任意のデータを共通鍵により、暗号化、または復号化するように依頼する手段、とを備える制御モジュールを備えることを特徴とするコミュニケーション端末としてコンピュータを機能させるためのコンピュータプログラムをもって解決手段とする。
In the present invention of claim 8, when the terminal which is the communication terminal of
請求項10の本発明は、請求項4記載のコミュニケーション端末である端末はアプリケーションデータを、自端末を除くコミュニティに参加する全端末に送信する際に、前記ハッシュモジュールを利用してアプリケーションデータのハッシュ値を前記データベースモジュールに保存しておくとともに、前記分散符号化モジュールで、((コミュニティに参加する全端末数−1)、(コミュニティに参加する全端末数−1))の閾値で分散符号化して得られる、(コミュニティに参加する全端末数−1)個のアプリケーションデータのシェアを、自端末を除くコミュニティに参加する全端末のそれぞれに対し、1シェアづつメッセージに含めて送信するため、シェアと、該シェアを送信される端末の宛先情報と、1に設定された転送回数、とを含むメッセージを、自端末を除くコミュニティに参加する全端末のそれぞれについて生成し送信するステップ1と、ステップ1で送信されたメッセージを他の各端末が受信し、それら各端末は前記メッセージ処理モジュールを利用して、シェアと転送回数を取り出し、それらを制御モジュールに渡し、制御モジュールは転送回数を参照し、1に設定されている場合は、メッセージに含まれていたアプリケーションデータのシェアと0に設定した転送回数とを含むメッセージを生成し、前記メッセージの発信元端末と自端末を除く全端末に対して送信するとともに、得られたシェアは自端末の前記データベースモジュールに保存するステップ2と、ステップ2で転送されたメッセージを受けた各端末の前記制御モジュールは、ステップ2と同様に転送回数を参照し、0に設定されているので、転送を終了するとともに、全端末のメッセージの転送終了後、メッセージの発信元端末を除く各端末が得た、(コミュニティに参加する全端末数−1)個のシェアを、前記SSS復号化モジュールを利用して元のアプリケーションデータを復元し、アプリケーションに渡すとともに、そのアプリケーションデータをハッシュモジュールによりハッシュ値に変換し、発信元端末と共有している共通鍵を利用して前記共通鍵暗号方式暗号化・復号化モジュールで暗号化した暗号化ハッシュ値を、発信元端末に送り返すステップ3と、ステップ1における発信元端末を除く全端末から、発信元端末と各端末間で一意に共有している共通鍵を利用して暗号化された暗号化ハッシュ値を、発信元端末はステップ3により受信し、受け取った各暗号化ハッシュ値をそれぞれ対応する共通鍵で復号化し、得られるハッシュ値とデータベースモジュールに保存しているハッシュ値とを比較し、一致するかどうかを確認するステップ4と、を備えることを特徴とする、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法をコンピュータに実行させるためのコンピュータプログラムをもって解決手段とする。
According to a tenth aspect of the present invention, when the terminal, which is the communication terminal according to the fourth aspect, transmits the application data to all terminals participating in the community except for the own terminal, the hash of the application data is utilized using the hash module. The value is stored in the database module, and is distributedly encoded with the threshold of ((total number of terminals participating in community-1), (total number of terminals participating in community-1)) in the distributed encoding module. Since the share of the application data (total number of terminals participating in the community minus 1) obtained in this way is included in a message for each terminal that participates in the community other than its own terminal, Destination information of the terminal to which the share is transmitted, and the number of transfers set to 1. Message is generated and transmitted for each of all terminals participating in the community except for the terminal itself, and the other terminals receive the message transmitted in
以上、本発明によれば、ステップ1からステップ4を通し、発信元端末はアプリケーションデータを他の端末へ直接送信するのでなく、他の端末経由で送信するため、他の端末同士のコネクションが正常でないと、他の端末はステップ3において、発信元端末が生成したアプリケーションデータの部分情報であるシェアをすべて手に入れることができず、結局、発信元端末が生成したアプリケーションデータと同じものを復元することもできず、ステップ4のアプリケーションデータの比較ができない。よって、各端末がステップ1からステップ4を通して、他の端末にアプリケーションデータを送信することで、最終的に発信元端末は、他の端末同士のコネクション、データ通信が正常であるかどうかを確実に確認することができる。
As described above, according to the present invention, the connection between other terminals is normal because the source terminal does not directly transmit the application data to the other terminals but through the other terminals through the
また、本発明によれば、ステップ4において発信元端末に送り返されるデータを含むメッセージが、発信元端末とその他の端末間で一意に共有している共通鍵を利用して暗号化されていることで、コミュニティに参加している端末からのメッセージであることを一意に認証することができる。 Further, according to the present invention, the message including the data sent back to the source terminal in Step 4 is encrypted using a common key that is uniquely shared between the source terminal and the other terminals. Thus, it can be uniquely authenticated that the message is from a terminal participating in the community.
また、本発明によれば、ステップ1において、アプリケーションデータを直接、他の端末に送信するのではなく、一度、部分情報(シェア)に分解し、さらに他の端末を経由して、発信元端末を除く全端末にデータを送信するため、コミュニティに参加する端末以外の不正な端末によって、そのシェアが盗聴されたとしても、それがアプリケーションの部分情報であるため、元のアプリケーションデータを取得することができず、よって、コミュニティ内のデータ通信に対しセキュリティレベルを向上させることが可能である。
Further, according to the present invention, in
また、本発明によれば、ステップ3で他の端末がアプリケーションデータを送り返すときに、アプリケーションデータを含んだメッセージをそのまま共通鍵を利用して、暗号化するのではなく、アプリケーションデータのハッシュ値を求めてから、そのハッシュ値を含んだメッセージを共通鍵で暗号化するため、発信元端末に送り返すためのデータ量を小さくすることができ、データ通信に必要となる帯域を抑制することができる。
Further, according to the present invention, when another terminal sends back application data in
また、本発明によれば、ステップ1において、アプリケーションデータをハッシュ値としてデータベースに保存しておくため、各端末のデータ保存に必要な容量を抑えることができる。
Further, according to the present invention, since application data is stored in the database as a hash value in
以下、本発明の実施の形態を、図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明の実施の形態に係る端末間の関係を表したネットワークの構成を示す図である。 FIG. 1 is a diagram showing a network configuration representing a relationship between terminals according to an embodiment of the present invention.
端末1、端末2、端末3はネットワーク1000に接続しており、それらの間で通信可能であるとする。図1の状態では、各端末間ではコネクションが確立されていないとする。ネットワーク1000は任意の情報をやり取りするためのインフラであり、例えば、インターネットやプライベートネットワークを表す。
Terminal 1,
[第1の実施の形態]
図2は、図1で示された端末1、端末2、端末3のそれぞれが有する共通の機能モジュールの構成を示した図である。
[First Embodiment]
FIG. 2 is a diagram illustrating a configuration of common functional modules included in each of the
ここで、コミュニティとは複数の端末間でフルメッシュにコネクションを確立することで形成されるものとし、最低2つの端末間で構築される1対1のコネクションが必要となる。 Here, the community is formed by establishing a connection in a full mesh between a plurality of terminals, and a one-to-one connection constructed between at least two terminals is required.
制御モジュール10は、データベースモジュール11、秘密分散法(Secret Sharing Schemes、以下SSSという)分散符号化モジュール13、メッセージ生成モジュール14、データ比較モジュール15、SSS復号化モジュール16、メッセージ処理モジュール17、共通鍵暗号方式暗号化・復号化モジュール19とのインタフェースを有する。
The
制御モジュール10はデータベースモジュール11に対し、コミュニティに参加している参加者リスト、アプリケーションデータ、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェア、の保存・取得要求を行う。
The
制御モジュール10はSSS分散符号化モジュール13に対し、SSS分散符号化モジュール13がアプリケーション12から受信するアプリケーションデータを、指定した閾値でSSSにより分散符号化を行うように依頼する。
The
制御モジュール10はメッセージ生成モジュール14に対し、SSS分散符号化モジュール13または制御モジュール10から受信するアプリケーションのシェア、指定した転送回数、要求する宛先情報を含んだメッセージを生成するように依頼する。
The
また、制御モジュール10はメッセージ生成モジュール14に対し、共通鍵により暗号化されたアプリケーションデータ、指定した宛先情報を含んだメッセージを生成するように依頼する。
Further, the
また、制御モジュール10はデータ比較モジュール15に対し、アプリケーション12が以前に生成しデータベースモジュール11に保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータとを比較するように依頼する。
In addition, the
また、制御モジュール10はSSS復号化モジュール16に対し、取得したアプリケーションデータの複数のシェアから元のアプリケーションデータを復元するように依頼する。
Further, the
また、制御モジュール10はメッセージ処理モジュール17から、他の端末から受信されたメッセージから取り出されたシェア、転送回数、共通鍵により暗号化されたアプリケーションデータ、を受信する。
Further, the
また、制御モジュール10は共通鍵暗号方式暗号化・復号化モジュール19に対し、任意のデータを共通鍵を利用して、暗号化、または復号化するように依頼する。
Further, the
データベースモジュール11は制御モジュール10、アプリケーション12、とのインタフェースを有する。データベースモジュール11は、各端末間で共有する共通鍵、参加者のリスト(主に宛先情報が含まれる)、各端末から受信するアプリケーションデータが分散符号化されたシェア、アプリケーションデータそのものを管理する。
The
アプリケーション12は例えば、音声データを入出力する音声アプリケーションなど、アプリケーションデータを入出力する任意のアプリケーションである。ただし、これらのアプリケーションデータはどの端末が生成したものかを識別するための識別情報(ID)を含む。
The
アプリケーション12はデータベースモジュール11、SSS分散符号化モジュール13、とのインタフェースを有する。
The
アプリケーション12はデータベースモジュール11に対し、毎回出力するアプリケーションデータを保存してもらう。
The
アプリケーション12は、SSS分散符号化モジュール13に対して毎回出力するアプリケーションデータを、制御モジュール10によってSSS分散符号化モジュール13にあらかじめ設定された閾値で、SSS分散符号化モジュール13により分散符号化してもらう。
The
SSS分散符号化モジュール13は、制御モジュール10、アプリケーション12、メッセージ生成モジュール14、とのインタフェースを有する。SSS分散符号化モジュール13は、(k、n)の閾値(1≦k≦n)でアプリケーションデータを分散符号化し、アプリケーションデータの部分情報であるシェアをn個生成する。
The SSS distributed
SSS分散符号化モジュール13は、制御モジュール10から指定された((コミュニティの全端末数−1)、(コミュニティの全端末数−1))の閾値で、アプリケーション12から受信するデータを分散符号化し、得られた(コミュニティの全端末数−1))個のシェアをメッセージ生成モジュール14に渡すように依頼される。
The SSS distributed
メッセージ生成モジュール14は、制御モジュール10、SSS分散符号化モジュール13、メッセージ送受信モジュール18、とのインタフェースを有する。
The
メッセージ生成モジュール14は制御モジュール10から、自端末を除くコミュニティに参加する全端末の宛先情報を受信し、SSS分散符号化モジュール13から受信する(コミュニティの全端末数−1)個のシェアにそれぞれ、他の端末の宛先情報と指定された転送回数を付与してメッセージを生成するように依頼される。これにより、(コミュニティの全端末数−1)個のメッセージを生成することになる。
The
また、メッセージ生成モジュール14は、SSS分散符号化モジュール13からシェアを受信する場合、メッセージ生成時には転送回数を1に設定する。一方、制御モジュール10からシェアが直接渡された場合は、転送回数を0に設定して、要求された宛先情報を付与してメッセージを生成する。
In addition, when the
また、メッセージ生成モジュール14は制御モジュール10から、共通鍵で暗号化されたアプリケーションデータを、指定された宛先情報を付与してメッセージを生成するように依頼される。
Further, the
データ比較モジュール15は、制御モジュール10、とのインタフェースを有する。
The
データ比較モジュール15は制御モジュール10から、アプリケーション12が以前に生成しデータベースモジュール11に保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータとを比較するように依頼される。
The
SSS復号化モジュール16は、制御モジュール10、アプリケーション12、とのインタフェースを有する。
The
SSS復号化モジュール16は制御モジュール10から、SSSを利用し、複数のシェアから一つのアプリケーションデータを復元するように依頼される。
The
また、SSS復号化モジュール16はアプリケーション12に対し、復元したアプリケーションデータを渡す。
The
メッセージ処理モジュール17は、制御モジュール10、メッセージ送受信モジュール18、とのインタフェースを有する。
The
メッセージ処理モジュール17は制御モジュール10に対し、メッセージ送受信モジュール18が他の端末から受信したメッセージからアプリケーションデータのシェア、転送回数を取り出し、渡す。
The
メッセージ送受信モジュール18は、メッセージ生成モジュール14、メッセージ処理モジュール17、とのインタフェースを有するだけでなく、外部の端末と直接ネットワークで結ばれている。
The message transmission /
メッセージ送受信モジュール18は、メッセージ生成モジュール14から渡されたメッセージをそのメッセージの宛先情報を参考にして、他の端末に送信する。
The message transmission /
また、メッセージ送受信モジュール18は、受信したメッセージをメッセージ処理モジュール17に渡す。
The message transmission /
共通鍵暗号方式暗号化・復号化モジュール19は、制御モジュール10、とのインタフェースを有する。
The common key encryption /
共通鍵暗号方式暗号化・復号化モジュール19は制御モジュール10から、共通鍵を渡されるとともに、その鍵を利用した暗号化、または復号化を要求される。
The common key encryption /
なお、これらの機能を有する端末は、コンピュータプログラムで動作するコンピュータで実現することもできる。そのコンピュータプログラム、つまりコンピュータをこの端末として機能させるコンピュータプログラムは、例えば、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納したり、インターネットなどの通信網を介して伝送させて、広く流通させることができる。 A terminal having these functions can also be realized by a computer operating with a computer program. The computer program, that is, the computer program that causes the computer to function as this terminal is stored in a computer-readable recording medium such as a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, or a magnetic tape, or a communication network such as the Internet. And can be widely distributed.
端末20、21は図1に示される端末1から端末3の2つを示している。
図3は、既に端末1と端末2の間でコネクション50が、端末2と端末3の間でコネクション51が、端末3と端末1の間でコネクション52が構築されている状態を示す図である。
FIG. 3 is a diagram illustrating a state in which a connection 50 is already established between the terminal 1 and the
図3では端末1、端末2、端末3の間でフルメッシュにコネクションが構築されているだけでなく、それぞれコネクション確立時に認証を行い、既に端末1と端末2の間で共通鍵(1−1−2)が、端末2と端末3の間で共通鍵(1−2−3)が、端末3と端末1の間で共通鍵(1−3−1)がそれぞれの端末間で共有されているものとする。第1の実施の形態では端末1が端末2と端末3の間で正常にコネクションが確立されているかどうかを確認する例について示す。以下で説明する第1の実施の形態のプロセスは端末2、端末3もアプリケーションデータをやり取りしている最中に実施される。
In FIG. 3, not only a full mesh connection is established among the
コネクション構築後、端末間のデータ通信に先立ち端末1では以下のような設定を内部で行う。ここでは端末1を例に説明を行う。
After the connection is established, the following settings are internally performed in the
端末1において、制御モジュール10がデータベースモジュール11に、参加者リストを要求する。そして、その参加者リストから参加者数とその参加者の宛先を取得する。
In the
全参加者数は3なので、自身を除いた端末2と端末3に対して、アプリケーションデータを送信するために、(2、2)の閾値でアプリケーションデータを秘密分散法により分散符号化するように、SSS分散符号化モジュール13に設定を行う。これにより、SSS分散符号化モジュール13はアプリケーションから受信するアプリケーションデータを毎回、(2、2)の閾値で分散符号化し、2個のシェアをメッセージ生成モジュール14に対して渡す制御内容に設定される。
Since the total number of participants is 3, in order to transmit the application data to the
次に、制御モジュール10はメッセージ送受信モジュール18がアプリケーションデータのシェアを含むメッセージを正しい宛先へ送信するために、既にデータベースモジュール11から取得している宛先情報を利用し、各シェアを端末2または端末3の宛先情報を含んだメッセージを生成するようにメッセージ生成モジュール14に依頼する。また、このとき、転送回数を1に設定するようにメッセージ生成モジュール14に依頼する。
Next, the
メッセージ生成モジュール14は制御モジュール10からの依頼を受け、毎回SSS分散符号化モジュール13から受信する2つのシェアのうち、一方のシェアと端末2の宛先情報を含んだメッセージを生成するとともに、もう一方のシェアと端末3の宛先情報を含んだメッセージを生成する。つまり、第1の実施の形態ではアプリケーションデータ1つに対して、毎回2つのメッセージを生成することになる。
The
以上、各端末間でアプリケーションデータをやり取りするための前準備を説明してきたが、実際のデータのやり取りについては、図4以降で説明する。 The preparation for exchanging application data between the terminals has been described above. Actual data exchange will be described with reference to FIG.
図4は、端末1のあるアプリケーションデータAD1を(2、2)の閾値で分散符号化して得られた2つのシェア(1−1−2)、シェア(1−1−3)をそれぞれ、端末2と端末3に対して、端末1が送信する様子を示した図である(メッセージ100、101)。
FIG. 4 shows two shares (1-1-2) and shares (1-1-3) obtained by distributing and encoding application data AD1 of the
端末1において、アプリケーション12によって生成されたアプリケーションデータAD1はSSS分散符号化モジュール13を通して、2つのシェア(1−1−2)、シェア(1−1−3)に分散符号化される。そして、メッセージ生成モジュール14によって、端末2の宛先情報、シェア(1−1−2)を含むメッセージ100と、端末3の宛先情報、シェア(1−1−3)を含むメッセージ101が生成される。メッセージ生成モジュール14は各メッセージ生成時にアプリケーションデータのシェアの転送回数を1に設定する。
In the
2つのメッセージ100、101はメッセージ送受信モジュール18に渡され、メッセージ送受信モジュール18が各メッセージの宛先情報を見て、メッセージ100は端末2へ、メッセージ101は端末3に送信する。
The two messages 100 and 101 are passed to the message transmission /
また、端末1のアプリケーションデータAD1はそのまま、データベースモジュール11に保存される。
Further, the application data AD1 of the
一方、端末2のメッセージ送受信モジュール18は端末1からメッセージ100を受信し、それをメッセージ処理モジュール17に渡す。メッセージ処理モジュール17はメッセージ100からシェア(1−1−2)と転送回数を取り出し、制御モジュール10にそれを渡す。
On the other hand, the message transmission /
端末2の制御モジュール10はシェア(1−1−2)をデータベースモジュール11に保存する。また、転送回数を参照し、シェア(1−1−2)を転送するかどうかを決定する。ここでは1に設定されていたので、再度転送しなければならない。制御モジュール10は自端末とメッセージ100の発信元端末を除く全端末(つまり、端末3)に対して、シェア(1−1−2)を転送するために、メッセージ生成モジュール14に対してそれを渡す。また、転送回数を0にするように要求する。
The
メッセージ生成モジュール14は転送回数を0に設定し、シェア(1−1−2)、端末3の宛先情報を含むメッセージ102を生成する。生成されたメッセージ102はメッセージ送受信モジュール18に渡され、端末3に対して送信される(図5のメッセージ102)。
The
同様に端末3も同様にメッセージ101を処理し、転送回数が0に設定され、シェア(1−1−3)を含んだメッセージ103を端末2に対して送信する。
Similarly, the
図5は、端末2、端末3が端末1からそれぞれメッセージ100、101を受信した後にそれぞれのメッセージに含まれるシェア(1−1−2)、(1−1−3)を含んだ、メッセージ102、103を端末3、端末2に対し送信する様子を示した図である。
FIG. 5 shows message 102 including shares (1-1-2) and (1-1-3) included in each message after
端末2のメッセージ送受信モジュール18はメッセージ103を受信し、メッセージ100と同様にメッセージ処理モジュール17がメッセージから、転送回数とシェア(1−1−3)を取り出し、これらを制御モジュール10に渡す。制御モジュール10は転送回数が0に設定されているのを見て、シェアの転送を行わないと判断する。そして、取得したシェア(1−1−3)とデータベースモジュール11に保存されていたシェア(1−1−2)を利用して、もとのアプリケーションデータAD1を復元するために、制御モジュール10はSSS復号化モジュール16に対し、復号化を行うように依頼する。
The message transmission /
SSS復号化モジュール16は2つのシェア(1−1−2)、(1−1−3)を利用して元のアプリケーションデータAD1を復元した後、アプリケーション12にそのアプリケーションデータAD1を渡す。また、端末1が端末2と端末3の間のコネクションが確立され、データ通信が正常に行われているかどうかを確認するために、端末1に必要となるデータを生成するために、そのアプリケーションデータAD1は制御モジュール10にも返される。
The
端末2の制御モジュール10はアプリケーションデータAD1に含まれるIDを参照して、端末1のアプリケーションデータであると判断する。そして、端末1が端末2と端末3の間のデータ通信が正常に行われていることを確認できるようにするために、アプリケーションデータAD1を、端末1と共有している共通鍵(1−1−2)を利用して、共通鍵暗号方式暗号化・復号化モジュール19を利用して暗号化する。そして、得られた暗号化データ(1−2)を端末1に対して、送信するために、メッセージ生成モジュール14、メッセージ送受信モジュール18を利用して送信する(図6のメッセージ104)。
The
同様に端末3は端末2と同じ処理を行い、復元されたアプリケーションデータAD1を共通鍵(1−3−1)を利用して暗号化し、得られた暗号化データ(1−3)を端末1に対して送信する(図6のメッセージ105)。
Similarly, the
図6は、端末2と端末3がそれぞれ暗号化データ(1−2)、(1−3)を含んだメッセージ104、105を端末1に送信する様子を示した図である。
FIG. 6 is a diagram illustrating a state in which the
端末1は端末2からメッセージ104を受信すると、メッセージ送受信モジュール18およびメッセージ処理モジュール17を介して、暗号化データ(1−2)を得る。
When the
端末1の制御モジュール10は暗号化データ(1−2)を、共通鍵(1−1−2)を利用し共通鍵暗号方式暗号化・復号化モジュールを介して、復号化を行い、アプリケーションデータAD1’を得る。
The
アプリケーションデータAD1’とデータベースモジュール11に保存しているアプリケーションデータAD1とが等しいかどうかを、データ比較モジュール15を利用して比較する。比較結果が正常(AD1=AD1’)であれば、端末3から端末2への方向のデータ通信が正常であることが確認できる。
The
同様に、端末1は端末3からメッセージ105を受信し、同様の方法でアプリケーションデータAD1との比較を行う。比較結果が正常であれば、端末2から端末3への方向のデータ通信が正常であることを確認できる。
Similarly, the
また、同様に端末2、端末3は端末1と同様の処理を行う。他の端末経由でアプリケーションデータを送信することで、端末2にとっては端末1と端末3間、端末3にとっては端末1と端末2間、においてコネクションが確立され、データ通信が正常に行われているかどうかを確実に確認することができる。
Similarly, the
以上、発信元端末はアプリケーションデータを他の端末に直接送るのではなく、他の端末経由で送信するため、他の端末同士のコネクションが正常でなく、データ通信が正常でないと、他の端末は発信元端末が生成したアプリケーションデータの部分情報であるシェアをすべて手に入れることができず、結局、発信元端末が生成したアプリケーションデータと同じものを復元することもできない。そして、発信元端末に送り返される暗号化データを復号化したアプリケーションデータと、発信元端末が保存しているアプリケーションデータとが比較できない。よって、各端末が第1の実施の形態のように他の端末にアプリケーションデータを送信することで、最終的に発信元端末は、他の端末同士のコネクション、データ通信が正常であるかどうかを確実に確認することができる。 As described above, since the source terminal does not directly send application data to other terminals, but transmits the application data via other terminals, the connection between the other terminals is not normal and the data communication is not normal. It is not possible to obtain all shares that are partial information of application data generated by the transmission source terminal, and it is impossible to restore the same application data generated by the transmission source terminal. The application data obtained by decrypting the encrypted data sent back to the source terminal cannot be compared with the application data stored in the source terminal. Therefore, each terminal transmits application data to other terminals as in the first embodiment, so that the source terminal finally determines whether the connection and data communication between other terminals are normal. It can be confirmed reliably.
また、アプリケーションデータをそのまま発信元端末に送り返すのではなく、発信元端末とその他の端末間で一意に共有している共通鍵を利用して暗号化して送り返すことで、コミュニティに参加している端末からのメッセージであることを一意に認証することができる。 In addition, the application data is not sent back to the sender terminal as it is, but the terminal that participates in the community by encrypting and sending it back using a common key that is uniquely shared between the sender terminal and other terminals. The message can be uniquely authenticated.
また、アプリケーションデータを直接、他の端末に送信するのではなく、一度、部分情報(シェア)に分解して、他の端末を経由して、発信元端末を除く全端末にデータを送信するため、コミュニティに参加する端末以外の不正な端末によって、そのシェアが盗聴されたとしても、アプリケーションの部分情報であるため、元のアプリケーションデータを取得することができず、コミュニティ内のデータ通信に対しセキュリティレベルを向上させることが可能である。 In addition, application data is not sent directly to other terminals, but once it is broken down into partial information (shares) and sent to all terminals except the source terminal via other terminals. Even if the share is eavesdropped by an unauthorized terminal other than the terminal participating in the community, it is partial information of the application, so the original application data cannot be obtained, and security against data communication within the community It is possible to improve the level.
なお、このように、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法を、コンピュータにより動作する端末に実行させるコンピュータプログラムは、上記した記録媒体に格納したり、通信網を介して伝送させることができる。[第2の実施の形態]
図7は、図1で示された端末1、端末2、端末3、それぞれが有する共通の機能モジュールの構成を示した図である。
As described above, a computer program for causing a terminal operated by a computer to execute a method for reliably confirming connection connections between all other terminals in a full mesh network is stored in the recording medium described above. It can be transmitted via a communication network. [Second Embodiment]
FIG. 7 is a diagram illustrating the configuration of the common functional modules included in each of the
制御モジュール30は、データベースモジュール31、SSS分散符号化モジュール33、メッセージ生成モジュール34、データ比較モジュール35、SSS復号化モジュール36、メッセージ処理モジュール37、共通鍵暗号方式暗号化・復号化モジュール39、ハッシュモジュール42とのインタフェースを有する。
The
制御モジュール30はデータベースモジュール31に対し、コミュニティに参加している参加者リスト、アプリケーションデータのハッシュ値、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェア、の保存・取得要求を行う。
The
制御モジュール30はSSS分散符号化モジュール33に対し、SSS分散符号化モジュール33がアプリケーション32から受信するアプリケーションデータを、指定した閾値でSSSにより分散符号化を行うように依頼する。
The
制御モジュール30はメッセージ生成モジュール34に対し、SSS分散符号化モジュールから受信するアプリケーションのシェアを要求する宛先に対して送信するようにメッセージ生成時に設定するように依頼する。
The
また、制御モジュール30はメッセージ生成モジュール34に対し、SSS分散符号化モジュールまたは制御モジュール30から受信するアプリケーションのシェア、指定した転送回数、要求する宛先情報を含んだメッセージを生成するように依頼する。
Further, the
また、制御モジュール30はメッセージ生成モジュール34に対し、共通鍵により暗号化されたアプリケーションデータのハッシュ値、指定した宛先情報を含んだメッセージを生成するように依頼する。
The
また、制御モジュール30はデータ比較モジュール35に対し、アプリケーション32が以前にハッシュモジュール42を利用して生成しデータベースモジュール31に保存しているハッシュ値と、他の端末から受信するハッシュ値とを比較するように依頼する。
In addition, the
また、制御モジュール30はSSS復号化モジュール36に対し、取得したアプリケーションデータの複数のシェアから元のアプリケーションデータを復元するように依頼する。
In addition, the
また、制御モジュール30はメッセージ処理モジュール37から、他の端末から受信されたメッセージから取り出されたシェア、転送回数、共通鍵により暗号化されたハッシュ値、を受信する。
Further, the
また、制御モジュール30は共通鍵暗号方式暗号化・復号化モジュール39に対し、共通鍵により任意のデータを、暗号化、または復号化するように依頼する。
Further, the
また、制御モジュール30はハッシュモジュール42に対し、アプリケーションデータをハッシュ値に変換するように依頼する。
The
データベースモジュール31は制御モジュール30、ハッシュモジュール42、とのインタフェースを有する。データベースモジュール31は、各端末間で共有する共通鍵、参加者のリスト(主に宛先情報が含まれる)、各端末から受信するアプリケーションデータが分散符号化されたシェア、アプリケーションデータのハッシュ値を管理する。
The
アプリケーション32は例えば、音声データを入出力する音声アプリケーションなど、データを入出力する任意のアプリケーションである。ただし、これらのアプリケーションデータはどの端末が生成したものかを識別するためのIDを含む。
The
アプリケーション32はSSS分散符号化モジュール33、ハッシュモジュール42、とのインタフェースを有する。
The
アプリケーション32はSSS分散符号化モジュール33に対し、毎回出力するアプリケーションデータを制御モジュール30によって、SSS分散符号化モジュール33にあらかじめ設定された閾値で、分散符号化してもらう。
The
アプリケーション32はハッシュモジュール42に対し、毎回出力するアプリケーションデータをハッシュ値に変換し、データベースモジュール31に保存してもらう。
The
SSS分散符号化モジュール33は、制御モジュール30、アプリケーション32、メッセージ生成モジュール34、とのインタフェースを有する。
The SSS distributed
SSS分散符号化モジュール33は、制御モジュール30から指定された((コミュニティの全端末数−1)、(コミュニティの全端末数−1))の閾値で、アプリケーション32から受信するデータを分散符号化し、得られた(コミュニティの全端末数−1)個のシェアをメッセージ生成モジュール34に対し渡すように依頼される。
The SSS distributed
メッセージ生成モジュール34は、制御モジュール30、SSS分散符号化モジュール33、メッセージ送受信モジュール38、とのインタフェースを有する。
The
メッセージ生成モジュール34は制御モジュール30から、自端末を除くコミュニティに参加する全端末の宛先情報を受信し、SSS分散符号化モジュール33から受信する(コミュニティの全端末数−1)個のシェアにそれぞれ、他の端末の宛先情報と指定された転送回数を付与してメッセージを生成するように依頼される。これにより、(コミュニティの全端末数−1)個のメッセージを生成することになる。
The
また、メッセージ生成モジュール34は、SSS分散符号化モジュール33からシェアを受信する場合、メッセージ生成時には転送回数を1に設定する。一方、制御モジュール30から直接シェアが渡された場合は、転送回数を0に設定して、要求された宛先情報を付与してメッセージを生成する。
Further, when the
また、メッセージ生成モジュール34は制御モジュール30から、共通鍵で暗号化されたアプリケーションデータのハッシュ値を、指定された宛先情報を付与してメッセージを生成するように依頼される。
Further, the
データ比較モジュール35は、制御モジュール30、とのインタフェースを有する。
The
データ比較モジュール35は制御モジュール30から、アプリケーション32がハッシュモジュール42を利用して生成しデータベースモジュール31に保存しているハッシュ値と、他の端末から受信するハッシュ値とを比較するように依頼される。
The
SSS復号化モジュール36は、制御モジュール30、アプリケーション32、とのインタフェースを有する。
The
SSS復号化モジュール36は制御モジュール30から、SSSを利用し、複数のシェアから一つのアプリケーションデータを復元するように依頼される。
The
また、SSS復号化モジュール36はアプリケーション32に対し、復元したアプリケーションデータを渡す。
The
メッセージ処理モジュール37は、制御モジュール30、メッセージ送受信モジュール38、とのインタフェースを有する。
The
メッセージ処理モジュール37は制御モジュール30に対し、メッセージ送受信モジュール38が他の端末から受信したメッセージからアプリケーションデータのシェア、転送回数、共通鍵により暗号化されたハッシュ値、を取り出し渡す。
The
メッセージ送受信モジュール38は、メッセージ生成モジュール34、メッセージ処理モジュール37、とのインタフェースを有するだけでなく、外部の端末と直接ネットワークで結ばれている。
The message transmission /
メッセージ送受信モジュール38はメッセージ生成モジュール34から渡されたメッセージをそのメッセージの宛先情報を参考にして、他の端末に送信する。
The message transmission /
また、メッセージ送受信モジュール38は、受信したメッセージをメッセージ処理モジュール37に渡す。
The message transmission /
共通鍵暗号方式暗号化・復号化モジュール39は、制御モジュール30、とのインタフェースを有する。
The common key encryption /
共通鍵暗号方式暗号化・復号化モジュール39は制御モジュール30から、共通鍵を渡されるとともに、その鍵を利用した暗号化、または復号化を要求される。
The common key encryption /
ハッシュモジュール42は、制御モジュール30、データベースモジュール31、アプリケーション32、とのインタフェースを持つ。
The
ハッシュモジュール42は制御モジュール30から、アプリケーションデータをハッシュ値に変換するように依頼される。
The
また、ハッシュモジュール42は、アプリケーション32から受信するアプリケーションデータをハッシュ値に変換し、データベースモジュール31に保存する。
Further, the
なお、これらの機能を有する端末はコンピュータで実現することもでき、そのコンピュータをこの端末として機能させるコンピュータプログラムは、例えば、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納したり、インターネットなどの通信網を介して伝送させて、広く流通させることができる。 A terminal having these functions can also be realized by a computer, and a computer program that causes the computer to function as this terminal can be read by a computer such as a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, and a magnetic tape. It can be stored in a simple recording medium or transmitted through a communication network such as the Internet and widely distributed.
端末40、41は図1に示される端末1から端末3の2つを示している。
図8は、既に端末1と端末2の間でコネクション60が、端末2と端末3の間でコネクション61が、端末3と端末1の間でコネクション62が構築されている状態を示す図である。
FIG. 8 is a diagram illustrating a state in which a connection 60 is already established between the terminal 1 and the
図8では端末1、端末2、端末3の間でフルメッシュにコネクションが構築されているだけでなく、それぞれコネクション確立時に認証を行い、既に端末1と端末2の間で共通鍵(2−1−2)が、端末2と端末3の間で共通鍵(2−2−3)が、端末3と端末1の間で共通鍵(2−3−1)がそれぞれの端末間で共有されているものとする。第2の実施の形態では端末1が端末2と端末3の間で正常にコネクションが確立されているかどうかを確認する例について示す。以下で説明する第2の実施の形態のプロセスは端末2、端末3もアプリケーションデータをやり取りしている最中に実施される。
In FIG. 8, not only a full mesh connection is established among the
コネクション構築後、端末間のデータ通信に先立ち端末1では以下のような設定を内部で行う。ここでは端末1を例に説明を行う。
After the connection is established, the following settings are internally performed in the
端末1において、制御モジュール30がデータベースモジュール31に、参加者リストを要求する。そして、その参加者リストから参加者数とその参加者の宛先を取得する。
In the
全参加者数は3なので、自身を除いた端末2と端末3に対して、アプリケーションデータを送信するために、(2、2)の閾値でアプリケーションデータを秘密分散法により分散符号化するように、SSS分散符号化モジュール33に設定を行う。これにより、SSS分散符号化モジュール33はアプリケーション32から受信するアプリケーションデータを毎回、(2、2)の閾値で分散符号化し、2個のシェアをメッセージ生成モジュール34に対して渡す制御内容に設定される。
Since the total number of participants is 3, in order to transmit the application data to the
次に、制御モジュール30はメッセージ送受信モジュール38がアプリケーションデータのシェアを含むメッセージを正しい宛先へ送信するために、既にデータベースモジュール31から取得している宛先情報を利用し、各シェアと端末2または端末3の宛先情報を含んだメッセージを生成するようにメッセージ生成モジュール34に依頼する。また、このとき、転送回数を1に設定するようにメッセージ生成モジュール34に依頼する。
Next, the
メッセージ生成モジュール34は制御モジュール30からの依頼を受け、毎回SSS分散符号化モジュール33から受信する2つのシェアのうち、一方のシェアと端末2の宛先情報を含んだメッセージを生成するとともに、もう一方のシェアと端末3の宛先情報を含んだメッセージを生成する。つまり、第2の実施の形態ではアプリケーションデータ1つに対して、毎回2つのメッセージを生成することになる。
The
以上、各端末間でアプリケーションデータをやり取りするための前準備を説明してきたが、実際のデータのやり取りについては、図9以降で説明する。 The preparation for exchanging application data between the terminals has been described above. Actual data exchange will be described with reference to FIG.
図9は端末1のあるアプリケーションデータAD1を(2、2)の閾値で分散符号化して得られた2つのシェア(2−1−2)、シェア(2−1−3)をそれぞれ、端末2と端末3に対して、端末1が送信する様子を示した図である(メッセージ200、201)。
FIG. 9 shows two shares (2-1-2) and shares (2-1-3) obtained by distributedly encoding application data AD1 of the
端末1において、アプリケーション32によって生成されたアプリケーションデータAD1はSSS分散符号化モジュール33を通して、2つのシェア(2−1−2)、シェア(2−1−3)に分散符号化される。そして、メッセージ生成モジュール34によって、端末2の宛先情報、シェア(2−1−2)を含むメッセージ200と、端末3の宛先情報、シェア(2−1−3)を含むメッセージ201が生成される。メッセージ生成モジュール34は各メッセージ生成時にアプリケーションデータのシェアの転送回数を1に設定する。
In the
2つのメッセージ200、201はメッセージ送受信モジュール38に渡され、メッセージ送受信モジュール38が各メッセージの宛先情報を見て、メッセージ200は端末2へ、メッセージ201は端末3に送信する。
The two messages 200 and 201 are transferred to the message transmission /
また、端末1のアプリケーションデータAD1はハッシュモジュール42を介して、ハッシュ値HD1として変換され、データベースモジュール31に保存される。
The application data AD1 of the
一方、端末2のメッセージ送受信モジュール38は端末1からメッセージ200を受信し、それをメッセージ処理モジュール37に渡す。メッセージ処理モジュール37はメッセージ200からシェア(2−1−2)と転送回数を取り出し、制御モジュール30にそれを渡す。
On the other hand, the message transmission /
端末2の制御モジュール30はシェア(2−1−2)をデータベースモジュール31に保存する。また、転送回数を参照し、シェア(2−1−2)を転送するかどうかを決定する。ここでは1に設定されていたので、再度転送しなければならない。制御モジュール30は自端末とメッセージ200の発信元端末を除く全端末(つまり、端末3)に対して、シェア(2−1−2)を転送するために、メッセージ生成モジュール34に対してそれを渡す。また、転送回数を0にするように要求する。
The
メッセージ生成モジュール34は転送回数を0に設定し、シェア(2−1−2)、端末3の宛先情報を含むメッセージ202を生成する。生成されたメッセージ202はメッセージ送受信モジュール38に渡され、端末3に対して送信される(図10のメッセージ202)。
The
同様に端末3も同様にメッセージ201を処理し、転送回数が0に設定され、シェア(2−1−3)を含んだメッセージ203を端末2に対して送信する。
Similarly, the
図10は、端末2、端末3が端末1からそれぞれメッセージ200、201を受信した後にそれぞれのメッセージに含まれるシェア(2−1−2)、(2−1−3)を含んだ、メッセージ202、203を端末3、端末2に対し送信する様子を示した図である。
FIG. 10 shows a message 202 including shares (2-1-2) and (2-1-3) included in the respective messages after the
端末2のメッセージ送受信モジュール38はメッセージ203を受信し、メッセージ200と同様にメッセージ処理モジュール37がメッセージから、転送回数とシェア(2−1−3)を取り出し、これらを制御モジュール30に渡す。制御モジュール30は転送回数が0に設定されているのを見て、シェアの転送を行わないと判断する。そして、取得したシェア(2−1−3)とデータベースモジュール31に保存されていたシェア(2−1−2)を利用して、もとのアプリケーションデータAD1を復元するために、制御モジュール30はSSS復号化モジュール36に対し、復号化を行うように依頼する。
The message transmission /
SSS復号化モジュール36は2つのシェア(2−1−2)、(2−1−3)を利用して元のアプリケーションデータAD1を復元した後、アプリケーション32にそのアプリケーションデータAD1を渡す。また、端末1が端末2と端末3の間のコネクションが確立され、データ通信が正常に行われているかどうかを確認するために、端末1に必要となるデータを生成するために、そのアプリケーションデータAD1は制御モジュール30にも返される。
The
端末2の制御モジュール30はアプリケーションデータAD1に含まれるIDを参照して、端末1のアプリケーションデータであると判断する。そして、端末1が端末2と端末3の間のデータ通信が正常に行われていることを確認できるようにするために、ハッシュモジュール42を利用して、アプリケーションデータAD1のハッシュ値を求めた後、そのハッシュ値を、端末1と共有している共通鍵(2−1−2)を利用して、共通鍵暗号方式暗号化・復号化モジュール39が暗号化する。そして、得られた暗号化ハッシュ値(2−2)を端末1に対して、送信するために、メッセージ生成モジュール34、メッセージ送受信モジュール38を利用して送信する(図11のメッセージ204)。
The
同様に端末3は端末2と同じ処理を行い、復元されたアプリケーションデータAD1のハッシュ値を共通鍵(2−3−1)により暗号化し、得られた暗号化ハッシュ値(2−3)を端末1に対して送信する(図11のメッセージ205)。
Similarly, the
図11は、端末2と端末3がそれぞれ暗号化ハッシュ値(2−2)、(2−3)を含んだメッセージ204、205を端末1に送信する様子を示した図である。
FIG. 11 is a diagram illustrating a state in which the
端末1は端末2からメッセージ204を受信すると、メッセージ送受信モジュール38およびメッセージ処理モジュール37を介して、暗号化ハッシュ値(2−2)を得る。
When the
端末1の制御モジュール30は暗号化ハッシュ値(2−2)を、共通鍵(2−1−2)を利用し共通鍵暗号方式暗号化・復号化モジュール39を介して、復号化を行い、ハッシュ値HD1’を得る。
The
ハッシュ値HD1’とデータベースモジュール31に保存しているハッシュ値HD1とが等しいかどうかを、データ比較モジュール35を利用して比較する。比較結果が正常(HD1=HD1’)であれば、端末3から端末2への方向のデータ通信が正常であることが確認できる。
It is compared using the
同様に、端末1は端末3からメッセージ205を受信し、同様の方法でデータ1との比較を行う。比較結果が正常であれば、端末2から端末3への方向のデータ通信が正常であることを確認できる。
Similarly, the
また、同様に端末2、端末3は端末1と同様の処理を行う。他の端末経由でアプリケーションデータを送信することで、端末2にとっては端末1と端末3間、端末3にとっては端末1と端末2間、においてコネクションが確立され、データ通信が正常に行われているかどうかを確実に確認することができる。
Similarly, the
以上、発信元端末はアプリケーションデータを直接送るのではなく、他の端末経由で送信するため、他の端末同士のコネクションが正常でなく、データ通信が正常でないと、他の端末は発信元端末が生成したアプリケーションデータと同じものを復元することもできない。そして、発信元端末に送り返される暗号化データを復号化して得られたアプリケーションデータのハッシュ値と、発信元端末が保存しているアプリケーションデータのハッシュ値とを比較できない。よって、各端末が第2の実施の形態のように他の端末にアプリケーションデータのハッシュ値を送信することで、最終的に発信元端末は、他の端末同士のコネクション、データ通信が正常であるかどうかを確実に確認することができる。 As described above, since the source terminal does not send application data directly, but transmits it via another terminal, the connection between the other terminals is not normal and the data communication is not normal. It is also impossible to restore the same application data as generated. The hash value of the application data obtained by decrypting the encrypted data sent back to the source terminal cannot be compared with the hash value of the application data stored in the source terminal. Therefore, each terminal transmits the hash value of the application data to other terminals as in the second embodiment, so that the source terminal finally has a normal connection and data communication between the other terminals. You can be sure whether or not.
また、アプリケーションデータをそのまま発信元端末に送り返すのではなく、発信元端末とその他の端末間で一意に共有している共通鍵を利用して暗号化して送り返すことで、コミュニティに参加している端末からのメッセージであることを一意に認証することができる。 In addition, the application data is not sent back to the sender terminal as it is, but the terminal that participates in the community by encrypting and sending it back using a common key that is uniquely shared between the sender terminal and other terminals. The message can be uniquely authenticated.
また、アプリケーションデータを直接、他の端末に送信するのではなく、一度、部分情報(シェア)に分解して、他の端末を経由して、発信元端末を除く全端末にデータを送信するために、コミュニティに参加する端末以外の不正な端末によって、そのシェアが盗聴されたとしても、アプリケーションの部分情報であるため、元のアプリケーションデータを取得することができず、コミュニティ内のデータ通信に対しセキュリティレベルを向上させることが可能である。 In addition, application data is not sent directly to other terminals, but once it is broken down into partial information (shares) and sent to all terminals except the source terminal via other terminals. In addition, even if the share is eavesdropped by an unauthorized terminal other than the terminal participating in the community, the original application data cannot be obtained because it is partial information of the application. It is possible to improve the security level.
また、他の端末がアプリケーションデータを送り返すときに、アプリケーションデータを含んだメッセージをそのまま共通鍵を利用して、暗号化するのではなく、アプリケーションデータのハッシュ値を求めてから、そのハッシュ値を含んだメッセージを共通鍵で暗号化するため、発信元端末に送り返すためのデータ量を小さくすることができ、データ通信に必要となる帯域を抑制することができる。 In addition, when other terminals send back application data, a message including application data is not encrypted as it is using a common key, but a hash value of application data is obtained and the hash value is included. Since the message is encrypted with the common key, the amount of data sent back to the source terminal can be reduced, and the bandwidth required for data communication can be suppressed.
また、発信元端末はアプリケーションデータをハッシュ値としてデータベースモジュールに保存しておくため、各端末のデータ保存に必要な容量を抑えることができる。 In addition, since the source terminal stores application data as a hash value in the database module, the capacity required for storing data in each terminal can be reduced.
また、このように、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法を、コンピュータにより動作する端末に実行させるコンピュータプログラムは、上記した記録媒体に格納したり、通信網を介して伝送させることができる。 Further, in this way, a computer program that causes a terminal operating by a computer to execute a method for surely confirming connection connections between all other terminals in a full mesh network is stored in the recording medium described above, It can be transmitted via a communication network.
1、2、3、20、21、40、41・・・端末(コミュニケーション端末)
10、30・・・制御モジュール
11、31・・・データベースモジュール
12、32・・・アプリケーション
13、33・・・SSS分散符号化モジュール
14、34・・・メッセージ生成モジュール
15、35・・・データ比較モジュール
16、36・・・SSS復号化モジュール
17、37・・・メッセージ処理モジュール
18、38・・・メッセージ送受信モジュール
19、39・・・共通鍵暗号方式暗号化・復号化モジュール
42・・・ハッシュモジュール
50、51、52、60、61、62・・・コネクション
100、101、102、103、104、105、200、201、202、203、204、205・・・メッセージ
1000・・・ネットワーク
1, 2, 3, 20, 21, 40, 41... Terminal (communication terminal)
10, 30 ...
Claims (10)
アプリケーションデータを生成し、また外部端末から受信したアプリケーションデータを処理するアプリケーションと、
共通鍵を利用し、任意のデータを暗号化・復号化する共通鍵暗号方式暗号化・復号化モジュールと、
(k、n)の閾値(1≦k≦n)でアプリケーションデータを分散符号化し、アプリケーションデータの部分情報であるシェアをn個生成するSSS(Secret Sharing Schemes)分散符号化モジュールと、
アプリケーションデータが分散符号化された複数のシェアから元のアプリケーションデータを復元するSSS復号化モジュールと、
アプリケーションから直接渡されるアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアと、他の端末と一意に共有している共通鍵と、コミュニティに参加している端末の宛先情報を含む端末リスト、とを管理するデータベースモジュールと、
2つのアプリケーションデータを比較し、一致するかどうかを判断するデータ比較モジュールと、
他のモジュールから渡されるアプリケーションデータのシェアに、指定された宛先情報と、転送回数を付与してメッセージを生成する手段と、共通鍵により暗号化されたアプリケーションデータを含むメッセージを生成する手段、を有するメッセージ生成モジュールと、
他の端末から受信するメッセージに含まれる、アプリケーションデータのシェア、転送回数、共通鍵により暗号化されたアプリケーションデータ、を取り出す手段を有するメッセージ処理モジュールと、
メッセージ生成モジュールから渡されるメッセージの宛先情報を基に、当該宛先へメッセージを送信する手段と、他の端末からメッセージを受信する手段と、受信したメッセージを前記メッセージ処理モジュールに渡す手段、とを有するメッセージ送受信モジュールとを備え、
データベースモジュールに対して、コミュニティに参加している参加者リスト、アプリケーションデータ、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェア、の保存・取得要求を行う手段と、
SSS分散符号化モジュールに対して、アプリケーションから受信するアプリケーションデータを、要求した閾値でSSSにより分散符号化を行うように依頼する手段と、
メッセージ生成モジュールに対して、SSS分散符号化モジュールから受信するアプリケーションデータのシェアに、指定する宛先情報、転送回数を設定してメッセージを生成するように依頼する手段と、
SSS復号化モジュールに対して、取得したアプリケーションデータのシェアから元のアプリケーションデータを復元するように依頼する手段と、
データ比較モジュールに対して、データベースモジュールに保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアからSSS復号化モジュールを利用して復元されたアプリケーションデータ、との比較を要求する手段と、
メッセージ処理モジュールから、他の端末から受信されたメッセージから取り出されたアプリケーションデータのシェア、転送回数、暗号化されたアプリケーションデータ、を受信する手段と、
共通鍵暗号方式暗号化・復号化モジュールに対して、任意のデータを共通鍵を利用して、暗号化、または復号化するように依頼する手段、とを備える制御モジュールを備えることを特徴とするコミュニケーション端末。 By establishing a full mesh connection with multiple external terminals connected to the network, a temporary community is formed, and authentication control is performed at the time of establishing a connection. A terminal sharing a key,
An application that generates application data and processes application data received from an external terminal;
A common key encryption / decryption module that encrypts / decrypts arbitrary data using a common key;
An SSS (Secret Sharing Schemes) distributed encoding module that performs distributed encoding of application data with a threshold (1 ≦ k ≦ n) of (k, n) and generates n shares that are partial information of the application data;
An SSS decoding module that restores original application data from a plurality of shares in which application data is distributed and encoded;
A terminal list that includes application data passed directly from the application, application data received from other terminals, a common key that is uniquely shared with other terminals, and destination information of terminals participating in the community, A database module that manages
A data comparison module that compares two application data and determines whether they match,
A means for generating a message by giving a designated destination information and a transfer count to a share of application data passed from another module, and a means for generating a message including application data encrypted with a common key. A message generation module having
A message processing module having means for retrieving application data share, transfer count, and application data encrypted with a common key included in a message received from another terminal;
Based on message destination information passed from the message generation module, means for transmitting a message to the destination, means for receiving a message from another terminal, and means for passing the received message to the message processing module A message sending and receiving module,
Means for making a request to store and retrieve a list of participants participating in the community, application data, a common key shared among the participants, and a share in which application data is distributedly encoded to the database module ,
Means for requesting the SSS distributed encoding module to perform application encoding received from the application by SSS with the requested threshold value;
Means for requesting the message generation module to generate a message by setting the destination information to be specified and the number of transfers to the share of the application data received from the SSS distributed encoding module;
Means for requesting the SSS decryption module to restore the original application data from the acquired application data share;
Means for requesting data comparison module to compare application data stored in database module with application data restored using share of application data received from other terminal using SSS decryption module When,
Means for receiving, from the message processing module, the share of the application data extracted from the message received from another terminal, the number of transfers, and the encrypted application data;
A control module comprising: means for requesting the common key encryption / decryption module to encrypt or decrypt arbitrary data using the common key. Communication terminal.
前記データベースモジュールにそのアプリケーションデータを保存しておくとともに、前記SSS分散符号化モジュールで((コミュニティに参加する全端末数−1)、(コミュニティに参加する全端末数−1))の閾値で分散符号化して得られる、(コミュニティに参加する全端末数−1)個のアプリケーションデータのシェアを、自端末を除くコミュニティに参加する全端末のそれぞれに対し、1シェアづつメッセージに含めて送信するため、シェアと、該シェアを送信される端末の宛先情報と、1に設定された転送回数、とを含むメッセージを、自端末を除くコミュニティに参加する全端末のそれぞれについて生成し送信するステップ1と、
ステップ1で送信されたメッセージを他の各端末が受信し、それら各端末は前記メッセージ処理モジュールを利用して、シェアと転送回数を取り出し、それらを制御モジュールに渡し、制御モジュールは転送回数を参照し、1に設定されている場合は、そのメッセージに含まれていたアプリケーションデータのシェアと0に設定した転送回数とを含むメッセージを生成し、そのメッセージの発信元端末と自端末を除く全端末に対して転送するとともに、アプリケーションデータのシェアは自端末の前記データベースモジュールに保存するステップ2と、
ステップ2で転送されたメッセージを受けた各端末の前記制御モジュールは、ステップ2と同様に転送回数を参照し0に設定されているので転送を終了し、各端末が全てメッセージの転送を終了すると、メッセージの発信元端末を除く各端末が得た、(コミュニティに参加する全端末数−1)個のシェアを、前記SSS復号化モジュールを利用して元のアプリケーションデータを復元しアプリケーションに渡すとともに、そのアプリケーションデータを、発信元端末と共有している共通鍵を利用して前記共通鍵暗号方式暗号化・復号化モジュールで暗号化した暗号化データを、発信元端末に送り返すステップ3と、
ステップ1における発信元端末は他の全端末から、発信元端末と各端末間で一意に共有している共通鍵を利用して暗号化された暗号化データをステップ3により受信し、受け取った各暗号化データを、それぞれ対応する共通鍵で復号化して得られるアプリケーションデータと、データベースモジュールに保存しているアプリケーションデータとを比較し、一致するかどうかを確認するステップ4と、を備えることを特徴とする、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法。 When a terminal that is a communication terminal according to claim 1 transmits application data to all terminals that participate in a community other than its own terminal,
In addition to storing the application data in the database module, the SSS distributed encoding module distributes with threshold values of ((total number of terminals participating in community-1), (total number of terminals participating in community-1)). In order to transmit the share of the application data obtained by encoding (total number of terminals that participate in the community minus 1) pieces of application data to each of the terminals that participate in the community other than the own terminal in a message. Generating and transmitting a message including a share, destination information of a terminal to which the share is transmitted, and a transfer count set to 1 for each of all terminals participating in the community except for the own terminal; and ,
Each of the other terminals receives the message transmitted in step 1, and each of the terminals uses the message processing module to extract the share and the transfer count, and passes them to the control module. The control module refers to the transfer count. If it is set to 1, a message including the share of application data included in the message and the number of transfers set to 0 is generated, and all terminals except the source terminal of the message and its own terminal The application data share is stored in the database module of the terminal,
The control module of each terminal that has received the message transferred in step 2 refers to the transfer count as in step 2 and is set to 0, so that the transfer ends, and when each terminal ends the transfer of the message. In addition to restoring the original application data using the SSS decryption module and passing it to the application, the shares obtained by each terminal excluding the message source terminal (the total number of terminals participating in the community minus 1) are used. Step 3 of sending back the encrypted data obtained by encrypting the application data using the common key encryption / decryption module using a common key shared with the source terminal to the source terminal;
The source terminal in step 1 receives encrypted data encrypted in step 3 from all other terminals using a common key that is uniquely shared between the source terminal and each terminal. And comparing the application data obtained by decrypting the encrypted data with the corresponding common key and the application data stored in the database module, and confirming whether or not they match. In a full mesh network, each terminal reliably confirms connection connections between all other terminals.
アプリケーションデータを生成し、また外部端末から受信したアプリケーションデータを処理するアプリケーションと、
共通鍵を利用し、任意のデータを暗号化・復号化する共通鍵暗号方式暗号化・復号化モジュールと、
(k、n)の閾値(1≦k≦n)でアプリケーションデータを分散符号化し、アプリケーションデータの部分情報であるシェアをn個生成するSSS(Secret Sharing Schemes)分散符号化モジュールと、
アプリケーションデータが分散符号化された複数のシェアから元のアプリケーションデータを復元するSSS復号化モジュールと、
アプリケーションデータのハッシュ値と、他の端末から受信するアプリケーションデータのシェアと、他の端末と一意に共有している共通鍵と、コミュニティに参加している端末の宛先情報を含む端末リスト、とを管理するデータベースモジュールと、
アプリケーションデータをハッシュ値に変換するハッシュモジュールと、
2つのハッシュ値を比較し、一致するかどうかを判断するデータ比較モジュールと、
他のモジュールから渡されるアプリケーションデータのシェアに、指定された宛先情報と、転送回数を付与してメッセージを生成する手段と、共通鍵により暗号化されたハッシュ値を含むメッセージを生成する手段、とを有するメッセージ生成モジュールと、
他の端末から受信するメッセージに含まれる、アプリケーションデータのシェア、転送回数、共通鍵により暗号化されたハッシュ値、を取り出す手段を有するメッセージ処理モジュールと、
メッセージ生成モジュールから渡されるメッセージの宛先情報を基に、当該宛先へメッセージを送信する手段と、他の端末からメッセージを受信する手段と、受信したメッセージを前記メッセージ処理モジュールに渡す手段、とを有するメッセージ送受信モジュールとを備え、
データベースモジュールに対して、コミュニティに参加している参加者リスト、アプリケーションデータのハッシュ値、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェアの、保存・取得要求を行う手段と、
SSS分散符号化モジュールに対して、アプリケーションから受信するアプリケーションデータを、要求した閾値でSSSにより分散符号化を行うように依頼する手段と、
メッセージ生成モジュールに対して、SSS分散符号化モジュールから受信するアプリケーションデータのシェアに、指定する宛先情報、転送回数を設定してメッセージを生成するように依頼する手段と、
SSS復号化モジュールに対して、取得したアプリケーションデータのシェアから元のアプリケーションデータを復元するように依頼する手段と、
データ比較モジュールに対して、データベースモジュールに保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアからSSS復号化モジュールを利用して復元されたアプリケーションデータ、との比較を要求する手段と、
メッセージ処理モジュールから、他の端末から受信されたメッセージから取り出されたアプリケーションデータのシェア、転送回数、暗号化されたハッシュ値、を受信する手段と、
ハッシュモジュールに対して、SSS復号化モジュールを利用して復元したアプリケーションデータをハッシュ値に変換するように要求する手段と、
共通鍵暗号方式暗号化・復号化モジュールに対して、任意のデータを共通鍵により、暗号化、または復号化するように依頼する手段、とを備える制御モジュールを備えることを特徴とするコミュニケーション端末。 By establishing a full mesh connection with multiple external terminals connected to the network, a temporary community is formed, authentication control is performed at the time of connection establishment, and a unique common among the terminals after connection establishment A terminal sharing a key,
An application that generates application data and processes application data received from an external terminal;
A common key encryption / decryption module that encrypts / decrypts arbitrary data using a common key;
An SSS (Secret Sharing Schemes) distributed encoding module that performs distributed encoding of application data with a threshold (1 ≦ k ≦ n) of (k, n) and generates n shares that are partial information of the application data;
An SSS decoding module that restores original application data from a plurality of shares in which application data is distributed and encoded;
A hash value of application data, a share of application data received from other terminals, a common key uniquely shared with other terminals, and a terminal list including destination information of terminals participating in the community, A database module to manage,
A hash module that converts application data into a hash value;
A data comparison module that compares two hash values and determines whether they match,
Means for generating a message by assigning the specified destination information to the share of application data passed from another module, the number of transfers, and means for generating a message including a hash value encrypted with a common key; A message generation module having
A message processing module having means for extracting the share of application data, the number of transfers, and a hash value encrypted with a common key, included in a message received from another terminal;
Based on message destination information passed from the message generation module, means for transmitting a message to the destination, means for receiving a message from another terminal, and means for passing the received message to the message processing module A message sending and receiving module,
A request to store / retrieve the database module for a list of participants participating in the community, a hash value of application data, a common key shared among the participants, and a share in which application data is distributed and encoded. Means to do,
Means for requesting the SSS distributed encoding module to perform application encoding received from the application by SSS with the requested threshold value;
Means for requesting the message generation module to generate a message by setting the destination information to be specified and the number of transfers to the share of the application data received from the SSS distributed encoding module;
Means for requesting the SSS decryption module to restore the original application data from the acquired application data share;
Means for requesting data comparison module to compare application data stored in database module with application data restored using share of application data received from other terminal using SSS decryption module When,
Means for receiving, from the message processing module, a share of application data extracted from a message received from another terminal, the number of transfers, and an encrypted hash value;
Means for requesting the hash module to convert the application data restored using the SSS decryption module into a hash value;
A communication terminal comprising: a control module comprising: a means for requesting a common key cryptosystem encryption / decryption module to encrypt or decrypt arbitrary data with a common key.
前記ハッシュモジュールを利用してアプリケーションデータのハッシュ値を前記データベースモジュールに保存しておくとともに、前記分散符号化モジュールで、((コミュニティに参加する全端末数−1)、(コミュニティに参加する全端末数−1))の閾値で分散符号化して得られる、(コミュニティに参加する全端末数−1)個のアプリケーションデータのシェアを、自端末を除くコミュニティに参加する全端末のそれぞれに対し、1シェアづつメッセージに含めて送信するため、シェアと、該シェアを送信される端末の宛先情報と、1に設定された転送回数、とを含むメッセージを、自端末を除くコミュニティに参加する全端末のそれぞれについて生成し送信するステップ1と、
ステップ1で送信されたメッセージを他の各端末が受信し、それら各端末は前記メッセージ処理モジュールを利用して、シェアと転送回数を取り出し、それらを制御モジュールに渡し、制御モジュールは転送回数を参照し、1に設定されている場合は、メッセージに含まれていたアプリケーションデータのシェアと0に設定した転送回数とを含むメッセージを生成し、前記メッセージの発信元端末と自端末を除く全端末に対して送信するとともに、得られたシェアは自端末の前記データベースモジュールに保存するステップ2と、
ステップ2で転送されたメッセージを受けた各端末の前記制御モジュールは、ステップ2と同様に転送回数を参照し、0に設定されているので、転送を終了するとともに、全端末のメッセージの転送終了後、メッセージの発信元端末を除く各端末が得た、(コミュニティに参加する全端末数−1)個のシェアを、前記SSS復号化モジュールを利用して元のアプリケーションデータを復元し、アプリケーションに渡すとともに、そのアプリケーションデータをハッシュモジュールによりハッシュ値に変換し、発信元端末と共有している共通鍵を利用して前記共通鍵暗号方式暗号化・復号化モジュールで暗号化した暗号化ハッシュ値を、発信元端末に送り返すステップ3と、
ステップ1における発信元端末を除く全端末から、発信元端末と各端末間で一意に共有している共通鍵を利用して暗号化された暗号化ハッシュ値を、発信元端末はステップ3により受信し、受け取った各暗号化ハッシュ値をそれぞれ対応する共通鍵で復号化し、得られるハッシュ値とデータベースモジュールに保存しているハッシュ値とを比較し、一致するかどうかを確認するステップ4と、を備えることを特徴とする、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法。 When a terminal which is a communication terminal according to claim 4 transmits application data to all terminals participating in the community except for its own terminal,
The hash value of application data is stored in the database module using the hash module, and ((total number of terminals participating in the community −1)) ((all terminals participating in the community)) is stored in the distributed encoding module. The share of the application data (total number of terminals participating in the community minus 1) obtained by distributed encoding with the threshold of (number-1)) is 1 for each of all terminals participating in the community except for the own terminal. In order to send a message including each share, a message including the share, destination information of the terminal to which the share is transmitted, and the number of transfers set to 1 is sent to all the terminals participating in the community except for the own terminal. Step 1 to generate and send for each,
Each of the other terminals receives the message transmitted in step 1, and each of the terminals uses the message processing module to extract the share and the transfer count, and passes them to the control module. The control module refers to the transfer count. If it is set to 1, a message including the share of the application data included in the message and the number of transfers set to 0 is generated, and the message is transmitted to all terminals except the source terminal and the own terminal. And sending the obtained share to the database module of its own terminal, and
The control module of each terminal that has received the message transferred in step 2 refers to the number of transfers as in step 2 and is set to 0, so that the transfer is completed and the message transfer of all terminals is completed. Thereafter, the original application data is restored to the application by using the SSS decryption module for the shares of (the total number of terminals participating in the community −1) obtained by each terminal except the message source terminal. And the application data is converted into a hash value by the hash module, and the encrypted hash value encrypted by the common key encryption / decryption module using the common key shared with the source terminal is obtained. , Step 3 sent back to the originating terminal,
The source terminal receives the encrypted hash value encrypted in step 3 using a common key that is uniquely shared between the source terminal and each terminal from all terminals except the source terminal in step 1 Step 4 for decrypting each received encrypted hash value with a corresponding common key, comparing the obtained hash value with the hash value stored in the database module, and confirming whether or not they match. A method for reliably confirming connection connections between all other terminals in a full-mesh network.
アプリケーションデータを生成し、また外部端末から受信したアプリケーションデータを処理するアプリケーションと、
共通鍵を利用し、任意のデータを暗号化・復号化する共通鍵暗号方式暗号化・復号化モジュールと、
(k、n)の閾値(1≦k≦n)でアプリケーションデータを分散符号化し、アプリケーションデータの部分情報であるシェアをn個生成するSSS(Secret Sharing Schemes)分散符号化モジュールと、
アプリケーションデータが分散符号化された複数のシェアから元のアプリケーションデータを復元するSSS復号化モジュールと、
アプリケーションから直接渡されるアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアと、他の端末と一意に共有している共通鍵と、コミュニティに参加している端末の宛先情報を含む端末リスト、とを管理するデータベースモジュールと、
2つのアプリケーションデータを比較し、一致するかどうかを判断するデータ比較モジュールと、
他のモジュールから渡されるアプリケーションデータのシェアに、指定された宛先情報と、転送回数を付与してメッセージを生成する手段と、共通鍵により暗号化されたアプリケーションデータを含むメッセージを生成する手段、を有するメッセージ生成モジュールと、
他の端末から受信するメッセージに含まれる、アプリケーションデータのシェア、転送回数、共通鍵により暗号化されたアプリケーションデータ、を取り出す手段を有するメッセージ処理モジュールと、
メッセージ生成モジュールから渡されるメッセージの宛先情報を基に、当該宛先へメッセージを送信する手段と、他の端末からメッセージを受信する手段と、受信したメッセージを前記メッセージ処理モジュールに渡す手段、とを有するメッセージ送受信モジュールとを備え、
データベースモジュールに対して、コミュニティに参加している参加者リスト、アプリケーションデータ、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェア、の保存・取得要求を行う手段と、
SSS分散符号化モジュールに対して、アプリケーションから受信するアプリケーションデータを、要求した閾値でSSSにより分散符号化を行うように依頼する手段と、
メッセージ生成モジュールに対して、SSS分散符号化モジュールから受信するアプリケーションデータのシェアに、指定する宛先情報、転送回数を設定してメッセージを生成するように依頼する手段と、
SSS復号化モジュールに対して、取得したアプリケーションデータのシェアから元のアプリケーションデータを復元するように依頼する手段と、
データ比較モジュールに対して、データベースモジュールに保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアからSSS復号化モジュールを利用して復元されたアプリケーションデータ、との比較を要求する手段と、
メッセージ処理モジュールから、他の端末から受信されたメッセージから取り出されたアプリケーションデータのシェア、転送回数、暗号化されたアプリケーションデータ、を受信する手段と、
共通鍵暗号方式暗号化・復号化モジュールに対して、任意のデータを共通鍵を利用して、暗号化、または復号化するように依頼する手段、とを備える制御モジュールを備えることを特徴とするコミュニケーション端末としてコンピュータを機能させるためのコンピュータプログラム。 By establishing a full mesh connection with multiple external terminals connected to the network, a temporary community is formed, authentication control is performed at the time of connection establishment, and a unique common among the terminals after connection establishment A terminal sharing a key,
An application that generates application data and processes application data received from an external terminal;
A common key encryption / decryption module that encrypts / decrypts arbitrary data using a common key;
An SSS (Secret Sharing Schemes) distributed encoding module that performs distributed encoding of application data with a threshold (1 ≦ k ≦ n) of (k, n) and generates n shares that are partial information of the application data;
An SSS decoding module that restores original application data from a plurality of shares in which application data is distributed and encoded;
A terminal list that includes application data passed directly from the application, application data received from other terminals, a common key that is uniquely shared with other terminals, and destination information of terminals participating in the community, A database module that manages
A data comparison module that compares two application data and determines whether they match,
A means for generating a message by giving a designated destination information and a transfer count to a share of application data passed from another module, and a means for generating a message including application data encrypted by a common key. A message generation module having
A message processing module having means for retrieving application data share, transfer count, and application data encrypted with a common key included in a message received from another terminal;
Based on message destination information passed from the message generation module, means for transmitting a message to the destination, means for receiving a message from another terminal, and means for passing the received message to the message processing module A message sending and receiving module,
Means for making a request to store and retrieve a list of participants participating in the community, application data, a common key shared among the participants, and a share in which application data is distributedly encoded, to the database module ,
Means for requesting the SSS distributed encoding module to perform application encoding received from the application by SSS with the requested threshold value;
Means for requesting the message generation module to generate a message by setting the destination information to be specified and the number of transfers to the share of the application data received from the SSS distributed encoding module;
Means for requesting the SSS decryption module to restore the original application data from the acquired application data share;
Means for requesting data comparison module to compare application data stored in database module with application data restored using share of application data received from other terminal using SSS decryption module When,
Means for receiving, from the message processing module, the share of the application data extracted from the message received from another terminal, the number of transfers, and the encrypted application data;
A control module comprising: means for requesting the common key encryption / decryption module to encrypt or decrypt arbitrary data using the common key. A computer program for causing a computer to function as a communication terminal.
前記データベースモジュールにそのアプリケーションデータを保存しておくとともに、前記SSS分散符号化モジュールで((コミュニティに参加する全端末数−1)、(コミュニティに参加する全端末数−1))の閾値で分散符号化して得られる、(コミュニティに参加する全端末数−1)個のアプリケーションデータのシェアを、自端末を除くコミュニティに参加する全端末のそれぞれに対し、1シェアづつメッセージに含めて送信するため、シェアと、該シェアを送信される端末の宛先情報と、1に設定された転送回数、とを含むメッセージを、自端末を除くコミュニティに参加する全端末のそれぞれについて生成し送信するステップ1と、
ステップ1で送信されたメッセージを他の各端末が受信し、それら各端末は前記メッセージ処理モジュールを利用して、シェアと転送回数を取り出し、それらを制御モジュールに渡し、制御モジュールは転送回数を参照し、1に設定されている場合は、そのメッセージに含まれていたアプリケーションデータのシェアと0に設定した転送回数とを含むメッセージを生成し、そのメッセージの発信元端末と自端末を除く全端末に対して転送するとともに、アプリケーションデータのシェアは自端末の前記データベースモジュールに保存するステップ2と、
ステップ2で転送されたメッセージを受けた各端末の前記制御モジュールは、ステップ2と同様に転送回数を参照し0に設定されているので転送を終了し、各端末が全てメッセージの転送を終了すると、メッセージの発信元端末を除く各端末が得た、(コミュニティに参加する全端末数−1)個のシェアを、前記SSS復号化モジュールを利用して元のアプリケーションデータを復元しアプリケーションに渡すとともに、そのアプリケーションデータを、発信元端末と共有している共通鍵を利用して前記共通鍵暗号方式暗号化・復号化モジュールで暗号化した暗号化データを、発信元端末に送り返すステップ3と、
ステップ1における発信元端末は他の全端末から、発信元端末と各端末間で一意に共有している共通鍵を利用して暗号化された暗号化データをステップ3により受信し、受け取った各暗号化データを、それぞれ対応する共通鍵で復号化して得られるアプリケーションデータと、データベースモジュールに保存しているアプリケーションデータとを比較し、一致するかどうかを確認するステップ4と、を備えることを特徴とする、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法をコンピュータに実行させるためのコンピュータプログラム。 When a terminal that is a communication terminal according to claim 1 transmits application data to all terminals that participate in a community other than its own terminal,
In addition to storing the application data in the database module, the SSS distributed encoding module distributes with threshold values of ((total number of terminals participating in community-1), (total number of terminals participating in community-1)). In order to transmit the share of the application data obtained by encoding (total number of terminals that participate in the community minus 1) pieces of application data to each of the terminals that participate in the community other than the own terminal in a message. Generating and transmitting a message including a share, destination information of a terminal to which the share is transmitted, and a transfer count set to 1 for each of all terminals participating in the community except for the own terminal; and ,
Each of the other terminals receives the message transmitted in step 1, and each of the terminals uses the message processing module to extract the share and the transfer count, and passes them to the control module. The control module refers to the transfer count. If it is set to 1, a message including the share of application data included in the message and the number of transfers set to 0 is generated, and all terminals except the source terminal of the message and its own terminal The application data share is stored in the database module of the terminal,
The control module of each terminal that has received the message transferred in step 2 refers to the transfer count as in step 2 and is set to 0, so that the transfer ends, and when each terminal ends the transfer of the message. In addition to restoring the original application data using the SSS decryption module and passing it to the application, the shares obtained by each terminal excluding the message source terminal (the total number of terminals participating in the community minus 1) are used. Step 3 of sending back the encrypted data obtained by encrypting the application data using the common key encryption / decryption module using a common key shared with the source terminal to the source terminal;
The source terminal in step 1 receives encrypted data encrypted in step 3 from all other terminals using a common key that is uniquely shared between the source terminal and each terminal. And comparing the application data obtained by decrypting the encrypted data with the corresponding common key and the application data stored in the database module, and confirming whether or not they match. A computer program for causing a computer to execute a method for reliably confirming connection connections between all other terminals in a full mesh network.
アプリケーションデータを生成し、また外部端末から受信したアプリケーションデータを処理するアプリケーションと、
共通鍵を利用し、任意のデータを暗号化・復号化する共通鍵暗号方式暗号化・復号化モジュールと、
(k、n)の閾値(1≦k≦n)でアプリケーションデータを分散符号化し、アプリケーションデータの部分情報であるシェアをn個生成するSSS(Secret Sharing Schemes)分散符号化モジュールと、
アプリケーションデータが分散符号化された複数のシェアから元のアプリケーションデータを復元するSSS復号化モジュールと、
アプリケーションデータのハッシュ値と、他の端末から受信するアプリケーションデータのシェアと、他の端末と一意に共有している共通鍵と、コミュニティに参加している端末の宛先情報を含む端末リスト、とを管理するデータベースモジュールと、
アプリケーションデータをハッシュ値に変換するハッシュモジュールと、
2つのハッシュ値を比較し、一致するかどうかを判断するデータ比較モジュールと、
他のモジュールから渡されるアプリケーションデータのシェアに、指定された宛先情報と、転送回数を付与してメッセージを生成する手段と、共通鍵により暗号化されたハッシュ値を含むメッセージを生成する手段、とを有するメッセージ生成モジュールと、
他の端末から受信するメッセージに含まれる、アプリケーションデータのシェア、転送回数、共通鍵により暗号化されたハッシュ値、を取り出す手段を有するメッセージ処理モジュールと、
メッセージ生成モジュールから渡されるメッセージの宛先情報を基に、当該宛先へメッセージを送信する手段と、他の端末からメッセージを受信する手段と、受信したメッセージを前記メッセージ処理モジュールに渡す手段、とを有するメッセージ送受信モジュールとを備え、
データベースモジュールに対して、コミュニティに参加している参加者リスト、アプリケーションデータのハッシュ値、各参加者間で共有している共通鍵、アプリケーションデータが分散符号化されたシェアの、保存・取得要求を行う手段と、
SSS分散符号化モジュールに対して、アプリケーションから受信するアプリケーションデータを、要求した閾値でSSSにより分散符号化を行うように依頼する手段と、
メッセージ生成モジュールに対して、SSS分散符号化モジュールから受信するアプリケーションデータのシェアに、指定する宛先情報、転送回数を設定してメッセージを生成するように依頼する手段と、
SSS復号化モジュールに対して、取得したアプリケーションデータのシェアから元のアプリケーションデータを復元するように依頼する手段と、
データ比較モジュールに対して、データベースモジュールに保存しているアプリケーションデータと、他の端末から受信するアプリケーションデータのシェアからSSS復号化モジュールを利用して復元されたアプリケーションデータ、との比較を要求する手段と、
メッセージ処理モジュールから、他の端末から受信されたメッセージから取り出されたアプリケーションデータのシェア、転送回数、暗号化されたハッシュ値、を受信する手段と、
ハッシュモジュールに対して、SSS復号化モジュールを利用して復元したアプリケーションデータをハッシュ値に変換するように要求する手段と、
共通鍵暗号方式暗号化・復号化モジュールに対して、任意のデータを共通鍵により、暗号化、または復号化するように依頼する手段、とを備える制御モジュールを備えることを特徴とするコミュニケーション端末としてコンピュータを機能させるためのコンピュータプログラム。 By establishing a full mesh connection with multiple external terminals connected to the network, a temporary community is formed, and authentication control is performed at the time of establishing a connection. A terminal sharing a key,
An application that generates application data and processes application data received from an external terminal;
A common key encryption / decryption module that encrypts / decrypts arbitrary data using a common key;
An SSS (Secret Sharing Schemes) distributed encoding module that performs distributed encoding of application data with a threshold (1 ≦ k ≦ n) of (k, n) and generates n shares that are partial information of the application data;
An SSS decoding module that restores original application data from a plurality of shares in which application data is distributed and encoded;
A hash value of application data, a share of application data received from other terminals, a common key uniquely shared with other terminals, and a terminal list including destination information of terminals participating in the community, A database module to manage,
A hash module that converts application data into a hash value;
A data comparison module that compares two hash values and determines whether they match,
Means for generating a message by assigning the specified destination information to the share of application data passed from another module, the number of transfers, and means for generating a message including a hash value encrypted with a common key; A message generation module having
A message processing module having means for extracting the share of application data, the number of transfers, and a hash value encrypted with a common key, included in a message received from another terminal;
Based on message destination information passed from the message generation module, means for transmitting a message to the destination, means for receiving a message from another terminal, and means for passing the received message to the message processing module A message sending and receiving module,
A request to store / retrieve the database module for a list of participants participating in the community, a hash value of application data, a common key shared among the participants, and a share in which application data is distributed and encoded. Means to do,
Means for requesting the SSS distributed encoding module to perform application encoding received from the application by SSS with the requested threshold value;
Means for requesting the message generation module to generate a message by setting the destination information to be specified and the number of transfers to the share of the application data received from the SSS distributed encoding module;
Means for requesting the SSS decryption module to restore the original application data from the acquired application data share;
Means for requesting data comparison module to compare application data stored in database module with application data restored using share of application data received from other terminal using SSS decryption module When,
Means for receiving, from the message processing module, a share of application data extracted from a message received from another terminal, the number of transfers, and an encrypted hash value;
Means for requesting the hash module to convert the application data restored using the SSS decryption module into a hash value;
As a communication terminal, comprising a control module comprising a means for requesting a common key cryptosystem encryption / decryption module to encrypt or decrypt any data with a common key A computer program that causes a computer to function.
前記ハッシュモジュールを利用してアプリケーションデータのハッシュ値を前記データベースモジュールに保存しておくとともに、前記分散符号化モジュールで、((コミュニティに参加する全端末数−1)、(コミュニティに参加する全端末数−1))の閾値で分散符号化して得られる、(コミュニティに参加する全端末数−1)個のアプリケーションデータのシェアを、自端末を除くコミュニティに参加する全端末のそれぞれに対し、1シェアづつメッセージに含めて送信するため、シェアと、該シェアを送信される端末の宛先情報と、1に設定された転送回数、とを含むメッセージを、自端末を除くコミュニティに参加する全端末のそれぞれについて生成し送信するステップ1と、
ステップ1で送信されたメッセージを他の各端末が受信し、それら各端末は前記メッセージ処理モジュールを利用して、シェアと転送回数を取り出し、それらを制御モジュールに渡し、制御モジュールは転送回数を参照し、1に設定されている場合は、メッセージに含まれていたアプリケーションデータのシェアと0に設定した転送回数とを含むメッセージを生成し、前記メッセージの発信元端末と自端末を除く全端末に対して送信するとともに、得られたシェアは自端末の前記データベースモジュールに保存するステップ2と、
ステップ2で転送されたメッセージを受けた各端末の前記制御モジュールは、ステップ2と同様に転送回数を参照し、0に設定されているので、転送を終了するとともに、全端末のメッセージの転送終了後、メッセージの発信元端末を除く各端末が得た、(コミュニティに参加する全端末数−1)個のシェアを、前記SSS復号化モジュールを利用して元のアプリケーションデータを復元し、アプリケーションに渡すとともに、そのアプリケーションデータをハッシュモジュールによりハッシュ値に変換し、発信元端末と共有している共通鍵を利用して前記共通鍵暗号方式暗号化・復号化モジュールで暗号化した暗号化ハッシュ値を、発信元端末に送り返すステップ3と、
ステップ1における発信元端末を除く全端末から、発信元端末と各端末間で一意に共有している共通鍵を利用して暗号化された暗号化ハッシュ値を、発信元端末はステップ3により受信し、受け取った各暗号化ハッシュ値をそれぞれ対応する共通鍵で復号化し、得られるハッシュ値とデータベースモジュールに保存しているハッシュ値とを比較し、一致するかどうかを確認するステップ4と、を備えることを特徴とする、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法をコンピュータに実行させるためのコンピュータプログラム。
When a terminal which is a communication terminal according to claim 4 transmits application data to all terminals participating in the community except for its own terminal,
The hash value of application data is stored in the database module using the hash module, and ((total number of terminals participating in the community −1)) ((all terminals participating in the community)) is stored in the distributed encoding module. The share of the application data (total number of terminals participating in the community minus 1) obtained by distributed encoding with the threshold of (number-1)) is 1 for each of all terminals participating in the community except for the own terminal. In order to send a message including each share, a message including the share, destination information of the terminal to which the share is transmitted, and the number of transfers set to 1 is sent to all the terminals participating in the community except for the own terminal. Step 1 to generate and send for each,
Each of the other terminals receives the message transmitted in step 1, and each of the terminals uses the message processing module to extract the share and the transfer count, and passes them to the control module. The control module refers to the transfer count. If it is set to 1, a message including the share of the application data included in the message and the number of transfers set to 0 is generated, and the message is transmitted to all terminals except the source terminal and the own terminal. And sending the obtained share to the database module of its own terminal, and
The control module of each terminal that has received the message transferred in step 2 refers to the number of transfers as in step 2 and is set to 0, so that the transfer is completed and the message transfer of all terminals is completed. Thereafter, the original application data is restored to the application by using the SSS decryption module for the shares of (the total number of terminals participating in the community −1) obtained by each terminal except the message source terminal. And the application data is converted into a hash value by the hash module, and the encrypted hash value encrypted by the common key encryption / decryption module using the common key shared with the source terminal is obtained. , Step 3 sent back to the originating terminal,
The source terminal receives the encrypted hash value encrypted in step 3 using a common key that is uniquely shared between the source terminal and each terminal from all terminals except the source terminal in step 1 Step 4 for decrypting each received encrypted hash value with a corresponding common key, comparing the obtained hash value with the hash value stored in the database module, and confirming whether or not they match. A computer program for causing a computer to execute a method for surely confirming connection connections between all other terminals in a full mesh network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005018410A JP4523847B2 (en) | 2005-01-26 | 2005-01-26 | In a communication terminal or full mesh network, each terminal can reliably check the connection between all other terminals. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005018410A JP4523847B2 (en) | 2005-01-26 | 2005-01-26 | In a communication terminal or full mesh network, each terminal can reliably check the connection between all other terminals. |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006211118A true JP2006211118A (en) | 2006-08-10 |
JP4523847B2 JP4523847B2 (en) | 2010-08-11 |
Family
ID=36967503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005018410A Expired - Fee Related JP4523847B2 (en) | 2005-01-26 | 2005-01-26 | In a communication terminal or full mesh network, each terminal can reliably check the connection between all other terminals. |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4523847B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8195895B2 (en) | 2008-06-30 | 2012-06-05 | International Business Machines Corporation | Shared object control for controlling information read/write processing |
WO2016200007A1 (en) * | 2015-06-12 | 2016-12-15 | 주식회사 엔오디비즈웨어 | Secure chat method using distributed key exchange protocol and self-defense security technology |
KR20220076934A (en) * | 2020-12-01 | 2022-06-08 | 주식회사 엘지유플러스 | Terminal for payment and operaing method of thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212089A (en) * | 1996-02-05 | 1997-08-15 | Matsushita Electric Ind Co Ltd | Key sharing apparatus |
-
2005
- 2005-01-26 JP JP2005018410A patent/JP4523847B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212089A (en) * | 1996-02-05 | 1997-08-15 | Matsushita Electric Ind Co Ltd | Key sharing apparatus |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8195895B2 (en) | 2008-06-30 | 2012-06-05 | International Business Machines Corporation | Shared object control for controlling information read/write processing |
WO2016200007A1 (en) * | 2015-06-12 | 2016-12-15 | 주식회사 엔오디비즈웨어 | Secure chat method using distributed key exchange protocol and self-defense security technology |
KR20220076934A (en) * | 2020-12-01 | 2022-06-08 | 주식회사 엘지유플러스 | Terminal for payment and operaing method of thereof |
KR102528051B1 (en) * | 2020-12-01 | 2023-05-02 | 주식회사 엘지유플러스 | Terminal for payment and operaing method of thereof |
Also Published As
Publication number | Publication date |
---|---|
JP4523847B2 (en) | 2010-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108600227B (en) | Medical data sharing method and device based on block chain | |
US5748736A (en) | System and method for secure group communications via multicast or broadcast | |
JP4955181B2 (en) | Method and apparatus for managing secure collaborative transactions | |
TW201008195A (en) | Key management for communication networks | |
US9240980B2 (en) | Management of group secrets by group members | |
CN108847928B (en) | Communication system and communication method for realizing information encryption and decryption transmission based on group type quantum key card | |
JP2015500585A (en) | Simplified management of group secrets by group members | |
CN113239403A (en) | Data sharing method and device | |
CN109995739A (en) | A kind of information transferring method, client, server and storage medium | |
WO2020082226A1 (en) | Method and system for transferring data in a blockchain system | |
JP2023552263A (en) | Redistribution of secret sharing | |
CN109962924B (en) | Group chat construction method, group message sending method, group message receiving method and system | |
JP4523847B2 (en) | In a communication terminal or full mesh network, each terminal can reliably check the connection between all other terminals. | |
CN110912691B (en) | Ciphertext distribution method, device and system based on grid access control encryption algorithm in cloud environment and storage medium | |
CN103384233B (en) | A kind of methods, devices and systems for acting on behalf of conversion | |
CN111884988A (en) | Method for secure transmission of data | |
US11411744B2 (en) | Encryption communication method, information processing apparatus, and program | |
CN113642738B (en) | Multi-party safety cooperation machine learning method and system based on hierarchical network structure | |
KR101215802B1 (en) | Method of providing a contents service in a p2p network | |
JP7254296B2 (en) | Key exchange system, information processing device, key exchange method and program | |
CN111865972B (en) | Anonymous communication method and system | |
JP2001244924A (en) | Information enciphering system | |
TWI835684B (en) | Backup system and backup method for instant messaging service data | |
RU2716207C1 (en) | Method for decentralized distribution of key information | |
CN116389673A (en) | Quantum secret video conference system and method combining blockchain |
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: 20100525 |
|
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: 20100528 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130604 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140604 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |