JP4610169B2 - Communication method and communication system - Google Patents

Communication method and communication system Download PDF

Info

Publication number
JP4610169B2
JP4610169B2 JP2003277898A JP2003277898A JP4610169B2 JP 4610169 B2 JP4610169 B2 JP 4610169B2 JP 2003277898 A JP2003277898 A JP 2003277898A JP 2003277898 A JP2003277898 A JP 2003277898A JP 4610169 B2 JP4610169 B2 JP 4610169B2
Authority
JP
Japan
Prior art keywords
terminal
group
information
public key
participation certificate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003277898A
Other languages
Japanese (ja)
Other versions
JP2004159298A5 (en
JP2004159298A (en
Inventor
直弥 ▲たか▼尾
圭司 杉山
俊也 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003277898A priority Critical patent/JP4610169B2/en
Publication of JP2004159298A publication Critical patent/JP2004159298A/en
Publication of JP2004159298A5 publication Critical patent/JP2004159298A5/ja
Application granted granted Critical
Publication of JP4610169B2 publication Critical patent/JP4610169B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、汎用のネットワークを介して接続されている複数の端末から構成される仮想的なグループに属する端末と当該グループとの関係が明らかでない一の端末との間の通信方法に関し、特に、前記一の端末が、前記グループへの加入の際や前記グループに属する端末から必要な情報を入手する際などに、前記端末との間で行う認証の認証方法に関する。   The present invention relates to a communication method between a terminal belonging to a virtual group composed of a plurality of terminals connected via a general-purpose network and one terminal whose relationship with the group is not clear, The present invention relates to an authentication method for authentication performed with the terminal when the one terminal joins the group or obtains necessary information from a terminal belonging to the group.

インターネットに接続して各種ネットワークサービスを享受するユーザ端末数は、接続機器や接続料金の廉価化、接続機器の多彩化および通信速度の向上などにより、急速に増加している。インターネットの商用開始当初においては、一部の情報提供者のサーバが提供する情報を、一般のユーザが自分の端末によってダウンロードして利用するという、一方向のサービスが主流であったが、現在は、一部の情報提供者に限らず、個人的に保有する情報(例えばテキストデータ、静止画像データ、音声データ、動画像データなど)を発信したいというユーザも増え、主にWWW(World Wide Web)上のサーバ等に自分の情報を公開し、他のユーザに閲覧させるというケースも少なくない。   The number of user terminals that can connect to the Internet and enjoy various network services is rapidly increasing due to the reduction in the price of connection devices and connection charges, the diversification of connection devices and the improvement in communication speed. At the beginning of commercial use of the Internet, a one-way service in which the information provided by some information provider's servers was downloaded and used by ordinary users on their own terminals was the mainstream. In addition to some information providers, the number of users who want to transmit personally held information (for example, text data, still image data, audio data, moving image data, etc.) is increasing, mainly WWW (World Wide Web). There are many cases where one's own information is disclosed to the above server and other users are allowed to browse.

情報提供者が情報を提供する方法を大きく分けると、(1)サーバを自分で運用し提供する、(2)情報提供者が、有料または無料で情報の提供を受け付けているサーバに、提供したい情報をアップロードする、という二つの方法がある。   The information provider can roughly divide the method of providing information. (1) The server is operated and provided by itself. (2) The information provider wants to provide it to a server that accepts information for a fee or free of charge. There are two ways to upload information.

さらに、不特定多数のユーザ端末を対象に発信するのではなく、友人、家族又は共通の趣味を持つ者などの特定のユーザ同士の端末(以下「グループ」という。)間でのみプライベートな情報を共有したいという要求も増えている。この要求を実現する方法としては、主に認証サーバを用いる方法、すなわちグループへの参加を認められたユーザのユーザIDとパスワードの組(以下「グループリスト」という。)を認証サーバ(情報提供者のサーバと同一であってもよい。)に登録しておき、ユーザ端末から入力されたユーザIDとパスワードとの組を確認することによって、当該グループにおける情報を共有する許可の決定を行っている。   Furthermore, private information is not transmitted to an unspecified number of user terminals, but only between terminals (hereinafter referred to as “groups”) between specific users such as friends, family members, or persons having a common hobby. The demand for sharing is also increasing. As a method for realizing this request, a method mainly using an authentication server, that is, a combination of a user ID and a password (hereinafter referred to as “group list”) of a user who is permitted to participate in a group is referred to as an authentication server (information provider). The server determines the permission to share information in the group by checking the combination of the user ID and password input from the user terminal. .

また、形成したグループを公開する際にも、グループに関する情報、つまりグループのカテゴリやメンバの情報、参加のための条件などを認証サーバに登録することにより、不特定多数のユーザに参加を呼びかけることが多い。ユーザは、認証サーバにアクセスすることによって、登録されているグループの存在を知り、グループへの参加に必要な情報を入手する。チャット、BBS、メーリングリストなどのネットワーク上でのコミュニケーションを行うことを目的とするグループの多くはこのような方法で、グループを公開する。   In addition, when a formed group is disclosed, information regarding the group, that is, group category and member information, conditions for participation, etc. are registered in the authentication server, and an unspecified number of users are invited to participate. There are many. By accessing the authentication server, the user knows the existence of the registered group and obtains information necessary for joining the group. Many groups that aim to communicate on networks such as chat, BBS, and mailing lists publish groups in this way.

このように、情報提供者がサーバに情報を格納しておき、情報利用者の端末がサーバにアクセスするというモデル(所謂、クライアント/サーバモデル)の場合には、次の問題点がある。即ち、自分でサーバを運用する場合には、
(1)高度な知識が必要:サーバやネットワーク等に関する技術的な知識が必要とされ、一般ユーザが運用することは困難な場合が多い。
(2)コストがかかる:機材やソフトウェア以外にも、情報提供用のサーバを常時稼動させるための運用費が必要となる、などの問題点がある。
(3)有料/無料に拘らず、情報を提供するサーバには、容量上の制限がある:多くの場合、サーバに格納できる情報の容量には制限が設けられているため(有料で情報を提供するサーバの場合は、コストの大半を情報利用者に負担 させることで容量制限を緩和させることは可能である)、情報提供者が制限される場合が生じ得る。
(4)プライバシの漏洩:情報提供者が信頼に足る場合であっても、何らかの事故等でサーバに格納された情報が第三者に漏れる場合があり、完全にプライバシを保護することは困難である。
などの問題点があり、
(5)共通の課題としての信頼性:サーバが何らかのトラブルでアクセス不能になった場合、情報の提供や情報の共有はまったく不可能となる。
という問題点もある。
As described above, the model (so-called client / server model) in which the information provider stores information in the server and the terminal of the information user accesses the server has the following problems. In other words, if you operate the server yourself,
(1) Advanced knowledge is required: Technical knowledge about servers and networks is required, and it is often difficult for general users to operate.
(2) Cost is high: In addition to the equipment and software, there is a problem that an operation cost for operating the information providing server at all times is necessary.
(3) Regardless of whether it is paid or free, there is a capacity limit on the server that provides information: in many cases, there is a limit on the capacity of information that can be stored in the server In the case of the provided server, it is possible to relax the capacity limit by placing most of the cost on the information user), and the information provider may be restricted.
(4) Privacy leakage: Even if the information provider is reliable, the information stored in the server may be leaked to a third party due to some kind of accident, and it is difficult to completely protect the privacy. is there.
There are problems such as
(5) Reliability as a common problem: When a server becomes inaccessible due to some trouble, it becomes impossible to provide information or share information at all.
There is also a problem.

なお、情報提供者が、情報を提供する対価として収入を得ることによって、情報提供に要したコストを全て回収する場合は、上記の容量上の制限については問題とならないが、一般のユーザが情報を発信する、あるいはユーザ端末間で情報を共有する場合は、上記のコストを回収することはできない。   In addition, when the information provider collects all the costs required for providing information by obtaining revenue as consideration for providing information, there is no problem with the above capacity limitation, but a general user can The above-mentioned cost cannot be recovered when information is shared between user terminals.

上記のようなクライアント/サーバモデルにおける情報共有時の問題点を解消するために、近年注目されているのがピア−トゥ−ピア(Peer−to−Peer、以下「P2P」という。)モデルである。これは、情報をサーバに一極集中させず、必要なときに情報提供者−情報利用者間で直接、情報の送受信を行う通信方式であり、上記問題点を解決し得るものである(例えば、非特許文献1参照)。   In order to solve the problem at the time of information sharing in the client / server model as described above, a peer-to-peer (hereinafter referred to as “P2P”) model has been attracting attention in recent years. . This is a communication method in which information is transmitted and received directly between an information provider and an information user when necessary without concentrating information on a server, and can solve the above problems (for example, Non-Patent Document 1).

図30は、P2Pモデルのネットワーク(以下「P2Pネットワーク」という。)に参加しているユーザ端末間で情報を転送する場合の処理の流れを示した概念図である。図30における各ユーザ端末(具体的には、端末A〜端末F)は、P2Pネットワークに参加している他のユーザ端末の存在を1つ以上知っていることとする。例えば、端末Aは端末Bと端末Fを、端末Bは端末Aと端末Cと端末Dを、端末Dは端末Bと端末Eを、端末Eは端末Dのみを、端末Fは端末Aと端末Cの存在をそれぞれ知っている。この状態で、端末Aのユーザがある情報の入手を希望している場合を想定する。端末Aのユーザが、希望する情報を受信するためには、まず、その情報を持つ他のユーザ端末を特定するための検索を行うことが必要となる。   FIG. 30 is a conceptual diagram showing a flow of processing when information is transferred between user terminals participating in a P2P model network (hereinafter referred to as “P2P network”). Each user terminal (specifically, terminal A to terminal F) in FIG. 30 is assumed to know one or more of other user terminals participating in the P2P network. For example, terminal A is terminal B and terminal F, terminal B is terminal A, terminal C and terminal D, terminal D is terminal B and terminal E, terminal E is only terminal D, and terminal F is terminal A and terminal Each knows the existence of C. In this state, it is assumed that the user of terminal A desires to obtain certain information. In order for the user of terminal A to receive the desired information, it is first necessary to perform a search for specifying another user terminal having the information.

端末Aは、最初に、ユーザからの指示により、端末Bと端末Fに、上記情報を有するユーザ端末を検索したい旨の要求(以下「検索要求」という。)を送信する。次に、端末Bと端末Fは、それぞれが知っているユーザ端末に端末Aから受信した検索要求を中継し、その先のユーザ端末も同様に中継する(S1501)。そして、この検索要求に合致する情報を持っているユーザ端末(この場合は端末Cと端末E)は、端末Aに対して上記情報を持っていることを直接通知する(S1502、S1503)。端末Aは、予め定めた何らかの判断基準に基づいて、端末Eを選択し、最終的には端末Eから端末Aに上記情報の転送が直接行われる(S1504)。もちろん、端末Cと端末Eの両者から端末Aに上記情報を転送することとしてもよい。   Terminal A first transmits a request (hereinafter referred to as “search request”) to search for a user terminal having the above information to terminal B and terminal F in accordance with an instruction from the user. Next, the terminal B and the terminal F relay the search request received from the terminal A to the user terminals that they respectively know, and similarly relay the subsequent user terminal (S1501). Then, the user terminals (in this case, the terminal C and the terminal E) having information matching the search request directly notify the terminal A that the information is held (S1502, S1503). Terminal A selects terminal E based on some predetermined criterion, and finally the above information is directly transferred from terminal E to terminal A (S1504). Of course, both the terminal C and the terminal E may transfer the information to the terminal A.

これにより、前記クライアント/サーバモデルの問題点(1)〜(5)は、次のように解決される。つまり、
(1)サーバの運用が不要なため、サーバの運用に要する高度な知識も必要とされない。
(2)サーバを運用するためのコストや利用するためのコストは不要である。
(3)情報発信者Eから情報受信者Aは直接情報を受信するので、転送可能な情報の容量は端末Aと端末Eのローカルな記録容量のみに制約され、実質的に容量の制限はない。
(4)転送される情報は端末Aと端末E以外の第三者を経由しないので、既存技術で端末Aと端末Eの間の通信を暗号化して行うこととすれば、情報のプライバシを保つことが可能である。
(5)仮に端末Eがネットワークに参加していない状態(オフライン)であっても、端末Aは端末Cから必要な情報を得ることができる。
Thereby, the problems (1) to (5) of the client / server model are solved as follows. That means
(1) Since no server operation is required, advanced knowledge required for server operation is not required.
(2) No cost for operating or using the server is required.
(3) Since the information receiver A directly receives information from the information sender E, the capacity of information that can be transferred is limited only by the local recording capacity of the terminal A and the terminal E, and there is virtually no capacity limitation. .
(4) Since the transferred information does not pass through a third party other than the terminal A and the terminal E, if the communication between the terminal A and the terminal E is encrypted using the existing technology, the privacy of the information is maintained. It is possible.
(5) Even if the terminal E is not participating in the network (offline), the terminal A can obtain necessary information from the terminal C.

さて、P2Pネットワーク上のグループに参加し、そのグループ内において、プライベートな情報の共有を行うためには(この場合は認証サーバが存在しないので)、以下の(A)および(B)の要求を満たす必要がある。
(A)グループに参加を希望するユーザは、何らかの方法でグループに関する情報を入手する必要がある。
(B)グループメンバ同士で情報を共有するためには、何らかの方法で、各ユーザ端末がそのグループに参加しているかどうかを互いに認証する必要がある。
In order to participate in a group on the P2P network and share private information within the group (since there is no authentication server in this case), the following requests (A) and (B) are made: It is necessary to satisfy.
(A) A user who wants to join a group needs to obtain information about the group by some method.
(B) In order to share information among group members, it is necessary to mutually authenticate whether each user terminal participates in the group by some method.

まず、上記の(A)の要求について検討する。
グループに関する情報を入手するためには、上記で述べたP2Pネットワークにおける検索手法を用いることができる。グループに関する情報を入手するための検索をP2Pネットワークに対して実行することにより、認証サーバを使用することなく、ネットワーク上に存在するグループの情報を入手することが出来る。
First, the requirement (A) will be examined.
In order to obtain information on the group, the search method in the P2P network described above can be used. By executing a search for obtaining information about groups on the P2P network, it is possible to obtain information on groups existing on the network without using an authentication server.

ユーザは、まず、(1)ネットワーク上に存在するグループを識別するための情報、および(2)グループを分類するための属性などに関する情報を入手し、次に、(3)グループに参加するための接続先に関する情報を入手する必要がある。   The user first obtains (1) information for identifying a group existing on the network, and (2) information on attributes for classifying the group, and then (3) for joining the group. You need to get information about the connection destination.

上記の(1)の情報は、グループに与えられたIDなどであり、グループを一意に特定できる情報である。また、上記(2)の情報は、グループのカテゴリ、活動目的、グループへの参加条件などである。さらに、上記(3)の情報は、グループのメンバのIPアドレス、ポート番号などであり、実際にグループのメンバの端末にアクセスするために必要な情報である。   The information (1) is an ID given to the group, and is information that can uniquely identify the group. The information (2) includes the group category, activity purpose, group participation conditions, and the like. Further, the information (3) is the IP address and port number of the group member, and is information necessary for actually accessing the terminal of the group member.

以後、上記(1)の情報を「グループ識別情報」、(2)の情報を「グループ属性情報」、(3)の情報を「エントリポイント情報」ということとする。さらに、(1)および(2)の情報をまとめたものを「グループ情報」という。   Hereinafter, the information (1) is referred to as “group identification information”, the information (2) is referred to as “group attribute information”, and the information (3) is referred to as “entry point information”. Further, the grouped information of (1) and (2) is referred to as “group information”.

ユーザはまず、検索によってグループ識別情報および、グループ属性情報を入手し、入手したグループ属性情報から、そのグループに参加するかどうかを判断する。そのグループに参加する場合には、グループのエントリポイント情報を検索によって入手する。この際に、先に入手しているグループ識別情報によって、どのグループのエントリポイントが必要であるのかを指定する。エントリポイント情報を入手したユーザは、該当するエントリポイントにアクセスすることによってグループに加入するための手続きを行う。上記の処理をP2Pネットワークにおける検索手法を用いて行う場合、認証サーバなどによってグループ情報が管理されていないことにより、2つの問題が生じ得る。   First, the user obtains group identification information and group attribute information by searching, and determines whether or not to join the group from the obtained group attribute information. When joining the group, the group entry point information is obtained by searching. At this time, it is specified which group entry point is required by the group identification information obtained in advance. The user who has obtained the entry point information performs a procedure for joining the group by accessing the corresponding entry point. When the above processing is performed using a search method in a P2P network, two problems can occur because group information is not managed by an authentication server or the like.

第1の問題は、グループ情報の詐称である。図31に示すように、ネットワーク上に3つのグループG1、G2、G3が存在している場合を想定する。ここで、ユーザAの端末Aは、ユーザAが加入したいグループの条件αを指定し、P2Pネットワークに対してグループ情報の検索を行う(S3101)。   The first problem is group information misrepresentation. As shown in FIG. 31, it is assumed that there are three groups G1, G2, and G3 on the network. Here, the terminal A of the user A designates the condition α of the group to which the user A wants to join, and searches the P2P network for group information (S3101).

次に、端末Bおよび端末Fは、端末Aから検索要求を受信すると、それぞれが属するグループのグループ情報が端末Aから指定された条件αと適合するか否かを判定する。図31の例では、G2は条件αに適合しないため、端末B、端末Fはそれぞれが知っているユーザの端末に検索要求を転送する。そして、条件αに適合するグループG1の端末Cと端末Dは、保持するグループ識別情報DI1およびグループ属性情報AI1を、端末Aに通知する(S3102、S3103)。   Next, when receiving a search request from the terminal A, the terminal B and the terminal F determine whether or not the group information of the group to which the terminal B and the terminal F meet the condition α specified by the terminal A. In the example of FIG. 31, since G2 does not meet the condition α, the terminal B and the terminal F transfer the search request to the terminal of the user that they know. Then, the terminal C and the terminal D of the group G1 that meet the condition α notify the terminal A of the group identification information DI1 and group attribute information AI1 that are held (S3102, S3103).

これにより、端末AのユーザAは、指定した条件αに適合するグループの存在を知ると共に、そのグループに参加することが可能となる。   Thereby, the user A of the terminal A can know the existence of a group that meets the designated condition α and can participate in the group.

しかし、P2Pネットワークでは、図32に示すように、グループ情報を詐称することも容易である。図32におけるユーザAは、上記図31と同様に、端末Aを介して、自分が加入したいグループの条件αを指定し、P2Pネットワークに対してグループ情報の検索を行う(S3201)。   However, in the P2P network, it is easy to misrepresent group information as shown in FIG. In the same way as in FIG. 31, user A in FIG. 32 designates the condition α of the group that he / she wants to join via terminal A, and searches the P2P network for group information (S3201).

この検索に対する応答として、下記のような不正な応答が返される可能性がある。
(1)自分のグループに関するグループ属性情報を詐称する。
例えば、端末BのユーザBが、端末Aからの検索要求に対する応答として、自身が参加しているグループのグループ情報のうち、グループ属性情報AI2ではなく条件αに適合する他のグループのグループ属性情報AI1を使用して端末Aに送信したとする(S3202)。この場合、ユーザAは、自分が指定した条件αに適合しないグループG2に参加してしまう可能性が生じる。
There is a possibility that the following incorrect response is returned as a response to this search.
(1) Misrepresenting group attribute information related to own group.
For example, as a response to the search request from the terminal A, the user B of the terminal B, among the group information of the group in which the user B participates, does not use the group attribute information AI2 but group attribute information of another group that meets the condition α It is assumed that data is transmitted to terminal A using AI1 (S3202). In this case, the user A may participate in the group G2 that does not meet the condition α specified by the user A.

(2)他のグループのグループ識別情報を使用し、そのグループに関するグループ属性情報を詐称する。
例えば、端末EのユーザEが、他のグループのグループ識別情報DI1を使用すると共に、条件αに適合するようなグループ属性情報AI4を捏造して、端末Aに送信したとする(S3203)。すると、ユーザAは、グループG1に関して誤ったグループ属性情報を入手してしまい、かつ、グループG1について誤ったグループ属性情報AI4を広める危険性がある。また、エントリポイント情報を検索する際にも、同様に情報の詐称が生じ得る。
(2) Using group identification information of another group and misrepresenting group attribute information regarding the group.
For example, it is assumed that the user E of the terminal E uses the group identification information DI1 of another group and forges the group attribute information AI4 that satisfies the condition α and transmits it to the terminal A (S3203). Then, there is a risk that the user A obtains incorrect group attribute information regarding the group G1 and spreads the incorrect group attribute information AI4 regarding the group G1. Similarly, when searching for entry point information, information can be misrepresented.

ここで、エントリポイント情報をP2Pネットワークにおける検索手法を使用して検索する場合の処理の流れについて、図31を参照しながら説明する。
まず、エントリポイント情報を検索するユーザAは、条件αとエントリポイント情報を入手したいグループのグループ識別情報とを指定して検索する。指定されたグループ識別情報によって特定されるグループに属しているユーザC、Dは、その端末を介して、上記の検索に対する応答として、自身のエントリポイントの情報を返す。
Here, the flow of processing when searching for entry point information using a search method in the P2P network will be described with reference to FIG.
First, the user A searching for entry point information specifies and searches the condition α and the group identification information of the group for which entry point information is desired. Users C and D belonging to the group specified by the specified group identification information return their entry point information as a response to the search via the terminal.

この際にも、グループ識別情報とエントリポイント情報の対応がサーバによって管理されていないために、応答を返すユーザは、容易に不正な応答を返すことができる。この場合は、下記のような不正な応答が想定できる。   Also in this case, since the correspondence between the group identification information and the entry point information is not managed by the server, a user who returns a response can easily return an invalid response. In this case, the following incorrect response can be assumed.

(3)他のグループのグループ識別情報を使用し、そのグループに関するエントリポイント情報を詐称する。例えば、端末Eは、端末AからのグループG1のエントリポイント情報の検索に対して、詐称して端末Bのエントリポイント情報を返すことができる。この場合、端末Aは、グループG1とは異なるG2に加入してしまう場合が生じ、この場合は、グループG2のメンバBは、端末Aからの誤ったアクセスを処理しなければならなくなる。 (3) Using group identification information of another group and spoofing entry point information regarding the group. For example, the terminal E can return and return the entry point information of the terminal B in response to the search for the entry point information of the group G1 from the terminal A. In this case, the terminal A may join G2 different from the group G1, and in this case, the member B of the group G2 has to process an erroneous access from the terminal A.

上記のうち、不正な応答(1)については、クライアント/サーバモデルについても起こり得る問題であるが、不正な応答(2)および(3)については、P2P環境において、より生じやすい問題である。サーバによってグループ識別情報とグループ属性情報との対応づけ、および、グループ識別情報とエントリポイント情報との対応づけが管理されていないため、悪意のあるユーザは、容易に、グループ属性情報やエントリポイント情報を改竄、捏造して、応答をすることができる。   Among the above, the incorrect response (1) is a problem that may occur in the client / server model, but the incorrect responses (2) and (3) are more likely to occur in the P2P environment. Since the server does not manage the association between the group identification information and the group attribute information and the association between the group identification information and the entry point information, a malicious user can easily manage the group attribute information and the entry point information. You can falsify, forge and respond.

従来のP2Pネットワークによる情報検索では、上記の応答が正しいものか否かを判断することはできない。これは、従来のP2Pネットワークにおける検索手法では、検索者の検索に対し、任意の応答者が応答を返すことができることに原因がある。   In the information retrieval by the conventional P2P network, it cannot be determined whether or not the above response is correct. This is because, in the conventional search method in the P2P network, an arbitrary responder can return a response to the searcher's search.

第2の問題点は、グループに関する一意性である。グループが認証サーバによって一元的に管理されている場合は、2つのグループを識別するための識別子を認証サーバによって容易に生成することができる。ユーザは、この識別子をグループ識別情報として使用することで、自分が情報を入手したいグループを一意に特定することができる。   The second problem is uniqueness regarding groups. When the groups are managed centrally by the authentication server, an identifier for identifying the two groups can be easily generated by the authentication server. By using this identifier as group identification information, the user can uniquely identify the group for which he wants to obtain information.

しかし、P2Pネットワークにおいては、誰もが自由にグループを形成することが可能であり、各グループを一意に識別するための識別子を決定することは容易ではない。例えば、ユーザAがグループを形成し、そのグループに識別子G1を与える。その後、ユーザBも異なるグループを形成し、そのグループの識別子としてG1を与えたとする。この時、別のユーザCは、G1という識別子によって、ユーザAの形成したグループとユーザBの形成したグループとを識別することが出来ない。特に、ユーザBが故意にユーザAと同じグループの識別子を使用する事態も想定されるため、単に識別子を利用する方法では、この第2の問題を解決することはできない。故に、P2Pネットワークでグループを運用する際に、グループ識別情報として何を用いるべきかは、大きな課題の一つである。   However, in a P2P network, anyone can freely form a group, and it is not easy to determine an identifier for uniquely identifying each group. For example, the user A forms a group, and the identifier G1 is given to the group. Thereafter, user B also forms a different group, and G1 is given as the identifier of the group. At this time, another user C cannot distinguish the group formed by the user A and the group formed by the user B by the identifier G1. In particular, since a situation where the user B intentionally uses an identifier of the same group as the user A is assumed, the method of simply using the identifier cannot solve the second problem. Therefore, what is to be used as group identification information when operating a group in a P2P network is one of the major issues.

上記の第1、第2の課題を解決するために、グループやユーザに関する情報を認証サーバによって管理し、実際のデータ転送などをP2Pで行うといったアプローチを用いることもできる。この手法はHybrid型P2Pと呼ばれ、上記のクライアント/サーバモデルの課題(3)および(4)に対する対策の1つであり、グループに関する情報の詐称を防ぐことができ、グループの一意性を確保することも容易にできる。   In order to solve the first and second problems described above, it is possible to use an approach in which information related to groups and users is managed by an authentication server and actual data transfer or the like is performed by P2P. This method is called Hybrid P2P and is one of the countermeasures for the problems (3) and (4) of the client / server model described above, which can prevent the spoofing of information about the group and ensure the uniqueness of the group. It is also easy to do.

次に、(B)の要求について検討する。
図33を用いながら、その従来方法とその課題について説明する。
第1の従来方法は、図33に示すように、クライアント/サーバモデルにおいて認証サーバが保持するグループリストを当該グループに属する各ユーザ端末が保持する方法である。図33(a)において、ユーザ端末A、端末B、端末Cはそれぞれグループリストを保持しており、グループリストにはグループを構成するユーザ(メンバ)の端末として端末Aと端末Bと端末Cが記述されている。例えば、端末Cが自分のユーザIDとパスワードを他のユーザ端末(端末Aおよび端末B)に知らせると、端末Aおよび端末BはそのユーザIDとパスワードを自分が保持するグループリスト内の記述と比較する。比較結果が一致すれば、端末Cはグループのメンバであると認証され、端末Aおよび端末Bと端末Cとの間での情報共有を許可される。従って、グループメンバではないユーザ端末Xは、グループリストに含まれるユーザIDとパスワードを知らないので、端末A、端末Bおよび端末Cとの間での情報共有は許可されず、端末A、端末Bおよび端末Cから構成されるグループ内のプライバシは保たれる。
Next, the requirement (B) will be examined.
The conventional method and its problem will be described with reference to FIG.
As shown in FIG. 33, the first conventional method is a method in which each user terminal belonging to the group holds a group list held by the authentication server in the client / server model. In FIG. 33 (a), user terminal A, terminal B, and terminal C each hold a group list. In the group list, terminal A, terminal B, and terminal C are used as terminals of users (members) constituting the group. is described. For example, when terminal C informs other user terminals (terminal A and terminal B) of its user ID and password, terminal A and terminal B compare the user ID and password with the description in the group list held by itself. To do. If the comparison results match, terminal C is authenticated as a member of the group, and information sharing between terminal A, terminal B, and terminal C is permitted. Accordingly, since the user terminal X that is not a group member does not know the user ID and password included in the group list, information sharing between the terminal A, the terminal B, and the terminal C is not permitted, and the terminal A, the terminal B And privacy within a group composed of terminal C is maintained.

この第1の従来方法には、次の問題がある。すなわち、端末Cがオフライン時に端末Aまたは端末Bが端末Dを新たなメンバとしてグループに参加させたとする。その場合、図33(b)に示すように、端末A、端末B、端末Dのグループリストには、新たに追加された端末DのユーザIDとパスワードとが追加され、同一内容のグループリストを保持することができる。この時点で、端末Cはオフラインであるため、グループリストの更新を行うことができない。次に、端末A、端末Bがオフラインで、端末C、端末Dのみがネットワーク参加状態(オンライン)になった場合(図33(c))、端末Cは、自分の保持するグループリストには端末Dの記述がないため、端末Dがグループメンバであることを認証できず、共にグループメンバであるにも拘らず、端末C、端末Dの間ではグループの情報共有が不可能になる(端末Dの保持するグループリストには端末D自身の記述があるが、端末Dがグループリストを改竄して追加した可能性があるため、端末Cはそれを信頼することはできない。)。すなわち、この第1の従来方法では、各ユーザ端末がそれぞれ保持するグループリストの同期を保つことができないという問題点がある。   This first conventional method has the following problems. That is, assume that terminal A or terminal B joins terminal D as a new member when terminal C is offline. In this case, as shown in FIG. 33 (b), the user ID and password of the newly added terminal D are added to the group list of terminal A, terminal B, and terminal D, and the group list having the same contents is displayed. Can be held. At this time, since the terminal C is offline, the group list cannot be updated. Next, when the terminal A and the terminal B are offline and only the terminal C and the terminal D are in the network participation state (online) (FIG. 33 (c)), the terminal C is included in the group list held by itself. Since there is no description of D, it is not possible to authenticate that the terminal D is a group member, and it is impossible to share group information between the terminal C and the terminal D even though they are both group members (terminal D). However, since there is a possibility that the terminal D has tampered and added the group list, the terminal C cannot trust it.) In other words, the first conventional method has a problem in that the synchronization of the group list held by each user terminal cannot be maintained.

この問題を解決する第2の従来方法は、グループリストを特定のメンバの端末のみが保持し、グループメンバの変更およびユーザ端末のグループ参加状態の認証をこの特定のメンバのみが行うものである。
小柳恵一編著、「P2P インターネットの新世紀」、オーム社、2002年
In a second conventional method for solving this problem, only a specific member terminal holds a group list, and only this specific member performs group member change and user terminal group authentication.
Edited by Keiichi Koyanagi, "The New Century of P2P Internet", Ohm, 2002

しかしながら、上記の要求(A)においてHybrid型P2Pを使用した場合では、前記のクライアント/サーバモデルにおける課題(1)、(2)および(5)については解決できない。   However, when the hybrid P2P is used in the request (A), the problems (1), (2), and (5) in the client / server model cannot be solved.

また、上記の要求(B)における第2の従来方法では、この特定のメンバの端末がオフラインの間は他のメンバ間で互いの認証ができなくなるという問題がある。例えば、図33(d)において、端末Aがこの特定メンバであり、端末B、端末Cがグループメンバであるとする。端末Aがオンラインであれば、端末Bは端末Aに問い合わせることにより端末Cがグループメンバであることを認証できる。しかし、図33(e)に示すように、端末Aがオフラインの場合、端末Bは端末Aへの問い合わせが失敗するため、端末Cを認証できず、共にグループメンバであるにも拘らず、端末Bと端末Cの間で情報を共有することが不可能となる。   Further, the second conventional method in the above request (B) has a problem that the other members cannot authenticate each other while the terminal of the specific member is offline. For example, in FIG. 33 (d), it is assumed that terminal A is this specific member, and terminals B and C are group members. If terminal A is online, terminal B can authenticate that terminal C is a group member by inquiring terminal A. However, as shown in FIG. 33 (e), when the terminal A is offline, the terminal B fails to authenticate the terminal C because the inquiry to the terminal A fails, and although both are group members, the terminal B cannot be authenticated. It becomes impossible to share information between B and terminal C.

以上で述べたように、クライアント/サーバモデルの問題点を解決するためのP2Pネットワークにおいて、グループ内で情報共有を行う場合は、
(1)各ユーザ端末がグループリストを保持する方法では、メンバ間のグループリストの同期が取れなくなる可能性があり、その場合はグループメンバ間であっても互いに認証することができない。
(2)特定のメンバのみがグループリストを保持する方法では、その特定のメンバがオフライン状態の間は、他のメンバ間でグループメンバであることを互いに認証できなくなる。
という問題点がある。
As described above, when sharing information within a group in a P2P network for solving the problems of the client / server model,
(1) In a method in which each user terminal holds a group list, there is a possibility that the group list between members may not be synchronized, and in this case, even between group members cannot be mutually authenticated.
(2) In the method in which only a specific member holds the group list, it is impossible to mutually authenticate that other members are group members while the specific member is in an offline state.
There is a problem.

また、一般に、PKIなどの公開鍵暗号システムにおいては、特定のサーバによって配布される失効者リストを利用することによって、端末間の認証が行われる。ユーザは、その端末を介して、認証時あるいは指定された期日に失効者リストを配布するサーバにアクセスし、自分の端末が保持している失効者リストを更新する。   In general, in a public key cryptosystem such as PKI, authentication between terminals is performed by using a revocation list distributed by a specific server. Through the terminal, the user accesses a server that distributes the revoked person list at the time of authentication or on a designated date, and updates the revoked person list held by the user's own terminal.

しかし、P2Pネットワークでは、常時起動しているサーバを想定していないために、上記のような方法では、管理者の端末がオフライン状態の場合には、失効者リストを取得することができない。   However, since the P2P network does not assume a server that is always running, the above-described method cannot acquire the revoked person list when the administrator's terminal is offline.

そこで、図34(a)に示すように、失効者リストを作成した管理者Aが、端末Aを介して全てのグループメンバの端末に対して、新規の失効者リストをブロードキャストする方法が考えられるが、この場合もグループの全メンバの端末がオンライン状態であるとは限らないため、オフラインのメンバXの端末Xは、図34(b)に示されるように、失効者リストを取得することができない。   Therefore, as shown in FIG. 34A, a method in which the administrator A who has created the revoker list broadcasts a new revoker list to the terminals of all group members via the terminal A can be considered. However, since the terminals of all the members of the group are not always online in this case as well, the terminal X of the offline member X may acquire the revoked person list as shown in FIG. Can not.

また、その後、図34(c)および(d)に示すように、失効者リストを取得できなかった端末Xがオンライン状態に移行するより前に、端末Aがオフライン状態に移行してしまった場合は、その後にオンライン状態になった端末Xからは、端末Aにアクセスすることができず、図34(d)に示すように、やはり失効者リストを取得することができない。
そこで、本発明は、上記課題に鑑みてなされたものであり、ネットワーク上のグループ内で情報を共有しようとする場合であっても、サーバの運用を必要としないで、希望する情報の検索ができ、かつ任意のメンバ間で、常にグループのメンバであることの認証が可能な通信方法等を提供することを目的とする。
Further, after that, as shown in FIGS. 34 (c) and (d), when the terminal A that has not been able to acquire the revoked person list has shifted to the online state, the terminal A has shifted to the offline state. Cannot access the terminal A from the terminal X that has subsequently entered the online state, and as shown in FIG. 34 (d), the revoker list cannot be obtained.
Therefore, the present invention has been made in view of the above problems, and even when information is to be shared within a group on a network, search for desired information can be performed without requiring server operation. An object of the present invention is to provide a communication method or the like that can be authenticated and can always be a member of a group between arbitrary members.

上記目的を達成するために、本発明に係る通信システムにおける端末装置は、ネットワーク上の他の端末装置と通信を行う端末装置であって、当該端末装置は、前記ネットワーク上に形成されたグループの公開鍵を保持しており、前記他の端末装置に対し、前記グループの正当なメンバか否かを問い合わせる旨を含む問合せ情報を送信する問合せ情報送信手段と、前記他の端末装置から、前記問合せ情報に対応する応答として所定の暗号化された情報を受信する暗号化情報受信手段と、受信された前記暗号化された情報に対し、前記グループの公開鍵で復号を試みる復号試行手段と、前記復号試行手段において復号が成功した場合に、当該復号された情報の適否を判定する情報判定手段と、前記復号された情報が適切である判定された場合に、前記他の端末装置は、前記グループの正当なメンバの端末であると判定する端末判定手段とを備える。 To achieve the above object, a terminal device in a communication system according to the present invention is a terminal device that communicates with another terminal device on a network, and the terminal device is a group of devices formed on the network. An inquiry information transmission unit that holds a public key and transmits inquiry information including an inquiry as to whether or not the other terminal device is a valid member of the group, and the inquiry from the other terminal device. Encrypted information receiving means for receiving predetermined encrypted information as a response corresponding to the information; decryption trial means for trying to decrypt the received encrypted information with the public key of the group; and When decryption is successful in the decryption trial means, information determination means for determining the appropriateness of the decrypted information, and when it is determined that the decrypted information is appropriate It said other terminal device, and a determining device determining means that the terminal legitimate members of the group.

これにより、本発明に係る通信システムにおける端末装置は、認証のための問合せ情報を送信した認証対象の端末装置から受信した情報をグループの公開鍵で復号してその内容の適否を判断することによって、認証対象の端末が正当か否かの判断を行うので、サーバの運用を必要としないで、常に認証対象の端末がそのグループのメンバに係る端末であるか否かについての認証を可能にする。 As a result, the terminal device in the communication system according to the present invention decrypts the information received from the authentication target terminal device that has transmitted the inquiry information for authentication with the group public key and determines whether the content is appropriate or not. Since it is determined whether or not the authentication target terminal is valid, it is possible to always authenticate whether or not the authentication target terminal is a terminal related to a member of the group without requiring operation of the server. .

また、上記目的を達成するために、本発明に係る通信システムにおける端末装置は、前記他の端末装置に対し、前記ネットワーク上に形成されたグループの公開鍵を含むグループ情報を入手したい旨を含む問合せ情報を送信する問合せ情報送信手段と、前記他の端末装置から、前記問合せ情報に対する応答として、電子署名された前記グループ情報を受信するグループ情報受信手段と、受信された前記グループ情報に対し、当該グループ情報に含まれる公開鍵でその正当性を検証するグループ情報検証手段と、前記グループ情報検証手段において、前記グループ情報の正当性を確認した場合は、前記グループ情報は、前記グループの正当なメンバの端末装置から入手した情報であると判定するグループ情報判定手段とを備える。 In order to achieve the above object, the terminal device in the communication system according to the present invention includes a message that the other terminal device wants to obtain group information including a public key of the group formed on the network. Inquiry information sending means for sending inquiry information, and from the other terminal device, as a response to the inquiry information, group information receiving means for receiving the electronically signed group information, and for the received group information, In the group information verification unit that verifies the validity with the public key included in the group information, and when the group information verification unit confirms the validity of the group information, the group information is valid for the group. Group information judging means for judging that the information is obtained from the member terminal device.

これにより、本発明に係る通信システムにおける端末装置は、グループ情報の入手を希望する旨の情報を他の端末装置に送信し、その端末装置から受信した、グループの秘密鍵で署名されたグループ情報を、そのグループの公開鍵で検証してその内容の正当性を判断することによって、グループ情報の提供元の端末装置がそのグループに属する端末装置か否かの判断を行うので、サーバの運用を必要としないで、常にそのグループの正当なメンバに係る端末装置からグループ情報を入手することが可能になる。 As a result, the terminal device in the communication system according to the present invention transmits the information indicating that the group information is desired to be transmitted to the other terminal device, and received from the terminal device, the group information signed with the group secret key. Is verified with the public key of the group and the validity of the content is judged to determine whether or not the terminal device providing the group information is a terminal device belonging to the group. The group information can always be obtained from the terminal device related to the legitimate member of the group without need.

なお、上記目的を達成するために、本発明は、上記端末装置の特徴的な構成手段をステップとする通信方法として実現したり、それらのステップを全て含むプログラムとして実現したりすることもできる。そして、そのプログラムは、端末装置が備えるROM等に格納しておくだけでなく、CD−ROM等の記録媒体や通信ネットワーク等の伝送媒体を介して流通させることもできる。さらに、本発明は、複数の上記端末装置を含む通信システムとして実現することもできる。   In addition, in order to achieve the said objective, this invention can also be implement | achieved as a communication method which uses the characteristic structure means of the said terminal device as a step, or a program including all those steps. The program is not only stored in a ROM or the like provided in the terminal device, but can also be distributed via a recording medium such as a CD-ROM or a transmission medium such as a communication network. Furthermore, the present invention can also be realized as a communication system including a plurality of the terminal devices.

本発明によれば、以下の利点を持つネットワーク上のグループ管理が可能となる。すなわち、(1)常時稼動しているサーバの運用が不要であり、(2)グループ管理者を含む各グループメンバのオンライン・オフライン状態によらず、グループメンバ間で互いにグループメンバであることの認証が常に可能である。これにより、グループでのみ共有している情報をグループ以外のメンバに漏洩することを回避し、安全に上記情報を共有することが可能になる。   According to the present invention, group management on the network having the following advantages becomes possible. That is, (1) it is not necessary to operate a server that is always in operation, and (2) authentication that group members are mutually group members regardless of the online / offline status of each group member including the group administrator. Is always possible. As a result, it is possible to avoid leaking information shared only by the group to members other than the group and to safely share the information.

また、本発明によれば、以下の利点を持つネットワーク上のグループの検索が可能となる。すなわち、(1)常時稼動しているサーバの運用が不要であり、
(2)検索結果を応答者の秘密鍵、グループ参加証などから生成することにより、グループメンバ以外の者からの、検索に対する不正な応答を回避することができる。つまり、グループのメンバ以外がグループの情報を詐称することを防ぐことができ、サーバがない状況においても、信頼性のある検索を実行することができる。
Further, according to the present invention, it is possible to search for groups on the network having the following advantages. (1) There is no need to operate a server that is always in operation,
(2) By generating the search result from the responder's private key, group participation certificate, etc., it is possible to avoid an illegal response to the search from a person other than the group member. That is, it is possible to prevent a group other than a group from spoofing group information, and a reliable search can be executed even in a situation where there is no server.

以下、本発明に係る実施の形態について、図面を用いながら詳細に説明する。
まず、本発明の概要について説明する。本発明は、ネットワークで相互に接続された複数の端末間の通信に関するものである。
本発明は、イーサネット(R)、アナログまたはデジタルの公衆回線または専用回線を用いたネットワーク、ADSL(Asymmetric Digital Subscriber line)、無線LAN(Local Area Network)などのネットワークを想定しているが、これらに限定するものではない。また、インターネットではネットワークの下位プロトコルとしてTCP/IP(Transmission Control Protocol / Internet Protocol)が広く使用されており、本発明もその使用を想定しているが、これに制限するものではない。
Hereinafter, embodiments according to the present invention will be described in detail with reference to the drawings.
First, an outline of the present invention will be described. The present invention relates to communication between a plurality of terminals connected to each other via a network.
The present invention assumes a network using Ethernet (R), an analog or digital public line or dedicated line, an ADSL (Asymmetric Digital Subscriber line), a wireless LAN (Local Area Network), and the like. It is not limited. In the Internet, TCP / IP (Transmission Control Protocol / Internet Protocol) is widely used as a lower protocol of the network, and the present invention assumes its use, but the present invention is not limited to this.

前記の各端末は、前記ネットワークの形態に対応した通信インタフェースを備え、前記通信インタフェースを制御して通信を行うためのプログラムを前記端末内のCPUが実行することにより通信処理を行っている。前記プログラムは、前記端末内のROM(Read Only Memory)、あるいは前記端末のハードディスクやリムーバブルディスクなど不揮発性記憶装置に格納されており、そこから必要に応じて読み出され、前記端末の主記憶やRAM(Random Access Memory)上で実行され、あるいはこれらの組み合わせにおいて実行される。   Each of the terminals includes a communication interface corresponding to the form of the network, and performs communication processing by a CPU in the terminal executing a program for controlling the communication interface and performing communication. The program is stored in a ROM (Read Only Memory) in the terminal or a non-volatile storage device such as a hard disk or a removable disk of the terminal, and is read from there as necessary, and the main memory of the terminal It is executed on a RAM (Random Access Memory) or a combination thereof.

また、前記端末には、その使用者の入力を受け付けるための入力手段も備わっている。入力手段としては、通常、キーボード、マウス、タブレットなどが用いられる。なお、これらの構成は、パーソナルコンピュータなどでは一般的に知られているものであり、本発明の主眼ではないので詳細な説明は省略する。
なお、以下で用いる「ユーザ」とは、前記端末の使用者をいう。また、本発明が想定しているネットワークにおいては、各ユーザ端末は、必ずしも常時ネットワークに接続しているわけではなく、通信に必要な各ユーザ端末のアドレス情報(IPアドレス、ポート番号など)も固定ではなく、ネットワークに接続する毎に変化する可能性がある。
The terminal is also provided with input means for receiving input from the user. As the input means, a keyboard, mouse, tablet or the like is usually used. Note that these configurations are generally known in personal computers and the like, and are not the main points of the present invention, so detailed description thereof will be omitted.
The “user” used below refers to a user of the terminal. In the network assumed by the present invention, each user terminal is not always connected to the network, and address information (IP address, port number, etc.) of each user terminal necessary for communication is also fixed. Instead, it may change every time you connect to the network.

なお、以下の実施の形態では、図1に示すように、上記ネットワークの一例としてP2Pネットワークを取り上げ、各実施例はP2Pネットワークを念頭におきながら説明することとする。図1に示す通信システム100は、P2Pネットワーク5上に形成された、それぞれ対等な関係の端末10〜50を備える仮想的なグループである。   In the following embodiments, as shown in FIG. 1, a P2P network is taken as an example of the network, and each example will be described with the P2P network in mind. A communication system 100 illustrated in FIG. 1 is a virtual group including terminals 10 to 50 that are formed on the P2P network 5 and have an equal relationship.

(実施の形態1)
まず、本実施の形態で用いる公開鍵暗号方式の概要について説明する。公開鍵暗号方式とは、「公開鍵」と「秘密鍵」とを用いた暗号方式であり、次のような性質を有している。(1)公開鍵と秘密鍵は、一方から他方を現実的な時間で計算することは不可能である。(2)公開鍵で暗号化した情報は、対応する秘密鍵でのみ復号が可能であり、秘密鍵で暗号化した情報は、対応する公開鍵でのみ復号が可能である。
(Embodiment 1)
First, an outline of the public key cryptosystem used in this embodiment will be described. The public key encryption method is an encryption method using a “public key” and a “secret key”, and has the following properties. (1) It is impossible to calculate the public key and the secret key from one to the other in a realistic time. (2) Information encrypted with the public key can be decrypted only with the corresponding private key, and information encrypted with the private key can be decrypted only with the corresponding public key.

上記(1)の性質より、この暗号方式の利用者は、秘密鍵を秘密裡に保持しておけば、公開鍵を第三者に知られても問題はない(公開鍵を公開しておくことができる)。従って、ある情報を秘密裡に送信したい送信者側では、前もって受信者の公開鍵を入手しておき、上記の情報を受信者の公開鍵で暗号化し、この暗号化情報を受信者の端末に送信する。受信者側では、自分のみが保持する秘密鍵で、受信した暗号化情報を復号する。たとえ、第三者が、上記の暗号化情報を傍受しても、受信者の秘密鍵以外では復号できないため、その第三者に情報が漏洩することはない。以下では、暗号化対象の情報Mを鍵Kで暗号化した情報を「e(M,K)」のように表記することとする。   Due to the nature of (1) above, if the user of this encryption method keeps the secret key secretly, there is no problem even if the public key is known to a third party (the public key is made public). be able to). Therefore, on the sender side who wants to transmit certain information in a secret manner, the recipient's public key is obtained in advance, the above information is encrypted with the recipient's public key, and this encrypted information is sent to the recipient's terminal. Send. On the receiver side, the received encrypted information is decrypted with a private key held only by the user. Even if a third party intercepts the encrypted information, the information cannot be leaked to the third party because it cannot be decrypted except by the private key of the recipient. In the following, information obtained by encrypting the information M to be encrypted with the key K will be expressed as “e (M, K)”.

また、公開鍵暗号方式を用いて、情報そのものは暗号化しないが、情報が改竄されていないことを証明するための「電子署名」(以下単に「署名」という。)を行うことも可能である。即ち、署名対象の情報「M」から所定のアルゴリズム「f」で一意に導き出される派生情報「H」をH=f(M)とし、さらに、この派生情報Hを送信者の秘密鍵「K_S」で暗号化した署名情報を「Sgn」とすると、このSgn=e(H,K_S)を上記の情報Mに付加して受信者の端末に送信する。   In addition, using the public key cryptosystem, the information itself is not encrypted, but it is also possible to perform an “electronic signature” (hereinafter simply referred to as “signature”) to prove that the information has not been tampered with. . That is, the derived information “H” uniquely derived from the information to be signed “M” by the predetermined algorithm “f” is H = f (M), and this derived information H is the sender's private key “K_S”. Assuming that the signature information encrypted by “Sgn” is “Sgn”, this Sgn = e (H, K_S) is added to the information M and transmitted to the receiver's terminal.

受信者の端末は、上記の情報Mと署名情報Sgnとを受信し、署名情報Sgnを送信者の公開鍵「K_P」で復号して派生情報Hを得て、H=f(M)が成立することを確認することで、情報Mが第三者によって改竄されていないことを確認できる。なぜならば、情報Mが第三者によって改竄されていれば、H=f(M)が成立せず、また送信者の秘密鍵K_Sがなければ、送信者の公開鍵K_Pで正常に復号され得る署名情報Sgnの作成も不可能だからである。   The receiver's terminal receives the information M and the signature information Sgn, decrypts the signature information Sgn with the sender's public key “K_P”, obtains derivative information H, and H = f (M) is established. By confirming that the information M has been confirmed, it can be confirmed that the information M has not been tampered with by a third party. This is because if information M has been tampered with by a third party, H = f (M) does not hold, and if there is no sender's private key K_S, it can be successfully decrypted with the sender's public key K_P. This is because it is impossible to create the signature information Sgn.

公開鍵暗号方式およびこれを応用した署名方式は、インターネットでセキュリティを要する通信に広く用いられている。以下では、あるユーザAの公開鍵、秘密鍵をそれぞれ「KA_P」、「KA_S」のように表記することとする。   A public key cryptosystem and a signature scheme using the same are widely used for communications requiring security over the Internet. In the following, a public key and a secret key of a certain user A are expressed as “KA_P” and “KA_S”, respectively.

本実施の形態において、「グループ」は、次のように定義する。(1)グループは1名以上のグループ参加者(以下、単に「参加者」ともいう。)から構成される。(2)各参加者は、複数のグループに加入することが可能である。(3)グループには、グループ固有の共有情報がある。(4)同じグループに属することを相互に認証したユーザ(以下「メンバ」という。)間では、そのグループの共有情報の送受信を行うことができる。なお、上記のグループは、友人、家族、同じ趣味の持ち主、住所が近い者など、1人以上の参加者によって構成することとする。   In the present embodiment, the “group” is defined as follows. (1) A group is composed of one or more group participants (hereinafter also simply referred to as “participants”). (2) Each participant can join a plurality of groups. (3) Each group has shared information unique to the group. (4) Users who mutually authenticate that they belong to the same group (hereinafter referred to as “members”) can transmit and receive shared information of the group. Note that the above group is composed of one or more participants such as friends, family members, owners of the same hobby, and persons with similar addresses.

本実施の形態においては、グループを構成する参加者を、グループ参加証(単に「参加証」ともいう。)を発行する権限を有する管理者としての参加者とそれ以外の参加者の二者に分類する。ネットワーク上の一般のユーザは、管理者からグループ参加証を発行してもらうことで、そのグループへの参加が認められる。ここで、「グループ参加証」とは、グループ認証を行うための情報であると定義する。また、「グループ認証」とは、あるグループの一のユーザが、他のユーザに対して、当該グループに参加していることを証明し、さらに、立場を逆にして上記他のユーザが上記一のユーザに対して当該グループに参加していることを証明することであると定義する。   In the present embodiment, the participants who make up the group are divided into two parties: an administrator who has the authority to issue a group participation certificate (also simply referred to as “participation certificate”) and other participants. Classify. A general user on the network is permitted to participate in the group by issuing a group participation certificate from the administrator. Here, the “group participation certificate” is defined as information for performing group authentication. In addition, “group authentication” means that one user of a group proves to other users that he / she is participating in the group, and the other user makes the above-mentioned To prove that you are participating in the group.

以上のグループを管理するには、以下に示すような処理が必要となる。
(1)グループの形成
(2)グループの告知
(3)グループ情報の取得
(4)エントリポイント情報の取得
(5)グループへの新規加入依頼
(6)グループメンバ間の認証
(7)グループメンバ間の情報共有
(8)グループ参加証の更新
(9)グループメンバの削除
(10)グループ管理者の追加
(11)グループ公開鍵の更新
以下、各処理について説明する。
In order to manage the above groups, the following processing is required.
(1) Formation of group (2) Notification of group (3) Acquisition of group information (4) Acquisition of entry point information (5) Request for new membership to group (6) Authentication between group members (7) Between group members (8) Update of group participation certificate (9) Delete group member (10) Add group manager (11) Update group public key Each process will be described below.

1.グループの形成
情報を共有する目的等のために、ネットワーク上で仮想的にグループを形成したいユーザAは、形成するグループ用の公開鍵「KG_P」および秘密鍵「KG_S」のペアを生成し、その端末(以下これを「端末A」という。)に記憶又はユーザA自身で保持しておく。これらの鍵は、上記入力手段を介してユーザAが指定した情報(パスフレーズ)に基づいて生成してもよいし、端末Aの機能(アプリケーションプログラムに基づく機能を含む。以下同じ。)によって生成された乱数などの情報に基づいて生成してもよい。
1. Group formation User A who wants to form a group virtually on the network for the purpose of sharing information, etc. generates a pair of public key “KG_P” and private key “KG_S” for the group to be formed, Stored in a terminal (hereinafter referred to as “terminal A”) or held by user A itself. These keys may be generated based on information (passphrase) designated by the user A via the input means, or generated by the function of the terminal A (including the function based on the application program; the same applies hereinafter). It may be generated based on information such as a random number.

2.グループの告知
生成されたグループ公開鍵KG_Pは、何らかの方法で、参加者の端末(例えば、端末A)から他のユーザの端末に、そのグループを特定するグループ識別情報(例えば、他のグループと重複しないグループID等)などの一部として、グループ情報として告知される必要がある。この告知方法としては、以下に示す方法が考えられる。
2. Group Notification The generated group public key KG_P is duplicated by another method from the participant's terminal (for example, terminal A) to another user's terminal for identifying the group (for example, another group). Group information etc. as part of the group ID etc. As this notification method, the following method can be considered.

(1)端末Aが、上記図30に示すようなP2Pネットワークの全て、あるいは一部のユーザを宛先として、前記グループ情報を発信する。これにより、そのグループ情報は、ユーザ端末からユーザ端末へと順次転送され、最終的には、目的の宛先の端末に受信される。 (1) The terminal A transmits the group information to all or some users of the P2P network as shown in FIG. As a result, the group information is sequentially transferred from the user terminal to the user terminal, and finally received by the target destination terminal.

(2)端末Aが、同じローカルエリアネットワーク(LAN)又は仮想プライベートネットワーク(VPN:Vertual Private Network)に接続されている他のユーザ端末宛てに、前記グループ情報をブロードキャストする。 (2) The terminal A broadcasts the group information to other user terminals connected to the same local area network (LAN) or virtual private network (VPN).

(3)端末Aが、電子メール等により、即ち、P2Pネットワークを介した転送以外の何らかの方法で、他のユーザ端末に対してグループ情報(少なくともグループ公開鍵KG_P)を直接送付する。 (3) The terminal A directly sends the group information (at least the group public key KG_P) to other user terminals by e-mail or the like, that is, by some method other than transfer via the P2P network.

(4)例えば、グループ情報を登録するグループ情報インデックスサーバがあって、端末Aが、グループ情報インデックスサーバに情報を登録し、他のユーザ端末が、グループ公開鍵KG_Pを含むグループ情報を自由に入手できるようにする。 (4) For example, there is a group information index server for registering group information, terminal A registers information in the group information index server, and other user terminals freely obtain group information including group public key KG_P. It can be so.

(5)上記の(1)〜(4)の方法を組み合わせる。 (5) The above methods (1) to (4) are combined.

なお、前記グループ情報には、そのグループ名、グループの発起人を特定する情報、成り立ち、目的、参加条件など、当該グループの内容を表すグループ属性情報と共に、当該グループを特定し得るグループ識別情報が含まれる。このグループ識別情報には、少なくともグループ公開鍵KG_Pが含まれることとする。   The group information includes group identification information that can identify the group together with group attribute information that represents the contents of the group, such as the group name, information that identifies the originator of the group, formation, purpose, and participation conditions. It is. This group identification information includes at least the group public key KG_P.

3.グループ情報の取得
P2Pネットワーク上のユーザXは、その端末(以下「端末X」という。)を介して、次のいずれかの方法で加入したいグループのグループ情報を検索し、検索したグループ情報から、グループ識別情報を取得する。
3. Acquisition of group information The user X on the P2P network searches the group information of a group to be joined by one of the following methods via the terminal (hereinafter referred to as “terminal X”), and from the searched group information, Get group identification information.

(1)端末Xが保持している、過去に受信したグループ情報(グループを形成したユーザAの端末Aから直接受信したグループ情報を含む。)から、グループを特定するグループ識別情報あるいはグループを説明するグループ属性情報に基づき、所望するグループを発見する。 (1) Explanation of group identification information or a group for identifying a group from group information received in the past (including group information received directly from terminal A of user A who formed the group) held by terminal X A desired group is found based on the group attribute information.

(2)上記図30に例示するようなP2Pネットワークの情報検索の仕組みを用いて、他のユーザに対してグループ属性情報の一部または全部を検索キー(「キーワード」ともいう。)として検索し、検索されたグループ情報からグループ識別情報を入手する。 (2) Using the P2P network information search mechanism illustrated in FIG. 30 above, a part or all of the group attribute information is searched for other users as a search key (also referred to as “keyword”). The group identification information is obtained from the retrieved group information.

(3)上記のグループ情報インデックスサーバが運用されている場合には、このグループ情報インデックスサーバに対して、グループ属性情報の一部または全部をキーとして検索し、同様にグループ識別情報を入手する。 (3) When the above group information index server is operated, the group information index server is searched using a part or all of the group attribute information as a key, and the group identification information is obtained in the same manner.

(4)グループの発起人の端末Aが端末Xにとって既知の場合は、グループ情報さらにグループ識別情報を、何らかの方法(例えば、電子メール等)で直接入手する。 (4) When the terminal A of the group originator is known to the terminal X, the group information and the group identification information are directly obtained by some method (for example, e-mail or the like).

4.エントリポイント情報の取得
ユーザXが、新規に特定のグループへの加入を希望する場合は、グループ管理者を特定し、その管理者の端末に接続するためのエントリポイント情報(例えば、IPアドレス、通信に用いるポート番号など)を入手する必要がある。ここで、グループ管理者とは、グループメンバの追加削除等の権限を有するユーザであり、より具体的には、グループ秘密鍵KG_Sを保持するユーザである。この場合、ユーザXは、グループ管理者のエントリポイント情報を、次のいずれかの方法で入手する。
4). Acquisition of entry point information When the user X wishes to newly join a specific group, entry point information (for example, IP address, communication) for specifying a group manager and connecting to the terminal of the manager Port number used for Here, the group manager is a user who has authority such as addition and deletion of group members, and more specifically, a user who holds the group secret key KG_S. In this case, the user X obtains the entry point information of the group manager by one of the following methods.

(1)ユーザXは、端末Xを介して、上記図30に例示するようなP2Pネットワークの情報検索の仕組みを用いてグループ識別情報の一部または全部をキーとして検索を行い、その検索に対してグループ管理者が応答する。グループ管理者からの応答により、端末Xは、グループ管理者の端末のエントリポイント情報の通知を受ける。 (1) The user X performs a search using part or all of the group identification information as a key using the P2P network information search mechanism illustrated in FIG. The group administrator responds. In response to the response from the group manager, the terminal X is notified of the entry point information of the group manager's terminal.

(2)ピア情報サーバを用いる方法である。ここで、「ピア情報サーバ」とは、P2Pネットワークにオンラインで接続されている全てのユーザ、あるいは少なくとも一つのグループに加入している全てのユーザに対して、少なくともエントリポイント情報を検索し得るサーバであり、各グループのグループ識別情報やグループ属性情報などを保持する。ユーザXは、このピア情報サーバに対してグループ識別情報などをキーとして検索を行い、その検索結果に基づいて、上記(1)と同様に、グループ管理者の端末のエントリポイント情報を入手する。 (2) A method using a peer information server. Here, the “peer information server” is a server that can retrieve at least entry point information for all users connected to the P2P network online or for all users who are subscribed to at least one group. And holds group identification information and group attribute information of each group. The user X searches the peer information server using the group identification information or the like as a key, and obtains the entry point information of the group manager's terminal based on the search result, as in (1) above.

(3)グループ管理者の端末Aが端末Xにとって既知であり、かつ端末Aが常にオンライン状態で、かつ、エントリポイント情報が変化しないことも既知である場合、そのエントリポイント情報の通知を受ける。 (3) When the group manager's terminal A is known to the terminal X, the terminal A is always online, and it is known that the entry point information does not change, the entry point information is notified.

5.グループへの新規加入依頼
あるグループに新規に加入したいユーザXは、端末Xを介して上記のエントリポイント情報を用いてグループ管理者Aの端末Aと通信を行い、「グループ参加証」の発行を依頼する。本処理の詳細については後述する。
5. Request to join a group A user X who wants to join a group communicates with the terminal A of the group manager A using the above entry point information via the terminal X and issues a “group participation certificate”. Ask. Details of this processing will be described later.

6.グループメンバ間の認証
上記のように入手したグループ参加証を保持するグループメンバ間では、互いに同じグループに属していることを認証し合うことが可能になる。なお、本処理の詳細については後述する。
6). Authentication between group members It is possible to authenticate each other that belongs to the same group between group members holding the group participation certificate obtained as described above. Details of this process will be described later.

7.グループメンバ間の情報の共有
上記のように、互いに同じグループに属していると認証された複数のグループメンバ間、例えばユーザXの端末XとユーザYの端末Yの間では、グループ内の共有情報を相互に転送することが可能である。これは、例えば次の((7−1)および(7−2))の処理によって実現できる。
7). Sharing of information among group members As described above, shared information within a group between a plurality of group members authenticated as belonging to the same group, for example, between the terminal X of the user X and the terminal Y of the user Y Can be transferred to each other. This can be realized, for example, by the following processing ((7-1) and (7-2)).

(7−1)通信に用いる暗号鍵の設定
互いに同じグループに属していることを認証した後、例えば、ユーザXとユーザYにおける共通の暗号鍵「K_XY」をユーザXが作成して、ユーザXの秘密鍵およびユーザYの公開鍵でこの暗号鍵を暗号化してユーザYの端末Yに送付する。ユーザYはこれを自分の秘密鍵およびユーザXの公開鍵を用いて復号する。この場合、ユーザY以外はこれを復号することができない。これにより、暗号鍵K_XYをユーザXの端末XからユーザYの端末Yに、安全に通知することが可能となる。
(7-1) Setting of Encryption Key Used for Communication After authenticating that they belong to the same group, for example, user X creates a common encryption key “K_XY” for user X and user Y, and user X The encryption key is encrypted with the private key of the user Y and the public key of the user Y and sent to the terminal Y of the user Y. User Y decrypts this using his private key and user X's public key. In this case, only user Y can decrypt this. Thereby, the encryption key K_XY can be safely notified from the terminal X of the user X to the terminal Y of the user Y.

(7−2)転送する情報の暗号化
上記の(7−1)以降、端末X−端末Y間において情報を転送する場合は、共通の暗号鍵K_XYで暗号化を行う。第三者は、暗号鍵K_XYを知ることができないので、端末X−端末Y間の通信を傍受してもその内容を復号することはできず、またユーザXまたはユーザYに成りすまして偽りの情報を端末Yまたは端末Xに転送することも不可能となり、端末X−端末Y間では安全に通信を行うことができる。これにより、グループメンバ間で、相互に安全にグループ情報の共有が可能となる。
(7-2) Encryption of information to be transferred After the above (7-1), when information is transferred between the terminal X and the terminal Y, encryption is performed with the common encryption key K_XY. Since the third party cannot know the encryption key K_XY, the contents cannot be decrypted even if the communication between the terminal X and the terminal Y is intercepted, and false information is impersonated by the user X or the user Y. Cannot be transferred to the terminal Y or the terminal X, and the terminal X and the terminal Y can communicate safely. This makes it possible to share group information between group members safely.

なお、3名以上のメンバがお互いに認証された場合、これらのメンバの端末間で情報転送のために用いる暗号鍵については、次のような形態が考えられる。   When three or more members are mutually authenticated, the following forms can be considered for the encryption key used for information transfer between the terminals of these members.

(1)異なる二者間の通信には異なる暗号鍵を用いる。例えば、端末Aと端末Bと端末Cが互いに認証されている場合、端末A−端末B間の通信には暗号鍵K_ABを、端末B−端末C間の通信には暗号鍵K_BCを、端末C−端末A間の通信にはK_CAをそれぞれ用いる方法である。 (1) Different encryption keys are used for communication between two different parties. For example, when the terminal A, the terminal B, and the terminal C are mutually authenticated, the encryption key K_AB is used for the communication between the terminal A and the terminal B, the encryption key K_BC is used for the communication between the terminal B and the terminal C, and the terminal C -A method of using K_CA for communication between terminals A.

(2)互いに認証された上記のメンバ間においては、共通の唯一の暗号鍵を用いる。例えば、端末Aと端末Bが互いに認証されていて、暗号鍵K_ABを用いて通信を行っている状態で、新たに端末Cが端末Aまたは端末Bに認証された場合、端末Aまたは端末Bから端末Cに、端末Cの公開鍵を用いて暗号化したK_ABを送付し、それ以降は端末A、端末Bおよび端末Cのいずれの二者間でも暗号鍵K_ABを用いる方法である。 (2) A common single encryption key is used between the above members who are mutually authenticated. For example, when the terminal A and the terminal B are authenticated to each other, and the terminal C is newly authenticated to the terminal A or the terminal B in the state where the communication is performed using the encryption key K_AB, the terminal A or the terminal B In this method, K_AB encrypted using the public key of terminal C is sent to terminal C, and thereafter, encryption key K_AB is used between any one of terminal A, terminal B, and terminal C.

8.グループ参加証の更新
上記のように発行されたグループ参加証に有効期限情報が含まれている場合には、その有効期限以降、そのグループ参加証を有するユーザは、グループへの参加(グループメンバ間における認証)が不可能になるため、グループ参加証の更新が必要となる。本処理の詳細については後述する。
8). Renewal of group participation certificate If the group participation certificate issued as described above contains expiration date information, after the expiration date, the user who has the group participation certificate joins the group (between group members The group participation certificate needs to be updated. Details of this processing will be described later.

9.グループメンバの削除
上記で述べた方法では、グループ参加証を持つユーザは、そのグループ参加証の有効期限まではグループへの参加が可能であるが、何らかの理由により、その有効期限以前にそのユーザをグループメンバから除外したい(そのユーザをグループメンバとして認証できないようにしたい)場合は、例えば次のような処理を実行することで可能となる。なお、以下では、グループメンバを削除する方法について、グループ参加証を消去する方法(下記(9−1))、および失効者情報を作成する方法(下記(9−2−1)(9−2−4))の2例を挙げて説明する。
9. Deletion of group members In the method described above, a user with a group participation certificate can join the group until the expiration date of the group participation certificate. When it is desired to exclude a user from a group member (to prevent the user from being authenticated as a group member), for example, the following process is executed. In the following, with respect to a method for deleting a group member, a method for deleting a group participation certificate (below (9-1)) and a method for creating revoked person information (below (9-2-1) (9-2) -4)).

(9−1)グループ参加証の消去
除外対象のメンバが保持しているグループ参加証を消去すれば、当該メンバは、その後グループメンバ間の認証が行えなくなる。そのためには、各メンバの端末において、次のような処理を実行する必要がある。
(9-1) Deletion of Group Participation Certificate If the group participation certificate held by a member to be excluded is erased, the member cannot subsequently authenticate between group members. For this purpose, it is necessary to execute the following processing in each member terminal.

(9−1−1)グループ参加証の消去指示
グループ管理者がその端末を介して、除外対象のメンバの端末に対して、当該グループから除外することを指示する参加証消去指示の通知を行う。
(9-1-1) Deletion Instruction for Group Participation Certificate The group manager notifies the terminal of the member to be excluded via the terminal of the instruction to delete the participation certificate instructing to be excluded from the group. .

(9−1−2)グループ参加証の消去
上記参加証消去指示を受けたそのメンバの端末は、保持しているグループ参加
証を消去する。この場合は、上記参加証消去指示を受けた端末が強制的に消去することとする。
(9-1-2) Deletion of Group Participation Card The member terminal that has received the instruction to delete the participation certificate deletes the group participation certificate held therein. In this case, the terminal that has received the instruction to delete the participation certificate forcibly deletes it.

(9−2−1)失効者情報の作成
グループメンバの一人(グループ管理者含む。)が、除外されたメンバを特定する情報(例えば当該メンバの公開鍵)を含む失効者情報を作成する。
(9-2-1) Creation of Revoker Information One of the group members (including the group manager) creates revoker information including information (for example, the public key of the member) that identifies the excluded member.

(9−2−2)失効者情報の共有
前記のグループメンバ間の認証の際には、一方の端末が保持する失効者情報の失効者リストと認証相手が持つ失効者情報の失効者リストとを比較し、一方に失効者リストの欠損が存在する場合は、他方の失効者リストを用いて補充することで、失効者情報の失効者リストを全グループメンバで一致させる。
(9-2-2) Sharing Revoker Information When authenticating between the group members, the revoker list of revoker information held by one terminal and the revoker list of revoker information held by the authentication partner If there is a loss of the revoked person list on one side, the revoked person list of the revoked person information is made consistent with all the group members by using the other revoked person list.

(9−2−3)失効者の除外
前記のグループメンバ間の認証の際に、認証相手が自分の保持する失効者リストに含まれているかどうかを確認し、含まれている場合は、その相手をグループメンバとして認証しない。例えば、ユーザの公開鍵を失効者リストにおける記載項目とする場合は、認証相手の公開鍵が失効者リストに含まれている場合は、その相手との認証は拒否する。
(9-2-3) Exclusion of revoker During authentication between the group members, it is checked whether the authentication partner is included in the list of revokers held by himself / herself. The other party is not authenticated as a group member. For example, when the public key of the user is used as a description item in the revoker list, if the public key of the authentication partner is included in the revoker list, authentication with the partner is rejected.

(9−2−4)失効者の参加資格更新の拒否
管理者は、その端末を介して、前記のグループ参加証の更新を行う際に、参加証の更新の依頼を受けたユーザを特定する情報(例えば、公開鍵)が失効者リストに含まれている情報のいずれかと一致するかどうかを確認し、一致するものがある場合は参加証の更新を拒否する。
(9-2-4) Rejection of renewal of participation qualification of revoked person The administrator specifies the user who has received a request for renewal of the participation certificate when updating the group participation certificate via the terminal. Check whether the information (for example, public key) matches any of the information included in the revocation list, and if there is a match, reject the update of the participation certificate.

なお、失効者情報にその消去不可期限を付加しておいた場合は、消去不可期限を徒過した失効者情報を削除することとする。例えば、グループ参加証の有効期限より少し後の時点を消去不可期限として付与しておけば、不要となった失効者情報を順次削除することができ、失効者情報のリストが無限に増大することを防ぐことができる。   In addition, when the non-erasable deadline is added to the revoked person information, the revoked person information that has passed the non-erasable deadline is deleted. For example, if you give a point a little later than the expiry date of the group participation certificate as a non-erasable expiry date, you can delete the revoked person information that is no longer needed, and the list of revoked person information will grow infinitely Can be prevented.

また、失効者情報の作成はグループ管理者のみが行い、グループ管理者がグループ秘密鍵KG_Sを用いて暗号化した状態でグループ内で共有することとしてもよい。グループメンバは、公開されているグループ公開鍵KG_Pを用いて失効者情報を復号することが可能であり、この失効者情報が不正に改竄されていないことの確認が可能となる。これにより、悪意を持つユーザにより作成された不正な失効者情報の共有化を防ぐことができる。   Further, the revoker information may be created only by the group administrator, and the group administrator may share the information within the group in an encrypted state using the group secret key KG_S. The group member can decrypt the revoked person information using the public group public key KG_P, and can confirm that this revoked person information has not been tampered with. Thereby, sharing of the invalid revoker information created by a malicious user can be prevented.

また、グループ参加証の消去(上記(9−1))の方法と、失効者情報の作成等(上記(9−2−1)〜(9−2−4))による方法とを、必要に応じて組み合
わせることによって、目的のメンバを削除してもよい。
次に、上記の失効者情報を利用したグループメンバを削除する方法について、詳細に説明する。なお、失効者情報の具体例として、グループから削除されたメンバの情報をリストアップした「失効者リスト」を使用することとする。
In addition, it is necessary to have a method of deleting the group participation certificate (above (9-1)) and a method of creating revoked person information (above (9-2-1) to (9-2-4)). The target member may be deleted by combining them accordingly.
Next, a method for deleting a group member using the revoker information will be described in detail. As a specific example of the revoked person information, a “revoked person list” in which information of members deleted from the group is listed is used.

図2は、グループ管理者によって作成される失効者リストのフォーマットの一例である。この失効者リストの各フィールドには、以下のデータが格納される。   FIG. 2 is an example of a format of a revocation list created by the group manager. The following data is stored in each field of the revoker list.

(1)失効者リストID
失効者リストを一意に特定するための識別子を表す。
(2)発効日
失効者リストが作成された日時を表す。
(3)有効期限
失効者リストを保持していなければならない期限を表す。
(4)作成者ID
失効者リストを作成した管理者を一意に特定するための識別子を表す。例えば、管理者の公開鍵等を作成者IDとして利用する。
グループ内に管理者以外に、管理者と称する者が複数存在する場合、どの者が発行した失効者リストであるかを識別するために参照されるフィールドである。
(5)失効者IDリスト
グループから削除された、旧参加者のIDのリストを表す。
(6)失効者ID
グループから削除された、旧参加者を一意に特定するための識別子を表す。
(7)署名
(1) Revocation list ID
An identifier for uniquely identifying the revocation list.
(2) Effective date Indicates the date and time when the revocation list was created.
(3) Expiration date Indicates the expiration date for which the revocation list must be maintained.
(4) Creator ID
An identifier for uniquely identifying the administrator who created the revocation list. For example, the administrator's public key or the like is used as the creator ID.
When there are a plurality of persons called managers in addition to the manager in the group, this field is referenced to identify which person is the revoker list issued.
(5) Revoker ID list This represents a list of IDs of old participants deleted from the group.
(6) Revoker ID
An identifier for uniquely identifying the old participant deleted from the group.
(7) Signature

グループ秘密鍵による署名を表す。管理者以外が失効者リストを作成できないことを保証する。
管理者は、グループからメンバを削除するたびに、失効者リストを作成/更新する。全てのグループメンバは、同一の失効者リストを保持する。
Represents a signature with a group private key. Ensure that only the administrator can create a revocation list.
Each time an administrator removes a member from a group, the administrator creates / updates a revoker list. All group members maintain the same revoker list.

10.グループ管理者の追加
上記のように、グループへの新規加入依頼は、グループ管理者の端末がオンライン状態である場合に限られ、オフライン状態にある場合は、上記の依頼を行うことができない。そこで、グループに加入を希望するユーザに上記依頼を行う機会を増やすため、グループ管理者の端末を増やすこととする。この場合、グループ秘密鍵KG_Sを何らかの安全な手法(例えば、暗号通信方式)によって、グループ管理者の端末から新たに追加されるグループ管理者の端末に転送する。
10. Addition of Group Manager As described above, a request for newly joining a group is limited to the case where the terminal of the group manager is in an online state, and the above request cannot be made when the terminal is in an offline state. Therefore, in order to increase the opportunity to make the above request to users who wish to join the group, the number of terminals of the group manager is increased. In this case, the group secret key KG_S is transferred from the group manager's terminal to the newly added group manager's terminal by some secure technique (for example, an encryption communication method).

11.グループ公開鍵の更新
何らかの事故により、グループ秘密鍵KG_Sがグループ管理者以外のユーザに漏洩した場合、グループ秘密鍵を入手したユーザは、不正にグループ参加証または失効者リストを発行することが可能となる。この場合、グループのメンバは、は、正当なグループ管理者によって発行されたグループ参加証と不正に発行されたグループ参加証とを判別することはできなくなる。このような事態を防止するために、グループ管理者は、グループ公開鍵・秘密鍵のペアを更新する必要がある。また、上述したように、追加されたグループ管理者の中からのグループ管理者としての権限を剥奪したい場合も、グループ公開鍵・秘密鍵のペアを更新する必要がある。一方、グループ管理者が、グループ公開鍵・秘密鍵のペアを「KG_P'」・「KG_S'」に更新したとしても、従来のグループ公開鍵KG_Pとそれに基づいて作成されたグループ参加証を持つグループメンバ同士におけるグループ認証は、互いに可能な状態が継続する。したがって、グループの全てのメンバは、常に最新のグループ公開鍵を保持しておく必要があると同時に、最新のグループ公開鍵に対応したグループ参加証を入手する必要がある。
11. Updating the group public key If the group secret key KG_S is leaked to a user other than the group administrator due to some accident, the user who obtained the group secret key can issue a group participation certificate or revoker list illegally. Become. In this case, the group member cannot distinguish between a group participation certificate issued by a legitimate group manager and an illegally issued group participation certificate. In order to prevent such a situation, the group manager needs to update the group public / private key pair. Also, as described above, when it is desired to remove the authority as a group manager from among the added group managers, it is necessary to update the group public key / private key pair. On the other hand, even if the group manager updates the pair of the group public key / private key to “KG_P ′” / “KG_S ′”, the group having the conventional group public key KG_P and the group participation certificate created based thereon Group authentication between members continues to be possible. Therefore, all the members of the group need to always hold the latest group public key and obtain a group participation certificate corresponding to the latest group public key.

グループ公開鍵の更新は、例えば、次のいずれかのような方法により可能である。
(1)グループ管理者がグループ公開鍵・秘密鍵のペアを更新した時点で、上記図30に例示したようなP2Pネットワークを介してグループメンバ全員の端末に新しいグループ公開鍵を送付する。この送付を受けた各メンバの端末は、この新しいグループ公開鍵で古いグループ公開鍵を置き換える。
The group public key can be updated by, for example, one of the following methods.
(1) When the group manager updates the group public / private key pair, a new group public key is sent to the terminals of all the group members via the P2P network illustrated in FIG. The terminal of each member that has received this transmission replaces the old group public key with this new group public key.

(2)前記グループ情報に、グループ公開鍵の更新時刻に関する情報も含めておき、各グループメンバの端末では、グループ公開鍵に加えてこのグループ公開鍵の更新時刻に関する情報も保持しておく。そして、メンバ同士の認証時には、双方の端末が保持するグループ公開鍵とその更新時刻に関する情報とについて比較を行い、一方のメンバの端末が正当な古いグループ公開鍵を保持している場合は、他方の新しいグループ公開鍵でその古いグループ公開鍵を置き換える。 (2) Information related to the update time of the group public key is included in the group information, and each group member terminal holds information related to the update time of the group public key in addition to the group public key. Then, at the time of authentication between members, the group public key held by both terminals is compared with the information related to the update time, and if one member's terminal holds a valid old group public key, the other Replace the old group public key with the new group public key.

(3)グループ管理者が、上記のグループ情報インデックスサーバを運営している場合には、グループ情報に上記(2)と同様、グループ公開鍵の更新時刻に関する情報も含めておく。さらに、グループメンバは、オンラインになった時、一定時間毎、あるいはグループ認証を行う直前などのタイミングで、前記グループ情報インデックスサーバにアクセスして当該グループの最新のグループ公開鍵を入手する。 (3) When the group manager operates the above group information index server, information on the update time of the group public key is included in the group information as in the above (2). Furthermore, when the group member comes online, the group member accesses the group information index server at a certain time interval or immediately before performing group authentication, and obtains the latest group public key of the group.

なお、最新のグループ公開鍵に対応したグループ参加証を入手するためには、グループ公開鍵が更新されているという事実を検出した時点で、これを検知したユーザの端末が、グループ管理者の端末に参加証の再発行依頼を行えばよい。   In order to obtain a group participation certificate corresponding to the latest group public key, when detecting the fact that the group public key has been updated, the terminal of the user who detected this is the group administrator's terminal. You can request a reissue of your participation certificate.

次に、上記のように構成される通信システム100の動作について説明する。図4は、上記「5.グループへの新規加入依頼」処理の流れを示すフローチャートである。図4では、グループに新規に加入を希望する加入依頼者Xの端末Xとグループ管理者Aの端末Aにおいて実行される、それぞれの処理の流れを示している。なお、図5は、上記図4の処理が実行された後に、端末Xに保持される情報を示している。   Next, the operation of the communication system 100 configured as described above will be described. FIG. 4 is a flowchart showing a flow of the above-mentioned “5. Request for new subscription to group” processing. FIG. 4 shows the flow of each process executed at the terminal X of the requester X who desires to newly join the group and the terminal A of the group manager A. FIG. 5 shows information held in the terminal X after the processing of FIG. 4 is executed.

事前に、端末Aは、グループ管理者Aの指示により、新規に作成されたグループの公開鍵KG_P・秘密鍵KG_Sのペアを格納し、このうちグループ公開鍵KG_Pについては公開する(S101)(上記「1.グループの形成」および「2.グループの告知」を参照)。   In advance, the terminal A stores the newly created group public key KG_P / private key KG_S pair according to an instruction from the group manager A, and the group public key KG_P is made public (S101) (above) (See “1. Formation of group” and “2. Notification of group”).

同じく事前に、加入依頼者Xの端末Xは、加入依頼者Xの指示により、作成された公開鍵KX_P・秘密鍵KX_Sのペアを格納する(S102)。これらの鍵は、加入依頼者Xによって指定された情報(パスフレーズ)に基づいて生成されたものであってもよいし、プログラムまたは端末Xの機能に基づいて生成されたもの(例えば、乱数に基づいて生成されたもの)であってもよい。   Similarly, the terminal X of the subscription requester X stores the created public key KX_P / private key KX_S pair in accordance with an instruction from the subscription requester X in advance (S102). These keys may be generated based on information (passphrase) specified by the requester X, or generated based on the function of the program or the terminal X (for example, a random number). May be generated based on the above).

次に、端末Xは、加入依頼者Xの指示により、参加を所望するグループの公開鍵KG_Pを入手すると共に(上記「3.グループ情報の取得」を参照)、そのグループ管理者Aの端末Aのエントリポイント情報を特定する(上記「4.エントリポイント情報の取得」を参照)(S103)。   Next, the terminal X obtains the public key KG_P of the group desired to participate in accordance with an instruction from the subscription requester X (see “3. Acquisition of group information” above), and the terminal A of the group manager A (See “4. Acquisition of entry point information”) (S103).

さらに、端末Xは、加入依頼者Xの指示により、任意の文字列Sを作成する(S104)。この文字列Sは、加入依頼者Xによって入力された文字列そのものであってもよいし、プログラムまたは端末Xの機能に基づいて生成された文字列(例えば、乱数に基づいて生成された文字列)であってもよい。   Furthermore, the terminal X creates an arbitrary character string S according to the instruction from the subscription requester X (S104). The character string S may be the character string itself input by the subscription requester X, or a character string generated based on the function of the program or the terminal X (for example, a character string generated based on a random number). ).

このあと、端末Xは、加入依頼者Xの指示により、端末Aに文字列Sと加入依頼者Xを特定し得る情報(例えば、氏名、住所など)とを送信して、グループに新規に加入する旨の依頼を行う(S105)。   Thereafter, the terminal X transmits a character string S and information (for example, name, address, etc.) that can identify the requester X to the terminal A according to an instruction from the requester X, and newly joins the group. A request to do so is made (S105).

これにより、端末Aは、端末Xから受信した加入依頼者Xを特定し得る情報に基づき、加入依頼者Xの加入を承認するか否かを決定する(S106)。加入依頼者Xの加入を認めないと決定した場合(S106:No)、端末Aは、端末Xがグループに新規加入できないまま本処理を終了する。   Accordingly, the terminal A determines whether to approve the subscription of the subscription requester X based on the information that can identify the subscription requester X received from the terminal X (S106). If it is determined that the subscription requester X is not allowed to join (S106: No), the terminal A ends this process without the terminal X being able to newly join the group.

加入依頼者Xの加入を承認する場合(S106:Yes)、端末Aは、端末Xから受信した文字列Sをグループの秘密鍵KG_Sで暗号化した文字列S'=e(S,KG_S)を作成し、端末Xに送信する(S107)。   When approving the subscription of the requester X (S106: Yes), the terminal A uses the character string S ′ = e (S, KG_S) obtained by encrypting the character string S received from the terminal X with the group secret key KG_S. It is created and transmitted to the terminal X (S107).

すると、端末Xは、端末Aから受信した暗号化された文字列S'をグループの公開鍵KG_Pで復号する(S108)。この際、端末Xは、上記文字列S'が公開鍵KG_Pによって正常に復号され、かつその結果が元の文字列Sに等しいか否かを確認する(S109)。これにより、上記文字列S'がグループ公開鍵KG_Pに対応する秘密鍵KG_Sによって暗号化されたこと、即ち、端末Aが確かにグループ秘密鍵KG_Sを保持するグループ管理者Aの端末であるか否かが確認できる。復号が失敗、あるいは復号結果が上記文字列Sに等しくない場合は(S109:No)、端末Aのユーザがグループ管理者であるという確認ができないため、端末Xがグループに新規加入できないまま本処理を終了する。   Then, the terminal X decrypts the encrypted character string S ′ received from the terminal A with the group public key KG_P (S108). At this time, the terminal X confirms whether or not the character string S ′ is normally decrypted by the public key KG_P and the result is equal to the original character string S (S109). As a result, the character string S ′ is encrypted with the secret key KG_S corresponding to the group public key KG_P, that is, whether or not the terminal A is the terminal of the group manager A who certainly holds the group secret key KG_S. Can be confirmed. If the decryption fails or the decryption result is not equal to the character string S (S109: No), it is not possible to confirm that the user of the terminal A is a group manager, so this process is performed while the terminal X cannot newly join the group. Exit.

次に、端末Xは、端末Aに加入依頼者Xの公開鍵KX_Pを送信する(S110)。これにより、端末Aは、加入依頼者Xのグループ参加証C_Xを作成し、端末Xに送付する(S111)。このグループ参加証C_Xは、端末Xの公開鍵KX_Pに参加証の効果が消滅する日時を表す有効期限T_Xを添付したもの(KX_P+T_X)をグループ秘密鍵KG_Sで暗号化して作成したものであり、C_X=e(KX_P+T_X,KG_S)と表せる。この場合、公開鍵KX_Pに有効期限T_Xを添付する方法としては、復号前に分離不可能であって、復号によってそれぞれを分離することが可能であればどのような方法であってもよい。例えば、公開鍵KX_P、有効期限T_Xをそれぞれ文字列表現したものを所定の記号文字(例えば、ハイフン"−")を介して結合したものなどが考えられる。   Next, the terminal X transmits the public key KX_P of the requester X to the terminal A (S110). Accordingly, the terminal A creates a group participation certificate C_X of the subscription requester X and sends it to the terminal X (S111). This group participation certificate C_X is created by encrypting the public key KX_P of the terminal X with an expiration date T_X indicating the date and time when the effect of the participation certificate disappears (KX_P + T_X) with the group secret key KG_S. = E (KX_P + T_X, KG_S). In this case, as a method of attaching the expiration date T_X to the public key KX_P, any method may be used as long as it cannot be separated before decryption and can be separated by decryption. For example, a combination of a public key KX_P and an expiration date T_X, each represented as a character string, via a predetermined symbol character (for example, a hyphen "-") is conceivable.

さらに、端末Xが、グループ参加証C_Xを受け取ると(S112)、グループへの新規加入依頼処理が完了する。なお、以上の処理が完了した時点における、端末Xに保持される情報(即ち、3種類の鍵情報および参加証)の一例を図5に示す。   Further, when the terminal X receives the group participation certificate C_X (S112), the group new subscription request process is completed. An example of information (that is, three types of key information and a participation certificate) held in the terminal X at the time when the above processing is completed is shown in FIG.

なお、本実施の形態では、上記図4に示すように、端末Xは、加入依頼者Xを特定し得る情報と加入依頼者Xの公開鍵KX_Pを、それぞれ端末Aに送信しているが(S105、S110)、これらの送信順序については特に限定するものではなく、上記送信順序を逆にしてもよい。   In the present embodiment, as shown in FIG. 4, the terminal X transmits information that can identify the subscription requester X and the public key KX_P of the subscription requester X to the terminal A, respectively ( S105, S110) and the transmission order are not particularly limited, and the transmission order may be reversed.

次に、上記「6.グループメンバ間の認証」処理について、図6を参照しながら詳細に説明する。図6は、グループ参加証を既に入手したグループの参加者Xの端末Xと参加者Yの端末Yにおける、それぞれの処理の流れを示すフローチャートである。なお、端末Xは、上記図5に示した、3種類の鍵情報および参加証を既に保持しているものとする。   Next, the “6. Authentication between group members” process will be described in detail with reference to FIG. FIG. 6 is a flowchart showing the flow of each processing in the terminal X of the participant X and the terminal Y of the participant Y who have already obtained the group participation certificate. It is assumed that terminal X already holds the three types of key information and participation certificate shown in FIG.

最初に、参加者Xの端末Xは、グループに属している他の参加者Yの端末Yのエントリポイント情報を特定する(S301)。それは、例えば次のいずれかの方法で特定を行う。   First, the terminal X of the participant X specifies entry point information of the terminal Y of another participant Y belonging to the group (S301). For example, the identification is performed by one of the following methods.

(1)端末Xは、上記図30に例示したようなP2Pネットワークの情報検索の仕組みを用いて、グループ識別情報の一部または全部をキーとして検索を行い、その検索に対してグループ参加者が応答する。グループ参加者からの応答により、端末Xは、グループ参加者Yの端末Yのエントリポイント情報の通知を受ける。 (1) The terminal X performs a search using a part or all of the group identification information as a key by using the information search mechanism of the P2P network as illustrated in FIG. respond. In response to the response from the group participant, the terminal X is notified of the entry point information of the terminal Y of the group participant Y.

(2)ピア情報サーバが運営されている場合、端末Xは、このピア情報サーバに対してグループ識別情報をキーとして検索を行い、その検索結果に基づいて、オンライン状態にある他の参加者のエントリポイント情報を入手する。 (2) When the peer information server is operated, the terminal X searches the peer information server using the group identification information as a key, and on the basis of the search result, other participants who are online Get entry point information.

(3)他の参加者Yの端末Yが端末Xにとって既知であり、かつ端末Yが常にオンライン状態でエントリポイント情報が変化しないことも既知である場合、そのエントリポイント情報を用いる。 (3) If the terminal Y of another participant Y is known to the terminal X and it is also known that the terminal Y is always online and the entry point information does not change, the entry point information is used.

次に、端末Xは、端末Yに対して認証の実施を依頼する(S302)。すると、端末Yは、上記図4の場合と同様、任意の文字列Sを作成し、端末Xに送信する(S303)。
これにより、端末Xは、参加者Xの指示により、受信した文字列Sを自分の秘密鍵KX_Sで暗号化した文字列S'=e(S,KX_S)を作成し、この文字列S'と自身が保持しているグループ参加証C_Xとを端末Yに送信する(S304)。
Next, the terminal X requests the terminal Y to perform authentication (S302). Then, the terminal Y creates an arbitrary character string S and transmits it to the terminal X as in the case of FIG. 4 (S303).
Accordingly, the terminal X creates a character string S ′ = e (S, KX_S) obtained by encrypting the received character string S with its own secret key KX_S according to the instruction of the participant X. The group participation certificate C_X held by itself is transmitted to the terminal Y (S304).

このあと、端末Yは、端末Xから受信した参加証C_Xをグループ公開鍵KG_Pで復号し、参加者Xの公開鍵KX_Pと有効期限T_Xとを得る(S305)。ここで、端末Yは、上記の復号が成功したか否かについて確認する(S306)。もし、復号が失敗した場合(即ち、参加証C_Xが正当なグループ秘密鍵KG_Sで暗号化されていない場合)、端末Xはグループに属していないとみなし、本処理を終了する(S306:No)。   Thereafter, the terminal Y decrypts the participation certificate C_X received from the terminal X with the group public key KG_P, and obtains the public key KX_P and the expiration date T_X of the participant X (S305). Here, the terminal Y confirms whether or not the above-described decoding is successful (S306). If the decryption fails (that is, if the participation certificate C_X is not encrypted with the valid group secret key KG_S), the terminal X is regarded as not belonging to the group, and this process ends (S306: No). .

さらに、端末Yは、上記の復号によって得られた有効期限T_Xが有効か否かについて確認する(S307)。もし、有効期限T_Xが無効の場合は(S307:No)、参加証が無効であることを意味するので、端末Xはグループに属していないとみなし、本処理を終了する。   Furthermore, the terminal Y checks whether or not the expiration date T_X obtained by the above decoding is valid (S307). If the expiration date T_X is invalid (S307: No), it means that the participation certificate is invalid, so that the terminal X is regarded as not belonging to the group, and this process is terminated.

さらにまた、端末Yは、端末Xから受信した暗号化された文字列S'を上記の復号によって得られた端末Xの公開鍵KX_Pで復号する(S308)。これにより、端末Yは、この文字列S'の復号が成功し、かつ復号結果が文字列Sと一致することを確認する(S309)。もし、一致しなければ(S309:No)、端末Xは公開鍵KX_Pに対応する秘密鍵KX_Sを保持していないことを意味するので、端末Xは第三者の成りすましの可能性があるとみなし、本処理を終了する。   Furthermore, the terminal Y decrypts the encrypted character string S ′ received from the terminal X with the public key KX_P of the terminal X obtained by the above decryption (S308). Thereby, the terminal Y confirms that the decoding of the character string S ′ is successful and the decoding result matches the character string S (S309). If they do not match (S309: No), it means that the terminal X does not hold the secret key KX_S corresponding to the public key KX_P, so that the terminal X is regarded as a possibility of impersonation of a third party. This process is terminated.

以上の処理のように、下記の全ての内容について確認できた場合、端末Yは、端末Xをグループ参加者であると認証する(S310)。
(1)端末Xが、グループ秘密鍵KG_Sで暗号化されたグループ参加証を保持している。
(2)グループ参加証の有効期限T_Xは有効である。
(3)端末Xが、グループ参加証の中の暗号化されていた公開鍵KX_Pに対応する秘密鍵KX_Sを保持している。
When all the following contents can be confirmed as in the above processing, the terminal Y authenticates the terminal X as a group participant (S310).
(1) The terminal X holds the group participation certificate encrypted with the group secret key KG_S.
(2) The validity period T_X of the group participation certificate is valid.
(3) The terminal X holds the secret key KX_S corresponding to the encrypted public key KX_P in the group participation certificate.

次に、上記の処理(S301〜S310)を端末Xと端末Yの立場を入れ替えて実行する。この処理が成功すれば、端末Xは、端末Yをグループの参加者であると認証され、相互の認証が完了する。

次に、上記「8.グループ参加証の更新」処理について、図7を参照しながら詳細に説明する。図7は、グループ参加証の更新を依頼する更新依頼者Xの端末Xとグループ管理者Aの端末Aにおける、それぞれの処理の流れを示したフローチャートである。なお、端末Xは、上記図5に示した、3種類の鍵情報および参加証を既に保持しているものとする。
Next, the above processing (S301 to S310) is executed by switching the positions of the terminal X and the terminal Y. If this processing is successful, the terminal X is authenticated as a terminal participant of the terminal Y, and mutual authentication is completed.

Next, the “8. Update of group participation certificate” process will be described in detail with reference to FIG. FIG. 7 is a flowchart showing the flow of each processing in the terminal X of the update requester X who requests the update of the group participation certificate and the terminal A of the group manager A. It is assumed that terminal X already holds the three types of key information and participation certificate shown in FIG.

最初に、端末Xは、更新依頼者Xの指示により、端末Aのエントリポイント情報を特定する(S401)(上記「4.エントリポイント情報の取得」を参照)。すると、端末Xは、更新依頼者Xの指示により、任意の文字列Sを作成し、端末Aに送信してグループ参加証の更新を依頼する(S402)。この文字列Sは、更新依頼者Xによって入力された文字列そのものであってもよいし、プログラムまたは端末Xの機能に基づいて生成された文字列(例えば、乱数を用いて生成された文字列)であってもよい。   First, the terminal X specifies the entry point information of the terminal A according to the instruction from the update requester X (S401) (see “4. Acquisition of entry point information” above). Then, the terminal X creates an arbitrary character string S according to an instruction from the update requester X, and transmits it to the terminal A to request an update of the group participation certificate (S402). This character string S may be the character string itself input by the update requester X, or a character string generated based on the function of the program or the terminal X (for example, a character string generated using a random number). ).

次に、端末Aは、文字列Sをグループ秘密鍵KG_Sで暗号化して文字列S'=e(S,KG_S)を作成し、端末Xに送信する(S403)。これにより、端末Xは、暗号化された文字列S'をグループ公開鍵KG_Pによって復号する(S404)。   Next, the terminal A encrypts the character string S with the group secret key KG_S to create a character string S ′ = e (S, KG_S), and transmits it to the terminal X (S403). Thereby, the terminal X decrypts the encrypted character string S ′ with the group public key KG_P (S404).

さらに、端末Xは、上記文字列S'がグループ公開鍵KG_Pにより正常に復号され、かつその結果が元の文字列Sに等しいことを確認する(S405)。これにより、上記文字列S'がグループ公開鍵KG_Pに対応する秘密鍵KG_Sによって暗号化されたこと、即ち、端末Aが確かにグループ秘密鍵KG_Sを保持するグループ管理者Aの端末であることが確認できる。もし、復号が失敗あるいは復号結果が文字列Sに等しくない場合は(S405:No)、端末Aがグループ管理者Aの端末でないとみなし、端末Xはグループ参加証を更新することなく、本処理を終了する。   Furthermore, the terminal X confirms that the character string S ′ is normally decrypted with the group public key KG_P and the result is equal to the original character string S (S405). As a result, the character string S ′ is encrypted with the secret key KG_S corresponding to the group public key KG_P, that is, the terminal A is indeed the terminal of the group manager A who holds the group secret key KG_S. I can confirm. If the decryption fails or the decryption result is not equal to the character string S (S405: No), it is considered that the terminal A is not the terminal of the group manager A, and the terminal X does not update the group participation certificate and performs this processing. Exit.

上記復号が成功し復号結果が文字列Sと等しい場合(S405:Yes)、端末Xは、端末Aに自分の参加証C_X=e(KX_P+T_X,KG_S)を送信する(S406)。これにより、端末Aは、受信した参加証C_Xをグループ公開鍵KG_Pで復号して更新依頼者Xの公開鍵KX_Pを得る(S407)。   When the decryption is successful and the decryption result is equal to the character string S (S405: Yes), the terminal X transmits its participation certificate C_X = e (KX_P + T_X, KG_S) to the terminal A (S406). Thereby, the terminal A decrypts the received participation certificate C_X with the group public key KG_P and obtains the public key KX_P of the update requester X (S407).

さらに、端末Aは、上記の復号が成功したか否かについて確認する(S408)。もし、復号に失敗した場合(S408:No)、端末Aは、端末Xがグループ秘密鍵KG_Sで暗号化されたグループ参加証を持たない端末であること、即ち、端末Xは、グループの参加者ではないとみなし、端末Xのグループ参加証を更新することなく、本処理を終了する。   Furthermore, the terminal A confirms whether or not the above decoding has been successful (S408). If the decryption fails (S408: No), the terminal A is a terminal that does not have the group participation certificate encrypted with the group secret key KG_S, that is, the terminal X is a group participant. This processing is terminated without updating the group participation certificate of the terminal X.

一方、上記の復号が成功した場合(S408:Yes)、端末Aは、端末Xの公開鍵KX_Pに新たな有効期限T_X'を添付したものをグループ秘密鍵KG_Sで暗号化して新たな参加証C_X'=e(KX_P+T_X',KG_S)を作成し、これを端末Xに送信する(S409)。
これにより、端末Xは、新しい参加証C_X'を受信する(S410)。
On the other hand, if the above decryption is successful (S408: Yes), the terminal A encrypts the public key KX_P of the terminal X with the new expiration date T_X ′ attached thereto with the group secret key KG_S and creates a new participation certificate C_X '= E (KX_P + T_X', KG_S) is created and transmitted to the terminal X (S409).
Thereby, the terminal X receives the new participation certificate C_X ′ (S410).

以上の処理により、更新依頼者Xの参加証は、新たな有効期限が添付されるので、更新依頼者Xは、端末Xを介して、新たな有効期限までグループに参加することが可能となる。   As a result of the above processing, the renewal requester X's participation certificate is attached with a new validity period, so that the renewal requester X can join the group until the new validity period via the terminal X. .

次に、上記「9.グループメンバの削除」処理における失効者情報を共有する手順について、図面を参照しながら詳細に説明する。
上記の問題を解決するために、管理者の端末によるオンライン状態のメンバの端末に対するブロードキャストに加え、前述したメンバの端末としての認証が終了した直後に、メンバの端末同士でお互いが保持している失効者リストを交換する方式を導入することとする。
Next, a procedure for sharing revoked person information in the “9. group member deletion” process will be described in detail with reference to the drawings.
In order to solve the above problem, in addition to the broadcast to the member's terminal in the online state by the administrator's terminal, the member terminals hold each other immediately after the above-described authentication as the member terminal is completed. A method of exchanging revocation lists will be introduced.

まず、図3(a)に示すように、オンライン状態のメンバ端末Y、Zとオフライン状態のメンバ端末Xとが異なる失効者リストを保持している場合を考える。次に、図3(b)に示すように、オフライン状態のメンバ端末Xは、オンライン状態になると同時に、オンライン状態のメンバ端末Yとグループ認証を実行する。このとき、グループ認証が成功すると、図3(c)に示すように、メンバ端末Xとメンバ端末Yは、互いが保持する失効者リストを交換する。   First, as shown in FIG. 3A, consider a case where the member terminals Y and Z in the online state and the member terminals X in the offline state hold different revocation list. Next, as shown in FIG. 3B, the member terminal X in the offline state goes online and executes group authentication with the member terminal Y in the online state. At this time, if the group authentication is successful, as shown in FIG. 3C, the member terminal X and the member terminal Y exchange the revoked person list held by each other.

図3(c)には、メンバ端末Xはメンバ端末Yから失効者リストαおよびβを取得した様子が示されている。また、図3(d)に示すように、オフライン状態のメンバ端末Xから新規に失効者リストを取得したメンバ端末Yは、既知のオンライン状態のメンバ端末Zに対しても新規の失効者リストを伝播させる。   FIG. 3C shows a state in which the member terminal X has acquired the revoker lists α and β from the member terminal Y. Further, as shown in FIG. 3 (d), the member terminal Y that has newly acquired the revoked person list from the member terminal X in the offline state also provides a new revoker list to the member terminal Z in the known online state. Propagate.

以上の方法により、失効者リストが管理者から通知された時点でオフライン状態であったメンバ端末に対しても、管理者不在時に、他のグループメンバから失効者情報を取得することが可能となる。   With the above method, it becomes possible to obtain revoker information from other group members even when the administrator is absent, even for a member terminal that has been offline when the revocation list is notified from the administrator. .

図19は、参加者Xの端末Xと参加者Yの端末Yの間で失効者リストを交換し、共有する処理の流れを示したフローチャートである。なお、図19に使用される用語の意味を図20に示す。
なお、ここでは、端末Xおよび端末Yについては、上述した「6.グループメンバ間の認証」処理によって、相互にグループのメンバの端末であることを認証していることとする。
FIG. 19 is a flowchart showing a flow of processing for exchanging and sharing a revoker list between the terminal X of the participant X and the terminal Y of the participant Y. The meanings of terms used in FIG. 19 are shown in FIG.
Here, it is assumed that the terminal X and the terminal Y have mutually authenticated that they are terminals of group members by the above-described “6. Authentication between group members” process.

最初に、新規にグループに加入した参加者Xの端末Xは、所有している失効者リストセット(その端末が保持する全ての失効者IDをリストアップしたもの:RLT_X)を参加者Yの端末Yに送信する(S2001)。ここで、端末Xが保持する失効者リストをCRL(a)およびCRL(b)と仮定する。この場合、上記RLT_Xを、それら失効者のIDをまとめて、「(a,b)」と表現することとする。   First, the terminal X of the participant X who newly joins the group has a revoker list set (a list of all revoker IDs held by the terminal: RLT_X) of the participant Y's terminal. Y is transmitted (S2001). Here, it is assumed that the revocation list held by the terminal X is CRL (a) and CRL (b). In this case, the RLT_X is expressed as “(a, b)” by collecting the IDs of the revoked persons.

これにより、端末Yは、端末Xから取得した失効者リストセット(RLT_X)と、自身が保持している失効者リストセット(RLT_Y)を比較して(S2002)、自身は保持しているが端末Xは保持していない失効者リストを表す差分失効者リスト(DRL_X)と、端末Xが保持しているが自身は保持していない失効者リストを表す差分失効者リスト(DRL_Y)を作成する(S2003)。   Thereby, the terminal Y compares the revoker list set (RLT_X) acquired from the terminal X with the revoker list set (RLT_Y) held by itself (S2002). X creates a differential revocation list (DRL_X) representing a revocation list that is not held and a differential revocation list (DRL_Y) that represents a revocation list that is held by the terminal X but is not held by itself (DRL_Y). S2003).

図19においては、RLT_Xが(a,b)、RLT_Yが(a,c,d)であるため、DRL_X=(c,d)、DRL_Y=(b)となる。次に、端末Yは、端末Xに対して、DRL_Yを送信する(S2004)。
これにより、端末Xは、端末Yから受信した差分リストDRL_Yから、端末Xが保持しており、かつ端末Yが保持していない失効者リストをまとめた追加失効者リストARL_Yを作成し、端末Yに送信する(S2005)。
In FIG. 19, since RLT_X is (a, b) and RLT_Y is (a, c, d), DRL_X = (c, d) and DRL_Y = (b). Next, the terminal Y transmits DRL_Y to the terminal X (S2004).
As a result, the terminal X creates an additional revoker list ARL_Y in which the revocation list that the terminal X holds and the terminal Y does not hold is created from the difference list DRL_Y received from the terminal Y, and the terminal Y (S2005).

次に、図19においては、DRL_Yが(b)であるため、追加失効者リストARL_Yの内容は、失効者のIDが「b」の失効者リストCRL(b)である。
さらに、端末Yは、端末Xから受信した追加失効者リストARL_Yから失効者のIDを取り出し、自身が保持している失効者リストセットRLT_Yに追加して更新する(S2006)。図19においては、このときのRLT_Yの内容は、(a,b,c,d)となる。
Next, in FIG. 19, since DRL_Y is (b), the content of the additional revoker list ARL_Y is the revoker list CRL (b) whose revoker ID is “b”.
Further, the terminal Y extracts the revoked person's ID from the additional revoked person list ARL_Y received from the terminal X, and adds and updates it to the revoker list set RLT_Y held by the terminal Y (S2006). In FIG. 19, the contents of RLT_Y at this time are (a, b, c, d).

このあと、端末Yは、差分失効者リストDRL_Xに基づいて、自身が保持し、かつ端末Xが保持していない失効者リストをまとめた追加失効者リストARL_Xを作成する(S2007)。図19においては、DRL_Xが(c,d)であるので、追加失効者リストARL_Xは、失効者のIDが「c」の失効者リストCRL(c)および失効者のIDが「d」の失効者リストCRL(d)から、(CRL(c),CRL(d))となる。   Thereafter, the terminal Y creates an additional revoker list ARL_X in which the revoker lists held by itself and not held by the terminal X are compiled based on the differential revoker list DRL_X (S2007). In FIG. 19, since DRL_X is (c, d), the additional revoker list ARL_X has the revoker list CRL (c) whose revoker ID is “c” and the revocation whose revoker ID is “d”. From the user list CRL (d), (CRL (c), CRL (d)).

さらに、端末Yは、端末Xに対して、失効者リストセットRLT_Yおよび追加失効者リストARL_Xを送信する(S2008)。
これにより、端末Xは、端末Yから受信した追加失効者リストARL_Xから失効者のIDを取り出し、自身が保持している失効者リストセットRLT_Xを更新する(S2009)。
Furthermore, the terminal Y transmits the revoker list set RLT_Y and the additional revoker list ARL_X to the terminal X (S2008).
Thereby, the terminal X takes out the ID of the revoked person from the additional revoked person list ARL_X received from the terminal Y, and updates the revoker list set RLT_X held by itself (S2009).

最後に、端末Xは、端末Yから取得したRLT_Yと更新したRLT_Xとを比較する(S2010)。両者が一致していれば(S2010:Yes)、端末Xと端末Yにおいては、失効者リストについては正常に同期していることとなる。
なお、上記の方法では、管理者以外から失効者リストを取得しているため、取得した失効者リストが正当なものか否かについて、別途検証する必要がある。
Finally, the terminal X compares the RLT_Y acquired from the terminal Y with the updated RLT_X (S2010). If the two match (S2010: Yes), the terminal X and the terminal Y are normally synchronized with respect to the revocation list.
In the above method, since the revoked person list is obtained from other than the administrator, it is necessary to separately verify whether or not the obtained revoked person list is valid.

管理者によって作成された失効者リストに対しては、グループ秘密鍵による署名が付加されているため、グループ公開鍵によって失効者リストの正当性を検証することができる。
正当性が確認された失効者リストは、有効期限が切れるまで、各メンバの端末に保持される。ただし、作成者IDが同じである失効者リストが複数ある場合には、発行日が最新であるものを除き、同じ作成者IDを持つ失効者リストは破棄しても構わない。
Since the revocation list created by the administrator is signed with the group private key, the validity of the revocation list can be verified with the group public key.
The revoked person list whose validity has been confirmed is held in each member's terminal until the expiration date expires. However, when there are a plurality of revoker lists having the same creator ID, the revoker lists having the same creator ID may be discarded except for those with the latest issue date.

つまり、グループに複数の参加証を発行する者が存在する場合、各グループのメンバは、その者の数だけ失効者リストを保持する必要があるが、同じ管理者が発行する失効者リストに関しては、最新のもののみを保持すればよい。   In other words, when there are persons who issue multiple participation certificates in a group, each group member must maintain the number of revoker lists as many as that person, but with regard to the revocation list issued by the same administrator, Only keep the latest.

各グループメンバは、他のグループメンバの認証時において、認証相手の参加証に記載されているIDあるいは公開鍵が、自身が保持している失効者リストに含まれている場合は認証を拒否することとする。   Each group member rejects authentication when other group members are authenticated and the ID or public key described in the authentication partner's participation certificate is included in the revoker list held by the group member. I will do it.

以上のように、本実施の形態1又は2に係る通信システムによれば、グループ管理者の端末が介在しなくても(たとえ、グループ管理者の端末がオフラインであっても)、グループ管理者からグループ参加証を発行されたグループ参加者同士で互いにグループのメンバであることの認証が可能となる。   As described above, according to the communication system according to the first or second embodiment, even if the group manager's terminal is not present (even if the group manager's terminal is offline), the group manager It is possible to authenticate that the group participants who have been issued group participation certificates from each other are members of the group.

また、仮に、グループからあるユーザを除外したい事態が発生しても、グループ参加証が有効期限を含んでいることにより、少なくともその有効期限後はそのユーザがグループのメンバとして認証されないようにすることが可能となる。さらに、その有効期限までの間は失効者リストを参照してそのユーザをグループ認証から除外することが可能となる。   In addition, even if a situation arises in which a user wants to be excluded from the group, the user must not be authenticated as a member of the group at least after the expiration date because the group participation certificate includes the expiration date. Is possible. Further, until the expiration date, the user can be excluded from the group authentication by referring to the revoked person list.

(実施の形態2)
上記実施の形態1においては、ネットワーク上のグループが管理者と一般のユーザの2種類のユーザから構成される実施例について説明したが、本実施の形態では、グループ管理者の権限を有する者が複数存在する実施例について説明する。
(Embodiment 2)
In the first embodiment, the example in which the group on the network is composed of two types of users, that is, an administrator and a general user has been described. However, in this embodiment, a person who has the authority of the group administrator A plurality of embodiments will be described.

前述したように、グループメンバの新規加入の機会を増やすために管理者を増やすとなると、グループ秘密鍵を複製することが必要となるが、グループ秘密鍵が複数のユーザに保持されることにより、漏洩する可能性も高くなる。   As described above, when the number of managers is increased in order to increase the opportunities for new group members to join, it is necessary to duplicate the group secret key, but by holding the group secret key to a plurality of users, The possibility of leakage increases.

本実施の形態は、これを改善するものであり、グループを構成するメンバを、唯一のグループ管理者(単に「管理者」ともいう。)、グループ参加証発行許可証を保持しグループ参加証を発行する権限を持つグループ発行者(単に「発行者」ともいう。)、および参加者(「グループメンバ」ともいう。)の3種類のユーザに分類する。ここで、グループ管理者がグループ参加証発行許可証を発行した参加者を「グループ発行者」と呼ぶ。発行者に権限を与えることができるのは管理者のみであり、一般ユーザにグループ参加証を発行できるのは、グループ管理者およびグループ発行者である。   In this embodiment, this is improved. The members constituting the group are designated as a single group administrator (also simply referred to as “administrator”), and a group participation certificate issuance permit is held. There are three types of users: group issuers who have authority to issue (also simply referred to as “issuers”) and participants (also referred to as “group members”). Here, a participant who has issued a group participation certificate issuance permit is called a “group issuer”. Only the administrator can give authority to the issuer, and the group administrator and the group issuer can issue the group participation certificate to general users.

こうすることにより、管理者が複数の発行者を設けておけば、グループの秘密鍵を複製することなくグループへの新規加入の機会を増やすことが可能となる。
以上のようなグループを管理するには、以下に示すような処理が必要となる。
(1)グループの形成
(2)グループの告知
(3)グループ発行者の追加
(4)グループ情報の取得
(5)エントリポイント情報の取得
(6)グループへの新規加入依頼
(7)グループメンバ間の認証
(8)グループメンバ間の情報共有
(9)グループ参加証の更新
(10)グループ参加証発行許可証の更新
(11)グループメンバの削除
(12)グループ公開鍵の更新
In this way, if the administrator provides a plurality of issuers, it is possible to increase the chances of newly joining the group without duplicating the group secret key.
In order to manage the groups as described above, the following processing is required.
(1) Formation of group (2) Notification of group (3) Addition of group issuer (4) Acquisition of group information (5) Acquisition of entry point information (6) Request for new membership to group (7) Between group members (8) Sharing information among group members (9) Updating group participation certificates (10) Updating group participation certificate issuance permits (11) Deleting group members (12) Updating group public keys

以下、各処理について説明する。ただし、上記実施の形態1と同一の処理については、その説明を省略することとする。
1.グループの形成
上記実施の形態1の「1.グループの形成」と同じであるので省略する。
2.グループの告知
上記実施の形態1の「2.グループの告知」と同じであるので省略する。
3.グループ発行者の追加
上記のように、グループを形成したネットワーク上のグループ管理者は、参加者の一部にグループ参加証発行許可証を発行してグループ発行者を設け、グループのメンバを追加する権限を与える。すなわち、グループ参加証発行許可証を発行されたグループ発行者は、他のユーザに対してグループ参加証を発行することが可能となる。本処理の詳細については後述する。
Hereinafter, each process will be described. However, the description of the same processing as that of the first embodiment will be omitted.
1. Formation of group Since this is the same as “1. Formation of group” in the first embodiment, description thereof is omitted.
2. Announcement of group Since this is the same as “2.
3. Add Group Issuer As described above, the group administrator on the network that forms the group issues a group participation certificate issuance permit to some of the participants, creates a group issuer, and adds members of the group Give authority. That is, a group issuer who has been issued a group participation certificate issuance permit can issue a group participation certificate to other users. Details of this processing will be described later.

4.グループ情報の取得
上記実施の形態1の「3.グループ情報の取得」と同じであるので省略する。
5.エントリポイント情報の取得
あるグループに新規に加入したいユーザXは、その端末Xを介して、少なくともグループ発行者と通信する必要があるが、そのためには、グループ発行者のエントリポイント情報を特定する必要がある。それは、例えば次のいずれかの方法で行われる。
4). Acquisition of group information Since this is the same as “3. Acquisition of group information” in the first embodiment, a description thereof will be omitted.
5. Acquisition of entry point information A user X who wishes to newly join a group needs to communicate with at least the group issuer via the terminal X. For this purpose, the entry point information of the group issuer needs to be specified. There is. For example, it is performed by one of the following methods.

(1)端末Xは、上記図30に例示したようなP2Pネットワークの情報検索の仕組みを用いて、グループ識別情報等の一部または全部をキーとして検索を行い、その結果、検索されたグループのグループ発行者がこれに応答し、自分のエントリポイント情報を端末Xに対して通知する。 (1) The terminal X uses the P2P network information search mechanism illustrated in FIG. 30 as described above to search using part or all of the group identification information as a key. In response to this, the group issuer notifies the terminal X of its entry point information.

(2)上述したピア情報サーバが運営されている場合、端末Xは、このピア情報サーバに対してグループ識別情報等をキーとして検索を行い、その検索結果に基づいてグループ発行者のエントリポイント情報を入手する。 (2) When the above-described peer information server is operated, the terminal X searches the peer information server using the group identification information or the like as a key, and the entry point information of the group issuer based on the search result Get

(3)端末Xにとってグループ発行者が既知であり、かつ当該グループ発行者が常にオンライン状態であってエントリポイント情報が変化しないことも既知である場合、そのエントリポイント情報を用いる。 (3) When the group issuer is known to the terminal X and it is also known that the group issuer is always online and the entry point information does not change, the entry point information is used.

6.グループへの新規加入依頼
あるグループに新規に加入したいユーザXは、その端末Xを介して、上記のように特定されたエントリポイント情報を用いてグループ発行者と通信を行い、グループ参加証の発行を依頼する。本処理の詳細については後述する。
6). Request to join a group User X who wants to join a group communicates with the group issuer using the entry point information specified as described above and issues a group participation certificate via the terminal X. Request. Details of this processing will be described later.

7.グループメンバ間の認証
上記の「6.グループへの新規加入依頼」により入手したグループ参加証を持つグループメンバ間では、互いに同じグループに属していることを認証することが可能になる。本処理の詳細については後述する。
7). Authentication between group members It is possible to authenticate that group members having a group participation certificate obtained by the above-mentioned “6. Request to join a group” belong to the same group. Details of this processing will be described later.

8.グループメンバ間の情報共有
上記実施の形態1の「7.グループメンバ間の情報共有」と同じであるので省略する。
8). Information Sharing Between Group Members Since this is the same as “7. Information Sharing Between Group Members” in Embodiment 1, it is omitted here.

9.グループ参加証の更新
前記の「6.グループへの新規加入依頼」で発行されたグループ参加証に有効期限情報が含まれている場合には、当該有効期限以降、グループへの参加(グループメンバ間の認証)が不可能になるため、その参加者は、その端末を介して、グループ参加証の更新が必要となる。本処理の詳細については後述する。
9. Renewal of group participation certificate When the expiration date information is included in the group participation certificate issued in “6. Request for new membership to group”, participation in the group (between group members) after the expiration date. Authentication) becomes impossible, and the participant needs to update the group participation certificate via the terminal. Details of this processing will be described later.

10.グループ参加証発行許可証の更新
前記の「3.グループ発行者の追加」で発行されたグループ参加証発行許可証に有効期限情報が含まれている場合には、当該有効期限以降、グループ参加証の発行が不可能になるため、その発行者は、その端末を介して、グループ参加証発行許可証の更新が必要となる。本処理の詳細については後述する。
10. Renewal of group participation certificate issuance When the expiration date information is included in the group participation certificate issuance permit issued in “3. Addition of group issuer”, the group participation certificate is issued after the expiration date. Therefore, the issuer needs to renew the group participation certificate issuance permit via the terminal. Details of this processing will be described later.

11.グループメンバの削除
上記の実施の形態1と同様、何らかの理由により、グループ参加証の有効期限以前に特定のメンバが脱退した、又は特定の参加者をグループメンバから除外したい場合があり得る。この場合、当該参加者のグループ参加証を消去/無効化する方法は、上記の実施の形態1の「9.グループメンバの削除」における「グループ管理者」を「グループ管理者またはグループ発行者」に置き換えた場合と同じであるので、詳細な説明は省略する。
11. Deletion of Group Member Similar to the first embodiment, there may be a case where a specific member has left before the expiration date of the group participation certificate or a specific participant is desired to be excluded from the group member for some reason. In this case, the method for deleting / invalidating the group participation certificate of the participant is that “group administrator” or “group issuer” is changed from “group administrator” in “9. Since this is the same as the case of replacing with, detailed description is omitted.

なお、上記実施の形態1と同様、失効者情報を作成し、共有する方法をとることも可能である。例えば、次のような処理を実行する。   Note that, as in the first embodiment, it is possible to create and share invalid person information. For example, the following processing is executed.

(11−1)失効者情報の作成
管理者の端末は、管理者の指示により、除外対象となったグループメンバの一人(グループ管理者、グループ発行者含む。)を特定する情報(例えば、当該メンバの公開鍵)を含む失効者情報を作成する。
(11-1) Creation of revoked person information The administrator's terminal, in response to an instruction from the administrator, specifies information (for example, the group administrator and the group issuer) that is one of the excluded group members. Create revoker information including member's public key.

(11−2)失効者リストの共有
管理者又は発行者の端末は、上記の「7.グループメンバ間の認証」の際は、参加者が所有する端末が保持する失効者情報のリストと認証相手が保持する失効者情報のリストとを比較し、一方のリストに含まれない失効者情報が存在する場合は、その一方のリストにその失効者リストを追加することで、失効者情報のリストを全グループメンバで一致させる。
(11-2) Sharing of revocation list When the above-mentioned “7. Authentication between group members” is performed, the administrator or issuer terminal lists and authenticates the list of revocation information held by the terminal owned by the participant. Compare with the list of revoked information held by the other party, and if there is revoked information that is not included in one list, add the revoked person list to the list of the revoked person information. Is matched for all group members.

(11−3)失効者の除外
管理者又は発行者の端末は、前記の「7.グループメンバ間の認証」の際に、自分が保持する失効者情報のリストに認証相手を特定する情報が含まれているかどうかを確認し、含まれている場合はその相手とのグループメンバとしての認証を拒否する。例えば、ユーザの公開鍵を失効者情報として用いる場合は、認証相手の公開鍵がリストに含まれる失効者情報のいずれかと一致すれば、この相手との認証は拒否する。
(11-3) Exclusion of revoker When the administrator or issuer terminal performs the above-mentioned “7. Authentication between group members”, the information specifying the authentication partner is included in the list of revoked person information held by the administrator or issuer. If it is included, authentication as a group member with the other party is rejected. For example, when a user's public key is used as revoker information, if the authentication partner's public key matches any of the revoker information included in the list, authentication with the other party is rejected.

(11−4)失効者の参加資格更新の拒否
管理者又は発行者の端末は、前記の「9.グループ参加証の更新」の際に、参加証の更新を依頼した参加者が、失効者情報のリストに含まれているかどうかを確認し、一致するものがある場合は、参加証の更新を拒否する。
なお、失効者情報にその消去不可期限を含めておいて、消去不可期限を越えた失効者情報については削除が可能とすることについては、上記の実施の形態1と同様である。
(11-4) Refusal of renewal of participation qualification of revoked person The administrator or the issuer's terminal determines that the participant who requested the renewal of the participation certificate at the time of “9. Check whether it is included in the list of information, and if there is a match, refuse to update the participation certificate.
It is to be noted that, in the same manner as in the first embodiment, it is possible to delete the revoked person information that has exceeded the non-erasable period by including the non-erasable period in the revoked person information.

また、上記の実施の形態1と同様、失効者情報の作成はグループ発行者のみが行い、グループ発行者が自分の秘密鍵を用いて暗号化した状態で共有することとしてもよい。グループメンバは、失効者情報とそれを発行したグループ発行者の参加証発行許可証を同時に入手することにより、この参加証発行許可証に含まれるグループ発行者の公開鍵を用いて失効者情報を復号することが可能であり、この失効者情報が不正に改竄されていないことの確認が可能となる。これにより、悪意を持つユーザにより作成された不正な失効者情報が共有されることを防ぐことができる。   Further, as in the first embodiment, the revoker information may be created only by the group issuer, and the group issuer may share the encrypted information using his / her private key. The group member obtains the revoker information by using the public key of the group issuer included in the participation certificate issuance certificate by simultaneously obtaining the revoker information and the participation certificate issuance permit of the group issuer who issued it. Decryption is possible, and it is possible to confirm that this revoked person information has not been tampered with. As a result, it is possible to prevent unauthorized revoker information created by a malicious user from being shared.

次に、上記の失効者情報を利用したグループメンバを削除する方法について、詳細に説明する。ここでは、失効者情報の具体例として、グループから削除されたメンバの情報をリストアップした「失効者リスト」を使用することとする。   Next, a method for deleting a group member using the revoker information will be described in detail. Here, as a specific example of the revoked person information, a “revoked person list” in which information of members deleted from the group is listed is used.

図8は、グループ発行者によって作成される失効者リストのフォーマット例である。この失効者リストにおける各フィールドには、以下のデータが格納される。   FIG. 8 is a format example of a revoker list created by the group issuer. The following data is stored in each field in the revoker list.

(1)失効者リストID
失効者リストを一意に指定するための識別子を表す。
(2)発効日
失効者リストが作成された日時を表す。
(3)有効期限
失効者リストを保持していなければならない期限を表す。
(4)作成者ID
失効者リストを作成した発行者を一意に特定するための識別子を表す。例えば、発行者の公開鍵等をIDとして利用する。
グループ内に複数の発行者が存在する場合、どの発行者が発行した失効者リストであるかを識別するために参照されるフィールドである。
(5)失効者リスト
グループから削除された参加者のIDのリストを表す。
(6)失効者ID
グループから削除された参加者を一意に特定するための識別子を表す。削除対象の参加者の公開鍵などをIDとして利用する。なお、このIDは、前述のグループ参加証含まれていることとする。
(7)参加証発行許可証
失効者リストを作成した発行者の端末が保持する参加証発行許可証である。
(8)署名
(1) Revocation list ID
Represents an identifier for uniquely specifying the revocation list.
(2) Effective date Indicates the date and time when the revocation list was created.
(3) Expiration date Indicates the expiration date for which the revocation list must be maintained.
(4) Creator ID
Represents an identifier for uniquely identifying the issuer who created the revocation list. For example, the issuer's public key is used as the ID.
When there are a plurality of issuers in the group, this field is referenced to identify which issuer has issued a revocation list.
(5) Revoker List This represents a list of participant IDs deleted from the group.
(6) Revoker ID
An identifier for uniquely identifying a participant deleted from the group. The public key of the participant to be deleted is used as the ID. This ID is included in the group participation certificate described above.
(7) Participation certificate issuance permit This is a participation certificate issuance permit held by the terminal of the issuer who created the revocation list.
(8) Signature

失効者リストを作成した発行者の秘密鍵による署名を表す。発行者以外が失効者リストを作成できないことを保証する。
発行者により作成された失効者リストの配布方法は、前述した管理者により作成された失効者リストの配布方法と同一であるので、詳細についてはは省略する。
二人の参加者Xと参加者Yのそれぞれの端末Xと端末Y間における失効者リストの同期方法については、上記実施の形態1の場合と同一であるため、ここでの説明は省略する。
Represents the signature by the private key of the issuer who created the revocation list. Ensure that only the issuer can create a revocation list.
Since the method for distributing the revocation list created by the issuer is the same as the method for distributing the revocation list created by the administrator, the details are omitted.
The method of synchronizing the revoked person list between the terminals X and Y of the two participants X and Y is the same as in the case of the first embodiment, and the description thereof is omitted here.

また、この方式では、管理者若しくは発行者以外から失効者リストを取得しているため、取得した失効者リストが正当なものか否かについて、検証する必要がある。   In this method, since the revoked person list is acquired from a person other than the administrator or the issuer, it is necessary to verify whether or not the acquired revoker list is valid.

発行者によって作成された失効者リストの有効性の確認は、次の2つの手段で実行することによって可能である。
1.グループ公開鍵による失効者リスト内の参加証発行許可証の検証
2.失効者リスト内の参加証発行許可証に含まれる発行者の公開鍵による失効者リストの署名確認。
The validity of the revoker list created by the issuer can be confirmed by executing the following two means.
1. 1. Verification of participation certificate issuance permit in the revoker list by group public key Confirm signature of revocation list by the public key of the issuer included in the participation certificate issuance permit in the revocation list.

上記「1.」では、失効者リストの作成者が正当な発行者であることを確認し、上記「2.」では、失効者リストそのものが正当な発行者自身によって作成されたものであることを確認する。
正当性が確認された失効者リストは、有効期限が切れるまで、各メンバの端末に保持される。ただし、生成者IDが同じである失効者リストが複数ある場合には、発行日が最新であるものを除き、同じ生成者IDを持つ失効者リストは破棄しても構わない。
In “1.” above, it is confirmed that the creator of the revoker list is a valid issuer. In “2.” above, the revoker list itself is created by the valid issuer itself. Confirm.
The revoked person list whose validity has been confirmed is held in each member's terminal until the expiration date expires. However, when there are a plurality of revoker lists having the same generator ID, the revoker list having the same generator ID may be discarded except for the latest issue date.

つまり、グループに複数の発行者が存在する場合、各グループのメンバは、その者の数だけ失効者リストを保持する必要があるが、同じ発行者が発行する失効者リストに関しては、最新のもののみを保持すればよい。   In other words, if there are multiple issuers in a group, each group member must maintain the number of revoker lists for that number of members, but the list of revokers issued by the same issuer is the latest. Only hold.

12.グループ公開鍵の更新
何らかの事故により、グループ秘密鍵KG_Sがグループ管理者以外のユーザに漏洩した場合に、このグループ秘密鍵を入手したユーザは、不正にグループ参加証発行許可証を発行することが可能となり、ひいてはグループ参加証を不正に発行することが可能となる。このとき、グループメンバは、不正なグループ参加証発行許可証によって発行された参加証か正規の参加証かを判別することはできない。このような場合には、グループ公開鍵・秘密鍵のペアを更新する以外に、不正な参加証の発行を防ぐ方法はない。一方、グループ管理者がグループ公開鍵・秘密鍵を(KG_P・KG_S)から(KG_P'・KG_S')に更新したとしても、従来のグループ公開鍵KG_Pとそれに基づいて作成されたグループ参加証を保持するグループメンバ同士では、上記の「6.グループメンバ間の認証」は可能なままなので、グループメンバは常に最新のグループ公開鍵を保持しておく必要があると同時に、最新のグループ公開鍵に対応したグループ参加証を入手する必要がある。これに加え、発行者は、最新のグループ公開鍵に対応したグループ参加証発行許可証を入手する必要がある。
12 Updating the group public key If the group secret key KG_S is leaked to a user other than the group administrator due to some accident, the user who obtained this group secret key can issue a group participation certificate issuance permit As a result, it becomes possible to illegally issue a group participation certificate. At this time, the group member cannot determine whether it is a participation certificate issued by an unauthorized group participation certificate issuance permit or a regular participation certificate. In such a case, there is no way to prevent the issuance of unauthorized participation certificates other than updating the group public / private key pair. On the other hand, even if the group administrator updates the group public key / private key from (KG_P · KG_S) to (KG_P ′ · KG_S ′), the conventional group public key KG_P and the group participation certificate created based thereon are retained. Since the above-mentioned “6. Authentication between group members” remains possible, the group members need to keep the latest group public key at the same time and support the latest group public key. It is necessary to obtain a group participation certificate. In addition to this, the issuer needs to obtain a group participation certificate issuance permit corresponding to the latest group public key.

最新のグループ公開鍵の保持は、上記実施の形態1と同様、次のいずれかのような方法により可能である。
(1)グループ管理者がグループ公開鍵・秘密鍵を更新した時点で、上記図30に例示したようなP2Pネットワークを介してネットワーク参加者全員に新しいグループ公開鍵を送付する。対応するグループのメンバは、この新しいグループ公開鍵で自分が保持しているグループ公開鍵を置き換える。
The latest group public key can be held by one of the following methods, as in the first embodiment.
(1) When the group administrator updates the group public key / private key, a new group public key is sent to all the network participants via the P2P network illustrated in FIG. The corresponding group member replaces the group public key held by the new group public key.

(2)上記「2.グループの告知」で告知されるグループ情報に、グループ公開鍵の更新時刻に関する情報も含めておき、各グループメンバは、グループ公開鍵に加えてこのグループ公開鍵の更新時刻に関する情報も保持しておく。そして、上記「6.グループメンバ間の認証」の際には、双方が保持するグループ公開鍵とその更新時刻についてそれぞれ比較を行い、新しい方のグループ公開鍵で古い方のグループ公開鍵を置き換える。 (2) Information related to the update time of the group public key is included in the group information notified in the above “2. Notification of group”, and each group member can update the update time of the group public key in addition to the group public key. Also keep information about. In the case of “6. Authentication between group members”, the group public key held by both parties is compared with the update time, and the old group public key is replaced with the new group public key.

(3)上記「2.グループの告知」の(4)におけるグループ情報インデックスサーバを運営している場合には、グループ情報に(1)同様、グループ公開鍵の更新時刻に関する情報も含めておき、グループメンバはオンライン状態になった時、一定時間おき、あるいはグループ認証を行う直前などのタイミングで、前記グループ情報インデックスサーバにアクセスして当該グループの最新のグループ公開鍵を入手する。 (3) When operating the group information index server in (4) of “2. Notice of group” above, information on the update time of the group public key is included in the group information as in (1). A group member accesses the group information index server and obtains the latest group public key of the group at a certain time when it comes online or at a timing just before performing group authentication.

最新のグループ公開鍵に対応したグループ参加証発行許可証を入手するには、グループ公開鍵の更新を検出した時点でグループ参加証発行許可証の再発行依頼を実行すればよい。また、最新のグループ公開鍵に対応したグループ参加証を入手するには、グループ公開鍵の更新を検出した時点で参加証の再発行依頼を実行すればよい。   In order to obtain a group participation certificate issuance permit corresponding to the latest group public key, a reissue request for the group participation certificate issuance may be executed when the update of the group public key is detected. Further, in order to obtain a group participation certificate corresponding to the latest group public key, a reissue request for the participation certificate may be executed when the update of the group public key is detected.

次に、以上のように構成される通信システム200(図示せず)の動作について説明する。図9は、上記「3.グループ発行者の追加」の処理の流れを示すフローチャートである。図9では、グループ管理者Aの端末Aと発行者候補Bの端末Bにおいて実行される、それぞれの処理内容が示されている。ここで、グループ管理者から発グループ発行者の候補として選択されたユーザを「発行者候補」という。
図10は、上記図9の処理が終了した後に、端末Bに保持される情報を示している。
Next, the operation of the communication system 200 (not shown) configured as described above will be described. FIG. 9 is a flowchart showing the process flow of “3. Add group issuer”. FIG. 9 shows the contents of each processing executed on the terminal A of the group manager A and the terminal B of the issuer candidate B. Here, a user selected by the group manager as a candidate for the originating group issuer is referred to as an “issuer candidate”.
FIG. 10 shows information held in the terminal B after the process of FIG. 9 is completed.

事前に、グループ管理者Aの端末Aは、グループ管理者Aの指示により、グループの公開鍵KG_P・秘密鍵KG_Sのペアを作成し、このうちグループ公開鍵KG_Pについては公開を行う(S501)。   In advance, the terminal A of the group manager A creates a group public key KG_P / private key KG_S pair according to an instruction from the group manager A, and the group public key KG_P is made public (S501).

同じく事前に、発行者候補Bの端末Bは、発行者候補Bの指示により、公開鍵KB_P・秘密鍵KB_Sのペアを作成する(S502)。これは端末Bが指定した情報(パスフレーズ)に基づいて生成してもよいし、プログラムまたは端末Bが備える機能に基づいて生成(例えば、乱数に基づいて生成)してもよい。   Similarly, terminal B of issuer candidate B creates a public key KB_P / private key KB_S pair in accordance with instructions from issuer candidate B (S502). This may be generated based on information (passphrase) designated by the terminal B, or may be generated based on a program or a function included in the terminal B (for example, generated based on a random number).

端末Aは、管理者Aの指示により、追加するグループ発行者としてユーザ端末Bを選択し、端末Bのエントリポイント情報を特定する(S503)。それは、例えば次のような方法で行う。   The terminal A selects the user terminal B as a group issuer to be added according to an instruction from the administrator A, and specifies entry point information of the terminal B (S503). For example, the following method is used.

(1)端末Aは、上記図30で示されるP2Pネットワークの情報検索の仕組みを用いて、当該グループに参加しているユーザを検索する。この検索に応答したユーザは、その端末を介して、端末Aに自分を特定する情報と自分のエントリポイント情報とを返信する。これにより、端末Aは、受信した情報から、適切と判断するユーザBを選択する。 (1) The terminal A searches for users participating in the group using the information search mechanism of the P2P network shown in FIG. The user who responds to this search returns information identifying himself / herself and his / her entry point information to terminal A via the terminal. Thereby, the terminal A selects the user B judged to be appropriate from the received information.

(2)さらに、端末Aは、電子メールなどP2Pネットワーク以外の手段を含む何らかの手段で、発行者候補Bの端末Bに対して、グループ発行者候補と決定した旨の通知を行う。端末Bは、このグループ発行者に係る依頼を受け入れる場合は、端末Aに対して自分のエントリポイント情報を返信する。 (2) Furthermore, the terminal A notifies the issuer candidate B's terminal B that it has been determined as a group issuer candidate by some means including means other than the P2P network such as e-mail. When the terminal B accepts the request relating to this group issuer, it returns its entry point information to the terminal A.

次に、端末Aは、端末Bに対して、発行者候補Bの公開鍵を送信するよう要求する(S504)。これにより、端末Bは、端末Aに対して発行者候補Bの公開鍵KB_Pを送信する(S505)。   Next, the terminal A requests the terminal B to transmit the issuer candidate B's public key (S504). Thereby, the terminal B transmits the public key KB_P of the issuer candidate B to the terminal A (S505).

さらに、端末Aは、発行者候補Bの公開鍵KB_Pに有効期限情報T_Bを添付したものをグループの秘密鍵で暗号化してグループ参加証発行許可証I_B=e(KB_P+T_B,KG_S)を作成し、端末Bに送信する(S506)。   Further, the terminal A creates a group participation certificate issuance permit I_B = e (KB_P + T_B, KG_S) by encrypting the public key KB_P of the issuer candidate B with the expiration date information T_B attached thereto with the group private key. It transmits to the terminal B (S506).

端末Bは、端末Aからグループ参加証発行許可証I_Bを受け取る(S507)。
以上の処理により、端末Bは、他ユーザに対してグループ参加証を発行することが可能になる。なお、上記処理が完了した時点における端末Bに保持される情報(即ち、3種類の鍵情報および参加証発行許可証)を図10に示す。
Terminal B receives group participation certificate issuance permit I_B from terminal A (S507).
Through the above processing, terminal B can issue a group participation certificate to other users. FIG. 10 shows information (ie, three types of key information and a participation certificate issuance permit) held in the terminal B when the above processing is completed.

なお、本実施の形態では、図9に示すように、端末Aが端末Bに対し、上記グループ発行者に係る依頼をすることとしているが(S503)、逆に端末Bの方から端末Aにグループ発行者の権限を付与することを要求し、端末Aがそれを承認する形で処理を進めてもよい。   In this embodiment, as shown in FIG. 9, terminal A makes a request for the above group issuer to terminal B (S503). Conversely, from terminal B to terminal A, It may be requested to grant the authority of the group issuer, and the process may proceed in such a manner that terminal A approves it.

次に、上記「6.グループへの新規加入依頼」処理について、図11を参照しながら詳細に説明する。図11は、グループへの新規加入を依頼する加入依頼者Xとの端末とグループ発行者Bの端末Bで実行される、それぞれの処理の流れを示したフローチャートである。図12は、グループへの新規加入依頼処理が終了した時点における、端末Xが保持する情報を表している。なお、端末Bは、上記図10に示す情報を保持しているものとする。   Next, the above “6. Request for new subscription to group” process will be described in detail with reference to FIG. FIG. 11 is a flowchart showing the flow of each process executed at the terminal of the subscription requester X requesting a new subscription to the group and the terminal B of the group issuer B. FIG. 12 shows the information held by the terminal X at the time when the new membership request processing for the group is completed. Terminal B is assumed to hold the information shown in FIG.

最初に、端末Xは、参加を所望するグループの公開鍵KG_Pを入手すると共に(前記「4.グループ情報の取得」を参照)、グループ発行者Bの端末Bを特定する(S701)(前記「5.エントリポイント情報の取得」を参照)。   First, the terminal X obtains the public key KG_P of the group desired to participate (see “4. Acquisition of group information”) and specifies the terminal B of the group issuer B (S701) (see “ (See 5. Obtaining Entry Point Information).

次に、端末Xは、加入依頼者Xの指示により、任意の文字列Sを作成し、端末Bに送信してグループへの新規加入を依頼する(S702)。この文字列Sは、加入依頼者Xによって入力された文字列そのものであってもよいし、プログラムまたは端末Xの機能に基づいて生成した文字列(例えば、乱数に基づいて生成した文字列)であってもよい。   Next, the terminal X creates an arbitrary character string S according to an instruction from the subscription requester X and transmits it to the terminal B to request a new subscription to the group (S702). This character string S may be the character string itself input by the subscription requester X, or a character string generated based on the function of the program or the terminal X (for example, a character string generated based on a random number). There may be.

端末Bは、文字列Sを発行者Bの秘密鍵KB_Sで暗号化した文字列S'=e(S,KB_S)とグループ参加証発行許可証I_Bを端末Xに送信する(S703)。
これにより、端末Xは、参加証発行許可証I_Bをグループ公開鍵KG_Pで復号し、発行者Bの公開鍵KB_Pと有効期限T_Bとを得る(S704)。
The terminal B transmits the character string S ′ = e (S, KB_S) obtained by encrypting the character string S with the secret key KB_S of the issuer B and the group participation certificate issuance permit I_B to the terminal X (S703).
Thereby, the terminal X decrypts the participation certificate issuance permit I_B with the group public key KG_P, and obtains the public key KB_P of the issuer B and the expiration date T_B (S704).

さらに、端末Xは、参加証発行許可証I_Bがグループ公開鍵KG_Pにより正常に復号され、有効期限T_Xが有効か否かについて確認する。もし、正常に復号されないか有効期限を徒過している場合は、端末Bが保持する参加証発行許可証I_Bがグループ管理者のグループ秘密鍵KG_Sで暗号化したものであること、即ち、端末Bがグループ発行者Bの端末であることが確認できないので、加入依頼者Xについてはグループへの新規加入をしないまま、本処理を終了する。   Furthermore, the terminal X confirms whether or not the participation certificate issuance permit I_B is normally decrypted with the group public key KG_P and the expiration date T_X is valid. If decryption is not successful or the expiration date has passed, the participation certificate issuance permit I_B held by the terminal B is encrypted with the group secret key KG_S of the group administrator, that is, the terminal Since it is not possible to confirm that B is the terminal of the group issuer B, this processing is terminated without newly joining the group for the requester X.

次いで、端末Xは、暗号化された文字列S'を加入依頼者Bの公開鍵KB_Pで復号する(S706)。
さらに、端末Xは、上記文字列S'がグループ公開鍵KB_Pにより正常に復号され、かつその結果が元の文字列Sに等しいか否かについて確認する(S707)。これにより、上記文字列S'が、発行者Bの公開鍵KB_Pに対応する秘密鍵KB_Sによって暗号化されたこと、即ち、端末Bが確かに秘密鍵KB_Sを保持するグループ管理者Bの端末であることが確認できる。もし、復号が失敗あるいは復号結果が文字列Sに等しくない場合は(S707:No)、端末Bがグループ発行者Bの端末であることが確認できないので、加入依頼者Xについてはグループへの新規加入をしないまま、本処理を終了する。
Next, the terminal X decrypts the encrypted character string S ′ with the public key KB_P of the requester B (S706).
Further, the terminal X confirms whether or not the character string S ′ is normally decrypted with the group public key KB_P and the result is equal to the original character string S (S707). As a result, the character string S ′ is encrypted with the secret key KB_S corresponding to the public key KB_P of the issuer B, that is, the terminal of the group manager B that the terminal B surely holds the secret key KB_S. It can be confirmed that there is. If the decryption fails or the decryption result is not equal to the character string S (S707: No), it cannot be confirmed that the terminal B is the terminal of the group issuer B. This process is terminated without joining.

一方、復号が成功し復号結果が文字列Sに等しい場合(S707:Yes)、端末Xは、端末Bに加入依頼者Xの公開鍵KX_Pを送信する(S708)。
すると、端末Bは、加入依頼者Xのグループ参加証C_Xを作成し、端末Xに送付する(S709)。この参加証は、加入依頼者Xの公開鍵KX_Pに参加証の効果が消滅する日時を表した有効期限T_Xを添付したもの(KX_P+T_X)を発行者Bの秘密鍵KB_Sで暗号化して作成したものであり、
C_X=e(KX_P+T_X,KB_S)
と表せる。加入依頼者Xの公開鍵KX_Pに有効期限T_Xを添付する方法としては、復号前に分離不可能であり、復号によってそれぞれを分離することが可能であればどのような方法であってもよい。例えば、上記公開鍵KX_P、有効期限T_Xをそれぞれ文字列表現したものを所定の記号文字(例えば、ハイフン"−")を介して結合したものなどが考えられる。
On the other hand, when the decryption is successful and the decryption result is equal to the character string S (S707: Yes), the terminal X transmits the public key KX_P of the subscription requester X to the terminal B (S708).
Then, the terminal B creates a group participation certificate C_X of the subscription requester X and sends it to the terminal X (S709). This participation certificate is created by encrypting the public key KX_P of the requester X with an expiration date T_X indicating the date and time when the effect of the participation certificate disappears (KX_P + T_X) with the secret key KB_S of the issuer B And
C_X = e (KX_P + T_X, KB_S)
It can be expressed. As a method of attaching the expiration date T_X to the public key KX_P of the requester X, any method may be used as long as it cannot be separated before decryption and can be separated by decryption. For example, a combination of the public key KX_P and the expiration date T_X represented as character strings via a predetermined symbol character (for example, a hyphen “-”) may be considered.

最後に、端末Xは、端末Bからグループ参加証C_Xを受け取り、加入依頼者Xのグループへの新規加入処理が完了する(S710)。グループへの新規加入が完了した時点で端末Xが保持する情報を図12に示す。   Finally, the terminal X receives the group participation certificate C_X from the terminal B, and the new joining process for the subscription requester X to the group is completed (S710). FIG. 12 shows information held by the terminal X when the new membership to the group is completed.

なお、本実施の形態では、加入依頼者Xの公開鍵KX_Pを端末Bに対して送信することとしているが(S708)、それ以前の参加証発行依頼を行う際に(S702)送信してもよい。   In the present embodiment, the public key KX_P of the subscription requester X is transmitted to the terminal B (S708). However, even when a previous participation certificate issuance request is made (S702), it is transmitted. Good.

また、上記実施の形態1におけるグループへの新規加入依頼同様、加入依頼者Xが端末Bに対して自身を特定できる情報も加えて送信し(上記図4のS105)、端末Bはその個人を特定できる情報に基づいて加入依頼者Xを加入させるかどうかを判断し、加入させない場合は加入依頼者Xを加入させることなく処理を終了することとしてもよい。   Similarly to the request for new subscription to the group in the first embodiment, the requester X also transmits information that can identify itself to the terminal B (S105 in FIG. 4). Whether or not the subscription requester X is to be subscribed is determined based on the identifiable information. If the subscription requester X is not to be subscribed, the processing may be terminated without joining the subscription requester X.

次に、前記「7.グループメンバ間の認証」処理について、図14を参照しながら詳細に説明する。図14は、グループ参加証を既に入手した二人のグループ参加者Xの端末Xとグループ参加者Yの端末Yで実行される、それぞれの処理の流れを示したフローチャートである。なお、端末Xと端末Yは、それぞれ図12と図13に示す情報を保持しているものとする。   Next, the “7. Authentication between group members” process will be described in detail with reference to FIG. FIG. 14 is a flowchart showing the flow of each process executed by the terminal X of the two group participants X and the terminal Y of the group participant Y who have already obtained the group participation certificate. Note that terminal X and terminal Y hold the information shown in FIGS. 12 and 13, respectively.

なお、上記実施の形態1における図6と同様の処理については、その説明は省略することとする。
端末Xは、端末Yから文字列Sを受信すると、参加者Xの秘密鍵KX_Sで文字列Sを暗号化した文字列S'=e(S,KX_S)を作成し、S'、グループ発行者から受け取ったグループ参加証発行証明書I_Bおよびグループ参加証C_Xを端末Yに送信する(S1003)。
Note that the description of the same processing as in FIG. 6 in the first embodiment will be omitted.
When the terminal X receives the character string S from the terminal Y, the terminal X creates a character string S ′ = e (S, KX_S) obtained by encrypting the character string S with the secret key KX_S of the participant X, and S ′, the group issuer The group participation certificate issuance certificate I_B and the group participation certificate C_X received from the terminal Y are transmitted to the terminal Y (S1003).

これにより、端末Yは、グループ参加証発行証明書I_Bをグループ公開鍵KG_Pで復号し、グループ発行者の公開鍵KB_Pおよびグループ参加証発行証明書の有効期限T_Bを得る(S1004)。   Thereby, the terminal Y decrypts the group participation certificate issuance certificate I_B with the group public key KG_P, and obtains the group issuer's public key KB_P and the expiration date T_B of the group participation certificate issuance certificate (S1004).

さらに、端末Yは、復号が成功したか否かおよび得られた有効期限T_Bが有効か否かについて確認する(S1005)。復号が失敗した場合は、グループ参加証発行許可証が正しくグループ秘密鍵KG_Sで暗号化されていないことを意味し、また、有効期限が過ぎていれば、グループ参加証発行許可証が無効であることを意味するので、いずれの場合も(S1005:No)、端末Xはグループに属していないとみなし、本処理を終了する。   Furthermore, the terminal Y confirms whether or not the decoding is successful and whether or not the obtained expiration date T_B is valid (S1005). If decryption fails, it means that the group participation certificate issuance permit is not correctly encrypted with the group secret key KG_S, and if the expiration date has passed, the group participation certificate issuance permit is invalid. Therefore, in any case (S1005: No), the terminal X is regarded as not belonging to the group, and this process is terminated.

復号が成功し、有効期限が徒過していない場合、端末Yは、端末Xのグループ参加証C_Xをグループ発行者の公開鍵KB_Pで復号し、参加者Xの公開鍵KX_Pおよび参加者Xのグループ参加証の有効期限T_Xを得る(S1006)。そして、端末Yは、復号が成功したか否か、および得られた有効期限T_Xを徒過していないか否かについて確認する(S1007)。復号が失敗した場合は、グループ参加証がグループ発行者の秘密鍵KB_Sで暗号化されていないことを意味し、また有効期限が徒過していれば、グループ参加証が無効であることを意味するので、いずれの場合も(S1007:No)、参加者Xはグループに属していないとみなし、本処理を終了する。   When the decryption is successful and the expiration date has not passed, the terminal Y decrypts the group participation certificate C_X of the terminal X with the group issuer's public key KB_P, and the participant X's public key KX_P and the participant X's An expiration date T_X of the group participation certificate is obtained (S1006). Then, the terminal Y confirms whether or not the decoding is successful and whether or not the obtained expiration date T_X is exceeded (S1007). If decryption fails, it means that the group participation certificate is not encrypted with the group issuer's private key KB_S, and if the expiration date has passed, it means that the group participation certificate is invalid. Therefore, in any case (S1007: No), it is considered that the participant X does not belong to the group, and this process is terminated.

次に、端末Yは、暗号化された文字列S'を参加者Xの公開鍵KX_Pで復号する(S1008)。さらに、端末Yは、上記文字列S'の復号が成功したか否かおよび復号結果がSに一致するか否かについて確認する(S1009)。復号が失敗した場合又は復号結果がSに一致しない場合(S1009:No)、端末Yは、参加者Xが公開鍵KX_Pに対応する秘密鍵KX_Sを持っていないことを意味するので、参加者Xは第三者の成りすましの可能性があるとみなし、本処理を終了する。   Next, the terminal Y decrypts the encrypted character string S ′ with the public key KX_P of the participant X (S1008). Furthermore, the terminal Y checks whether or not the character string S ′ has been successfully decoded and whether or not the decoding result matches S (S1009). If the decryption fails or the decryption result does not match S (S1009: No), the terminal Y means that the participant X does not have the secret key KX_S corresponding to the public key KX_P. Considers that there is a possibility of impersonation by a third party, and ends this processing.

以上の処理により、端末Yは、以下のことを全て確認した場合は、端末Xをグループの参加者であると認証する(S1010)。
(1)グループ参加証の有効期限は切れていない。
(2)Xはグループ参加証に暗号化されていた公開鍵KX_Pに対応する秘密鍵KX_Sを保持している。
(3)グループ参加証を発行したグループ発行者のグループ参加証発行証明書の有効期限は切れていない。
(4)グループ参加証を発行したグループ発行者は、グループ参加証発行証明書に暗号化されていた公開鍵KB_Pに対応する秘密鍵KB_Sを保持している。
(5)グループ参加証発行証明書は、グループ管理者によってグループ秘密鍵KG_Sによって暗号化されたものである。
Through the above processing, if the terminal Y confirms all of the following, it authenticates the terminal X as a group participant (S1010).
(1) The group participation certificate has not expired.
(2) X holds a secret key KX_S corresponding to the public key KX_P encrypted in the group participation certificate.
(3) The group issuer certificate issued by the group issuer who has issued the group participation certificate has not expired.
(4) The group issuer who has issued the group participation certificate holds the secret key KB_S corresponding to the public key KB_P encrypted in the group participation certificate issuance certificate.
(5) The group participation certificate issuance certificate is encrypted with the group secret key KG_S by the group administrator.

さらに、端末Xと端末Yは、以上の処理(S1001〜S1010)を、立場を入れ替えて実行する。この処理が成功すれば、端末Xは端末Yをグループ参加者であると認定し、相互の認定が完了する。   Furthermore, the terminal X and the terminal Y execute the above processes (S1001 to S1010) by switching their positions. If this process is successful, terminal X recognizes terminal Y as a group participant, and mutual recognition is completed.

次に、前記「9.グループ参加証の更新」処理について、図15を参照しながら詳細に説明する。図15は、グループ参加証の更新を依頼する参加証更新依頼者Xの端末Xとグループ発行者Bの端末Bで実行される、それぞれの処理の流れを示したフローチャートである。なお、図16は、グループ参加証の更新処理が終了した時点における、端末Xが保持する情報を表している。また、端末Xは、事前に図12に示す情報を、端末Bは図10に示す情報を保持しているものとする。   Next, the “9. Update of group participation certificate” process will be described in detail with reference to FIG. FIG. 15 is a flowchart showing the flow of processing executed by the terminal X of the participation certificate renewal requester X who requests the renewal of the group participation certificate and the terminal B of the group issuer B. FIG. 16 illustrates information held by the terminal X at the time when the group participation certificate update process is completed. Further, it is assumed that the terminal X holds information shown in FIG. 12 in advance, and the terminal B holds information shown in FIG.

以下の説明において、前記図11における処理と同様の処理については説明を省略することとする。   In the following description, description of processing similar to that in FIG. 11 is omitted.

最初に、端末Xは、グループ発行者Bの端末Bを特定する(S1101)(前記「5.エントリポイント情報の取得」を参照)。なお、ここではグループ発行者として発行者Bを特定したが、同じグループのグループ発行者であれば誰であっても以降の処理は成立する。   First, the terminal X specifies the terminal B of the group issuer B (S1101) (see “5. Acquisition of entry point information”). Here, although issuer B is specified as the group issuer, the subsequent processing is established for any group issuer of the same group.

次に、端末Xは、参加証更新依頼者Xの指示により、前記図11の場合と同様に、任意の文字列Sを作成し、端末Bに送信して参加証の更新を依頼する(S1102)。
端末Bは、端末Xから参加証更新依頼者Xの公開鍵KX_Pを受信すると(S1108)、参加証更新依頼者Xの新たなグループ参加証を作成し、端末Xに送付する(S1109)。即ち、参加証更新依頼者Xの公開鍵KX_Pに新たな有効期限T_X'を添付したものを端末Bの秘密鍵KB_Sで暗号化して作成したC_X'=e(KX_P+T_X',KB_S)が新たなグループ参加証となる。
Next, as in the case of FIG. 11, the terminal X creates an arbitrary character string S according to the instruction from the participant certificate update requester X and transmits it to the terminal B to request an update of the participation certificate (S1102). ).
Upon receiving the public key KX_P of the participation certificate update requester X from the terminal X (S1108), the terminal B creates a new group participation certificate for the participation certificate update requester X and sends it to the terminal X (S1109). That is, C_X ′ = e (KX_P + T_X ′, KB_S), which is created by encrypting the public key KX_P of the participation certificate renewal requester X attached with the new expiration date T_X ′ with the secret key KB_S of the terminal B, is a new group. It becomes a participation certificate.

これにより、端末Xは、更新されたグループ参加証C_X'を受け取り、グループ参加証の更新処理が完了する(S1110)。グループ参加証の更新処理が完了した時点で端末Xが保持する情報を図16に示す。   Thereby, the terminal X receives the updated group participation certificate C_X ′, and the update process of the group participation certificate is completed (S1110). FIG. 16 shows information held by the terminal X when the group participation certificate update process is completed.

次に、前記「10.グループ参加証発行許可証の更新」処理について、図17を参照しながら詳細に説明する。図17は、グループ参加証発行許可証の更新を依頼するグループ発行者Bの端末Bとグループ管理者Aでの端末Aで実行される、それぞれの処理の流れを示したフローチャートである。なお、図18は、グループ参加証発行許可証の更新が終了した時点における、端末Bが保持する情報を表している。   Next, the “10. Update of group participation certificate issuance permit” process will be described in detail with reference to FIG. FIG. 17 is a flowchart showing the flow of each process executed on the terminal B of the group issuer B and the terminal A of the group manager A who requests updating of the group participation certificate issuance permit. FIG. 18 shows information held by the terminal B when the update of the group participation certificate issuance permit is completed.

最初に、グループ発行者Bの端末Bは、グループ管理者Aを特定する(S1301)。この特定は、上記実施の形態1における「4.エントリポイント情報の取得」と同様の方法で行う。   First, the terminal B of the group issuer B specifies the group manager A (S1301). This specification is performed by the same method as “4. Acquisition of entry point information” in the first embodiment.

次に、端末Bは、前記と同様に、任意の文字列Sを作成し、端末Aに送付して参加証発行許可証の更新を依頼する(S1302)。
これにより、端末Aは、文字列Sをグループ秘密鍵KG_Sで暗号化して文字列S'=e(S,KG_S)を作成し、端末Bへ送信する(S1303)。
すると、端末Bは、暗号化された文字列S'をグループ公開鍵KG_Pで復号する(S1304)。さらに、端末Bは、その文字列S'がグループ公開鍵KG_Pにより正常に復号され、かつその結果が元の文字列Sに等しいことを確認する。これにより、文字列S'がグループ公開鍵KG_Pに対応する秘密鍵KG_Sによって暗号化されたこと、即ち、管理者Aが確かにグループ秘密鍵KG_Sを保持するグループ管理者であることが確認できる。復号が失敗あるいは復号結果が文字列Sに等しくない場合は(S1305:No)、管理者Aがグループ管理者であることが確認できないので、端末Bは、グループ参加証発行許可証を更新することなく、本処理を終了する。
Next, similarly to the above, the terminal B creates an arbitrary character string S and sends it to the terminal A to request an update of the participation certificate issuance permit (S1302).
Thereby, the terminal A encrypts the character string S with the group secret key KG_S to create a character string S ′ = e (S, KG_S), and transmits it to the terminal B (S1303).
Then, the terminal B decrypts the encrypted character string S ′ with the group public key KG_P (S1304). Furthermore, the terminal B confirms that the character string S ′ is normally decrypted with the group public key KG_P and the result is equal to the original character string S. Thereby, it can be confirmed that the character string S ′ is encrypted by the secret key KG_S corresponding to the group public key KG_P, that is, the administrator A is indeed the group administrator who holds the group secret key KG_S. If the decryption fails or the decryption result is not equal to the character string S (S1305: No), since it is not possible to confirm that the administrator A is a group administrator, the terminal B updates the group participation certificate issuance permit. This process is terminated.

復号が成功し、復号結果が文字列Sに等しい場合(S1305:Yes)、端末Bは、端末Aに発行者Bのグループ参加証発行許可証I_Bを送信する(S1306)。
すると、端末Aは、グループ参加証発行許可証I_Bをグループ公開鍵KG_Pで復号し、発行者Bの公開鍵KB_Pを得る(S1307)。
If the decryption is successful and the decryption result is equal to the character string S (S1305: Yes), the terminal B transmits the group participation certificate issuance permit I_B of the issuer B to the terminal A (S1306).
Then, the terminal A decrypts the group participation certificate issuance permit I_B with the group public key KG_P and obtains the public key KB_P of the issuer B (S1307).

さらに、端末Aは、グループ参加証発行許可証I_Bの復号が成功したか否かについて確認する。復号が成功した場合は(S1308:Yes)、端末Bが保持するグループ参加証発行許可証がグループ秘密鍵KG_Sで暗号化されたものであること、即ち、端末Bが正当なグループ発行者の端末であることが確認できる。復号が失敗した場合は(S1308:No)、端末Bが正当なグループ発行者の端末であることを確認できないので、端末Bのグループ参加証発行許可証は更新されないまま、本処理を終了する。   Further, the terminal A confirms whether or not the decryption of the group participation certificate issuance permit I_B is successful. If the decryption is successful (S1308: Yes), the group participation certificate issuance permit held by the terminal B is encrypted with the group secret key KG_S, that is, the terminal B is a valid group issuer's terminal It can be confirmed that If the decryption fails (S1308: No), since it is not possible to confirm that the terminal B is a valid group issuer's terminal, this process ends without updating the group B certificate of terminal B's group participation certificate.

続いて、端末Aは、発行者Bの公開鍵KB_Pを新たな有効期限T_B'と共にグループ秘密鍵KG_Sで暗号化して更新されたグループ参加証発行許可証I_B'=e(KB_P+T_B',KG_S)を作成し、端末Bに送信する(S1309)。   Subsequently, the terminal A encrypts the public key KB_P of the issuer B together with the new expiration date T_B ′ with the group secret key KG_S and updates the group participation certificate issuance permit I_B ′ = e (KB_P + T_B ′, KG_S). It is created and transmitted to terminal B (S1309).

端末Bは、端末Aから更新されたグループ参加証発行許可証I_B'を受け取る(S1310)。以上のグループ参加証発行許可証の更新処理が終了した時点における端末Bが保持する情報を図18に示す。   The terminal B receives the updated group participation certificate issuance permit I_B ′ from the terminal A (S1310). FIG. 18 shows information held by the terminal B at the time when the above update process of the group participation certificate issuance permit is completed.

なお、上記の「11.グループメンバの削除」処理における失効者情報と同様に、グループ発行者について、失効者情報の作成、共有および削除や参加証発行許可証の更新拒否を行うことで、あるグループ発行者の参加証発行権限について制御することも可能である。   Similar to the revoked person information in the above-mentioned “11. Group member deletion” process, for the group issuer, the revoker information is created, shared and deleted, and the participation certificate issuance permission is refused to be updated. It is also possible to control the group issuer's authority to issue participation certificates.

上記実施の形態2の独自の効果としては、グループ参加証の発行が可能なグループ発行者をグループ管理者のみが必要に応じて設けることにより、秘匿性の高いグループ秘密鍵を複製することなくユーザのグループへの新規加入の機会を増やすことができる点がある。   As a unique effect of the second embodiment, a group issuer who can issue a group participation certificate is provided only by the group administrator as necessary, so that the user can reproduce the highly confidential group secret key without duplication. It is possible to increase the opportunities for new members to join.

なお、上記実施の形態1及び2では、グループ参加証、グループ参加証発行許可証、あるいは失効者リストをグループ管理者あるいはグループ発行者の秘密鍵で暗号化することとしているが、暗号化される内容は公開されている公開鍵および有効期限情報などであり、必ずしも秘匿すべき内容ではないので、暗号化する代わりに前記秘密鍵で署名を行うこととしてもよい。この署名を行うことによっても、上記のグループ参加証等を受信した参加者は、内容の改竄あるいは不正な発行を検出することができるので、本発明の効果には影響がない。   In Embodiments 1 and 2, the group participation certificate, the group participation certificate issuance permit, or the revoker list is encrypted with the group administrator or the group issuer's private key. The contents are a public key and expiration date information that are made public, and are not necessarily concealed contents. Therefore, the signature may be made with the secret key instead of encryption. Also by performing this signature, since the participant who has received the group participation certificate or the like can detect falsification or unauthorized issuance of the contents, the effect of the present invention is not affected.

また、上記実施の形態1および2においては、共に参加証に添付する有効期限は参加証の効果が消滅する日時を示す実施例としたが、参加証には参加証の発行日時を添付しておき、参加証を確認した時の日時と発行日時との差分を算出し、所定の期間(例えば、1ヶ月)を超えていなければ有効期限内であると判断することとしてもよい。   In the first and second embodiments, the expiration date attached to the participation certificate is an example indicating the date and time when the effect of the participation certificate disappears. Alternatively, the difference between the date and time when the participation certificate is confirmed and the issue date and time are calculated, and it may be determined that the expiration date is within a predetermined period (for example, one month).

さらに、有効期限の判定に利用される現在日時は、通常端末のクロックから取得されるが、グループ認証を行う双方の参加者のクロックが大きく乖離していると、正しくグループ認証ができない可能性があるので、双方のクロックが大きくずれた状態でグループ認証処理を行うことは望ましくない。このため、グループ認証を行う前に互いのクロックを比較し、所定の基準より大きくずれている場合には、このずれを検出した参加者から相手側の参加者に対して警告を発してグループ認証を行わないこととする方法、あるいは、どちらか一方のクロックに強制的に他方のクロックを合わせる方法、あるいは双方のクロックの平均値を取って双方ともそれに合わせる方法、などにより対処することが考えられる。   In addition, the current date and time used to determine the expiration date are usually obtained from the clock of the terminal, but if the clocks of both participants performing group authentication are significantly different, group authentication may not be performed correctly. Therefore, it is not desirable to perform the group authentication process in a state where both clocks are greatly shifted. For this reason, the clocks of each other are compared before performing group authentication, and if it deviates more than a predetermined standard, a warning is issued from the participant who detected this deviation to the other participant. It is conceivable to deal with this by a method that does not perform the above, a method that forcibly matches one of the clocks with the other clock, or a method that takes the average value of both clocks and adjusts both of them. .

さらに、上記実施の形態1の前記「7.グループメンバ間の認証」処理および実施の形態2の前記「8.グループメンバ間の情報共有」以外においては、通信路の暗号化について言及していないが、他の処理と同様、情報転送の暗号化処理を施すこととしてもよい。グループメンバ間でやり取りされるグループ参加証やグループ参加証発行許可証などは、それを第三者が入手してもメンバ又はグループ発行者の秘密鍵を入手しない限り、直ちに不正使用をすることはできないため、この暗号化処理は必須ではないが、よりセキュリティを高めるために通信路の暗号化を導入することは可能である。   Further, except for the “7. Authentication between group members” process of the first embodiment and the “8. Information sharing between group members” of the second embodiment, there is no mention of encryption of the communication path. However, as with other processes, the information transfer encryption process may be performed. Even if a group participation certificate or group participation certificate issuance permit exchanged between group members is obtained by a third party, it cannot be used improperly as long as the member or group issuer's private key is not obtained. This encryption process is not essential because it cannot be performed, but it is possible to introduce communication path encryption in order to further enhance security.

さらに、複数のグループ公開鍵・秘密鍵のペアを作成し保持することにより、同一のユーザが複数のグループの管理者となることが可能であるのは言うまでもない。同様に、複数グループのそれぞれの参加証あるいは参加証発行許可証を保持することにより、同一ユーザが複数グループのそれぞれメンバあるいは発行者となることが可能であるし、同一ユーザが複数のグループに対して異なる権限を持つメンバ、すなわち管理者、発行者、一般の参加者のいずれかとして属することも可能である。   Furthermore, it goes without saying that the same user can be an administrator of a plurality of groups by creating and holding a plurality of group public / private key pairs. Similarly, by holding a participation certificate or a participation certificate issuance permit for a plurality of groups, the same user can be a member or an issuer of each of the plurality of groups. It is also possible to belong as a member having different authority, that is, an administrator, an issuer, or a general participant.

(実施の形態3)
本実施の形態では、P2Pネットワーク上で上記のグループを発見するための検索を行う実施例について説明する。この場合、グループのメンバにアクセスするためには、以下に示すような処理が前提又は必要になる。
(1)グループの形成
(2)グループの告知
(3)グループ情報の取得
(4)エントリポイント情報の取得
(5)グループへの新規加入依頼
(6)グループメンバ間の認証
(7)グループメンバ間の情報共有
(8)グループ参加証の更新
(9)グループメンバの削除
(10)グループ管理者の追加
(11)グループ公開鍵の更新
(Embodiment 3)
In the present embodiment, an example of performing a search for finding the above group on the P2P network will be described. In this case, in order to access the members of the group, the following processing is premised or necessary.
(1) Formation of group (2) Notification of group (3) Acquisition of group information (4) Acquisition of entry point information (5) Request for new membership to group (6) Authentication between group members (7) Between group members (8) Update group participation certificate (9) Delete group members (10) Add group manager (11) Update group public key

これらの処理は、上記実施の形態1における処理と同一であるため、その説明は省略する。
上記実施の形態1における「3.グループ情報の取得」の(2)もしくは、前記「4.エントリポイント情報の取得」(1)のように、グループ情報を検索するユーザが、その端末を介して、P2Pネットワークの情報検索の仕組みを用いてグループ情報やエントリポイント情報の検索を行う場合は、そのグループの他のメンバから、その応答として最新のグループ公開鍵を通知を受けることとする。 さらに、検索者は、検索時のメッセージに「グループ公開鍵の通知を希望する旨の依頼」を付加する。グループのメンバはグループ公開鍵の履歴を保存しておき、上記メッセージを受信した場合は、そのメッセージに含まれるグループ公開鍵が、自身のグループ公開鍵の履歴に含まれる場合に、検索の応答として、最新のグループ公開鍵を送信する。エントリポイント情報の検索に対して、最新のグループ公開鍵を通知する方法の詳細については後述する。
Since these processes are the same as those in the first embodiment, description thereof is omitted.
As in (2) of “3. Acquisition of group information” in the first embodiment or “4. Acquisition of entry point information” (1), a user who searches for group information is connected via the terminal. When searching for group information or entry point information using the information search mechanism of the P2P network, the latest group public key is notified as a response from other members of the group. Further, the searcher adds “request for notification of group public key” to the message at the time of search. A member of the group stores the history of the group public key, and when the above message is received, when the group public key included in the message is included in the history of the group public key, Send the latest group public key. Details of the method of notifying the latest group public key for the entry point information search will be described later.

次に、前記「3.グループ情報の取得」において述べた、P2Pネットワークの情報検索の仕組みを用いてグループ情報を取得する処理について、図21を参照しながら詳細に説明する。図21は、グループの検索を行う検索者Xの端末Xとグループ管理者Aの端末Aで実行される、それぞれの処理の流れを示したフローチャートである。なお、図22は、上記のグループ情報の取得処理が終了した時点における端末Xが保持する情報を表している。   Next, the process of acquiring group information using the P2P network information search mechanism described in “3. Acquisition of Group Information” will be described in detail with reference to FIG. FIG. 21 is a flowchart showing the flow of each process executed on the terminal X of the searcher X and the terminal A of the group manager A who search for a group. Note that FIG. 22 illustrates information held by the terminal X at the time when the above group information acquisition processing is completed.

事前に、端末Aは、グループ管理者Aの指示により、グループの公開鍵KG_P・秘密鍵KG_Sのペア、およびグループ情報IGを生成する(S2101)。なお、グループ公開鍵KG_Pおよびグループ情報IGについては公開しておいても構わない。(前記「1.グループの形成」および「2.グループの告知」を参照)。
端末Xは、検索者Xの指示により、検索したいグループの条件CGを作成する(S2102)。この場合の検索用の条件は、グループのカテゴリなどが考えられるが、特に限定するものではない。また、検索条件の記述形式も特に限定するものではない。
In advance, the terminal A generates a group public key KG_P / private key KG_S pair and group information IG according to an instruction from the group manager A (S2101). The group public key KG_P and the group information IG may be disclosed. (Refer to “1. Formation of group” and “2. Notification of group”).
The terminal X creates a condition CG for a group to be searched according to an instruction from the searcher X (S2102). The search condition in this case may be a group category or the like, but is not particularly limited. Further, the description format of the search condition is not particularly limited.

端末Xは、作成されたグループの条件CGを含むグループ検索メッセージMG_Qを生成して送信する(S2103)。このグループ検索メッセージMG_Qは、例えばブロードキャスト、マルチキャスト、P2Pネットワークによるメッセージ伝播などによって送信され得るが、送信方法は特に限定するものではない。   The terminal X generates and transmits a group search message MG_Q including the created group condition CG (S2103). The group search message MG_Q can be transmitted by, for example, broadcast, multicast, message propagation through a P2P network, or the like, but the transmission method is not particularly limited.

これにより、端末Aは、グループ検索メッセージMG_Qを受け取り、このMG_Qに含まれるグループの条件CGと端末A内に記憶されている当該グループのグループ情報IGとを比較し、これらの条件が適合するか否かについて判定する(S2104)。この判定は、プログラムなどによって自動的に判定しても良い。グループの条件CGとグループ情報IGとが適合しない場合(S2104:No)、端末Aは、MG_Qを破棄して処理を終了するか、またはMG_Qを別のユーザに送信して処理を終了する。   Thereby, the terminal A receives the group search message MG_Q, compares the group condition CG included in the MG_Q with the group information IG of the group stored in the terminal A, and whether these conditions are met. It is determined whether or not (S2104). This determination may be made automatically by a program or the like. When the group condition CG and the group information IG do not match (S2104: No), the terminal A discards MG_Q and ends the process, or transmits MG_Q to another user and ends the process.

グループの条件CGとグループ情報IGとが適合する場合(S2104:Yes)、端末Aは、グループ公開鍵KG_Pを含むグループ情報IGからグループ情報応答メッセージMG_Aを作成し、グループ秘密鍵KG_Sを使用して、MG_Aに署名を施した後、端末Xに送信する(S2105)。
端末Xは、端末Aからグループ情報応答メッセージMG_Aを受け取ると、このMG_Aに含まれるグループ公開鍵KG_Pを取得する(S2106)。
If the group condition CG matches the group information IG (S2104: Yes), the terminal A creates a group information response message MG_A from the group information IG including the group public key KG_P, and uses the group secret key KG_S. MG_A is signed, and then transmitted to terminal X (S2105).
Upon receiving the group information response message MG_A from the terminal A, the terminal X acquires the group public key KG_P included in the MG_A (S2106).

さらに、端末Xは、グループ公開鍵KG_Pを使用して、MG_Aの署名の有効性を確認する(S2107)。署名の有効性が確認されない場合は(S2107:No)、MG_Aは第三者によって改竄されている可能性があるために、端末Xは、MG_Aを破棄して処理を終了する。
署名の有効性が確認された場合は(S2107:Yes)、端末Xは、グループ情報応答メッセージMG_Aからグループ情報IGを入手する(S2108)。
Further, the terminal X confirms the validity of the signature of MG_A using the group public key KG_P (S2107). If the validity of the signature is not confirmed (S2107: No), since MG_A may be falsified by a third party, terminal X discards MG_A and ends the process.
When the validity of the signature is confirmed (S2107: Yes), the terminal X obtains the group information IG from the group information response message MG_A (S2108).

このあと、端末Xは、グループ情報IGとグループの条件CGとを比較し、両者が適合するか否かを判定する(S2109)。
適合しないと判定した場合(S2109:No)、端末Xは、グループ情報応答メッセージMG_Aを破棄して、処理を終了する。
After that, the terminal X compares the group information IG with the group condition CG, and determines whether or not they match (S2109).
If it is determined that they do not match (S2109: No), the terminal X discards the group information response message MG_A and ends the process.

一方、適合すると判定した場合(S2109:Yes)、端末Xは、端末Aから受信したグループ情報応答メッセージMG_Aに含まれるグループ情報IGとグループ公開鍵KG_Pを記憶する。なお、必ずしも管理者がメッセージを生成するのではなく、以前に管理者が生成した応答メッセージを別のユーザがキャッシュしておき、応答に使用する実施形態も考えられる。   On the other hand, if it is determined that they match (S2109: Yes), the terminal X stores the group information IG and the group public key KG_P included in the group information response message MG_A received from the terminal A. Note that an embodiment in which the administrator does not necessarily generate a message but another user caches a response message previously generated by the administrator and uses it for the response is also conceivable.

上記の方法を用いることによって、検索者Xは、応答として入手できたグループ情報がグループ公開鍵KG_Pを有するグループの管理者によって作成されたものであることが確認できる。   By using the above method, the searcher X can confirm that the group information obtained as a response is created by the manager of the group having the group public key KG_P.

つまり、グループを一意に特定する識別子として、グループ公開鍵を使用し、グループ情報にグループ秘密鍵による署名を付加することによって、グループの管理者以外が、そのグループに関する情報を詐称することを防止することができる。   In other words, by using a group public key as an identifier for uniquely identifying a group and adding a signature with the group secret key to the group information, information other than the group administrator can be prevented from being spoofed. be able to.

また、仮に他のグループG2の管理者が自己のグループの識別子として、グループG1のグループ公開鍵を使用した場合にも、現状では十分な長さをもつ公開鍵から秘密鍵を計算することは事実上困難であるため、G1のグループ秘密鍵までも詐称することができない。
この方法によって、グループ情報の詐称、グループを一意性の確認の課題を解消することができる。
In addition, even if the administrator of another group G2 uses the group public key of the group G1 as its own group identifier, it is actually the case that the secret key is calculated from the public key having a sufficient length at present. Since it is difficult, even the group secret key of G1 cannot be spoofed.
By this method, it is possible to solve the problems of group information misrepresentation and group uniqueness confirmation.

ただ、グループ公開鍵を安全性の確保のために時折更新する場合には、グループの一意性を確認するための識別子として単一のグループ公開鍵を使用することはできない。この場合には、後述するように、グループの公開鍵の履歴を使用してグループの一意性を確保する必要がある。   However, when the group public key is updated occasionally to ensure security, a single group public key cannot be used as an identifier for confirming the uniqueness of the group. In this case, as described later, it is necessary to ensure the uniqueness of the group using the history of the public key of the group.

次に、前記「4.エントリポイント情報の取得」において述べた、P2Pネットワークの情報検索の仕組みを用いてグループのエントリポイント情報を取得する処理について、図23を参照しながら詳細に説明する。図23は、検索者Xの端末Xとグループ参加者Yの端末Yで実行される、それぞれの処理の流れを示したフローチャートである。なお、図24は、上記のエントリポイント情報の取得処理が終了した時点における端末Xが保持する情報を表している。   Next, the process of acquiring the entry point information of the group using the information search mechanism of the P2P network described in “4. Acquisition of entry point information” will be described in detail with reference to FIG. FIG. 23 is a flowchart showing the flow of each process executed by the terminal X of the searcher X and the terminal Y of the group participant Y. FIG. 24 shows information held by the terminal X at the time when the entry point information acquisition process is completed.

端末Xは、検索者Xの指示により、エントリポイント情報を入手したいグループのグループ公開鍵KG_Pを含むエントリポイント検索メッセージME_Qを生成して、ネットワークに送信する(S2301)。このときの送信方法は、ブロードキャスト、マルチキャスト、ユニキャスト、P2Pネットワークによるメッセージ伝播など様々な方法が考えられるが、特定の送信方法に限定されない。   In response to an instruction from the searcher X, the terminal X generates an entry point search message ME_Q including the group public key KG_P of the group for which entry point information is desired to be transmitted (S2301). Various transmission methods such as broadcast, multicast, unicast, and message propagation through a P2P network can be considered, but the transmission method is not limited to a specific transmission method.

ME_Qを受信した参加者Yの端末Yは、ME_Qに含まれるKG_Pを入手し、Yが参加しているグループの公開鍵KG_P'と比較する(S2302)。
もし、二つの公開鍵が一致しない場合(S2303:No)、端末Yは、ME_Qを破棄して処理を終了するか、もしくは、ME_Qを別のユーザに送信して処理を終了する。
二つの公開鍵が一致する場合(S2303:Yes)、端末Yは、参加者Yの指示により、保持しているグループ参加証C_Yおよび、自身のエントリポイント情報EYを含むエントリポイント検索応答メッセージME_Aを作成する。さらに、端末Yは、上記ME_Aに対して参加者Yの秘密鍵KY_Sで署名を行い、署名されたME_Aを端末Xに送信する(S2304)。
The terminal Y of the participant Y who has received ME_Q obtains KG_P included in ME_Q and compares it with the public key KG_P ′ of the group in which Y participates (S2302).
If the two public keys do not match (S2303: No), the terminal Y discards ME_Q and ends the process, or transmits ME_Q to another user and ends the process.
If the two public keys match (S2303: Yes), the terminal Y sends an entry point search response message ME_A including the held group participation certificate C_Y and its own entry point information EY according to the instruction from the participant Y. create. Furthermore, the terminal Y signs the ME_A with the participant Y's private key KY_S, and transmits the signed ME_A to the terminal X (S2304).

これにより、端末Xは、受信したME_AからC_Yを取得する(S2305)。さらに、端末Xは、グループ公開鍵KG_Pを使用してC_Yの有効性を確認する(S2306)。確認のためには、
(1)KG_Pで正常に復号化できるか、あるいは署名を確認できるか。
(2)有効期限は切れていないか。
の二点によってC_Yの有効性を確認する(S2307)。C_Yの有効性が確認できない場合(S2306:No)、端末Xは、ME_Aを破棄して処理を終了する。
Thereby, the terminal X acquires C_Y from the received ME_A (S2305). Furthermore, the terminal X confirms the validity of C_Y using the group public key KG_P (S2306). For confirmation,
(1) Can KG_P successfully decrypt or check signature?
(2) Has the expiration date expired?
The validity of C_Y is confirmed by these two points (S2307). If the validity of C_Y cannot be confirmed (S2306: No), terminal X discards ME_A and ends the process.

端末Xは、C_Yから参加者Yの公開鍵KY_Pを取得し、さらに、KY_Pを使用して、ME_Aの署名の正当性を確認する(S2307)。
ME_Aの署名の正当性が確認できない場合(S2308:No)、端末Xは、ME_Aは第三者によって改竄された可能性があるとみなし、ME_Aを破棄して処理を終了する。
The terminal X acquires the public key KY_P of the participant Y from C_Y, and further confirms the validity of the signature of ME_A using KY_P (S2307).
When the validity of the signature of ME_A cannot be confirmed (S2308: No), terminal X considers that ME_A may have been tampered with by a third party, discards ME_A, and ends the process.

ME_Aの署名の正当性が確認できた場合(S2308:Yes)、端末Xは、端末YをKG_Pによって特定されるグループのメンバであると認証し、EYをグループのエントリポイントとして記憶する(S2309)。   When the validity of the signature of ME_A is confirmed (S2308: Yes), terminal X authenticates terminal Y as a member of the group specified by KG_P, and stores EY as the entry point of the group (S2309). .

上記の方法のように、グループを一意に識別する情報としてグループ公開鍵を使用し、応答にグループ公開鍵で指定されるグループのメンバであることを証明する情報を含めることによって、グループメンバ以外のユーザがエントリポイント情報を詐称することを防ぐことができる。   As in the above method, by using the group public key as information that uniquely identifies the group and including information that proves that it is a member of the group specified by the group public key in the response, It is possible to prevent a user from spoofing entry point information.

次に、前記「11.グループ公開鍵の更新」(4)で説明した、グループ公開鍵の更新方法について、図25を参照しながら詳細に説明する。図25は、エントリポイント検索者Xの端末Xとそのグループ公開鍵に対応するグループの参加者Yの端末Yで実行される、それぞれの処理の流れを示したフローチャートである。なお、図26は、グループ公開鍵の更新処理の終了時点における、端末Xが保持する情報を表している。   Next, the group public key update method described in “11. Update of Group Public Key” (4) will be described in detail with reference to FIG. FIG. 25 is a flowchart showing the flow of each process executed by the terminal X of the entry point searcher X and the terminal Y of the participant Y of the group corresponding to the group public key. FIG. 26 shows information held by the terminal X at the end of the group public key update process.

検索者Xの端末Xは、検索者Xの指示により、エントリポイント情報を入手したいグループのグループ公開鍵KG_Pを含むエントリポイント検索メッセージME_Qを生成して、ネットワークに送信する(S2501)。このときの送信方法は、ブロードキャスト、マルチキャスト、ユニキャスト、P2Pネットワークによるメッセージ伝播などが用いられるが、ここでは特定の送信方法に限定しない。   The terminal X of the searcher X generates an entry point search message ME_Q including the group public key KG_P of the group for which entry point information is desired according to the searcher X instruction, and transmits it to the network (S2501). As a transmission method at this time, broadcast, multicast, unicast, message propagation by a P2P network, or the like is used, but the transmission method is not limited to a specific transmission method here.

すると、ME_Qを受信した端末Yは、ME_Qに含まれるKG_Pを入手する。さらに、端末Yは、自分が参加しているグループの公開鍵KG_P'とKG_Pを比較する。(S2502)。
二つの公開鍵が一致しない場合(S2503:No)、端末Yは、KG_Pが、参加者Yが属しているグループのグループ公開鍵の履歴HGに含まれているか否かを判定する(S2504)。
KG_PがHGに含まれていない場合(S2505:No)、端末Yは、ME_Qを破棄して処理を終了するか、もしくは、ME_Qを別のユーザに送信して処理を終了する。
Then, the terminal Y which received ME_Q acquires KG_P contained in ME_Q. Furthermore, the terminal Y compares the public keys KG_P ′ and KG_P of the group in which it participates. (S2502).
If the two public keys do not match (S2503: No), the terminal Y determines whether KG_P is included in the group public key history HG of the group to which the participant Y belongs (S2504).
When KG_P is not included in HG (S2505: No), terminal Y discards ME_Q and ends the process, or transmits ME_Q to another user and ends the process.

なお、端末Yは、予めグループ公開鍵の履歴HGと共に、履歴に対応するグループ公開鍵変更メッセージMC_Kを所有していることとする。さらに、グループ公開鍵がKG_P(I)からKG_P(I+1)に変更される場合には、グループ管理者から、グループ公開鍵変更メッセージMC_K(I)が、全てのグループメンバに通知される。MC_K(I)は、KG_P(I+1)を含み、それに対してKG_P(I)、KG_P(I+1)で署名の確認をしており、以前のグループ秘密鍵、および最新のグループ秘密鍵を所有する管理者が発行したことが確認できる。   It is assumed that the terminal Y possesses a group public key change message MC_K corresponding to the history together with the group public key history HG in advance. Further, when the group public key is changed from KG_P (I) to KG_P (I + 1), a group public key change message MC_K (I) is notified to all group members. MC_K (I) includes KG_P (I + 1), the signature is confirmed with KG_P (I) and KG_P (I + 1), and the previous group private key and the latest group private key are owned. Can be confirmed.

KG_PがグループのI番目の鍵、KG_P'がグループのI+J番目の鍵であった場合、端末Yは、MC_K(I+1)からMC_K(I+J)までJ個のグループ公開鍵変更メッセージを含むグループ公開鍵通知メッセージMU_Kを作成し、端末Xに送信する(S2506)。
これにより、端末Xは、MU_Kを受信し、K=1として以降の処理を実行する(S2507)。
When KG_P is the I-th key of the group and KG_P ′ is the I + J-th key of the group, the terminal Y transmits the group public key including J group public key change messages from MC_K (I + 1) to MC_K (I + J). A notification message MU_K is created and transmitted to the terminal X (S2506).
Thereby, the terminal X receives MU_K, sets K = 1, and performs subsequent processing (S2507).

端末Xは、受信したMU_Kから、MC_K(I+K)を取得する(S2508)。さらに、端末Xは、KG_P(I+K−1)を使用して、MC_K(I+K)の署名の正当性を確認する(S2509)。
もし、署名の正当性が確認されない場合は(S2510:No)、MU_Kを破棄して処理を終了する。
署名の正当性が確認できた場合は(S2510:Yes)、端末Xは、MC_K(I+K)から、KG_P(I+K)を取得する(S2511)。
The terminal X acquires MC_K (I + K) from the received MU_K (S2508). Further, the terminal X checks the validity of the signature of MC_K (I + K) using KG_P (I + K-1) (S2509).
If the validity of the signature is not confirmed (S2510: No), MU_K is discarded and the process is terminated.
If the validity of the signature is confirmed (S2510: Yes), the terminal X acquires KG_P (I + K) from MC_K (I + K) (S2511).

さらに、端末Xは、KとJが等しいか否かを判定する(S2512)。もし、KがJと等しくない場合は(S2512:No)、K=K+1として(S2513)、上記の処理を続行する(S2508〜S2512)。   Furthermore, the terminal X determines whether K and J are equal (S2512). If K is not equal to J (S2512: No), K = K + 1 is set (S2513), and the above processing is continued (S2508 to S2512).

一方、KがJと等しい場合は(S2512:Yes)、端末Xは、KG_P'=KG_P(I+J)を最新のグループ公開鍵としてKG_Pと置き換える(S2514)。
上記の方法のように、グループ公開鍵の履歴によってグループの一意性を判定することによって、グループ公開鍵のように更新される情報であってもグループの識別子として使用することが可能になる。
On the other hand, when K is equal to J (S2512: Yes), the terminal X replaces KG_P ′ = KG_P (I + J) with KG_P as the latest group public key (S2514).
By determining the uniqueness of a group based on the history of the group public key as in the above method, even information that is updated like a group public key can be used as a group identifier.

また、上記の手法をとることで、古いグループの公開鍵しか所有していないユーザであっても、最新のグループ公開鍵の通知を受けることが可能となり、通知された最新のグループ公開鍵の正当性を以前のグループ公開鍵によって確認することができる。
上記で述べたように、グループに対して固有のグループ公開鍵を設定することで、グループの一意性の確認の問題、グループに対する情報の詐称の問題を解決することができる。
In addition, by using the above method, even a user who owns only the old group public key can be notified of the latest group public key. Can be confirmed by the previous group public key.
As described above, setting a unique group public key for a group can solve the problem of checking the uniqueness of the group and the problem of misrepresentation of information for the group.

(実施の形態4)
上記実施の形態3では、グループを構成するメンバは、管理者と一般の参加者だけであったが、上記実施の形態1で述べたように、グループメンバの新規加入の機会を増やすためには、管理者の権限を有する者を増やす、即ち、グループ参加証を発行し得る者を増やす(このため、グループ秘密鍵を複製する)ことが必要であるが、グループ秘密鍵が複数の参加者に保持されることで、漏洩する可能性が高くなってしまうという弊害がある。
(Embodiment 4)
In the third embodiment, the members constituting the group are only the administrator and the general participants. However, as described in the first embodiment, in order to increase the opportunities for new members to join the group. It is necessary to increase the number of persons who have administrator authority, that is, increase the number of persons who can issue a group participation certificate (for this reason, the group private key is duplicated). By being held, there is an adverse effect that the possibility of leakage increases.

そこで、本実施の形態では、グループを構成するメンバを、唯一の管理者、グループ参加証発行許可証を保持し、グループ参加証を発行する権限を持つ発行者、および一般の参加者に分類することとする。発行者に上記権限を与えることができるのは管理者のみであり、一般の参加者にグループ参加証を発行できるのは管理者および発行者である。このように、管理者が複数の発行者を設けておくことにより、グループの秘密鍵を複製することなくグループメンバの新規加入の機会を増やすことが可能となる。   Therefore, in the present embodiment, the members constituting the group are classified into a single administrator, an issuer who holds a group participation certificate issuance permit and has the authority to issue a group participation certificate, and a general participant. I will do it. Only the administrator can give the authority to the issuer, and the administrator and the issuer can issue the group participation certificate to general participants. In this way, by providing a plurality of issuers by the administrator, it becomes possible to increase the opportunities for new group members to join without duplicating the group secret key.

以上のようにグループを管理するには、以下に示すような処理が必要となる。
(1)グループの形成
(2)グループの告知
(3)グループ発行者の追加
(4)グループ情報の取得
(5)エントリポイント情報の取得
(6)グループへの新規加入依頼
(7)グループメンバ間の認証
(8)グループメンバ間の情報共有
(9)グループ参加証の更新
(10)グループ参加証発行許可証の更新
(11)グループメンバの削除
(12)グループ公開鍵の更新
なお、上記の処理については、上記実施の形態1又は2における処理と同一の内容のため、その説明を省略する。
In order to manage groups as described above, the following processing is required.
(1) Formation of group (2) Notification of group (3) Addition of group issuer (4) Acquisition of group information (5) Acquisition of entry point information (6) Request for new membership to group (7) Between group members (8) Information sharing among group members (9) Updating group participation certificate (10) Updating group participation certificate issuance permit (11) Deleting group members (12) Updating group public key Is the same as the processing in the first or second embodiment, and the description thereof is omitted.

次に、前記「4.グループ情報の取得」において述べた、P2Pネットワークの情報検索の仕組みを利用したグループ情報の取得処理について、図27を参照しながら詳細に説明する。図27は、グループの検索を行う検索者Xの端末Xとグループ発行者Bの端末Bで実行される、それぞれの処理の流れを示したフローチャートである。なお、グループ情報の取得処理が終了した時点における端末Xが保持する情報は、上記図22と同じである。     Next, group information acquisition processing using the P2P network information search mechanism described in “4. Acquisition of Group Information” will be described in detail with reference to FIG. FIG. 27 is a flowchart showing the flow of each process executed by the terminal X of the searcher X and the terminal B of the group issuer B that perform a group search. Note that the information held by the terminal X at the time when the group information acquisition process is completed is the same as that in FIG.

端末Bは、発行者Bの指示により、グループ管理者から、グループ参加証発行許可証I_B、およびグループ公開鍵KG_Pを含むグループ情報IGを入手する(S2701)。
端末Xは、検索者Xの指示により、検索したいグループの条件CGを作成する(S2702)。このとき指定される条件は、グループのカテゴリなどが考えられるが、特に規定するものではない。また、条件記述の形式も特に限定するものではない。
The terminal B obtains group information IG including the group participation certificate issuance permit I_B and the group public key KG_P from the group manager according to the instruction from the issuer B (S2701).
The terminal X creates a condition CG for a group to be searched according to an instruction from the searcher X (S2702). The condition specified at this time may be a group category or the like, but is not particularly defined. The format of the condition description is not particularly limited.

端末Xは、作成されたCGを含むグループ検索メッセージMG_Qを生成してネットワークに送信する(S2703)。この時の送信方法は、ブロードキャスト、マルチキャスト、P2Pネットワークによるメッセージ伝播などを用いて送信されるが、特定の送信方法に限定されるものではない。
端末Bは、グループ検索メッセージMG_Qを受け取り、MG_Qに含まれるCGと発行者Bが属するグループのグループ情報IGとを比較し、自分が管理するグループがCGで指定される条件に適合するか否かを判定する(S2704)。 この判定は、プログラムなどで自動的に判定しても良い。CGとIGが適合しない場合は(S2704:No)、端末Bは、MG_Qを破棄して処理を終了するか、あるいはMG_Qを別のユーザに送信して処理を終了する。
The terminal X generates a group search message MG_Q including the created CG and transmits it to the network (S2703). The transmission method at this time is transmitted using broadcast, multicast, message propagation through a P2P network, or the like, but is not limited to a specific transmission method.
The terminal B receives the group search message MG_Q, compares the CG included in the MG_Q with the group information IG of the group to which the issuer B belongs, and determines whether the group managed by the terminal B meets the condition specified by the CG. Is determined (S2704). This determination may be made automatically by a program or the like. If CG and IG do not match (S2704: No), terminal B discards MG_Q and ends the process, or transmits MG_Q to another user and ends the process.

端末Bは、グループ公開鍵KG_Pを含むIG、発行者Bのグループ参加証発行許可証I_Bを含むグループ情報応答メッセージMG_Aを作成する。その後、発行者Bの秘密鍵KB_Sを使用してMG_Aに署名を施した後、端末Xに向けて送信する(S2705)。   The terminal B creates a group information response message MG_A including the IG including the group public key KG_P and the group participation certificate issuance permit I_B of the issuer B. Thereafter, MG_A is signed using issuer B's private key KB_S, and then sent to terminal X (S2705).

端末Xは、端末Bからのグループ情報応答メッセージMG_Aを受け取ると、MG_Aに含まれるKG_PおよびI_Bを入手する(S2706)。
端末Xは、KG_Pを使用して、I_Bの有効性を確認する(S2707)。 この確認には、KG_Pを使用して
(1)I_Bが正常に復号化される、もしくはI_Bの署名が確認できる。
(2)I_Bの有効期限が切れていない。
の2点を確認することによってI_Bの有効性を確認できる。I_Bの有効性が確認されない場合は、MG_Aは正規の発行者以外によって生成されている可能性があるために、XはMG_Aを破棄して処理を終了する。
Upon receiving the group information response message MG_A from terminal B, terminal X obtains KG_P and I_B included in MG_A (S2706).
The terminal X confirms the validity of I_B using KG_P (S2707). For this confirmation, using KG_P, (1) I_B is successfully decrypted, or the signature of I_B can be confirmed.
(2) I_B has not expired.
The validity of I_B can be confirmed by confirming these two points. When the validity of I_B is not confirmed, since MG_A may be generated by a person other than the authorized issuer, X discards MG_A and ends the process.

端末Xは、I_BからBの公開鍵KB_Pを入手し、さらに、KB_Pを使用して、MG_Aの署名の有効性を確認する(S2708)。署名の有効性が確認されない場合は(S2709:No)、MG_Aは第三者によって改竄されている可能性があるために、端末は、MG_Aを破棄して処理を終了する。
端末Xは、端末Aから受信したMG_Aに含まれるIGを保存する(S710)。
Terminal X obtains B's public key KB_P from I_B, and further checks the validity of the signature of MG_A using KB_P (S2708). When the validity of the signature is not confirmed (S2709: No), since the MG_A may be falsified by a third party, the terminal discards the MG_A and ends the process.
The terminal X stores the IG included in MG_A received from the terminal A (S710).

上記の方法を用いることによって、グループの発行者、グループの管理者以外がグループ情報の改竄を行うことを防ぐことができる。
また、グループを一意に識別する情報にグループ公開鍵を使用することができることは第一の実施の形態におけるグループ情報取得の例で述べた通りである。 なお、必ずしも管理者がメッセージを生成するのではなく、以前に管理者が生成した応答メッセージを別のユーザがキャッシュしておき応答に使用する実施形態も考えられる。
By using the above method, it is possible to prevent falsification of the group information by anyone other than the group issuer and the group manager.
In addition, as described in the example of group information acquisition in the first embodiment, the group public key can be used as information for uniquely identifying a group. It should be noted that an embodiment in which the administrator does not necessarily generate a message but another user caches a response message previously generated by the administrator and uses it for the response is also conceivable.

次に、前記「5.エントリポイント情報の取得」において述べた、P2Pネットワークの情報検索の仕組みを使用したエントリポイント情報の取得処理について、図28を参照しながら詳細に説明する。図28は、検索者Xの端末Xとグループの参加者Yの端末Yで実行される、それぞれの処理の流れを示したフローチャートである。なお、図28においては、参加者Yのグループ参加証は、グループ発行者Bによって発行されていることとする。また、図29は、エントリポイント情報の取得処理が終了した時点における、端末Xが保持する情報を表している。   Next, the entry point information acquisition process using the P2P network information search mechanism described in “5. Acquisition of entry point information” will be described in detail with reference to FIG. FIG. 28 is a flowchart showing the flow of each process executed by the terminal X of the searcher X and the terminal Y of the participant Y of the group. In FIG. 28, it is assumed that the group participation certificate for participant Y is issued by group issuer B. FIG. 29 shows information held by the terminal X at the time when the entry point information acquisition process is completed.

端末Xは、検索者Xの指示により、エントリポイント情報を入手したいグループのグループ公開鍵KG_Pを含むエントリポイント検索メッセージME_Qを生成して、ネットワークに送信する(S2801)。このときの送信方法は、ブロードキャスト、マルチキャスト、ユニキャスト、P2Pネットワークによるメッセージ伝播などで送信されるが、ここでは特定の送信方法に限定されない。   In response to an instruction from the searcher X, the terminal X generates an entry point search message ME_Q including the group public key KG_P of the group for which entry point information is desired to be transmitted and transmits it to the network (S2801). The transmission method at this time is transmitted by broadcast, multicast, unicast, message propagation through a P2P network, or the like, but is not limited to a specific transmission method here.

ME_Qを受信した端末Yは、ME_Qに含まれるKG_Pを入手する(S2802)。
端末Yは、参加者Yが参加しているグループの公開鍵KG_P'とKG_Pを比較する(S2803)。もし、二つの公開鍵が一致しない場合(S2803:No)、端末Yは、ME_Qを破棄して処理を終了するか、あるいはME_Qを別のユーザに送信して処理を終了する。
The terminal Y that has received ME_Q obtains KG_P included in ME_Q (S2802).
The terminal Y compares the public keys KG_P ′ and KG_P of the group in which the participant Y is participating (S2803). If the two public keys do not match (S2803: No), the terminal Y discards ME_Q and ends the process, or transmits ME_Q to another user and ends the process.

端末Yは、参加者Yの指示により、参加者Yのグループ参加証C_Y、このC_Yを発行したグループ発行者Bのグループ参加証発行許可証I_BおよびYのエントリポイント情報EYを含むエントリポイント検索応答メッセージME_Aを作成する。さらに、端末Yは、ME_Aに対して参加者Yの秘密鍵KY_Sで署名を行い、署名されたME_Aを端末Xに送信する(S2804)。   In response to an instruction from the participant Y, the terminal Y sends an entry point search response including a group participation certificate C_Y of the participant Y, a group participation certificate issuance permit I_B of the group issuer B that issued the C_Y, and entry point information EY of Y. Create a message ME_A. Furthermore, terminal Y signs ME_A with participant Y's private key KY_S, and sends the signed ME_A to terminal X (S2804).

すると、端末Xは、受信したME_AからI_Bを取得し、KG_Pを使用してI_Bの有効性を検証する(S2805)。
I_Bの有効性が確認できない場合(S2806:No)、端末Xは、参加者Yがグループに属していないとみなし、ME_Aを破棄して処理を終了する。
I_Bの有効性が確認できた場合(S2806:Yes)、端末Xは、そのI_Bから発行者Bの公開鍵KB_Pを取得する。さらに、ME_AからC_Yを取得し、KB_Pを使用してC_Yの有効性を検証する(S2807)。
Then, the terminal X acquires I_B from the received ME_A, and verifies the validity of I_B using KG_P (S2805).
When the validity of I_B cannot be confirmed (S2806: No), the terminal X considers that the participant Y does not belong to the group, discards ME_A, and ends the process.
When the validity of the I_B is confirmed (S2806: Yes), the terminal X acquires the issuer B's public key KB_P from the I_B. Further, C_Y is obtained from ME_A, and the validity of C_Y is verified using KB_P (S2807).

C_Yの有効性が確認できない場合(S2808:No)、端末Yはグループに属していないとみなし、端末Xは、ME_Aを破棄して処理を終了する。
C_Yの有効性が確認できた場合(S2808:Yes)、端末Xは、C_Yから参加者Yの公開鍵KY_Pを取得して、ME_Qの署名を確認する(S2809)。
署名の正当性が確認されない場合(S2810:No)、ME_Qは第三者によって改竄されている可能性があるとみなし、端末Xは、ME_Qを破棄して処理を終了する。
If the validity of C_Y cannot be confirmed (S2808: No), terminal Y is regarded as not belonging to the group, and terminal X discards ME_A and ends the process.
If the validity of C_Y can be confirmed (S2808: Yes), terminal X acquires participant Y's public key KY_P from C_Y and confirms the signature of ME_Q (S2809).
When the validity of the signature is not confirmed (S2810: No), it is considered that ME_Q may have been tampered with by a third party, and terminal X discards ME_Q and ends the process.

署名の正当性が確認された場合(S2810:Yes)、端末Xは、端末YがKG_Pによって特定されるグループのメンバであることを認証し、ME_AからEYを取得し、グループのエントリポイントとして記憶する(S2811)。
上記の方法を用いることによって、エントリポイント情報を作成したユーザがグループのメンバであることを確認することができる。
When the validity of the signature is confirmed (S2810: Yes), the terminal X authenticates that the terminal Y is a member of the group specified by KG_P, acquires EY from ME_A, and stores it as the entry point of the group (S2811).
By using the above method, it is possible to confirm that the user who created the entry point information is a member of the group.

以上のように、本実施の形態3又4に係る通信システムによれば、常時稼動させなければならないサーバの運用が不要となる。さらに、検索結果を応答者の秘密鍵やグループ参加証などを利用して取得することにより、グループメンバ以外の者が応答することによる弊害、即ちこれらの者がグループ情報を詐称して応答することを回避することが可能となる。   As described above, according to the communication system according to the third or fourth embodiment, it is not necessary to operate a server that must be always operated. In addition, by obtaining the search result using the responder's private key or group participation certificate, etc., the adverse effect of responding by a person other than the group member, that is, these persons respond by spoofing the group information. Can be avoided.

本発明は、汎用のネットワーク上の仮想的なグループに属する一の端末との間で通信を行う際の通信方法等として有用であり、特に、上記グループに関する情報を入手する際や上記グループのメンバ間で情報を共有する際の安全性を確保したいネットワーク等に適用が可能である。   INDUSTRIAL APPLICABILITY The present invention is useful as a communication method when communicating with one terminal belonging to a virtual group on a general-purpose network, and particularly, when obtaining information about the group or a member of the group. It can be applied to networks that want to ensure safety when sharing information between them.

本発明に係る通信システムの構成の一例を示す図である。It is a figure which shows an example of a structure of the communication system which concerns on this invention. 実施の形態1における失効者リストのフォーマットの一例である。3 is an example of a format of a revoked person list in the first embodiment. (a)は、実施の形態1における、オンライン状態の端末とオフライン状態の端末とが異なる失効者リストを保持している場合を示す図である。 (b)は、実施の形態1における、オンライン状態に移行した端末がオンライン状態の端末とがグループ認証を実行する様子を示す図である。 (c)は、実施の形態1における、グループ認証を終えた端末間で、互いが保持する失効者リストを交換する様子を示す図である。 (d)は、実施の形態1における、新規に失効者リストを取得した端末から、既知のオンライン状態の端末に対する新規の失効者リストを伝播させる様子を示す図である。(A) is a figure which shows the case where the terminal in an on-line state and the terminal in an off-line state hold | maintain different revoker lists in Embodiment 1. FIG. (B) is a figure which shows a mode that the terminal which shifted to the online state performs group authentication with the terminal in an online state in Embodiment 1. FIG. (C) is a figure which shows a mode that the revocation list | wrist which each hold | maintains is exchanged between the terminals which finished group authentication in Embodiment 1. FIG. (D) is a diagram illustrating a state in which a new revocation list for a known online terminal is propagated from a terminal that has newly acquired a revocation list in the first embodiment. 実施の形態1における「グループへの新規加入依頼」処理の流れを示すフローチャートである。6 is a flowchart showing a flow of a “request for new subscription to group” process in the first embodiment. 実施の形態1における「グループへの新規加入依頼」処理後に、加入依頼者の端末に保持される情報の一例である。6 is an example of information held in a terminal of a requester after “new group request for group” processing in the first embodiment. 実施の形態1における「グループメンバ間の認証」処理の流れを示すフローチャートである。4 is a flowchart showing a flow of “authentication between group members” processing in the first embodiment. 実施の形態1における「グループ参加証の更新」処理の流れを示すフローチャートである。4 is a flowchart showing a flow of “update group participation certificate” processing in the first embodiment. 実施の形態2における失効者リストのフォーマットの一例である。10 is an example of a format of a revoked person list in the second embodiment. 実施の形態2における「グループ発行者の追加」処理の流れを示すフローチャートである。10 is a flowchart showing a flow of “add group issuer” processing in the second embodiment. 実施の形態2における「グループ発行者の追加」処理後に、発行者候補の端末に保持される情報の一例である。FIG. 10 is an example of information held in issuer candidate terminals after “add group issuer” processing in the second embodiment. FIG. 実施の形態2における「グループへの新規加入依頼」処理の流れを示すフローチャートである。10 is a flowchart showing a flow of a “request for new subscription to group” process in the second embodiment. 実施の形態2における「グループへの新規加入依頼」処理後に、加入依頼者の端末に保持される情報の一例である。FIG. 10 is an example of information held in a terminal of a requesting subscriber after the “new group request for group” processing in the second embodiment. 実施の形態2における「グループメンバ間の認証」処理後に、一方の参加者のの端末に保持される情報お一例である。It is an example of information held in the terminal of one participant after the “authentication between group members” process in the second embodiment. 実施の形態2における「グループメンバ間の認証」処理の流れを示すフローチャートである。10 is a flowchart showing a flow of “authentication between group members” processing in the second embodiment. 実施の形態2における「グループ参加証の更新」処理の流れを示すフローチャートである。10 is a flowchart showing a flow of “update group participation certificate” processing in the second embodiment. 実施の形態2における「グループ参加証の更新」処理後に、参加証更新依頼者の端末に保持される情報の一例である。FIG. 10 is an example of information held in the participation certificate update requester's terminal after the “update group participation certificate” process in the second embodiment. FIG. 実施の形態2における「グループ参加証発行許可証の更新」処理の流れを示すフローチャートである。10 is a flowchart showing a flow of “update group participation certificate issuance permit” processing in the second embodiment. 実施の形態2における「グループ参加証発行許可証の更新」処理後に、発行者の端末に保持される情報の一例である。FIG. 10 is an example of information held in the issuer's terminal after the “update of group participation certificate issuance permit” processing in the second embodiment. 実施の形態1における「失効者リストの交換」処理の流れを示すフローチャートである。5 is a flowchart showing a flow of “revocation list exchange” processing in the first embodiment. 上記図19に使用される各用語の意味を表す。The meaning of each term used in FIG. 実施の形態3における「グループ情報の取得」処理の流れを示すフローチャートである。15 is a flowchart illustrating a flow of “group information acquisition” processing according to the third embodiment. 実施の形態3における「グループ情報の取得」処理後に、検索者の端末に保持される情報を示す図である。FIG. 20 is a diagram illustrating information held in a searcher's terminal after “group information acquisition” processing in the third embodiment. 実施の形態3における「エントリポイント情報の取得」処理の流れを示すフローチャートである。12 is a flowchart showing a flow of “entry point information acquisition” processing in the third embodiment. 実施の形態3における「エントリポイント情報の取得」処理後に、検索者の端末に保持される情報の一例である。14 is an example of information held in a searcher's terminal after “entry point information acquisition” processing in the third embodiment. 実施の形態3における「グループ公開鍵の更新」処理の流れを示すフローチャートである。15 is a flowchart showing a flow of “update group public key” processing in the third embodiment. 実施の形態3における「グループ公開鍵の更新」処理後に、検索者の端末に保持される情報の一例である。14 is an example of information held in a searcher's terminal after “update group public key” processing in the third embodiment. 実施の形態4における「グループ情報の取得」処理の流れを示すフローチャートである。15 is a flowchart showing a flow of “group information acquisition” processing in the fourth embodiment. 実施の形態4における「エントリポイント情報の取得」処理の流れを示すフローチャートである。18 is a flowchart showing a flow of “entry point information acquisition” processing in the fourth embodiment. 実施の形態4における「エントリポイント情報の取得」処理後に、検索者の端末に保持される情報の一例である。14 is an example of information held in a searcher's terminal after “entry point information acquisition” processing in the fourth embodiment. P2Pネットワークに参加しているユーザ端末間における情報の流れを示した概念図である。It is the conceptual diagram which showed the flow of the information between the user terminals which have participated in the P2P network. P2Pネットワーク上に存在する3つのグループG1、G2およびG3を対象としてグループ情報の検索を行う場合の情報の流れを表した概念図である。It is a conceptual diagram showing the flow of information when searching group information for three groups G1, G2, and G3 existing on a P2P network. P2Pネットワークにおけるグループ情報を検索する際の問題点を説明するための概念図である。It is a conceptual diagram for demonstrating the problem at the time of searching the group information in a P2P network. (a)は、上記第1の従来方法における、グループに属する各ユーザ端末がグループリストを保持することにより、端末間の相互認証を行う方法を説明するための図である。 (b)は、上記第1の従来方法において、新たに端末Dが追加された場合にオフラインの端末があることによって生じる問題点を説明するための図である。 (c)は、上記第1の従来方法において、新たに端末Dが追加された場合にグループリストの不一致によって生じる問題点を説明するための図である。 (d)は、上記第2の従来方法における、特定のメンバの端末のみがグループリストを保持することにより、端末間の相互認証を行う方法を説明するための図である。 (e)は、上記第2の従来方法において、特定のメンバの端末がオフライン状態に移行することによって生じる問題点を説明するための図である。(A) is a figure for demonstrating the method of performing the mutual authentication between terminals by each user terminal which belongs to a group in the said 1st conventional method holding a group list | wrist. (B) is a figure for demonstrating the problem which arises when there exists an offline terminal when the terminal D is newly added in the said 1st conventional method. (C) is a figure for demonstrating the problem which arises by the mismatch of a group list | wrist when the terminal D is newly added in the said 1st conventional method. (D) is a figure for demonstrating the method of performing the mutual authentication between terminals by only a specific member's terminal holding a group list in the said 2nd conventional method. (E) is a figure for demonstrating the problem which arises when the terminal of a specific member transfers to an offline state in the said 2nd conventional method. (a)は、管理者の端末からグループメンバの端末に対して新規の失効者リストをブロードキャストすることによって端末間の認証を行う従来方法を説明するための図である。 (b)は、上記(a)の従来方法において、オフラインのメンバ端末があることによって生じる問題点を説明するための図である。 (c)は、上記(a)の従来方法において、管理者の端末がオフライン状態に移行した場合の様子を示す図である。 (d)は、上記(a)の従来方法において、管理者の端末がオフライン状態に移行したことによって生じる問題点を説明するための図である。(A) is a figure for demonstrating the conventional method which authenticates between terminals by broadcasting a new revoker list from the terminal of an administrator with respect to the terminal of a group member. (B) is a figure for demonstrating the problem which arises when there exists an offline member terminal in the conventional method of said (a). (C) is a figure which shows a mode when the terminal of an administrator transfers to an offline state in the conventional method of said (a). (D) is a figure for demonstrating the problem which arises in the conventional method of said (a), when an administrator's terminal shifted to an offline state.

符号の説明Explanation of symbols

10〜50 端末
100,200 通信システム
A〜F 端末
X〜Z 端末
10 to 50 terminals 100, 200 communication system A to F terminals X to Z terminals

Claims (8)

ネットワーク上における第1の端末と第2の端末とで通信を行う場合の通信方法であって、
前記第1の端末は、前記ネットワーク上に形成されたグループの公開鍵と当該第1のユーザの秘密鍵及び公開鍵のペアとを保持し、前記第2の端末は、前記グループの秘密鍵及び公開鍵のペアを保持しており、
前記第1の端末では、
前記他第2の端末に対し、前記グループの正当なメンバか否かを問い合わせる旨を含む問合せ情報を送信する問合せ情報送信ステップと、
前記第2の端末から、前記問合せ情報に対する応答として所定の暗号化された情報を受信する暗号化情報受信ステップと、
受信された前記暗号化された情報に対し、前記グループの公開鍵で復号を試みる復号試行ステップと、
前記復号試行ステップにおいて復号が成功した場合に、当該復号された情報の適否を判
定する情報判定ステップと、
前記復号された情報が適切であると判定された場合に、前記第2の端末は、前記グループの正当な管理者の端末であると判定する管理者判定ステップと、
前記正当な管理者であると判定された前記第2の端末に、前記グループに加入を希望する旨を表わす情報と当該第1のユーザの公開鍵とを含む加入依頼情報を送信する加入依頼送信ステップと、
前記第2の端末から前記グループへの加入が認められた旨を表わす参加証を受信する参加証受信ステップとを含み、
前記第2の端末では、
前記第1の端末から問合せ情報を受信する問合せ情報受信ステップと、
前記受信した問合せ情報に基づいて暗号化した情報を生成して、前記第1の端末に送信する暗号化情報送信ステップと、
前記第1の端末から、前記加入依頼情報を受信する加入依頼受信ステップと、
前記受信した加入依頼情報に基づいて、前記グループへの加入を認める旨を表わす参加証を生成する参加証生成ステップと、
前記生成した参加証を前記第1の端末に送信する参加証送信ステップと
を含むことを特徴とする通信方法。
A communication method for performing communication between a first terminal and a second terminal on a network,
The first terminal holds a public key of a group formed on the network and a private key / public key pair of the first user, and the second terminal has a private key of the group and Holds a public key pair,
In the first terminal,
An inquiry information transmission step of transmitting inquiry information including an inquiry as to whether or not the other second terminal is a valid member of the group;
An encrypted information receiving step for receiving predetermined encrypted information as a response to the inquiry information from the second terminal;
A decryption attempt step that attempts to decrypt the received encrypted information with the public key of the group;
An information determination step for determining the suitability of the decoded information when the decoding is successful in the decoding trial step;
An administrator determination step for determining that the second terminal is a legitimate administrator terminal of the group when the decrypted information is determined to be appropriate;
Subscription request transmission for transmitting subscription request information including information indicating the desire to join the group and the public key of the first user to the second terminal determined to be the authorized manager. Steps,
A participation certificate receiving step of receiving a participation certificate indicating that joining of the group is permitted from the second terminal,
In the second terminal,
An inquiry information receiving step for receiving inquiry information from the first terminal;
Generating encrypted information based on the received inquiry information and transmitting it to the first terminal; and
A subscription request receiving step of receiving the subscription request information from the first terminal;
A participation certificate generating step for generating a participation certificate representing permission to join the group based on the received subscription request information;
And a participation certificate transmitting step of transmitting the generated participation certificate to the first terminal.
前記第2の端末では、さらに、
前記加入依頼情報を受信した年月日を特定する依頼日特定ステップと、
前記特定された年月日に基づいて、前記参加証の有効期限を決定する有効期限決定ステップとを含み、
前記参加証生成ステップでは、
前記加入依頼情報と前記有効期限とに基づいて、前記参加証を生成する
ことを特徴とする請求項記載の通信方法。
In the second terminal,
A request date specifying step for specifying the date of reception of the subscription request information;
An expiration date determining step for determining an expiration date of the participation certificate based on the specified date.
In the participation certificate generation step,
On the basis of the subscription request information and the expiration date, the method of communication according to claim 1, wherein the generating the participation certificate.
ネットワーク上における第1の端末と第2の端末とで通信を行う場合の通信方法であって、
前記第1の端末は、前記ネットワーク上に形成されたグループの秘密鍵及び公開鍵のペアと前記第2のユーザの公開鍵とを保持し、前記第2の端末は、前記グループの公開鍵を保持しており、
前記第1の端末では、
前記他第2の端末に対し、前記グループの正当なメンバか否かを問い合わせる旨を含む問合せ情報を送信する問合せ情報送信ステップと、
前記第2の端末から、前記問合せ情報に対する応答として所定の暗号化された情報を受信する暗号化情報受信ステップと、
受信された前記暗号化された情報に対し、前記第2のユーザの公開鍵で復号を試みる復号試行ステップと、
前記復号試行ステップにおいて復号が成功した場合に、当該復号された情報の適否を判定する情報判定ステップと、
前記復号された情報が適切であると判定された場合に、前記第2の端末は、前記グループの正当な参加者の端末であると判定する参加者判定ステップと、
前記正当な参加者であると判定された前記第2の端末に、前記グループの発行者に任命したい旨を表わす任命情報を送信する任命情報送信ステップと、
前記第2の端末から前記第2のユーザの公開鍵を受信する公開鍵受信ステップと、
前記受信した公開鍵と前記保持している公開鍵とが一致するか否かを判定する公開鍵判定ステップと、
前記双方の公開鍵が一致すると判定された場合に、前記公開鍵を含む情報に基づいて、前記参加証を発行する権限を付与する旨を表す参加証発行許可証を作成する許可証生成ステップと、
前記作成された参加証発行許可証を前記第2の端末に送信する許可証送信ステップとを含み、
前記第2の端末では、
前記第1の端末から問合せ情報を受信する問合せ情報受信ステップと、
前記第1の端末に、当該第2のユーザの公開鍵を送信する公開鍵送信ステップと、
前記第1の端末から、前記参加証発行許可証を受信する許可証受信ステップとを含む
ことを特徴とする通信方法。
A communication method for performing communication between a first terminal and a second terminal on a network,
The first terminal holds a private key / public key pair of the group formed on the network and the public key of the second user, and the second terminal holds the public key of the group. Hold
In the first terminal,
An inquiry information transmission step of transmitting inquiry information including an inquiry as to whether or not the other second terminal is a valid member of the group;
An encrypted information receiving step for receiving predetermined encrypted information as a response to the inquiry information from the second terminal;
A decryption attempt step of attempting to decrypt the received encrypted information with the public key of the second user;
An information determination step for determining the suitability of the decoded information when the decoding is successful in the decoding trial step;
A participant determination step for determining that the second terminal is a legitimate participant's terminal of the group when it is determined that the decrypted information is appropriate;
An appointment information transmitting step of transmitting, to the second terminal determined to be a legitimate participant, appointment information indicating that it is desired to appoint an issuer of the group;
A public key receiving step of receiving the public key of the second user from the second terminal;
A public key determination step for determining whether or not the received public key matches the held public key;
A license generation step of creating a participation certificate issuance permit indicating that the authority to issue the participation certificate is granted based on the information including the public key when it is determined that the two public keys match; ,
Sending the created participation certificate issuance permit to the second terminal; and
In the second terminal,
An inquiry information receiving step for receiving inquiry information from the first terminal;
A public key transmitting step of transmitting the second user's public key to the first terminal;
And a permit receiving step of receiving the participation certificate issuance permit from the first terminal.
ネットワーク上における第1の端末と第2の端末とで通信を行う場合の通信方法であって、
前記第1の端末は、前記ネットワーク上に形成されたグループの公開鍵と当該第1のユーザの秘密鍵及び公開鍵のペアとを保持し、前記第2の端末は、前記グループの公開鍵を保持しており、
前記第1の端末では、
前記他第2の端末に対し、前記グループの正当な発行者か否かを問い合わせる旨を含む問合せ情報を送信する問合せ情報送信ステップと、
前記第2の端末から、暗号化された参加証発行許可証を受信する許可証受信ステップと、
受信された前記参加証発行許可証に対し、前記グループの公開鍵で復号を試みる復号試行ステップと、
前記復号試行ステップにおいて復号が成功した場合に、当該復号された情報の適否を判定する情報判定ステップと、
前記復号された情報が適切であると判定された場合に、前記第2の端末は、前記グループの正当な発行者の端末であると判定する発行者判定ステップと、
前記正当な発行者であると判定された前記第2の端末に、前記グループに加入を希望する旨を表わす情報と当該第1のユーザの公開鍵とを含む加入依頼情報を送信する加入依頼送信ステップと、
前記第2の端末から前記グループへの加入が認められた旨を表わす参加証を受信する参加証受信ステップとを含み、
前記第2の端末では、
前記第1の端末から問合せ情報を受信する問合せ情報受信ステップと、
前記問合せ情報を受信後に、参加証発行許可証を前記第1の端末に送信する暗号化情報送信ステップと、
前記第1の端末から、前記加入依頼情報を受信する加入依頼受信ステップと、
前記受信した加入依頼情報に基づいて、前記グループへの加入を認める旨を表わす参加証を生成する参加証生成ステップと、
前記生成した参加証を前記第1の端末に送信する参加証送信ステップと
を含むことを特徴とする通信方法。
A communication method for performing communication between a first terminal and a second terminal on a network,
The first terminal holds a public key of a group formed on the network and a private key / public key pair of the first user, and the second terminal holds the public key of the group. Hold
In the first terminal,
An inquiry information transmission step of transmitting inquiry information including an inquiry as to whether or not the other second terminal is an authorized issuer of the group;
A license receiving step of receiving an encrypted participation certificate issuance permit from the second terminal;
A decryption trial step of attempting to decrypt the received participation certificate issuance permit with the public key of the group;
An information determination step for determining the suitability of the decoded information when the decoding is successful in the decoding trial step;
When it is determined that the decrypted information is appropriate, the second terminal determines that the second terminal is a legitimate issuer terminal of the group; and
Subscription request transmission for transmitting subscription request information including information indicating that subscription to the group is desired and the public key of the first user to the second terminal determined to be the valid issuer. Steps,
A participation certificate receiving step of receiving a participation certificate indicating that joining of the group is permitted from the second terminal,
In the second terminal,
An inquiry information receiving step for receiving inquiry information from the first terminal;
After receiving the inquiry information, an encrypted information transmission step of transmitting a participation certificate issuance permit to the first terminal;
A subscription request receiving step of receiving the subscription request information from the first terminal;
A participation certificate generating step for generating a participation certificate representing permission to join the group based on the received subscription request information;
And a participation certificate transmitting step of transmitting the generated participation certificate to the first terminal.
前記ネットワークは、P2Pネットワークである
ことを特徴とする請求項1、3又は4記載の通信方法。
The communication method according to claim 1, 3 or 4 , wherein the network is a P2P network.
ネットワーク上における第1の端末と第2の端末とで通信を行う通信システムであって、
前記第1の端末は、前記ネットワーク上に形成されたグループの公開鍵と当該第1のユーザの秘密鍵及び公開鍵のペアとを保持し、前記第2の端末は、前記グループの秘密鍵及び公開鍵のペアを保持しており、
前記第1の端末は、
前記他第2の端末に対し、前記グループの正当なメンバか否かを問い合わせる旨を含む問合せ情報を送信する問合せ情報送信手段と、
前記第2の端末から、前記問合せ情報に対する応答として所定の暗号化された情報を受信する暗号化情報受信手段と、
受信された前記暗号化された情報に対し、前記グループの公開鍵で復号を試みる復号試行手段と、
前記復号試行手段において復号が成功した場合に、当該復号された情報の適否を判定する情報判定手段と、
前記復号された情報が適切であると判定された場合に、前記第2の端末は、前記グループの正当な管理者の端末であると判定する管理者判定手段と、
前記正当な管理者であると判定された前記第2の端末に、前記グループに加入を希望する旨を表わす情報と当該第1のユーザの公開鍵とを含む加入依頼情報を送信する加入依頼送信手段と、
前記第2の端末から前記グループへの加入が認められた旨を表わす参加証を受信する参加証受信手段とを備え、
前記第2の端末は、
前記第1の端末から問合せ情報を受信する問合せ情報受信手段と、
前記受信した問合せ情報に基づいて暗号化した情報を生成して、前記第1の端末に送信する暗号化情報送信手段と、
前記第1の端末から、前記加入依頼情報を受信する加入依頼受信手段と、
前記受信した加入依頼情報に基づいて、前記グループへの加入を認める旨を表わす参加証を生成する参加証生成手段と、
前記生成した参加証を前記第1の端末に送信する参加証送信手段と
を備えることを特徴とする通信システム。
A communication system for performing communication between a first terminal and a second terminal on a network,
The first terminal holds a public key of a group formed on the network and a private key / public key pair of the first user, and the second terminal has a private key of the group and Holds a public key pair,
The first terminal is
Inquiry information transmitting means for transmitting inquiry information including an inquiry as to whether or not the other second terminal is a valid member of the group;
Encrypted information receiving means for receiving predetermined encrypted information as a response to the inquiry information from the second terminal;
Decryption trial means for attempting to decrypt the received encrypted information with the public key of the group;
An information determination unit that determines whether the decoded information is appropriate when decoding is successful in the decoding trial unit;
When it is determined that the decrypted information is appropriate, the second terminal is an administrator determination unit that determines that the terminal is a legitimate administrator terminal of the group;
Subscription request transmission for transmitting subscription request information including information indicating the desire to join the group and the public key of the first user to the second terminal determined to be the authorized manager. Means,
A participation certificate receiving means for receiving from the second terminal a participation certificate indicating that the joining of the group is permitted,
The second terminal is
Inquiry information receiving means for receiving inquiry information from the first terminal;
Generating encrypted information based on the received inquiry information and transmitting the encrypted information to the first terminal;
Subscription request receiving means for receiving the subscription request information from the first terminal;
Based on the received subscription request information, a participation certificate generating means for generating a participation certificate representing permission to join the group;
A participation certificate transmitting means for transmitting the generated participation certificate to the first terminal.
ネットワーク上における第1の端末と第2の端末とで通信を行う通信システムであって、
前記第1の端末は、前記ネットワーク上に形成されたグループの秘密鍵及び公開鍵のペアと前記第2のユーザの公開鍵とを保持し、前記第2の端末は、前記グループの公開鍵を保持しており、
前記第1の端末は、
前記他第2の端末に対し、前記グループの正当なメンバか否かを問い合わせる旨を含む問合せ情報を送信する問合せ情報送信手段と、
前記第2の端末から、前記問合せ情報に対する応答として所定の暗号化された情報を受信する暗号化情報受信手段と、
受信された前記暗号化された情報に対し、前記第2のユーザの公開鍵で復号を試みる復号試行手段と、
前記復号試行手段において復号が成功した場合に、当該復号された情報の適否を判定する情報判定手段と、
前記復号された情報が適切であると判定された場合に、前記第2の端末は、前記グループの正当な参加者の端末であると判定する参加者判定手段と、
前記正当な参加者であると判定された前記第2の端末に、前記グループの発行者に任命したい旨を表わす任命情報を送信する任命情報送信手段と、
前記第2の端末から前記第2のユーザの公開鍵を受信する公開鍵受信手段と、
前記受信した公開鍵と前記保持している公開鍵とが一致するか否かを判定する公開鍵判定手段と、
前記双方の公開鍵が一致すると判定された場合に、前記公開鍵を含む情報に基づいて、前記参加証を発行する権限を付与する旨を表す参加証発行許可証を作成する許可証生成手段と、
前記作成された参加証発行許可証を前記第2の端末に送信する許可証送信手段とを備え、
前記第2の端末は、
前記第1の端末から問合せ情報を受信する問合せ情報受信手段と、
前記第1の端末に、当該第2のユーザの公開鍵を送信する公開鍵送信手段と、
前記第1の端末から、前記参加証発行許可証を受信する許可証受信手段と
を備えることを特徴とする通信システム。
A communication system for performing communication between a first terminal and a second terminal on a network,
The first terminal holds a private key / public key pair of the group formed on the network and the public key of the second user, and the second terminal holds the public key of the group. Hold
The first terminal is
Inquiry information transmitting means for transmitting inquiry information including an inquiry as to whether or not the other second terminal is a valid member of the group;
Encrypted information receiving means for receiving predetermined encrypted information as a response to the inquiry information from the second terminal;
Decryption trial means for attempting to decrypt the received encrypted information with the public key of the second user;
An information determination unit that determines whether the decoded information is appropriate when decoding is successful in the decoding trial unit;
Participant determination means for determining that the second terminal is a legitimate participant terminal of the group when it is determined that the decrypted information is appropriate;
Appointment information transmitting means for transmitting, to the second terminal determined to be a legitimate participant, appointment information indicating that it is desired to appoint an issuer of the group;
Public key receiving means for receiving the public key of the second user from the second terminal;
Public key determination means for determining whether or not the received public key matches the held public key;
Permission generation means for creating a participation certificate issuance permit indicating that the authority to issue the participation certificate is granted based on the information including the public key when it is determined that the two public keys match. ,
A permit transmission means for transmitting the created participation certificate issuance permit to the second terminal;
The second terminal is
Inquiry information receiving means for receiving inquiry information from the first terminal;
Public key transmission means for transmitting the second user's public key to the first terminal;
A communication system comprising: a certificate receiving means for receiving the participation certificate issuance permit from the first terminal.
ネットワーク上における第1の端末と第2の端末とで通信を行う通信システムであって、
前記第1の端末は、前記ネットワーク上に形成されたグループの公開鍵と当該第1のユーザの秘密鍵及び公開鍵のペアとを保持し、前記第2の端末は、前記グループの公開鍵を保持しており、
前記第1の端末は、
前記他第2の端末に対し、前記グループの正当な発行者か否かを問い合わせる旨を含む問合せ情報を送信する問合せ情報送信手段と、
前記第2の端末から、暗号化された参加証発行許可証を受信する許可証受信手段と、
受信された前記参加証発行許可証に対し、前記グループの公開鍵で復号を試みる復号試行手段と、
前記復号試行手段において復号が成功した場合に、当該復号された情報の適否を判定する情報判定手段と、
前記復号された情報が適切であると判定された場合に、前記第2の端末は、前記グループの正当な発行者の端末であると判定する発行者判定手段と、
前記正当な発行者であると判定された前記第2の端末に、前記グループに加入を希望する旨を表わす情報と当該第1のユーザの公開鍵とを含む加入依頼情報を送信する加入依頼送信手段と、
前記第2の端末から前記グループへの加入が認められた旨を表わす参加証を受信する参加証受信手段とを備え、
前記第2の端末は、
前記第1の端末から問合せ情報を受信する問合せ情報受信手段と、
前記問合せ情報を受信後に、参加証発行許可証を前記第1の端末に送信する暗号化情報送信手段と、
前記第1の端末から、前記加入依頼情報を受信する加入依頼受信手段と、
前記受信した加入依頼情報に基づいて、前記グループへの加入を認める旨を表わす参加証を生成する参加証生成手段と、
前記生成した参加証を前記第1の端末に送信する参加証送信手段と
を備えることを特徴とする通信システム。
A communication system for performing communication between a first terminal and a second terminal on a network,
The first terminal holds a public key of a group formed on the network and a private key / public key pair of the first user, and the second terminal holds the public key of the group. Hold
The first terminal is
Inquiry information transmission means for transmitting inquiry information including an inquiry as to whether or not the other second terminal is an authorized issuer of the group;
A license receiving means for receiving an encrypted participation certificate issuance permit from the second terminal;
Decryption trial means for trying to decrypt the received participation certificate issuance permit with the public key of the group;
An information determination unit that determines whether the decoded information is appropriate when decoding is successful in the decoding trial unit;
When it is determined that the decrypted information is appropriate, the second terminal determines that the second terminal is a valid issuer terminal of the group;
Subscription request transmission for transmitting subscription request information including information indicating that subscription to the group is desired and the public key of the first user to the second terminal determined to be the valid issuer. Means,
A participation certificate receiving means for receiving from the second terminal a participation certificate indicating that the joining of the group is permitted,
The second terminal is
Inquiry information receiving means for receiving inquiry information from the first terminal;
Encrypted information transmitting means for transmitting a participation certificate issuance permit to the first terminal after receiving the inquiry information;
Subscription request receiving means for receiving the subscription request information from the first terminal;
Based on the received subscription request information, a participation certificate generating means for generating a participation certificate representing permission to join the group;
A participation certificate transmitting means for transmitting the generated participation certificate to the first terminal.
JP2003277898A 2002-07-23 2003-07-22 Communication method and communication system Expired - Fee Related JP4610169B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003277898A JP4610169B2 (en) 2002-07-23 2003-07-22 Communication method and communication system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002213401 2002-07-23
JP2002300108 2002-10-15
JP2003277898A JP4610169B2 (en) 2002-07-23 2003-07-22 Communication method and communication system

Publications (3)

Publication Number Publication Date
JP2004159298A JP2004159298A (en) 2004-06-03
JP2004159298A5 JP2004159298A5 (en) 2006-08-31
JP4610169B2 true JP4610169B2 (en) 2011-01-12

Family

ID=32830558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003277898A Expired - Fee Related JP4610169B2 (en) 2002-07-23 2003-07-22 Communication method and communication system

Country Status (1)

Country Link
JP (1) JP4610169B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4701706B2 (en) * 2004-12-22 2011-06-15 富士ゼロックス株式会社 Information processing apparatus, method, and program
JP4714842B2 (en) * 2005-03-07 2011-06-29 Kddi株式会社 Information acquisition method in peer-to-peer communication network system
JP4802528B2 (en) * 2005-03-18 2011-10-26 ソニー株式会社 Information processing apparatus and method, and program
JP4794939B2 (en) * 2005-07-28 2011-10-19 日本電信電話株式会社 Ticket type member authentication apparatus and method
JP4561704B2 (en) 2005-08-09 2010-10-13 ソニー株式会社 WIRELESS COMMUNICATION SYSTEM, TERMINAL, ITS STATUS NOTIFICATION METHOD, AND PROGRAM
KR101319491B1 (en) * 2006-09-21 2013-10-17 삼성전자주식회사 Apparatus and method for setting up domain information
JP4968622B2 (en) * 2006-11-02 2012-07-04 日本電気株式会社 Group member confirmation system, group member confirmation method, and program
JP2008250568A (en) * 2007-03-29 2008-10-16 Brother Ind Ltd Information communication system, method for delivering expiration list, node device included in information communication system, and information processing program
JP5235485B2 (en) * 2008-05-01 2013-07-10 日本電信電話株式会社 Point management system and point management method
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US10567359B2 (en) * 2017-07-18 2020-02-18 International Business Machines Corporation Cluster of secure execution platforms

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298537A (en) * 1996-04-26 1997-11-18 Canon Inc Digital signature system and information communication system using it
JPH1115373A (en) * 1997-06-20 1999-01-22 Fuji Xerox Co Ltd Open key coding system
JP2002057660A (en) * 2000-06-09 2002-02-22 Trw Inc System and method for using role certificate as signature, digital seal, and digital signature in coding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001013201A2 (en) * 1999-08-12 2001-02-22 Sarnoff Corporation Peer-to-peer network user authentication protocol
EP1102430A1 (en) * 1999-10-27 2001-05-23 Telefonaktiebolaget Lm Ericsson Method and arrangement in an ad hoc communication network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298537A (en) * 1996-04-26 1997-11-18 Canon Inc Digital signature system and information communication system using it
JPH1115373A (en) * 1997-06-20 1999-01-22 Fuji Xerox Co Ltd Open key coding system
JP2002057660A (en) * 2000-06-09 2002-02-22 Trw Inc System and method for using role certificate as signature, digital seal, and digital signature in coding

Also Published As

Publication number Publication date
JP2004159298A (en) 2004-06-03

Similar Documents

Publication Publication Date Title
EP1385311B1 (en) Terminal apparatus, communication method, and communication system for authentication of users in a user group in a network
Cutillo et al. Privacy preserving social networking through decentralization
US7068789B2 (en) Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method
EP1536609B1 (en) Systems and methods for authenticating communications in a network
JP4808348B2 (en) Arrangements and methods in communication networks
JP4002380B2 (en) Multicast system, authentication server terminal, multicast receiver terminal management method, and recording medium
WO2004010636A1 (en) Mobile ad-hoc network including node authentication features and related methods
JP4610169B2 (en) Communication method and communication system
CN113194469A (en) 5G unmanned aerial vehicle cross-domain identity authentication method, system and terminal based on block chain
US20180115520A1 (en) Dark virtual private networks and secure services
US11792186B2 (en) Secure peer-to-peer based communication sessions via network operating system in secure data network
CN110191153A (en) Social communication method based on block chain
US7751569B2 (en) Group admission control apparatus and methods
GB2405234A (en) E-mail message filtering method for excluding spam
CN108199866A (en) Social network system with strong secret protection
JP2007531373A (en) Anonymous integrity of transmitted data
JPH11313055A (en) Cryptographic communication equipment, device and method for managing key, and system and method for network communication
JP4371629B2 (en) Group encryption communication method, authentication method, computer and program
JP2007129764A (en) Method for group encryption communication, method for authentication, computer and program
CN110166350B (en) Open social network communication method
Verma et al. Progressive authentication in ad hoc networks
PM et al. Survey on Online Social Networking Security
GB2405004A (en) Electronic message filtering
Schliep Secure Group Communication
Antipolis Privacy Preserving Social Networking Through Decentralization

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060718

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100203

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: 20100921

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: 20101012

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

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4610169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees