JP2008186064A - Distributed authentication system, distributed authentication method, and distributed authentication program - Google Patents

Distributed authentication system, distributed authentication method, and distributed authentication program Download PDF

Info

Publication number
JP2008186064A
JP2008186064A JP2007016562A JP2007016562A JP2008186064A JP 2008186064 A JP2008186064 A JP 2008186064A JP 2007016562 A JP2007016562 A JP 2007016562A JP 2007016562 A JP2007016562 A JP 2007016562A JP 2008186064 A JP2008186064 A JP 2008186064A
Authority
JP
Japan
Prior art keywords
node
representative
authentication system
distributed authentication
key
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.)
Withdrawn
Application number
JP2007016562A
Other languages
Japanese (ja)
Inventor
Takayuki Shizuno
隆之 静野
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007016562A priority Critical patent/JP2008186064A/en
Publication of JP2008186064A publication Critical patent/JP2008186064A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a distributed authentication system, capable of improving the resistance to attack on an authentication station by suppressing the security risk that easy identification of the location of the authentication station facilitates the attack thereon. <P>SOLUTION: The distributed authentication system includes one or more nodes. A predetermined number of nodes of nodes which participate in the distributed authentication system are representative nodes which represent the distributed authentication system. The representative nodes issue, in cooperation with each other, a representative key used for electronic signature of the distributed authentication system, a distributed authentication system electronic certificate, a private key used for electronic signature of each node which participates in the distributed authentication system, and an electronic certificate for each node which participates in the distributed authentication system. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、分散認証システム、分散認証方法、及び分散認証プログラムに係り、特にメッセージに付された電子証明書の正当性を検証し、その電子証明書の公開鍵を用いて電子署名を復号して当該メッセージの正当性を検証する認証技術に関する。   The present invention relates to a distributed authentication system, a distributed authentication method, and a distributed authentication program, and in particular, verifies the validity of an electronic certificate attached to a message and decrypts the electronic signature using the public key of the electronic certificate. The present invention relates to an authentication technique for verifying the validity of the message.

インターネット上では、P2P(Peer to Peer)技術を用いたファイル共有ネットワークにより、テキストコンテンツだけでなく画像や音声、映像といった様々なコンテンツがユーザ間で直接やりとりされるようになってきた。   On the Internet, not only text contents but also various contents such as images, sounds, and videos have been directly exchanged between users by a file sharing network using P2P (Peer to Peer) technology.

しかし、ファイル共有ネットワークへの参加を完全に自由にしてしまうと不正ノードの参加や不正コンテンツ流通の原因になる。そこで、従来はファイル共有ネットワークに認証技術を適用することでこれを回避してきた。   However, if the participation in the file sharing network is completely free, it becomes a cause of illegal node participation and illegal content distribution. Therefore, conventionally, this has been avoided by applying an authentication technique to the file sharing network.

例えば、認証局を用いるものがある。これは、あるノードがファイル共有ネットワークに参加するために事前に認証局に電子証明書を発行してもらい、電子署名を用いてノード間で相互認証するものである。   For example, some use a certificate authority. In this method, a certificate is issued in advance by a certificate authority in order for a node to participate in a file sharing network, and mutual authentication is performed between nodes using an electronic signature.

なお、本発明に関連する先行技術文献としては、以下のものがある。
特開2004−159298号公報 特開2004−171274号公報 特開2004−254271号公報 特開2006−101277号公報 特開平11−015374号公報
As prior art documents related to the present invention, there are the following.
JP 2004-159298 A JP 2004-171274 A JP 2004-254271 A JP 2006-101277 A JP 11-015374 A

しかしながら、前述した従来の認証局を用いた技術では、認証局はネットワーク上の特定の場所に存在するため攻撃対象になりやすいという問題があった。その理由は、認証局は、あらゆる場所に存在するノードから接続可能にするためにネットワーク上の特定の場所に存在し、従って悪意のある攻撃者にも認証局の場所が判明してしまうため、容易に攻撃されてしまうというセキュリティリスクがあることによる。   However, the technique using the conventional certificate authority described above has a problem that the certificate authority is likely to be an attack target because it exists in a specific location on the network. The reason is that the certificate authority exists at a specific location on the network so that it can be connected from nodes that exist everywhere, and therefore the location of the certificate authority is also revealed to malicious attackers. This is due to the security risk of being easily attacked.

本発明の目的は、認証局の場所が判明して容易に攻撃されやすいというセキュリティリスクを抑制し、認証局への攻撃耐性を向上させることができる分散認証システムを提供することにある。   An object of the present invention is to provide a distributed authentication system capable of suppressing the security risk that the location of a certificate authority is known and being easily attacked, and improving the resistance to attacks on the certificate authority.

上記目的を達成するため、本発明に係る分散認証システムは、ひとつまたは複数のノードで構成される分散認証システムであって、前記分散認証システムに参加するノードのうち所定数台のノードが、前記分散認証システムを代表する代表ノードとなり、前記代表ノードが、互いに連携することによって、前記分散認証システムの電子署名で用いる代表鍵と、分散認証システム電子証明書と、前記分散認証システムに参加するノードの電子署名で用いる個人鍵と、前記分散認証システムに参加するノードの電子証明書とを発行することを特徴とする。   To achieve the above object, a distributed authentication system according to the present invention is a distributed authentication system composed of one or a plurality of nodes, and a predetermined number of nodes among the nodes participating in the distributed authentication system are A representative node representing the distributed authentication system, and the representative nodes cooperate with each other to thereby represent a representative key used in an electronic signature of the distributed authentication system, a distributed authentication system electronic certificate, and a node participating in the distributed authentication system A personal key used in the electronic signature of the node and an electronic certificate of a node participating in the distributed authentication system are issued.

本発明に係る分散認証方法は、ひとつまたは複数のノードで構成される分散認証システムであり、前記分散認証システムに参加するノードのうち所定数台のノードが前記分散認証システムを代表する代表ノードとなり、前記代表ノードが、互いに連携することによって、前記分散認証システムの電子署名で用いる代表鍵と、分散認証システム電子証明書と、前記分散認証システムに参加するノードの電子署名で用いる個人鍵と、前記分散認証システムに参加するノードの電子証明書とを発行する分散認証システムの分散認証方法であって、(A)前記分散認証システムへの参加を開始するステップと、(B)前記分散認証システムに参加する全ノード数が所定数未満の場合、総意モードの動作を行うステップと、(C)前記分散認証システムに参加する全ノード数が所定数以上の場合、代表モードの動作として、前記代表ノード以外の一般ノードのときの動作を行うステップと、(D)前記代表モードの動作として、前記代表ノードのときの動作を行うステップと、(E)他ノードから受信したメッセージの電子署名を確認するときの動作を行うステップと、(F)前記代表ノードの初期の動作を行うステップと、(G)前記代表ノードを更新するときの動作を行うステップと、(H)前記代表ノードを離脱するときの動作を行うステップとを有することを特徴とする。   The distributed authentication method according to the present invention is a distributed authentication system including one or a plurality of nodes, and a predetermined number of nodes among the nodes participating in the distributed authentication system are representative nodes representing the distributed authentication system. The representative nodes cooperate with each other to represent a representative key used in an electronic signature of the distributed authentication system, a distributed authentication system electronic certificate, a personal key used in an electronic signature of a node participating in the distributed authentication system, A distributed authentication method for a distributed authentication system that issues an electronic certificate of a node participating in the distributed authentication system, comprising: (A) starting participation in the distributed authentication system; and (B) the distributed authentication system. When the total number of nodes participating in the system is less than a predetermined number, the step of performing the consensus mode, (C) the distributed authentication system When the total number of participating nodes is greater than or equal to a predetermined number, the representative mode operation is an operation for a general node other than the representative node, and (D) the representative mode operation is for the representative node. Performing an operation; (E) performing an operation for confirming an electronic signature of a message received from another node; (F) performing an initial operation of the representative node; and (G) the representative node. And (H) performing an operation when leaving the representative node, and (H) performing an operation when updating the representative node.

本発明によれば、認証局の場所が判明して容易に攻撃されやすいというセキュリティリスクを抑制し、認証局への攻撃耐性を向上させることができる分散認証システムを提供することができる。   According to the present invention, it is possible to provide a distributed authentication system capable of suppressing the security risk that the location of the certificate authority is known and being easily attacked and improving the resistance to attacks on the certificate authority.

以下、本発明の実施形態について、添付図を参照して説明する。   Embodiments of the present invention will be described below with reference to the accompanying drawings.

本実施形態は、独立した認証局が無い状況において、ファイル共有ネットワークに参加するノードが連携することで認証局になり、ファイル共有ネットワークに新たに参加するノードの電子署名のための鍵(代表鍵、個人鍵)の発行、及び電子証明書(分散認証システム電子証明書、ノードの電子証明書)の保存を実施する分散認証システム、分散認証方法、及びプログラムに関するものである。   In this embodiment, in a situation where there is no independent certificate authority, a node that participates in the file sharing network cooperates to become a certificate authority, and a key (representative key) for the electronic signature of the node that newly participates in the file sharing network , A personal key) and a digital authentication (distributed authentication system electronic certificate, node electronic certificate) storage authentication system, distributed authentication method, and program.

本実施形態において、分散認証システム電子証明書は、認証局の電子証明書に対応し、後述するように、代表鍵の公開鍵を含み、分散認証システムの電子署名は、認証局の電子署名に対応し、代表鍵の秘密鍵で暗号化されたものである。また、ノードの電子証明書は、後述するように、個人鍵の公開鍵と、分散認証システムの電子署名とを含み、ノードの電子署名は、個人鍵の秘密鍵で暗号化されたものである。   In this embodiment, the distributed authentication system electronic certificate corresponds to the certificate authority's electronic certificate, and includes the public key of the representative key, as will be described later, and the electronic signature of the distributed authentication system is the electronic signature of the certificate authority. Correspondingly, it is encrypted with the secret key of the representative key. Further, as will be described later, the electronic certificate of the node includes the public key of the private key and the electronic signature of the distributed authentication system, and the electronic signature of the node is encrypted with the private key of the private key. .

ここで、ノードの電子証明書に含まれる分散認証システムの電子署名を、分散認証システム電子証明書に含まれる代表鍵の公開鍵で復号化することにより、当該ノードの電子証明書の正当性が検証可能となる。また、ノードからの送信メッセージに付加される当該ノードの電子署名を、当該ノードの電子証明書に含まれる個人鍵の公開鍵で復号化することにより、当該メッセージの正当性が検証可能となる。その詳細は後述する。   Here, by decrypting the electronic signature of the distributed authentication system included in the electronic certificate of the node with the public key of the representative key included in the distributed authentication system electronic certificate, the validity of the electronic certificate of the node is verified. It becomes possible to verify. Further, the authenticity of the message can be verified by decrypting the electronic signature of the node added to the transmission message from the node with the public key of the personal key included in the electronic certificate of the node. Details thereof will be described later.

本実施形態の分散認証システムは、ひとつまたは複数のノードで構成される。分散認証システムに参加するノードのうち規定数台のノードが代表ノードとなる。規定数台の代表ノードは、互いに連携することによって、分散認証システムの代表鍵と、分散認証システム電子証明書と、分散認証システムに参加するノードの個人鍵と、分散認証システムに参加するノードの電子証明書とを発行する機能を有する。   The distributed authentication system of this embodiment is configured by one or a plurality of nodes. Among the nodes participating in the distributed authentication system, a prescribed number of nodes become representative nodes. The specified number of representative nodes cooperate with each other, so that the representative key of the distributed authentication system, the distributed authentication system electronic certificate, the personal key of the node participating in the distributed authentication system, and the node participating in the distributed authentication system It has a function to issue an electronic certificate.

本実施形態の分散認証システムを構成するノードは、他ノードから送られてくるデータを受信する受信部と、分散認証システムを構成するノードの情報を含むノードリストを更新可能に保存するノード情報保存部と、ノードリストに基づいて、前記分散認証システムのモードとして、前記分散認証システムに参加する全ノード数が所定数未満のときの総意モードと、前記分散認証システムに参加する全ノード数が所定数以上のときの代表モードとを管理するモード管理部と、代表モードの際に代表ノードのときの動作を行う代表ノード機能部と、代表モードの際に代表ノード以外の一般ノードのときの動作を行う一般ノード機能部と、総意モード及び代表モードに共通の動作を行う共通機能部と、代表ノード機能部、一般ノード機能部、及び共通機能部から渡される他ノードへのデータに電子署名を付加する署名付加部と、電子署名が付加されたデータを前記他ノードに送信する送信部と、を有する。   The node constituting the distributed authentication system of the present embodiment stores the node information including the receiving unit for receiving data sent from other nodes and the node list including the information of the nodes constituting the distributed authentication system in an updatable manner. And a node list, the mode of the distributed authentication system is a consensus mode when the total number of nodes participating in the distributed authentication system is less than a predetermined number, and the total number of nodes participating in the distributed authentication system is predetermined. A mode management unit that manages the representative mode when there are more than a number, a representative node function unit that operates as a representative node in the representative mode, and an operation when a general node other than the representative node is in the representative mode A general node function unit that performs operations common to the consensus mode and the representative mode, a representative node function unit, a general node function unit, and A signature adding unit that adds an electronic signature to the data to other nodes that are passed from passing function unit, a transmission unit for transmitting the data with an electronic signature is added to said another node, the.

一般ノード機能部は、ノードが一般ノードである場合に、仮鍵を生成する機能を有する仮鍵生成部と、分散認証システムに参加するために参加リクエストを他の既に分散認証システムに参加しているノードに参加リクエストを送信する機能を有する参加動作部と、を有する。   When the node is a general node, the general node function unit has a temporary key generation unit having a function of generating a temporary key, and a participation request to participate in the distributed authentication system. A participation operation unit having a function of transmitting a participation request to a certain node.

代表ノード機能部は、ノードが代表ノードである場合に、他の代表ノードと互いに連携し、分散認証システムの代表鍵と分散認証システム電子証明書を生成する機能を有する代表鍵生成部と、他のノードからの参加リクエストまたは電子証明書生成リクエストを受信し、他のノードの個人鍵と電子証明書を生成する機能を有する他ノード電子証明書生成部と、代表ノードを離脱する機能及び代表ノードが規定数より少なくなった場合に代表ノードを指名する機能を有する代表ノード指名・離脱機能部と、分散認証システムの代表鍵と他のノードの個人鍵の秘密鍵の素となるランダム素数を生成する機能を有するランダム素数生成部と、を有する。   When the node is a representative node, the representative node function unit cooperates with other representative nodes to generate a representative key for the distributed authentication system and a function for generating a distributed authentication system digital certificate, Other node electronic certificate generation unit having a function of receiving a participation request or an electronic certificate generation request from another node and generating a personal key and an electronic certificate of another node, a function of leaving the representative node, and the representative node Generates a random prime number that is the prime key of the representative key of the distributed authentication system and the secret key of the private key of the other node. A random prime number generation unit having a function of

共通機能部は、ノードが一般ノードまたは代表ノードの場合に、キープアライブ(keep alive)動作により他のノードとノードリストを交換する機能を有するキープアライブ動作部と、分散認証システムを利用するアプリケーションを実施する機能を有するアプリケーション部と、規定数台の代表ノードから受信する個人鍵の秘密鍵の素となる情報から個人鍵の秘密鍵を生成する機能を有する個人鍵生成部と、他のノードから受信するメッセージに付加されている電子署名の正当性を確認する機能を有する電子署名確認部と、を有する。   When the node is a general node or a representative node, the common function unit includes a keep alive operation unit having a function of exchanging a node list with another node by a keep alive operation, and an application using the distributed authentication system. From an application unit having a function to be performed, a personal key generation unit having a function of generating a private key of a private key from information that is a source of a private key of a private key received from a specified number of representative nodes, and other nodes An electronic signature confirmation unit having a function of confirming the validity of the electronic signature added to the received message.

受信部は、受信したメッセージをモード管理部へ送る機能を有する。   The receiving unit has a function of sending the received message to the mode management unit.

モード管理部は、ノード情報保存部に保存されているノードリストを読み出す機能と、分散認証システムに参加しているノード数を確認する機能と、分散認証システムのモードを確認する機能と、を有する。さらに、モード管理部は、自ノードが代表ノードであるか、一般ノードであるか状態管理する機能を有する。   The mode management unit has a function of reading a node list stored in the node information storage unit, a function of confirming the number of nodes participating in the distributed authentication system, and a function of confirming a mode of the distributed authentication system. . Further, the mode management unit has a function of managing the status of whether the own node is a representative node or a general node.

代表ノードは、他の代表ノードと互いに連携し、分散認証システムの代表鍵と分散認証システム電子証明書を生成する機能と、他のノードからの参加リクエストまたは電子証明書生成リクエストを受信し、他のノードの個人鍵と電子証明書を生成する機能と、代表ノードを離脱する機能と、代表ノードが規定数より少なくなった場合に代表ノードを指名する機能と、分散認証システムの代表鍵と他のノードの個人鍵の秘密鍵の素となるランダム素数を生成する機能と、キープアライブ動作により他のノードとノードリストを交換する機能と、分散認証システムを利用するアプリケーションを実施する機能と、規定数台の代表ノードから受信する個人鍵の秘密鍵の素となる情報から個人鍵の秘密鍵を生成する機能と、他のノードから受信するメッセージに付加されている電子署名の正当性を確認する機能と、を有する。   The representative node cooperates with other representative nodes to receive a function for generating a distributed authentication system representative key and a distributed authentication system digital certificate, and a participation request or digital certificate generation request from another node. A function to generate a personal key and electronic certificate of a node, a function to leave the representative node, a function to designate a representative node when the number of representative nodes is less than the specified number, a representative key of the distributed authentication system, and others A function that generates a random prime number that is a prime key of a private key of a private key of a node, a function that exchanges a node list with another node by a keep alive operation, a function that implements an application that uses a distributed authentication system, and a specification A function for generating a private key of a private key from information that is a source of a private key of a private key received from several representative nodes, and a method for receiving a private key from other nodes. It has a function to check the validity of the electronic signature attached to sage, and.

ノードリストは、分散認証システムに参加している全ノードのノード情報と、代表ノード情報と、を有する。ノード情報は、ノードのIDと、ノードのIPアドレスと、ポート番号と、代表ノード情報と、旧代表ノード情報と、を含む。代表ノード情報は、分散認証システムを代表する代表ノードがどのノードであるかという情報を含む。旧代表ノード情報は、過去に分散認証システムを代表する代表ノードがどのノードであったかという情報を含む。   The node list includes node information of all nodes participating in the distributed authentication system and representative node information. The node information includes a node ID, a node IP address, a port number, representative node information, and old representative node information. The representative node information includes information indicating which node is the representative node representing the distributed authentication system. The old representative node information includes information on which representative node representative of the distributed authentication system was in the past.

仮鍵は、分散認証システムによって発行された鍵ではなく、各ノードが生成する鍵であって、新規に分散認証システムに参加する場合と、総意モードの場合に、他ノードへの全てのメッセージに付加される電子署名に利用される。   The temporary key is not a key issued by the distributed authentication system, but a key generated by each node. It is used for all messages sent to other nodes when newly participating in the distributed authentication system and in the consensus mode. Used for electronic signatures to be added.

鍵は、公開鍵暗号系における秘密鍵、公開鍵のことであり、鍵は秘密鍵と公開鍵のセットで存在するものであって、分散認証システムの代表鍵は代表鍵の秘密鍵と代表鍵の公開鍵から成り、あるノードの個人鍵は個人鍵の秘密鍵と個人鍵の公開鍵から成る。   The key is a secret key or public key in the public key cryptosystem, and the key exists as a set of a secret key and a public key. The representative key of the distributed authentication system is the secret key and the representative key of the representative key. The private key of a certain node is composed of a private key of the private key and a public key of the private key.

分散認証システムの代表鍵は、分散認証システムを代表する規定数台の代表ノードが互いに連携して作成する鍵であって、ノードリストと、分散認証システムに参加するノードの電子証明書に分散認証システムの電子署名を付加する場合に使用される。ただし、分散認証システムの代表鍵の秘密鍵は、複数の代表ノードで分散して保存され、分散認証システム上のどのノードも分散認証システムの代表鍵の秘密鍵を知ることはできない。一方、分散認証システムの代表鍵の公開鍵は、分散認証システム上に公開され、分散認証システム上のどのノードも参照することができる。   The representative key of the distributed authentication system is a key created by a specified number of representative nodes representing the distributed authentication system in cooperation with each other. Distributed authentication is performed on the node list and the electronic certificates of the nodes participating in the distributed authentication system. Used to add a system digital signature. However, the secret key of the representative key of the distributed authentication system is distributed and stored by a plurality of representative nodes, and no node on the distributed authentication system can know the secret key of the representative key of the distributed authentication system. On the other hand, the public key of the representative key of the distributed authentication system is disclosed on the distributed authentication system, and any node on the distributed authentication system can be referred to.

分散認証システムに参加するノードの電子証明書とは、分散認証システムを代表する規定数台の代表ノードが互いに連携して作成する個人鍵の公開鍵と、分散認証システムに参加するノードの情報と、分散認証システムを代表する規定数台の代表ノードが互いに連携して作成する個人鍵の公開鍵と分散認証システムに参加するノードの情報のダイジェスト情報に分散認証システムの代表鍵による電子署名を付加したものである。   An electronic certificate of a node participating in the distributed authentication system is a public key of a personal key created by a prescribed number of representative nodes representing the distributed authentication system in cooperation with each other, information on nodes participating in the distributed authentication system, and Add a digital signature with the representative key of the distributed authentication system to the public key of the private key created by the prescribed number of representative nodes representing the distributed authentication system and the digest information of the node information participating in the distributed authentication system. It is a thing.

ダイジェスト情報とは、元になる情報の要約情報を指し、元になる情報に一方向関数を適用することで生成される。   Digest information refers to summary information of the original information, and is generated by applying a one-way function to the original information.

さらに、モード管理部は、ノード情報保存部に保存されているノード情報を定期的に読み出し、分散認証システムに参加するノード数が規定数未満であるかそうでないかを確認する機能を有し、分散認証システムに参加するノード数が規定数未満であった場合、ノードを総意モードで動作させ、分散認証システムに参加するノード数が規定数以上であった場合、ノードを代表モードで動作させ、さらに代表モードの場合、代表ノードに指名されていた場合、ノードを代表ノードとして動作させ、代表ノードに指名されていなかった場合、ノードを一般ノードとして動作させる。   Further, the mode management unit periodically reads the node information stored in the node information storage unit, and has a function of confirming whether or not the number of nodes participating in the distributed authentication system is less than the prescribed number, When the number of nodes participating in the distributed authentication system is less than the prescribed number, the node is operated in the consensus mode, and when the number of nodes participating in the distributed authentication system is more than the prescribed number, the node is operated in the representative mode, Further, in the representative mode, the node is operated as a representative node when designated as a representative node, and the node is operated as a general node when not designated as a representative node.

さらに、モード管理部は、総意モードにおいて、ノード情報保存部に保存されているノードリストを確認し、分散認証システムに参加している全ノード数が規定数に到達していた場合、ノードを代表モードに移行させる機能を有する。   Further, the mode management unit confirms the node list stored in the node information storage unit in the consensus mode, and if the total number of nodes participating in the distributed authentication system has reached the specified number, the mode management unit represents the node. It has a function to shift to the mode.

さらに、モード管理部は、代表ノード機能部に、分散認証システムの代表鍵を生成するよう指示する機能と、一般ノード機能部に、分散認証ネットワークに改めて参加し分散認証システムの発行する電子証明書及び鍵を得るよう指示する機能と、代表ノード機能部に鍵の秘密鍵を用いてノードリストに電子署名をするよう指示する機能と、代表ノード機能部に、規定数台の代表ノードによる電子署名の完了したノードリストに分散認証システムの代表鍵による電子署名を付加するよう指示する機能と、を有する。   Further, the mode management unit instructs the representative node function unit to generate a representative key of the distributed authentication system, and the general node function unit rejoins the distributed authentication network and issues an electronic certificate issued by the distributed authentication system. And a function to instruct to obtain a key, a function to instruct the representative node function unit to electronically sign the node list using the secret key of the key, and an electronic signature by a specified number of representative nodes to the representative node function unit And a function for instructing to add an electronic signature using a representative key of the distributed authentication system to the completed node list.

さらに、モード管理部は、受信したメッセージを適切な機能部へ振り分けを行う機能を有する。   Further, the mode management unit has a function of distributing the received message to an appropriate functional unit.

参加動作部は、自ノードが新規に分散認証システムに参加する場合に、仮鍵の公開鍵を付加した参加リクエストを送信する機能と、参加リクエストを受信した場合に参加リクエストに付加されている仮鍵の公開鍵を用いて電子署名を確認し、改ざんがない場合は参加レスポンスを送信する機能と、を有する。ただし、参加動作部は、分散認証システムが総意モードであった場合、参加レスポンスに自ノードの仮鍵の公開鍵と、ノードリストを付加し、署名付加部により仮鍵の秘密鍵で電子署名をした上で、参加レスポンスを送信し、分散認証システムが代表モードであった場合、参加レスポンスには参加リクエストを受理した旨のメッセージを、自ノードの個人鍵の秘密鍵で電子署名をし、参加レスポンスを送信し、さらに、参加動作部は、ノード情報保存部からノードリストを読み出し、代表ノードを確認し、ある代表ノードに対し、参加リクエストを送信してきたノードのノード情報が付加した電子証明書生成リクエストを送信する機能を有する。   The participation operation unit has a function of transmitting a participation request to which a public key of a temporary key is added when the own node newly participates in the distributed authentication system, and a temporary attachment added to the participation request when the participation request is received. A function of confirming the electronic signature using the public key of the key and transmitting a participation response when there is no tampering. However, when the distributed authentication system is in the consensus mode, the participation operation unit adds the public key of the node's temporary key and the node list to the participation response, and the signature adding unit applies the electronic signature with the private key of the temporary key. After that, when a participation response is sent and the distributed authentication system is in the representative mode, a message to the effect that the participation request has been accepted is signed in the participation response, and an electronic signature is signed with the private key of the own node's private key. In addition, the participation operation unit reads the node list from the node information storage unit, confirms the representative node, and the electronic certificate added with the node information of the node that transmitted the participation request to a certain representative node It has a function of transmitting a generation request.

仮鍵生成部は、仮鍵を生成する機能と、生成した仮鍵を自ノードのノード情報と共にノード情報保存部に保存する機能を有する。   The temporary key generation unit has a function of generating a temporary key and a function of storing the generated temporary key in the node information storage unit together with the node information of the own node.

ランダム素数生成部は、代表鍵生成部と他ノード電子証明書生成部からのリクエストを受けて、ランダムな素数を生成する機能と、代表鍵生成部と他ノード電子証明書生成部に生成したランダムな素数を渡す機能とを有する。   The random prime number generation unit receives a request from the representative key generation unit and another node electronic certificate generation unit, generates a random prime number, and generates a random prime number in the representative key generation unit and other node electronic certificate generation unit. And a function of passing a prime number.

代表鍵生成部は、分散認証システムが代表モードかつ自ノードが代表ノードであった場合に、モード管理部から分散認証システムの代表鍵を生成するように指示を受けると、他の規定数台の分散認証システムを代表する代表ノードと連携し、ランダム素数生成部が生成した素数を素に、代表鍵の公開鍵の素となる情報を他のノードに知らせることなく、マルチパーティプロトコルを用いて、分散認証システムの代表鍵の公開鍵を生成する機能と、ノードが代表ノードでなくなるまで代表鍵の生成に利用した素数を保存する機能とを有する。   When the distributed authentication system is in the representative mode and the own node is the representative node, the representative key generation unit receives other instructions from the mode management unit to generate a representative key for the distributed authentication system. In cooperation with the representative node representing the distributed authentication system, the prime number generated by the random prime number generation unit is prime, using the multi-party protocol without informing the other nodes of the prime key public key information, The distributed authentication system has a function of generating a public key of a representative key and a function of storing a prime number used for generating a representative key until the node is no longer a representative node.

さらに、代表鍵生成部は、分散認証システムが代表モードかつ自ノードが代表ノードであった場合に、モード管理部から規定数台の代表ノードによる電子署名の完了したノードリストに分散認証システムの代表鍵による電子署名を付加するように指示を受けると、他の規定数台の分散認証システムを代表する代表ノードと連携し、代表鍵の素となる情報を他のノードに知らせることなく、ノードリストに分散認証システムの代表鍵の秘密鍵を用いた電子署名を付加する機能を有する。   Further, the representative key generation unit displays a representative of the distributed authentication system in the node list in which the electronic signature by the prescribed number of representative nodes is completed from the mode management unit when the distributed authentication system is the representative mode and the own node is the representative node. When an instruction is given to add an electronic signature with a key, the node list is linked with the representative nodes representing the other specified number of distributed authentication systems, without informing the other nodes of the information representing the prime key. Has a function of adding an electronic signature using the secret key of the representative key of the distributed authentication system.

代表ノード指名・離脱機能部は、自ノードが代表ノードであり代表ノードを離脱したい場合に、ノード情報保存部からノードリストを読み出し、代表ノード離脱リクエストを他の代表ノードに送信する機能と、自ノードが代表ノードであった場合に、代表ノード離脱リクエストを受信すると、代表ノード離脱リクエストを送信してきた代表ノードに対し、代表ノード離脱レスポンスを送信する機能と、代表ノードが規定数未満である状態から、代表ノードを規定数台とするため、ノード情報保存部からノードリストを読み出し、適当な一般ノードを選出する機能と、選出した一般ノードのノード情報を記載した代表ノード指名確認メッセージを他の代表ノード全てに送信する機能と、代表ノード指名確認メッセージを受信した場合に、選出された一般ノードのノード情報を確認し、可否情報を含む代表ノード指名確認レスポンスを返送する機能と、自身を除く全ての代表ノードから代表ノード指名確認レスポンスを受信した場合に、選出した一般ノードに代表ノード指名リクエストを送信する機能と、自ノードが一般ノードでありノード代表ノード指名リクエストを受信した場合に、可否情報を含む代表ノード指名レスポンスを返送する機能と、代表ノード指名レスポンスを受信した場合に、新しく代表ノードとなるノードのノード情報を、自ノードを除く全ての代表ノードに送信する機能とを有する。   The representative node nominating / leaving function unit has a function of reading a node list from the node information storage unit and transmitting a representative node leaving request to another representative node when the own node is the representative node and wants to leave the representative node. When the node is a representative node, when a representative node leave request is received, a function to send a representative node leave response to the representative node that has sent the representative node leave request, and the number of representative nodes is less than the specified number In order to set the number of representative nodes to the specified number, a node list is read from the node information storage unit, a function for selecting an appropriate general node, and a representative node nomination confirmation message describing the node information of the selected general node Selected when the function to send to all the representative nodes and the representative node nomination confirmation message are received. If the representative node nomination confirmation response is received from all the representative nodes except for itself, the representative node nomination confirmation response including the availability information is confirmed. A function to send a node nomination request, a function to send a representative node nomination response including availability information, and a function to send a representative node nomination response when the node is a general node and receives a node representative node nomination request And a function of transmitting node information of a node to be a new representative node to all the representative nodes except the own node.

さらに、代表ノード指名・離脱機能部は、上記の動作を代表ノードが規定数台になるまで繰り返す機能と、代表ノード機能部に、個人鍵の秘密鍵を用いてノードリストに電子署名をするよう指示する機能と、代表鍵を更新する前まで代表ノードであった旧代表ノードに対し、現在代表ノードであるノードによる電子署名が修了しているノードリストに電子署名をするよう指示する機能と、代表ノード機能部に、規定数台の代表ノード及び規定数台の旧代表ノードによる電子署名の完了したノードリストに分散認証システムの代表鍵による電子署名を付加するよう指示する機能と、代表鍵の公開鍵とセットで分散認証ネットワーク電子証明書として、ノード情報保存部に保存する機能とを有する。   Furthermore, the representative node nominating / leaving function unit repeats the above operations until the number of representative nodes reaches a specified number, and the representative node function unit uses the private key of the private key to digitally sign the node list. A function to instruct, and a function to instruct the old representative node, which was a representative node before the representative key is updated, to sign an electronic signature on a node list in which the electronic signature by the node that is the current representative node has been completed; A function to instruct the representative node function unit to add an electronic signature with the representative key of the distributed authentication system to a node list in which the electronic signature has been completed by the prescribed number of representative nodes and the prescribed number of old representative nodes, and the representative key It has a function of storing in a node information storage unit as a distributed authentication network electronic certificate in combination with a public key.

他ノード電子証明書生成部は、分散認証システムが代表モードかつ自ノードが代表ノードであった場合に、電子証明書生成リクエストを受信すると、他の代表ノードと連携し、ランダム素数生成部が生成する素数を素に、電子証明書に付随する個人鍵の素となる情報を他のノードに知らせることなく、マルチパーティプロトコルを用いて、電子証明書リクエストに記載のノードの個人鍵を生成する機能と、代表鍵生成部と連携し、前記ノードのノード情報と個人鍵から電子証明書を生成する機能と、個人鍵の秘密鍵の素となる情報と公開鍵と、電子証明書を電子証明書生成リクエストに記載のノードに送信する機能を有する。   When the distributed authentication system is in the representative mode and the local node is the representative node, the other node electronic certificate generator generates a random prime number generator in cooperation with other representative nodes when receiving an electronic certificate generation request. A function that generates a private key for a node described in an electronic certificate request using a multi-party protocol without informing other nodes of information that is a prime of a private key accompanying the electronic certificate. And a function for generating an electronic certificate from the node information of the node and the personal key in cooperation with the representative key generation unit, information and a public key as a source of the private key of the personal key, and the electronic certificate as an electronic certificate It has a function to transmit to the node described in the generation request.

キープアライブ動作部は、他のノードに対し定期的にキープアライブメッセージを送信する機能と、他のノードから定期的にキープアライブメッセージを受信することで通信路のつながりをチェックする機能と、キープアライブメッセージに付加されたノードリストとノード情報保存部から読み出したノードリストを比較し、ノードリストを最新の情報に更新する機能と、キープアライブメッセージに対し一定期間レスポンスがない場合は該当ノードは分散認証システムから離脱したと判定し、ノードリストを更新し、キープアライブ動作を用いて他のノードに最新の情報を伝える機能と、代表ノードが離脱したと判定した場合に、ノード管理部に代表ノードが離脱したことを送信する機能とを有する。   The keep alive operation unit transmits a keep alive message periodically to other nodes, a function for checking the connection of the communication path by receiving a keep alive message from other nodes periodically, and a keep alive Compare the node list added to the message with the node list read from the node information storage unit, update the node list to the latest information, and if there is no response for a certain period of time for the keep-alive message, the corresponding node is distributed authentication It is determined that the node has left the system, the node list is updated, the function to transmit the latest information to other nodes using the keep-alive operation, and the representative node is displayed in the node management unit when it is determined that the representative node has left. And a function of transmitting that the user has left.

アプリケーション部は、分散認証システムを利用するアプリケーションの処理をする機能を有する。   The application unit has a function of processing an application that uses the distributed authentication system.

個人鍵生成部は、規定数台の代表ノードから受信する個人鍵の秘密鍵の素となる規定数個の情報から個人鍵の秘密鍵を生成する機能と、受信した公開鍵と秘密鍵が有効に動作するか確認する機能と、受信した電子証明書の有効性を確認する機能とを有する。   The private key generation unit is a function that generates a private key for a private key from a specified number of pieces of information that is the source of the private key of the private key received from a specified number of representative nodes, and the received public key and private key are valid. And a function for confirming the validity of the received electronic certificate.

電子署名確認部は、メッセージを受信した場合にメッセージ送信元を確認し、分散認証システムにメッセージ送信元のノードの電子証明書発行リクエストを送信する機能と、メッセージ送信元のノードの電子証明書を得た場合に、電子証明書に付加されている分散認証システムの代表鍵による電子署名を確認するため、分散認証システムに分散認証システム電子証明書発行リクエストを送信する機能と、分散認証システム電子証明書に付加されている代表鍵の公開鍵を得た場合に、電子証明書に付加されている電子署名を公開鍵で復号し、電子証明書の正当性を確認する機能と、受信したメッセージに付加されている電子署名を電子証明書に付加されている公開鍵で復号し、メッセージの正当性を確認する機能と、他のノードから電子証明書発行リクエストを受信した場合に、該当する電子証明書をノード情報保存部から読み出し、電子証明書発行レスポンスを返送する機能と、他のノードから分散認証システム電子証明書発行リクエストを受信した場合に、該当する公開鍵をノード情報保存部から読み出し、分散認証システム電子証明書発行レスポンスを送信する機能とを有する。   When receiving a message, the electronic signature confirmation unit confirms the message source, sends the electronic certificate issuance request of the message source node to the distributed authentication system, and the electronic certificate of the message source node. A function to send a distributed authentication system electronic certificate issuance request to the distributed authentication system and a distributed authentication system electronic certificate to confirm the electronic signature with the representative key of the distributed authentication system attached to the electronic certificate. When the public key of the representative key attached to the certificate is obtained, the electronic signature attached to the electronic certificate is decrypted with the public key, and the validity of the electronic certificate is confirmed. A function to check the validity of a message by decrypting the attached digital signature with the public key attached to the digital certificate, and the digital certificate from other nodes When a line request is received, the corresponding electronic certificate is read from the node information storage unit, and a function to send back an electronic certificate issuance response and when a distributed authentication system electronic certificate issuance request is received from another node, It has a function of reading out a corresponding public key from the node information storage unit and transmitting a distributed authentication system electronic certificate issuance response.

署名付加部は、分散認証システムが総意モードの場合にノード情報保存部に保存されている仮鍵を使用し、他の機能部からのメッセージに電子署名を付加する機能と、分散認証システムによって電子証明書の発行を受けていない場合にノード情報保存部に保存されている仮鍵を使用し、他の機能部からのメッセージに電子署名を付加する機能と散認証システムが総意モードの場合でなく、分散認証システムによって電子証明書の発行を受けている場合に、ノード情報保存部に保存されている個人鍵を使用し、他の機能部からのメッセージに電子署名を付加する機能と、を有する。   The signature adding unit uses a temporary key stored in the node information storage unit when the distributed authentication system is in the consensus mode, adds a digital signature to a message from another functional unit, and performs electronic processing by the distributed authentication system. A function that uses a temporary key stored in the node information storage unit when a certificate has not been issued and adds a digital signature to a message from another function unit, and a case where the distributed authentication system is in consensus mode A function for adding an electronic signature to a message from another functional unit using a personal key stored in the node information storage unit when the electronic certificate is issued by the distributed authentication system .

送信部は、署名付加部からのメッセージを受け、メッセージに記載された宛先のノードに対し、メッセージを送信する機能を有する。   The transmitting unit has a function of receiving a message from the signature adding unit and transmitting the message to the destination node described in the message.

ノード情報保存部は、自ノードのノード情報、仮鍵、電子証明書、ノードリスト、分散認証ネットワーク電子証明書、を保存する機能を有する。   The node information storage unit has a function of storing node information, a temporary key, an electronic certificate, a node list, and a distributed authentication network electronic certificate of the own node.

本実施形態に係る分散認証システムの分散認証方法は、(A)分散認証システム参加を開始するステップと、(B)総意モードのときの動作を行うステップと、(C)一般ノードのときの動作を行うステップと、(D)代表ノードのときの動作を行うステップと、(E)受信したメッセージの電子署名を確認するときの動作を行うステップと、(F)代表ノードの初期の動作を行うステップと、(G)代表ノードを更新するときの動作を行うステップと、(H)代表ノードを離脱するときの動作を行うステップとを有する。   The distributed authentication method of the distributed authentication system according to the present embodiment includes (A) a step of starting participation in the distributed authentication system, (B) a step of performing an operation in the consensus mode, and (C) an operation in the case of a general node. , (D) a step of performing an operation as a representative node, (E) a step of performing an operation for checking an electronic signature of a received message, and (F) performing an initial operation of the representative node. And (G) a step of performing an operation when updating the representative node, and (H) a step of performing an operation when leaving the representative node.

前記(A)分散認証システムに参加するを開始するステップは、(A1)初期状態ステップと、(A2)仮鍵を生成するステップと、(A3)仮鍵及び、ノード情報を保存するステップと、(A4)他の既に分散認証システムに参加しているノードに対し、参加リクエストを送信するステップと、(A5)分散認証システムのモードを確認するステップと、(A6)参加依頼レスポンスとして、参加依頼リクエストを送信したノードの仮鍵及びノードリストを受信し、ノードリストを更新するステップと、(A7)ノードリストを読み出し、ノードリストに記載の全ノードの仮鍵を保持しているか確認するステップと、(A8)参加レスポンスを受信するステップと、(A9)規定数台の代表ノードから個人鍵の秘密鍵の素となる情報と、電子証明書を受信するステップと、(A10)ステップA9で受信した個人鍵の秘密鍵の素となる情報から個人鍵を生成するステップとを有する。   (A) starting to participate in the distributed authentication system includes (A1) an initial state step, (A2) a step of generating a temporary key, (A3) a step of storing the temporary key and node information, (A4) a step of transmitting a participation request to another node already participating in the distributed authentication system, (A5) a step of confirming the mode of the distributed authentication system, and (A6) a participation request as a participation request response Receiving the temporary key and the node list of the node that transmitted the request, and updating the node list; (A7) reading the node list and checking whether the temporary keys of all the nodes described in the node list are held; , (A8) a step of receiving a participation response; (A9) information serving as a source of a private key of the private key from a specified number of representative nodes; A receiving certificates, and generating a private key from the information to be (A10) containing the private key private key received in step A9.

前記(B)総意モードのときの動作を行うステップは、(B1)総意モードの動作時の初期状態ステップと、(B2)キープアライブ動作により、他の分散認証システムに参加するノードとノードリストの交換を行うステップと、(B3)ノードリストを読み出し、分散認証システムに参加するノード数が規定数に達しているかどうかを確認するステップとを有する。   The step of (B) performing the operation in the consensus mode includes (B1) an initial state step in the operation of the consensus mode, and (B2) a node and a node list participating in another distributed authentication system by the keep alive operation. And (B3) reading the node list and confirming whether or not the number of nodes participating in the distributed authentication system has reached a specified number.

前記(C)一般ノードのときの動作を行うステップは、(C1)一般ノード動作の初期状態ステップと、(C2)ノードリストを読み出し、他のノードに対し、ノードリストを付加したキープアライブメッセージを送信するステップと、(C3)他のノードから、ノードリストが付加されたキープアライブメッセージを受信するステップと、(C4)ステップC3で受信したキープアライブメッセージに付加されていたノードリストと自ノードが保存していたノードリストを比較し最新の情報に更新するステップと、(C5)ノードリストを読み出し、分散認証システムに参加するノード数が規定数に達しているかどうかを確認するステップと、(C6)参加リクエストを受信するステップと、(C7)参加リクエストを送信してきたノードに対し、参加レスポンスを送信するステップと、(C8)規定数台の代表ノードのうち、任意の代表ノードに対し、電子証明書作成リクエストを送信するステップと、(C9)代表ノード指名リクエストを受信するステップと、(C10)代表ノードになるかどうか選択するステップと、(C11)代表ノードになるために、ステップC9で代表ノード指名リクエストを送信してきたノードに対し、代表ノード指名レスポンスを送信するステップと、(C12)代表ノードになることを拒否するために、ステップC9で代表ノード指名リクエストを送信してきたノードに対し、代表ノード拒否の情報を付加し代表ノード指名レスポンスを送信するステップと、(C13)電子証明書発行リクエストを受信するステップと、(C14)ステップC13で電子証明書発行リクエストを送信してきたノードに対し、自ノードの電子証明書を付加した電子証明書発行レスポンスを送信するステップとを有する。   (C) The step of performing the operation for the general node includes (C1) the initial state step of the general node operation, and (C2) the node list is read, and the keep alive message with the node list added is sent to the other nodes. A transmission step; (C3) a step of receiving a keep-alive message with a node list added from another node; and (C4) a node list and its own node added to the keep-alive message received at step C3. Comparing the stored node lists and updating to the latest information; (C5) reading the node list and checking whether the number of nodes participating in the distributed authentication system has reached a prescribed number; and (C6 ) A step of receiving a participation request; and (C7) a node that has transmitted the participation request. On the other hand, a step of transmitting a participation response, (C8) a step of transmitting an electronic certificate creation request to an arbitrary representative node among the prescribed number of representative nodes, and (C9) receiving a representative node nomination request. And (C10) a step of selecting whether or not to become a representative node, and (C11) a step of transmitting a representative node nomination response to the node that has transmitted the representative node nomination request in step C9 in order to become a representative node. (C12) a step of adding a representative node rejection information and transmitting a representative node nomination response to the node that has transmitted the representative node nomination request in step C9 in order to refuse to become a representative node; C13) receiving an electronic certificate issuance request; and (C14) step. To node which has transmitted the digital certificate issuance request 13, and a step of transmitting the digital certificate issuance response added with the electronic certificate of the node.

前記(D)代表ノードのときの動作を行うステップは、(D1)代表ノード動作時の初期状態ステップと、(D2)ノードリストを読み出し、他のノードに対し、ノードリストを付加したキープアライブメッセージを送信するステップと、(D3)他のノードから、ノードリストが付加されたキープアライブメッセージを受信するステップと、(D4)ステップD3で受信したキープアライブメッセージに付加されていたノードリストと自ノードが保存していたノードリストを比較し最新の情報に更新するステップと、(D5)ノードリストを読み出し、分散認証システムに参加するノード数が規定数に達しているかどうかを確認するステップと、(D6)ノードリストを読み出し、代表ノードが離脱していないか確認するステップと、(D7)代表ノードを離脱したい場合、他の代表ノードに対し、代表ノード離脱リクエストを送信するステップと、(D8)代表ノード離脱レスポンスを受信するステップと、(D9)参加リクエストを受信するステップと、(D10)参加リクエストを送信してきたノードに対し、参加レスポンスを送信するステップと、(D11)参加リクエストを送信してきたノードの個人鍵の秘密鍵の素となる情報となるランダム素数を生成するステップと、(D12)規定数台の代表ノード間で互いに連携し、参加リクエストを送信してきたノードの個人鍵の公開鍵を生成するステップと、(D13)規定数台の代表ノード間で互いに連携し、参加リクエストを送信してきたノードの電子証明書を生成するステップと、(D14)ステップD11で生成した参加リクエストを送信してきたノードの個人鍵の秘密鍵の素となる情報と、ステップD12で生成した参加リクエストを送信してきたノードの個人鍵の公開鍵と、ステップD13で生成した参加リクエストを送信してきたノードの電子証明書を、参加リクエストを送信してきたノードに対し送信するステップと、(D15)電子証明書生成リクエストを受信するステップと、(D16)代表ノード離脱リクエストを受信するステップと、(D17)代表ノード離脱レスポンスを送信するステップと、(D18)代表ノード指名確認メッセージを受信するステップと、(D19)代表ノード指名確認レスポンスを送信するステップと、(D20)電子証明書発行リクエストを受信するステップと、(D21)ステップD20で電子証明書発行リクエストを送信してきたノードに対し、自ノードの電子証明書を付加した電子証明書発行レスポンスを送信するステップと、(D22)分散認証システム電子証明書発行リクエストを受信するステップと、(D23)ステップD22で分散認証システム電子証明書発行リクエストを送信してきたノードに対し、分散認証システム電子証明書を付加した分散認証システム電子証明書発行レスポンスを送信するステップとを有する。   (D) The step of performing the operation at the time of the representative node includes (D1) an initial state step at the time of the representative node operation, and (D2) a keep alive message in which the node list is read and the node list is added to the other nodes. (D3) receiving a keep-alive message with a node list added from another node; (D4) the node list and its own node added to the keep-alive message received at step D3 (D5) reading the node list and confirming whether or not the number of nodes participating in the distributed authentication system has reached a predetermined number; D6) reading the node list and confirming that the representative node has not left; and (D ) If you want to leave the representative node, send a representative node leave request to other representative nodes; (D8) receive a representative node leave response; (D9) receive a join request; D10) a step of transmitting a participation response to the node that has transmitted the participation request; and (D11) a step of generating a random prime number that is information serving as a prime key of the private key of the node that has transmitted the participation request. (D12) collaborating with each other between the prescribed number of representative nodes and generating a public key of the personal key of the node that has transmitted the participation request; and (D13) cooperating with each other between the prescribed number of representative nodes, A step of generating an electronic certificate of the node that has transmitted the participation request; and (D14) generated in step D11. The information that is the source of the private key of the private key of the node that transmitted the participation request, the public key of the personal key of the node that transmitted the participation request generated in step D12, and the participation request generated in step D13 are transmitted. Transmitting the electronic certificate of the received node to the node that has transmitted the participation request; (D15) receiving the electronic certificate generation request; and (D16) receiving the representative node leaving request; (D17) a step of transmitting a representative node leaving response; (D18) a step of receiving a representative node nomination confirmation message; (D19) a step of transmitting a representative node nomination confirmation response; and (D20) an electronic certificate issuance request. Receiving, and (D21) issuing an electronic certificate in step D20 A step of transmitting an electronic certificate issuance response to which the electronic certificate of the own node is added to the node that has transmitted the request; (D22) a step of receiving a distributed authentication system electronic certificate issuance request; and (D23) step. And a step of transmitting a distributed authentication system electronic certificate issuance response added with the distributed authentication system electronic certificate to the node that has transmitted the distributed authentication system electronic certificate issuance request in D22.

前記(E)受信したメッセージの電子署名を確認するときの動作を行うステップは、(E1)署名確認動作の初期状態ステップと、(E2)メッセージ送信元のノードの電子証明書発行リクエストを送信するステップと、(E3)電子証明書発行レスポンスを受信するステップと、(E4)代表ノードに対し、分散認証システム電子証明書発行リクエストを送信するステップと、(E5)分散認証システム電子証明書発行レスポンスを受信するステップと、(E6)分散認証システム電子証明書に付加されている代表鍵の公開鍵を用い、電子証明書に付加されている電子署名を公開鍵で復号し、電子証明書の正当性を確認し、さらに、受信したメッセージに付加されている電子署名を電子証明書に付加されている公開鍵で復号し、メッセージの正当性を確認するステップとを有する。   The step of (E) performing the operation for confirming the electronic signature of the received message includes (E1) an initial state step of the signature confirmation operation and (E2) transmitting an electronic certificate issuance request of the message transmission source node. (E3) a step of receiving an electronic certificate issuance response; (E4) a step of transmitting a distributed authentication system electronic certificate issuance request to the representative node; and (E5) a distributed authentication system electronic certificate issuance response. And (E6) using the public key of the representative key added to the electronic certificate of the distributed authentication system, decrypting the electronic signature added to the electronic certificate with the public key, and verifying the validity of the electronic certificate The message is decrypted with the public key attached to the digital certificate. And a step of confirming the validity.

前記(F)代表ノードの初期の動作を行うステップは、(F1)代表ノード初期動作時の初期状態ステップと、(F2)分散認証システムの代表鍵の秘密鍵の素となる情報となるランダム素数を生成するステップと、(F3)規定数台の代表ノード間で互いに連携し、分散認証システムの代表鍵の公開鍵を生成するステップと、(F4)この時点のノードリストに対し、個人鍵の秘密鍵を用いて電子署名をするステップと、(F5)他の代表ノードに対し、電子署名済みのノードリストを送信するステップと、(F6)他の代表ノードから、ノードリストを受信するステップと、(F7)ステップF6で受信したノードリストに全代表ノードの電子署名が付加されているか確認するステップと、(F8)全代表ノードによる電子署名が完了したノードリストを、残存する旧代表ノードに送信するステップと、(F9)残存する旧代表ノードによる電子署名が付加されたノードリストを受信するステップと、(F10)ステップF9で受信したノードリストに、残存する旧代表ノード全てによる電子署名が付加されているか確認するステップと、(F11)規定数台の代表ノード間で互いに連携し、分散認証システム電子証明書を作成するステップとを有する。   The step of (F) performing the initial operation of the representative node includes (F1) an initial state step during the initial operation of the representative node, and (F2) a random prime number serving as information serving as a prime key of the representative key of the distributed authentication system. (F3) a step of generating a public key of a representative key of the distributed authentication system in cooperation with each other between a predetermined number of representative nodes, and (F4) A step of performing an electronic signature using a private key; (F5) transmitting a node list that has been electronically signed to another representative node; and (F6) receiving a node list from the other representative node. (F7) Checking whether the electronic signatures of all the representative nodes are added to the node list received in step F6, and (F8) Completing the electronic signatures by all the representative nodes. Transmitting the node list to the remaining old representative node; (F9) receiving the node list to which the electronic signature of the remaining old representative node is added; and (F10) the node list received in step F9. A step of confirming whether an electronic signature by all the remaining old representative nodes has been added, and a step of (F11) creating a distributed authentication system electronic certificate by cooperating with each other between the prescribed number of representative nodes.

前記(G)代表ノードを更新するときの動作を行うステップは、(G1)代表ノード更新動作時の初期状態ステップと、(G2)新たに代表ノードになるノードを選出するステップと、(G3)代表ノード指名確認メッセージを、他の代表ノードに送信するステップと、(G4)代表ノード指名確認レスポンスを受信するステップと、(G5)ステップS−F4で受信した代表ノード指名確認レスポンスに、ステップG2で選出したノードを拒否するメッセージが付加されているか確認するステップと、(G6)ステップG2で選出したノードに対し、代表ノード指名リクエストを送信するステップと、(G7)ステップG2で選出したノードから、代表ノード指名レスポンスを受信するステップと、(G8)ステップG7で受信した代表ノード指名レスポンスに、代表ノードになることを拒否するメッセージが付加されているか確認するステップと、(G9)代表ノード数が規定数に達しているかどうか確認するステップとを有する。   (G) performing the operation when updating the representative node includes (G1) an initial state step during the representative node update operation, (G2) selecting a node to be newly represented as a representative node, and (G3) A step of transmitting a representative node nomination confirmation message to another representative node; (G4) a step of receiving a representative node nomination confirmation response; and (G5) a representative node nomination confirmation response received in step S-F4. (G6) a step of transmitting a representative node nomination request to the node selected in step G2, and (G7) from the node selected in step G2. , A step of receiving a representative node nomination response, and (G8) the representative node received in step G7. The de nomination response has ascertaining whether refuse to become the representative node message is added, a step of confirming whether reached (G9) Number number representative node provisions.

前記(H)代表ノードを離脱するときの動作を行うステップは、(H1)代表ノード離脱動作時の初期状態ステップと、(H2)代表ノードから、全ての代表ノードの電子署名が付加されたノードリストを受信するステップと、(H3)ステップH2で受信したノードリストに、電子署名を付加するステップと、(H4)ステップH2で全ての代表ノードの電子署名が付加されたノードリストを送信してきた代表ノードに対し、ステップH3で電子署名を付加したノードリストを送信するステップとを有する。   (H) The step of performing the operation when leaving the representative node includes (H1) an initial state step at the time of leaving the representative node, and (H2) a node to which the electronic signatures of all the representative nodes are added from the representative node. The step of receiving the list, (H3) adding the electronic signature to the node list received in step H2, and (H4) transmitting the node list with the electronic signatures of all representative nodes added in step H2. And a step of transmitting the node list to which the electronic signature is added in step H3 to the representative node.

本実施形態の分散認証プログラムは、上記分散認証方法を、コンピュータに実行させるためのプログラムである。   The distributed authentication program of this embodiment is a program for causing a computer to execute the distributed authentication method.

以上説明したように、本実施の形態では、分散認証システムに参加するノードのうち規定数台のノードが代表ノードとなり、分散認証システムの代表鍵とその分散認証システム電子証明書を発行し、分散認証システムに参加するノードの個人鍵及びその電子証明書を発行する。規定数台の代表ノードは、互いに連携してマルチパーティプロトコルを利用することによって、上記の鍵及び電子証明書を発行する処理を分担して行うが、他のノードの秘密鍵を知ることはできない。全ノード数が規定数より少ない場合は、総意モードとなり、代表鍵は生成されず、仮鍵を相互に交換して認証する。それ以外では、代表モードとなり、代表ノードが選出され、代表ノードは定期的に変更され、新規に代表ノードになるノードを、代表ノードを継続するノードが承認することで代表鍵が継承される。   As described above, in the present embodiment, a prescribed number of nodes among the nodes participating in the distributed authentication system become representative nodes, issue a representative key of the distributed authentication system and its distributed authentication system electronic certificate, and distribute Issue personal keys and electronic certificates of nodes participating in the authentication system. The specified number of representative nodes share the process of issuing the key and electronic certificate by using a multi-party protocol in cooperation with each other, but cannot know the secret keys of other nodes. . If the total number of nodes is less than the specified number, the consensus mode is entered, no representative key is generated, and authentication is performed by exchanging temporary keys. In other cases, the representative mode is selected, the representative node is selected, the representative node is periodically changed, and the node that continues the representative node approves the node that becomes the new representative node, and the representative key is inherited.

従って、本実施形態によれば、次のような効果を奏することができる。   Therefore, according to the present embodiment, the following effects can be achieved.

第一の効果は、認証局の攻撃耐性が向上することにある。その理由は、分散認証システムに参加するノードのうち規定数台のノードが代表ノードとなり、分散認証システムの代表鍵と分散認証システム電子証明書の発行、及び分散認証システムに参加するノードの個人鍵及び電子証明書の発行を、規定数台の代表ノードが互いに連携することによって実現し、さらに代表ノードの指名・離脱を柔軟にすることによって、悪意のある攻撃者からの攻撃に対し、攻撃対象を分散させることができ、かつ攻撃されたとしても、代表ノードを次々と変化させることによって、分散認証システムとしての機能を失わずに、認証サービスを続けることができるためである。   The first effect is that the attack resistance of the certificate authority is improved. The reason is that a specified number of nodes among the nodes participating in the distributed authentication system become representative nodes, issuing the representative key of the distributed authentication system and the distributed authentication system electronic certificate, and the private key of the node participating in the distributed authentication system And the issuance of digital certificates through the cooperation of a specified number of representative nodes with each other, and the flexibility of nominating and leaving the representative nodes to attack against attacks from malicious attackers This is because the authentication service can be continued without losing the function as the distributed authentication system by changing the representative node one after another even if the system is distributed.

第二の効果は、特定の認証局なしに、特定の認証局がある場合と同等の安全性をもった認証サービスを提供することができることにある。その理由は、分散認証システムに参加するノードのうち規定数台のノードが代表ノードとなり、分散認証システムの代表鍵と分散認証システム電子証明書の発行、及び分散認証システムに参加するノードの個人鍵及び電子証明書の発行を、規定数台の代表ノードが互いに連携することによって実現し、さらに代表ノードの指名・離脱を柔軟にすることによって、ある特定の場所に認証局が存在する場合と同等の安全性を持った認証サービスを提供することができるためである。   The second effect is that it is possible to provide an authentication service having the same level of security as when there is a specific certificate authority without a specific certificate authority. The reason is that a specified number of nodes among the nodes participating in the distributed authentication system become representative nodes, issuing the representative key of the distributed authentication system and the distributed authentication system electronic certificate, and the private key of the node participating in the distributed authentication system And the issuance of electronic certificates is achieved by the cooperation of a specified number of representative nodes with each other, and by assigning and leaving the representative nodes flexibly, it is equivalent to the case where a certificate authority exists in a specific location This is because it is possible to provide an authentication service with the safety of the above.

まず、本発明の第1の実施例について、図面を参照して詳細に説明する。   First, a first embodiment of the present invention will be described in detail with reference to the drawings.

図1を参照すると、本実施例に係る分散認証システムを構成するノードは、受信部1と、モード管理部2と、一般ノード機能部3と、代表ノード機能部4と、共通機能部5と、ノード情報保存部8と、署名付加部6と、送信部7と、を有する。   Referring to FIG. 1, nodes constituting the distributed authentication system according to the present embodiment include a receiving unit 1, a mode management unit 2, a general node function unit 3, a representative node function unit 4, and a common function unit 5. A node information storage unit 8, a signature addition unit 6, and a transmission unit 7.

一般ノード機能部3は、参加動作部31と、仮鍵生成部32と、を有する。   The general node function unit 3 includes a participation operation unit 31 and a temporary key generation unit 32.

代表ノード機能部4は、ランダム素数生成部41と、代表鍵生成部42と、代表ノード指名・離脱機能部43と、他ノード電子証明書生成部44と、を有する。   The representative node function unit 4 includes a random prime number generation unit 41, a representative key generation unit 42, a representative node nomination / leaving function unit 43, and another node electronic certificate generation unit 44.

共通機能部5は、keep alive(キープアライブ)動作部51と、アプリケーション部52と、個人鍵生成部53と、電子署名確認部54と、を有する。   The common function unit 5 includes a keep alive operation unit 51, an application unit 52, a personal key generation unit 53, and an electronic signature confirmation unit 54.

受信部1は、受信したメッセージをモード管理部2へ送る。   The receiving unit 1 sends the received message to the mode management unit 2.

モード管理部2は、ノード情報保存部8に保存されているノードリストを読み出し、分散認証システムに参加しているノード数を確認し、分散認証システムのモードを確認する。さらに、モード管理部2は、自ノードが代表ノードであるか、一般ノードであるか状態管理する。   The mode management unit 2 reads the node list stored in the node information storage unit 8, confirms the number of nodes participating in the distributed authentication system, and confirms the mode of the distributed authentication system. Further, the mode management unit 2 manages whether the own node is a representative node or a general node.

ここで、分散認証システムのモードとは、総意モード、代表モードを指す。   Here, the mode of the distributed authentication system indicates a consensus mode and a representative mode.

総意モードとは、分散認証システムに参加する全ノード数が規定数m未満の時のノード動作を指す。総意モードでは、ノードはそれぞれ仮鍵を生成し分散認証システムに参加する。すなわち総意モードでは、分散認証システムを代表する代表ノードは存在せず、参加するノードがそれぞれ用意する仮鍵を利用し、ノード間で相互に認証する。   The consensus mode refers to node operation when the total number of nodes participating in the distributed authentication system is less than the prescribed number m. In the consensus mode, each node generates a temporary key and participates in the distributed authentication system. That is, in the consensus mode, there is no representative node that represents the distributed authentication system, and the nodes that participate each use a temporary key that is prepared by each node to authenticate each other.

一方、代表モードとは、分散認証システムに参加する全ノード数が規定数m以上の時のノードの動作を指す。代表モードでは、分散認証システムに参加するノードのうちm台のノードが分散認証システムを代表する代表ノードとして動作し、それ以外のノードは一般ノードとして動作する。   On the other hand, the representative mode refers to an operation of a node when the total number of nodes participating in the distributed authentication system is a predetermined number m or more. In the representative mode, m nodes among the nodes participating in the distributed authentication system operate as representative nodes representing the distributed authentication system, and the other nodes operate as general nodes.

ここで、代表ノードとは、分散認証システムを代表するノードのことであって、分散認証システムの代表鍵の生成、分散認証システムに参加するノードの鍵及び電子証明書の作成、代表ノードを指名する役割を担うノードである。代表ノードは、定期的に更新され、分散認証システムに参加する全ノードに代表ノードになる可能性がある。   Here, the representative node is a node representing the distributed authentication system, and generates a representative key of the distributed authentication system, creates a key and electronic certificate of the node participating in the distributed authentication system, and designates the representative node. It is a node that plays the role of The representative node is periodically updated and may become a representative node for all nodes participating in the distributed authentication system.

ここで、ノードリストとは、分散認証システムに参加している全ノードのノード情報と、代表ノード情報のリストである。ノード情報とは、例えば、ノードのID、ノードのIPアドレスである。代表ノード情報とは、分散認証システムを代表する代表ノードがどのノードであるかを表す情報である。   Here, the node list is a list of node information and representative node information of all nodes participating in the distributed authentication system. The node information is, for example, a node ID and a node IP address. The representative node information is information indicating which node is the representative node representing the distributed authentication system.

ここで、仮鍵とは、分散認証システムによって発行された鍵ではなく、各ノードが生成する鍵である。仮鍵は、分散認証システムに新規に参加する場合と、総意モードの場合とに、他ノードへ送信される全てのメッセージに付加される電子署名に利用する。   Here, the temporary key is not a key issued by the distributed authentication system, but a key generated by each node. The temporary key is used for an electronic signature added to all messages transmitted to other nodes when newly participating in the distributed authentication system and in the consensus mode.

ここで、鍵とは、公開鍵暗号系における秘密鍵及び公開鍵のことであり、その秘密鍵と公開鍵のセットで存在する。よって、分散認証システムの代表鍵は、代表鍵の秘密鍵と代表鍵の公開鍵とから成る。同様に、あるノードの個人鍵は、個人鍵の秘密鍵と個人鍵の公開鍵とから成る。   Here, the key is a secret key and a public key in the public key cryptosystem, and exists as a set of the secret key and the public key. Therefore, the representative key of the distributed authentication system includes a secret key of the representative key and a public key of the representative key. Similarly, the private key of a certain node includes a private key of the private key and a public key of the private key.

ここで、分散認証システムの代表鍵とは、分散認証システムを代表するm台の代表ノードが互いに連携して作成する鍵であって、ノードリストと、分散認証システムに参加するノードの電子証明書とに分散認証システムの電子署名を付加する場合に使用する。ただし、分散認証システムの代表鍵の秘密鍵は、複数の代表ノードで分散して保存され、分散認証システム上のどのノードも分散認証システムの代表鍵の秘密鍵を知ることはできない。一方、分散認証システムの代表鍵の公開鍵は、分散認証システム上に公開され、分散認証システム上のどのノードも参照することができる。本実施形態では、分散認証システムを代表するm台の代表ノードが互いに連携して作成する代表鍵の秘密鍵をランダムな数に設定できる公開鍵暗号系を用いる。この公開鍵暗号系として、例えばElGamal暗号などがある。   Here, the representative key of the distributed authentication system is a key created by the m representative nodes representing the distributed authentication system in cooperation with each other. The node list and the electronic certificate of the node participating in the distributed authentication system This is used to add an electronic signature of the distributed authentication system. However, the secret key of the representative key of the distributed authentication system is distributed and stored by a plurality of representative nodes, and no node on the distributed authentication system can know the secret key of the representative key of the distributed authentication system. On the other hand, the public key of the representative key of the distributed authentication system is disclosed on the distributed authentication system, and any node on the distributed authentication system can be referred to. In this embodiment, a public key cryptosystem is used in which m representative nodes representing a distributed authentication system can set a secret key of a representative key created in cooperation with each other at a random number. As this public key cryptosystem, for example, there is ElGamal cryptosystem.

ここで、分散認証システムに参加するノードの電子証明書とは、分散認証システムを代表するm台の代表ノードが互いに連携して作成する個人鍵の公開鍵と、分散認証システムに参加するノードの情報とに加え、これらの個人鍵の公開鍵及びノードの情報のダイジェスト情報に分散認証システムの代表鍵による電子署名を付加したものである。本実施形態では、分散認証システムを代表するm台の代表ノードが互いに連携して作成する個人鍵の秘密鍵をランダムな数に設定できる公開鍵暗号系を用いる。この公開鍵暗号系として、例えばElGamal暗号などがある。ここで、ダイジェスト情報とは、元になる情報の要約情報を指す。例えば元になる情報にSHA−1などの一方向関数を適用することで生成する。   Here, the electronic certificate of the node participating in the distributed authentication system is the public key of the personal key created by the m representative nodes representing the distributed authentication system in cooperation with each other and the nodes of the nodes participating in the distributed authentication system. In addition to the information, an electronic signature with the representative key of the distributed authentication system is added to the public key of the personal key and the digest information of the node information. In the present embodiment, a public key cryptosystem is used in which m representative nodes representing the distributed authentication system can set a private key of a private key created in cooperation with each other at a random number. As this public key cryptosystem, for example, there is ElGamal cryptosystem. Here, the digest information indicates summary information of the original information. For example, it is generated by applying a one-way function such as SHA-1 to the original information.

モード管理部2は、ノード情報保存部8に保存されているノード情報を定期的に読み出し、分散認証システムに参加するノード数が規定数m未満であるかそうでないかを確認する。分散認証システムに参加するノード数が規定数m未満であった場合、ノードは総意モードで動作する。一方、分散認証システムに参加するノード数が規定数m以上であった場合、ノードは代表モードで動作する。代表モードの場合、代表ノードに指名されていた場合、代表ノードとして動作する。一方、代表モードの場合、代表ノードに指名されていなかった場合、一般ノードとして動作する。   The mode management unit 2 periodically reads the node information stored in the node information storage unit 8 and confirms whether the number of nodes participating in the distributed authentication system is less than the prescribed number m. When the number of nodes participating in the distributed authentication system is less than the prescribed number m, the node operates in the consensus mode. On the other hand, when the number of nodes participating in the distributed authentication system is the specified number m or more, the node operates in the representative mode. In the representative mode, when designated as a representative node, it operates as a representative node. On the other hand, in the representative mode, when not designated as a representative node, it operates as a general node.

また、総意モードにおけるモード管理部2はノード情報保存部8に保存されているノードリストを確認し、分散認証システムに参加している全ノード数が規定数mに到達していた場合、代表モードに移行する。   In addition, the mode management unit 2 in the consensus mode confirms the node list stored in the node information storage unit 8, and if the total number of nodes participating in the distributed authentication system has reached the prescribed number m, the representative mode Migrate to

総意モードから代表モードに移行する場合、その時点で分散認証システムに参加している全ノード、すなわちm台のノードが代表ノードなる。そのために、モード管理部2は代表ノード機能部4に、分散認証システムの代表鍵を生成するよう指示する。さらに、モード管理部2は、一般ノード機能部3に、分散認証ネットワークに改めて参加し、分散認証システムの発行する電子証明書及び鍵を得るよう指示する。さらに、モード管理部2は、代表ノード機能部4に、前記鍵の秘密鍵を用いてノードリストに電子署名をするよう指示する。さらに、モード管理部2は、代表ノード機能部4に、m台の代表ノードによる電子署名の完了したノードリストに分散認証システムの代表鍵による電子署名を付加するよう指示する。   When shifting from the consensus mode to the representative mode, all nodes participating in the distributed authentication system at that time, that is, m nodes, become representative nodes. For this purpose, the mode management unit 2 instructs the representative node function unit 4 to generate a representative key for the distributed authentication system. Furthermore, the mode management unit 2 instructs the general node function unit 3 to rejoin the distributed authentication network and obtain an electronic certificate and key issued by the distributed authentication system. Further, the mode management unit 2 instructs the representative node function unit 4 to electronically sign the node list using the secret key of the key. Further, the mode management unit 2 instructs the representative node function unit 4 to add an electronic signature using the representative key of the distributed authentication system to the node list in which the electronic signatures by the m representative nodes have been completed.

以上の動作によって分散認証システムの代表鍵による電子署名が付加されたノードリストは、代表鍵の公開鍵とセットで、分散認証システム電子証明書として、ノード情報保存部8に保存される。   The node list to which the electronic signature by the representative key of the distributed authentication system is added by the above operation is stored in the node information storage unit 8 as a distributed authentication system electronic certificate in a set with the public key of the representative key.

図2に分散認証システム電子証明書の例を示す。同図に示すように、分散認証システム電子証明書には、分散認証システムに参加するノード及びそのノード情報(IPアドレス、ポート番号等)を含むノードリストに、代表ノード毎の個人鍵による電子署名、旧代表ノード毎の個人鍵による電子署名、及び分散認証システムの代表鍵による電子署名が付加されている。   FIG. 2 shows an example of a distributed authentication system electronic certificate. As shown in the figure, in the distributed authentication system electronic certificate, an electronic signature with a personal key for each representative node is added to a node list including nodes participating in the distributed authentication system and node information (IP address, port number, etc.). An electronic signature using a personal key for each old representative node and an electronic signature using a representative key of the distributed authentication system are added.

なお、総意モードから代表モードに移行する場合と同様の動作は、代表ノードが更新されるタイミングでも動作する。   Note that the same operation as in the case of shifting from the consensus mode to the representative mode also operates at the timing when the representative node is updated.

一般ノード機能部3は、仮鍵生成部32と、参加動作部31とを有し、ノードが一般ノードである場合に、仮鍵を生成する機能と、分散認証システムに参加するために参加リクエストを他の既に分散認証システムに参加しているノードに参加リクエストを送信する機能と、を有する。   The general node function unit 3 includes a temporary key generation unit 32 and a participation operation unit 31. When the node is a general node, a function for generating a temporary key and a participation request for participating in the distributed authentication system And a function of transmitting a join request to other nodes already participating in the distributed authentication system.

また、モード管理部2は、受信したメッセージを適切な機能部へ振り分けを行う。   Further, the mode management unit 2 distributes the received message to an appropriate function unit.

仮鍵生成部32は、仮鍵を生成する。生成した仮鍵は自ノードのノード情報と共にノード情報保存部8に保存される。仮鍵は、分散認証システムが発行する電子証明書に付随する鍵とは関係なく存在し、分散認証システムが発行する電子証明書に付随する鍵と暗号アルゴリズムが別であってもよい。   The temporary key generation unit 32 generates a temporary key. The generated temporary key is stored in the node information storage unit 8 together with the node information of the own node. The temporary key exists regardless of the key attached to the electronic certificate issued by the distributed authentication system, and the key attached to the electronic certificate issued by the distributed authentication system may be different from the encryption algorithm.

参加動作部31は、自ノードが新規に分散認証システムに参加する場合に、参加リクエストを送信する。参加リクエストを送信する場合は、参加リクエストに自ノードの仮鍵の公開鍵を付加する。また、ノード情報保存部8から読み出した自ノードの仮鍵の秘密鍵を用いて、署名付加部6で参加リクエストに電子署名をする。また、参加リクエストを受信した場合、参加リクエストに付加されている仮鍵の公開鍵を用いて電子署名を確認し、改ざんがない場合は参加レスポンスを返送する。ただし、参加レスポンスは、分散認証システムのモードによって内容が異なる。分散認証システムが総意モードであった場合、参加レスポンスに自ノードの仮鍵の公開鍵と、ノードリストとを付加し、署名付加部6で自ノードの仮鍵の秘密鍵を用いて電子署名をした上で、その参加レスポンスを返送する。一方、分散認証システムが代表モードであった場合、参加レスポンスには参加リクエストを受理した旨のメッセージを、自ノードの個人鍵の秘密鍵で電子署名をし、その参加レスポンスを返送する。さらに、参加動作部31は、ノード情報保存部8からノードリストを読み出し、代表ノードを確認し、ある代表ノードに対し、電子証明書生成リクエストを送信する。電子証明書生成リクエストには、参加リクエストを送信してきたノードのノード情報が付加される。   The participation operation unit 31 transmits a participation request when the own node newly participates in the distributed authentication system. When transmitting a participation request, the public key of the temporary key of the own node is added to the participation request. In addition, the signature adding unit 6 performs an electronic signature on the participation request using the private key of the temporary key of the own node read from the node information storage unit 8. When a participation request is received, the electronic signature is confirmed using the public key of the temporary key added to the participation request. If there is no falsification, a participation response is returned. However, the contents of the participation response differ depending on the mode of the distributed authentication system. When the distributed authentication system is in the consensus mode, the public key of the node's temporary key and the node list are added to the participation response, and the signature adding unit 6 uses the private key of the node's temporary key to generate an electronic signature. After that, the participation response is returned. On the other hand, when the distributed authentication system is in the representative mode, a message indicating that the participation request has been accepted is digitally signed with the private key of the private key of the own node, and the participation response is returned. Further, the participation operation unit 31 reads the node list from the node information storage unit 8, confirms the representative node, and transmits an electronic certificate generation request to a certain representative node. Node information of the node that transmitted the participation request is added to the electronic certificate generation request.

代表ノード機能部4は、ランダム素数生成部41と、代表鍵生成部42と、他ノード個人鍵生成部53と、代表ノード指名・離脱機能部43とを有し、ノードが代表ノードである場合に、他の代表ノードと互いに連携し、分散認証システムの代表鍵と分散認証システム電子証明書を生成する機能と、他のノードからの参加リクエストまたは電子証明書生成リクエストを受信し、他のノードの個人鍵と電子証明書を生成する機能と、代表ノードを離脱する機能と、代表ノードが規定数mより少なくなった場合に代表ノードを指名する機能と、分散認証システムの代表鍵と他のノードの個人鍵の秘密鍵の素となるランダム素数を生成する機能と、を有する。   The representative node function unit 4 includes a random prime number generation unit 41, a representative key generation unit 42, another node personal key generation unit 53, and a representative node nomination / leaving function unit 43, and the node is a representative node In addition, a function to generate a representative key of a distributed authentication system and a distributed authentication system digital certificate in cooperation with other representative nodes, and a participation request or digital certificate generation request from another node are received, and the other nodes A function for generating a personal key and an electronic certificate, a function for leaving the representative node, a function for designating a representative node when the representative node becomes less than the prescribed number m, a representative key of the distributed authentication system, and other functions. And a function of generating a random prime number that is a prime key of the private key of the node.

ランダム素数生成部41は、代表鍵生成部42と他ノード電子証明書生成部44とからのリクエストを受けて、ランダムな素数を生成し、その生成したランダムな素数を代表鍵生成部42と他ノード電子証明書生成部44とに渡す。   The random prime number generation unit 41 receives a request from the representative key generation unit 42 and the other node electronic certificate generation unit 44, generates a random prime number, and generates the generated random prime number from the representative key generation unit 42 and the others. It is passed to the node electronic certificate generation unit 44.

代表鍵生成部42は、分散認証システムが代表モードかつ自ノードが代表ノードであった場合に、モード管理部2から分散認証システムの代表鍵を生成するように指示を受けると、他のm台の分散認証システムを代表する代表ノードと連携し、分散認証システムの代表鍵を生成する。代表鍵の素には、ランダム素数生成部41が生成する素数を使用する。代表鍵の秘密鍵は、m台のノードが生成する素数から演算されるが、実際には演算されず、m台の代表ノードとマルチパーティプロトコルを用いて代表鍵の公開鍵をのみを演算する。これにより、代表鍵の秘密鍵は、どのノードも知ることなく、代表ノードの公開鍵のみが正確に演算される。代表鍵生成部42は、ノードが代表ノードでなくなるまで、代表鍵の生成に利用した素数を保存する。   When the distributed authentication system is in the representative mode and the own node is the representative node, the representative key generating unit 42 receives another instruction from the mode management unit 2 to generate the representative key of the distributed authentication system. A representative key of the distributed authentication system is generated in cooperation with a representative node representing the distributed authentication system. The prime number generated by the random prime number generation unit 41 is used as the prime key prime. The secret key of the representative key is calculated from the prime numbers generated by the m nodes, but is not actually calculated, and only the public key of the representative key is calculated using the m representative nodes and the multi-party protocol. . As a result, only the public key of the representative node is accurately calculated without knowing any node as the secret key of the representative key. The representative key generation unit 42 stores the prime number used for generating the representative key until the node is no longer the representative node.

また、代表鍵生成部42は、分散認証システムが代表モードかつ自ノードが代表ノードであった場合に、モード管理部2からm台の代表ノードによる電子署名の完了したノードリストに分散認証システムの代表鍵による電子署名を付加するように指示を受けると、他のm台の分散認証システムを代表する代表ノードと連携し、ノードリストに分散認証システムの代表鍵の秘密鍵を用いた電子署名を付加する。分散認証システムの公開鍵を生成する時と同様に、m台の代表ノードは互いに連携し、代表鍵の素となる情報を他のノードに知らせることなく、ノードリストに電子署名を付加する。   In addition, when the distributed authentication system is in the representative mode and the own node is the representative node, the representative key generating unit 42 adds the digital authentication signature of the distributed authentication system from the mode management unit 2 to the node list in which the electronic signatures of the m representative nodes are completed. When an instruction is given to add an electronic signature with a representative key, the electronic signature using the secret key of the representative key of the distributed authentication system is displayed in the node list in cooperation with representative nodes representing the other m distributed authentication systems. Append. As in the case of generating the public key of the distributed authentication system, the m representative nodes cooperate with each other and add an electronic signature to the node list without notifying other nodes of the information that is the prime key.

他ノード電子証明書生成部44は、分散認証システムが代表モードかつ自ノードが代表ノードであった場合に、電子証明書生成リクエストを受信すると、他のm台の分散認証システムを代表する代表ノードと連携し、電子証明書リクエストに記載のノードの電子証明書を生成する。電子証明書に付随する個人鍵の素には、ランダム素数生成部41が生成する素数を使用する。個人鍵の秘密鍵はm台のノードが生成する素数から演算されるが、実際には演算されず、m台の代表ノードとマルチパーティプロトコルを用いて個人鍵の公開鍵をのみを演算する。これにより、個人鍵の秘密鍵はどのノードも知ることなく、個人鍵の公開鍵のみが正確に演算される。さらに、代表鍵生成部42とも連携し、ノードのノード情報と個人鍵から電子証明書を生成する。以上の動作を完了した他ノード電子証明書生成部44は、個人鍵の秘密鍵の素となる情報と公開鍵と、電子証明書を電子証明書生成リクエストに記載のノードに送信する。   When the distributed authentication system is in the representative mode and the own node is the representative node, the other node electronic certificate generation unit 44 receives the electronic certificate generation request, and represents the representative node representing the other m distributed authentication systems. In cooperation with, generate an electronic certificate for the node described in the electronic certificate request. The prime number generated by the random prime number generation unit 41 is used as the prime of the personal key attached to the electronic certificate. The private key of the private key is calculated from the prime numbers generated by the m nodes, but is not actually calculated, and only the public key of the private key is calculated using the m representative nodes and the multi-party protocol. As a result, only the public key of the private key is accurately calculated without knowing any node of the private key of the private key. Further, in cooperation with the representative key generation unit 42, an electronic certificate is generated from the node information of the node and the personal key. The other node electronic certificate generation unit 44 that has completed the above operation transmits the information that is the source of the private key of the personal key, the public key, and the electronic certificate to the node described in the electronic certificate generation request.

代表ノード指名・離脱機能部43は、自ノードが代表ノードであり代表ノードを離脱したい場合に、ノード情報保存部8からノードリストを読み出し、代表ノード離脱リクエストを他の代表ノードに送信する。代表ノードが離脱したい場合とは、例えば分散認証システムから離脱したいとき、ネットワークリソース不足であるとき、悪意のある攻撃者からの攻撃を受けているとき、などがある。   The representative node nomination / leaving function unit 43 reads the node list from the node information storage unit 8 and transmits a representative node leaving request to another representative node when the own node is the representative node and it is desired to leave the representative node. The case where the representative node wants to leave includes, for example, a case where it is desired to leave the distributed authentication system, a case where network resources are insufficient, and a case where an attack from a malicious attacker is received.

代表ノード指名・離脱機能部43は、自ノードが代表ノードであった場合に、代表ノード離脱リクエストを受信すると、代表ノード離脱リクエストを送信してきた代表ノードに対し、代表ノード離脱レスポンスを送信する。さらに、代表ノード指名・離脱機能部43は代表ノードが規定数m未満である状態から、代表ノードをm台とするため、ノード情報保存部8からノードリストを読み出し、適当な一般ノードを選出し、選出した一般ノードのノード情報を記載した代表ノード指名確認メッセージを他の代表ノード全てに送信する。   When the representative node nomination / departure function unit 43 receives a representative node leave request when the node is the representative node, the representative node nomination / leave function unit 43 transmits a representative node leave response to the representative node that has transmitted the representative node leave request. Further, the representative node nomination / leaving function unit 43 reads the node list from the node information storage unit 8 and selects an appropriate general node from the state where the representative node is less than the prescribed number m so that the number of representative nodes is m. The representative node designation confirmation message describing the node information of the selected general node is transmitted to all other representative nodes.

代表ノード指名確認メッセージを受信した代表ノード指名・離脱機能部43は、選出された一般ノードのノード情報を確認し、代表ノード指名確認レスポンスを返送する。ただし、選出された一般ノードに問題がある場合は指名を拒否することもできる。問題とは、例えば、過去にレスポンスが遅かった、指定外のメッセージを送信してきた、などがある。自身を除く全ての代表ノードから代表ノード指名確認レスポンスを受信した代表ノードは、選出した一般ノードに代表ノード指名リクエストを送信する。   Receiving the representative node designation confirmation message, the representative node designation / departure function unit 43 confirms the node information of the selected general node and returns a representative node designation confirmation response. However, if there is a problem with the selected general node, the nomination can be rejected. Problems include, for example, a response that was slow in the past or an unspecified message being sent. The representative node that has received the representative node nomination confirmation response from all the representative nodes other than itself transmits a representative node nomination request to the selected general node.

代表ノード指名リクエストを受信した一般ノードの代表ノード指名・離脱機能部43は、代表ノード指名レスポンスを返送することで代表ノードになる。ただし、代表ノード指名リクエストを受信した一般ノードは、代表ノードになることを拒否することもできる。   The representative node nomination / departure function unit 43 of the general node that has received the representative node nomination request returns the representative node nomination response to become the representative node. However, the general node that has received the representative node nomination request can also refuse to become the representative node.

代表ノード指名・離脱機能部43は、代表ノード指名レスポンスを受信すると、新しく代表ノードとなるノードのノード情報を、自ノードを除く全ての代表ノードに送信する。代表ノード指名・離脱機能部43は、以上の動作を代表ノードが規定数m台になるまで繰り返す。   When the representative node nomination / leaving function unit 43 receives the representative node nomination response, the representative node nomination / leaving function unit 43 transmits the node information of the node that newly becomes the representative node to all the representative nodes except the own node. The representative node nomination / leaving function unit 43 repeats the above operation until the number of representative nodes reaches the prescribed number m.

さらに、代表ノード指名・離脱機能部43は、代表ノード機能部4に、個人鍵の秘密鍵を用いてノードリストに電子署名をするよう指示する。さらに、代表ノード指名・離脱機能部43部は、代表鍵を更新する前まで代表ノードであった旧代表ノードに対し、現在代表ノードであるノードによる電子署名が修了しているノードリストに電子署名をするよう指示する。さらに、代表ノード指名・離脱機能部43は、代表ノード機能部4に、m台の代表ノード及びm台の旧代表ノードによる署名の完了したノードリストに分散認証システムの代表鍵による署名を付加するよう指示する。以上の動作によって電子署名が付加されたノードリストは、代表鍵の公開鍵とセットで分散認証ネットワーク電子証明書として、ノード情報保存部8に保存される。   Further, the representative node nomination / leaving function unit 43 instructs the representative node function unit 4 to electronically sign the node list using the private key of the personal key. Furthermore, the representative node nomination / leaving function unit 43 copies the electronic signature to the node list in which the electronic signature by the node that is the representative node has been completed with respect to the old representative node that was the representative node before the representative key was updated. Instruct them to Further, the representative node nomination / leaving function unit 43 adds a signature with the representative key of the distributed authentication system to the representative node function unit 4 to the node list that has been signed by the m representative nodes and the m old representative nodes. Instruct. The node list to which the electronic signature is added by the above operation is stored in the node information storage unit 8 as a distributed authentication network electronic certificate in combination with the public key of the representative key.

共通機能部5は、keep alive動作部51と、アプリケーション部52と、個人鍵生成部53と、電子署名確認部54と、を有し、ノードが一般ノードまたは代表ノードの場合に、keep alive動作により他のノードとノードリストを交換する機能と、分散認証システムを利用するアプリケーションを実施する機能と、m台の代表ノードから受信する個人鍵の秘密鍵の素となる情報から個人鍵の秘密鍵を生成する機能と、他のノードから受信するメッセージに付加されている電子署名の正当性を確認する機能と、を有する。   The common function unit 5 includes a keep alive operation unit 51, an application unit 52, a personal key generation unit 53, and an electronic signature confirmation unit 54. When the node is a general node or a representative node, the keep alive operation is performed. The function of exchanging the node list with other nodes, the function of executing the application using the distributed authentication system, and the private key of the private key from the information that is the source of the private key of the private key received from the m representative nodes And a function of confirming the validity of an electronic signature added to a message received from another node.

keep alive動作部51は、他のノードに対し定期的にkeep aliveメッセージを送信し、さらに他のノードから定期的にkeep aliveメッセージを受信することで通信路のつながりをチェックする。keep alive動作部51は、ノードリストkeep aliveメッセージにはノード情報保存部8から読み出したノードリストも添付され、ノードリストを他のノードと定期的に交換し、新しいノードリストに更新していくことで、ノードリストは最新の状態に保たれる。例えば、新規に分散認証システムに参加したノードを確認したノードは、ノードリストを更新し、keep alive動作を用いて他のノードに最新の情報を伝える。またkeep aliveメッセージに対し一定期間レスポンスがない場合は、該当ノードは分散認証システムから離脱したと判定し、ノードリストを更新し、keep alive動作を用いて他のノードに最新の情報を伝える。だたし、代表ノードが離脱したと判定した場合は、モード管理部2に代表ノードが離脱したことを送信する。   The keep alive operation unit 51 periodically transmits a keep alive message to another node, and further periodically receives a keep alive message from another node to check the connection of the communication path. The keep alive operation unit 51 also attaches the node list read from the node information storage unit 8 to the node list keep alive message, periodically exchanges the node list with other nodes, and updates the node list to a new node list. Thus, the node list is kept up-to-date. For example, a node that has confirmed a node that has newly participated in the distributed authentication system updates the node list, and transmits the latest information to other nodes using a keep alive operation. If there is no response to the keep alive message for a certain period of time, it is determined that the corresponding node has left the distributed authentication system, the node list is updated, and the latest information is transmitted to other nodes using the keep alive operation. However, when it is determined that the representative node has left, the mode management unit 2 is notified that the representative node has left.

アプリケーション部52は、分散認証システムを利用するアプリケーションの処理をする。アプリケーションとして、例えばファイル交換アプリケーションや電話アプリケーションがある。本実施例の分散認証システムは、利用するアプリケーションに制限はない。   The application unit 52 processes an application that uses the distributed authentication system. Examples of applications include a file exchange application and a telephone application. In the distributed authentication system of this embodiment, there are no restrictions on applications to be used.

個人鍵生成部53は、m台の代表ノードから受信する個人鍵の秘密鍵の素となるm個の情報から個人鍵の秘密鍵を生成する。さらに受信した公開鍵と秘密鍵が有効に動作するか確認する。さらに、受信した電子証明書の有効性を確認する。   The private key generation unit 53 generates a private key of the private key from m pieces of information that is a source of the private key of the private key received from the m representative nodes. Furthermore, it confirms whether the received public key and private key work effectively. Furthermore, the validity of the received electronic certificate is confirmed.

電子署名確認部54は、あるメッセージに付加されている電子署名を確認し、メッセージの送信元からメッセージが改ざんされていないかを確認する。電子署名確認部54は、メッセージを受信するとメッセージ送信元を確認し、分散認証システムにメッセージ送信元のノードの電子証明書発行リクエストを送信する。メッセージ送信元のノードの電子証明書を得ると、電子証明書に付加されている分散認証システムの代表鍵による電子署名を確認するため、分散認証システムに分散認証システム電子証明書発行リクエストを送信する。分散認証システム電子証明書に付加されている代表鍵の公開鍵を得ると、電子証明書に付加されている電子署名を代表鍵の公開鍵で復号し、電子証明書の正当性を確認する。さらに、受信したメッセージに付加されている電子署名を電子証明書に付加されている個人鍵の公開鍵で復号し、メッセージの正当性を確認する。   The electronic signature confirmation unit 54 confirms an electronic signature added to a certain message and confirms whether the message has been tampered with from the message transmission source. When the electronic signature confirmation unit 54 receives the message, the electronic signature confirmation unit 54 confirms the message transmission source and transmits an electronic certificate issuance request of the message transmission source node to the distributed authentication system. When the electronic certificate of the node that sent the message is obtained, a distributed authentication system electronic certificate issuance request is sent to the distributed authentication system in order to confirm the electronic signature by the representative key of the distributed authentication system added to the electronic certificate. . When the public key of the representative key attached to the distributed authentication system electronic certificate is obtained, the electronic signature attached to the electronic certificate is decrypted with the public key of the representative key, and the validity of the electronic certificate is confirmed. Further, the electronic signature added to the received message is decrypted with the public key of the personal key added to the electronic certificate, and the validity of the message is confirmed.

また、電子署名確認部54は、他のノードから電子証明書発行リクエストを受信した場合、該当する電子証明書をノード情報保存部8から読み出し、電子証明書発行レスポンスを返送する。さらに、電子署名確認部54は、他のノードから分散認証システム電子証明書発行リクエストを受信した場合、該当する公開鍵をノード情報保存部8から読み出し、分散認証システム電子証明書発行レスポンスを返送する。   In addition, when receiving an electronic certificate issuance request from another node, the electronic signature confirmation unit 54 reads the corresponding electronic certificate from the node information storage unit 8 and returns an electronic certificate issuance response. Further, when receiving the distributed authentication system electronic certificate issuance request from another node, the electronic signature confirmation unit 54 reads the corresponding public key from the node information storage unit 8 and returns a distributed authentication system electronic certificate issuance response. .

署名付加部6は、他の機能部からのメッセージに電子署名を付加し、送信部7に渡す。ただし、ノードの状態によって電子署名のために使用する鍵が異なる。分散認証システムが総意モードの場合と、分散認証システムによって電子証明書の発行を受けていない場合は、ノード情報保存部8に保存されている仮鍵を使用し、メッセージに電子署名を付加する。それ以外の場合ではノード情報保存部8に保存されている個人鍵を使用し、メッセージに電子署名を付加する。   The signature adding unit 6 adds an electronic signature to a message from another functional unit and passes it to the transmitting unit 7. However, the key used for the electronic signature differs depending on the state of the node. When the distributed authentication system is in the consensus mode and when the electronic certificate has not been issued by the distributed authentication system, a temporary key stored in the node information storage unit 8 is used to add an electronic signature to the message. In other cases, a personal key stored in the node information storage unit 8 is used, and an electronic signature is added to the message.

送信部7は、署名付加部6からのメッセージを受け、メッセージに記載された宛先のノードに対し、メッセージを送信する。   The transmitting unit 7 receives the message from the signature adding unit 6 and transmits the message to the destination node described in the message.

ノード情報保存部8は、自ノードのノード情報、仮鍵、電子証明書、ノードリスト、分散認証ネットワーク電子証明書、を保存する。電子証明書は、自身の電子証明書以外に、他のノードの電子証明書を保存することもできる。この場合、分散認証システム全体で全ノードの電子証明書を共有できるよう各ノードに分散して電子証明書を保存することが望ましい。分散して情報を保存するアルゴリズムとして、例えばChordアルゴリズムなどがある。   The node information storage unit 8 stores the node information, temporary key, electronic certificate, node list, and distributed authentication network electronic certificate of the own node. The electronic certificate can store an electronic certificate of another node in addition to its own electronic certificate. In this case, it is desirable to store the electronic certificate in a distributed manner in each node so that the electronic certificate of all nodes can be shared in the entire distributed authentication system. An example of an algorithm for storing information in a distributed manner is the Chord algorithm.

次に、図3と、図4と、図5と、図6と、図7と、図8と、図9と、図10とを参照して、本実施例の動作について詳細に説明する。   Next, the operation of this embodiment will be described in detail with reference to FIG. 3, FIG. 4, FIG. 5, FIG. 6, FIG. 7, FIG.

図3は、本実施例の分散認証システムの動作を示すものである。   FIG. 3 shows the operation of the distributed authentication system of this embodiment.

図3において、ステップS−A1は、初期状態である。この初期状態から、仮鍵を生成し(ステップS−A2)、その仮鍵及びノード情報を保存し(ステップS−A3)、他の既に分散認証システムに参加しているノードに対し、参加リクエストを送信する(ステップS−A4)。次いで、分散認証システムのモードを確認する(ステップS−A5)。その結果、分散認証システムが総意モードであった場合、ステップS−AA1に移行する。一方、分散認証システムが代表モードであった場合、ステップS−AB1に移行する。   In FIG. 3, step S-A1 is an initial state. From this initial state, a temporary key is generated (step S-A2), the temporary key and node information are stored (step S-A3), and a participation request is sent to another node that has already participated in the distributed authentication system. Is transmitted (step S-A4). Next, the mode of the distributed authentication system is confirmed (step S-A5). As a result, when the distributed authentication system is in the consensus mode, the process proceeds to step S-AA1. On the other hand, when the distributed authentication system is in the representative mode, the process proceeds to step S-AB1.

上記ステップS−A5にて分散認証システムが総意モードであった場合、参加依頼レスポンスとして、参加依頼リクエストを送信したノードの仮鍵及びノードリストを受信し(ステップS−AA1)、ノードリストを更新する。そして、ノードリストを読み出し、ノードリストに記載の全ノードの仮鍵を保持しているか確認する(ステップS−AA2)。その結果、ノードリストに記載の全ノードの仮鍵を保持していた場合(Yes)、後述の総意モード動作(ステップS−B1)へ移行する。一方、ノードリストに記載の全ノードの仮鍵を保持していなかった場合(No)、ステップS−A4に戻り、仮鍵を保持していないノードに対し参加依頼リクエストを送信する。   If the distributed authentication system is in consensus mode in step S-A5, the temporary key and node list of the node that transmitted the participation request request are received as a participation request response (step S-AA1), and the node list is updated. To do. Then, the node list is read and it is confirmed whether the temporary keys of all the nodes described in the node list are held (step S-AA2). As a result, when the temporary keys of all the nodes described in the node list are held (Yes), the process proceeds to the consensus mode operation (step S-B1) described later. On the other hand, if the temporary keys of all the nodes described in the node list are not held (No), the process returns to step S-A4, and a participation request request is transmitted to the node that does not hold the temporary keys.

一方、ステップS−A5にて分散認証システムが代表モードであった場合、参加レスポンスを受信する(ステップS−AB1)。そして、m台の代表ノードから個人鍵の秘密鍵の素となる情報と、電子証明書とを受信し(ステップS−AB2)、受信した個人鍵の秘密鍵の素となる情報から個人鍵を生成し(ステップS−AB3)、後述の一般モード動作(ステップS−C1)へ移行する。   On the other hand, if the distributed authentication system is in the representative mode in step S-A5, a participation response is received (step S-AB1). Then, the information that is the prime key of the private key and the electronic certificate are received from the m representative nodes (step S-AB2), and the private key is obtained from the information that is the prime key of the received private key. It generates (step S-AB3) and shifts to a later-described general mode operation (step S-C1).

図4は、総意モード動作を示すものである。   FIG. 4 shows the consensus mode operation.

図4において、ステップS−B1は、総意モード動作時の初期状態である。この初期状態から、keep alive動作により、他の分散認証システムに参加するノードとノードリストの交換を行う(ステップS−B2)。次いで、ノードリストを読み出し、分散認証システムに参加するノード数が規定数mに達しているかどうかを確認する(ステップS−B3)。その結果、分散認証システムに参加するノード数が規定数mに達していた場合は、後述の代表ノード初期動作(ステップS−F1)に移行する。分散認証システムに参加するノード数が規定数mに達していなかった場合は、初期状態(ステップS−B1)に移行する。   In FIG. 4, step S-B1 is an initial state during the consensus mode operation. From this initial state, a node list is exchanged with a node participating in another distributed authentication system by a keep alive operation (step S-B2). Next, the node list is read, and it is confirmed whether or not the number of nodes participating in the distributed authentication system has reached the specified number m (step S-B3). As a result, when the number of nodes participating in the distributed authentication system has reached the specified number m, the process proceeds to a representative node initial operation (step S-F1) described later. When the number of nodes participating in the distributed authentication system has not reached the specified number m, the process proceeds to the initial state (step S-B1).

図5は、一般ノード動作を示すものである。   FIG. 5 shows a general node operation.

図5において、ステップS−C1は、一般ノード動作時の初期状態である。この初期状態から、ノードリストを読み出し、他のノードに対し、ノードリストを付加したkeep aliveメッセージを送信し(ステップS−CA1)、初期状態(ステップS−C1)に戻る。   In FIG. 5, step S-C1 is an initial state when the general node operates. From this initial state, the node list is read, a keep alive message with the node list added is transmitted to the other nodes (step S-CA1), and the process returns to the initial state (step S-C1).

次いで、初期状態(ステップS−C1)において、他のノードからノードリストが付加されたkeep aliveメッセージを受信する(ステップS−CB2)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。   Next, in an initial state (step S-C1), a keep alive message to which a node list is added is received from another node (step S-CB2). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later, and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、受信したkeep aliveメッセージに付加されていたノードリストと自ノードが保存していたノードリストを比較し最新の情報に更新し(ステップS−CB2)。ノードリストを読み出し、分散認証システムに参加するノード数が規定数mに達しているかどうかを確認する(ステップS−CB3)。その結果、分散認証システムに参加するノード数が規定数mに達していた場合(Yes)は、初期状態(ステップS−C1)に移行する。一方、分散認証システムに参加するノード数が規定数mに達していなかった場合(No)は、前述の総意モード動作(ステップS−B1)に移行する。   Next, the node list added to the received keep alive message is compared with the node list stored in the own node and updated to the latest information (step S-CB2). The node list is read, and it is confirmed whether or not the number of nodes participating in the distributed authentication system has reached the specified number m (step S-CB3). As a result, when the number of nodes participating in the distributed authentication system has reached the specified number m (Yes), the process proceeds to the initial state (step S-C1). On the other hand, when the number of nodes participating in the distributed authentication system has not reached the specified number m (No), the process proceeds to the above-mentioned consensus mode operation (step S-B1).

次いで、初期状態(ステップS−C1)において、参加リクエストを受信する(ステップS−CC1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。   Next, in the initial state (step S-C1), a participation request is received (step S-CC1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later, and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、参加リクエストを送信してきたノードに対し、参加レスポンスを送信し(ステップS−CC2)、m台の代表ノードのうち、任意の代表ノードに対し、電子証明書作成リクエストを送信する(ステップS−CC3)。この電子証明書作成リクエストには、ステップS−CB1で参加リクエストを送信してきたノードのノード情報が含まれる。   Next, a participation response is transmitted to the node that has transmitted the participation request (step S-CC2), and an electronic certificate creation request is transmitted to an arbitrary representative node among the m representative nodes (step S). -CC3). This electronic certificate creation request includes node information of the node that has transmitted the participation request in step S-CB1.

次いで、初期状態(ステップS−C1)において、代表ノード指名リクエストを受信する(ステップS−CD1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。   Next, in the initial state (step S-C1), a representative node nomination request is received (step S-CD1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later, and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、代表ノードになることを拒否するか否かを確認する(ステップS−CD2)。その結果、代表ノードになっても問題ない場合(No)、代表ノードになるために、ステップS−CC1で代表ノード指名リクエストを送信してきたノードに対し、代表ノード指名レスポンスを送信し(ステップS−CD3−1)、後述の代表ノード初期動作(ステップS−F1)に移行する。一方、代表ノードになることを拒否する場合(Yes)は、代表ノードになることを拒否するために、ステップS−CD1で代表ノード指名リクエストを送信してきたノードに対し、代表ノード拒否の情報を付加し代表ノード指名レスポンスを送信し(ステップS−CD3−2)、一般ノード動作時の初期状態(ステップS−C1)に移行する。   Next, it is confirmed whether or not to become a representative node is rejected (step S-CD2). As a result, if there is no problem even if it becomes the representative node (No), in order to become the representative node, a representative node nomination response is transmitted to the node that has transmitted the representative node nomination request in step S-CC1 (step S). -CD3-1), and shifts to a representative node initial operation (step S-F1) described later. On the other hand, when refusing to become a representative node (Yes), in order to refuse to become a representative node, information on representative node refusal is sent to the node that sent the representative node nomination request in step S-CD1. In addition, a representative node nomination response is transmitted (step S-CD3-2), and the process proceeds to the initial state (step S-C1) when the general node is operating.

次いで、初期状態(ステップS−C1)において、電子証明書発行リクエストを受信する(ステップS−CE1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。次いで、ステップS−CE1で電子証明書発行リクエストを送信してきたノードに対し、自ノードの電子証明書を付加した電子証明書発行レスポンスを送信する(ステップS−CE2)。   Next, in the initial state (step S-C1), an electronic certificate issuance request is received (step S-CE1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later, and when the validity of the received message is confirmed, the process proceeds to the next step. Next, an electronic certificate issuance response added with the electronic certificate of the own node is transmitted to the node that has transmitted the electronic certificate issuance request in step S-CE1 (step S-CE2).

図6は、代表ノード動作を示すものである。   FIG. 6 shows the representative node operation.

図6において、ステップS−D1は、代表ノード動作時の初期状態である。この初期状態から、ノードリストを読み出し、他のノードに対し、ノードリストを付加したkeep aliveメッセージを送信し(ステップS−DA1)、初期状態(ステップS−D1)に戻る。   In FIG. 6, step S-D1 is an initial state when the representative node operates. From this initial state, the node list is read, a keep alive message with the node list added is transmitted to the other nodes (step S-DA1), and the process returns to the initial state (step S-D1).

次いで、初期状態(ステップS−D1)において、他のノードから、ノードリストが付加されたkeep aliveメッセージを受信する(ステップS−DB1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。   Next, in an initial state (step S-D1), a keep alive message with the node list added is received from another node (step S-DB1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later, and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、ステップS−DB1で受信したkeep aliveメッセージに付加されていたノードリストと自ノードが保存していたノードリストを比較し最新の情報に更新する(ステップS−DB2)。そして、ノードリストを読み出し、分散認証システムに参加するノード数が規定数mに達しているかどうかを確認する(ステップS−DB3)。   Next, the node list added to the keep alive message received in step S-DB1 is compared with the node list stored in the own node and updated to the latest information (step S-DB2). Then, the node list is read, and it is confirmed whether or not the number of nodes participating in the distributed authentication system has reached the prescribed number m (step S-DB3).

その結果、分散認証システムに参加するノード数が規定数mに達していた場合(Yes)は、ノードリストを読み出し、代表ノードが離脱していないか確認し(ステップS−DB4)、代表ノードが離脱していた場合(Yes)、後述の代表ノード更新動作(ステップS−G1)に移行する。一方、代表ノードが離脱していなかった場合、初期状態(ステップS−D1)に移行する。   As a result, when the number of nodes participating in the distributed authentication system has reached the prescribed number m (Yes), the node list is read to check whether the representative node has left (step S-DB4). When it has left | separated (Yes), it transfers to the below-mentioned representative node update operation | movement (step S-G1). On the other hand, if the representative node has not left, the process proceeds to the initial state (step S-D1).

一方、上記ステップS−DB3にて分散認証システムに参加するノード数が規定数mに達していなかった場合(No)は、前述の総意モード動作(ステップS−B1)に移行する。   On the other hand, when the number of nodes participating in the distributed authentication system has not reached the specified number m in step S-DB3 (No), the process proceeds to the above-mentioned consensus mode operation (step S-B1).

次いで、初期状態(ステップS−D1)において、代表ノードを離脱したい場合、他の代表ノードに対し、代表ノード離脱リクエストを送信する(ステップS−DC1)。そして、代表ノード離脱レスポンスを受信する(ステップS−DC2)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行し、後述の代表モード離脱動作(ステップS−H1)に移行する。   Next, when it is desired to leave the representative node in the initial state (step S-D1), a representative node leave request is transmitted to other representative nodes (step S-DC1). Then, the representative node leaving response is received (step S-DC2). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later. When the validity of the received message is confirmed, the process proceeds to the next step. The process proceeds to a later-described representative mode leaving operation (step S-H1).

次いで、初期状態(ステップS−D1)において、参加リクエストを受信する(ステップS−DD1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は次のステップに移行する。   Next, in the initial state (step S-D1), a participation request is received (step S-DD1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later, and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、参加リクエストを送信してきたノードに対し、参加レスポンスを送信し(ステップS−DD2)、参加リクエストを送信してきたノードの個人鍵の秘密鍵の素となる情報となるランダム素数を生成する(ステップS−DD3)。そして、m台の代表ノード間で互いに連携し、参加リクエストを送信してきたノードの個人鍵の公開鍵を生成し(ステップS−DD4)、m台の代表ノード間で互いに連携し、参加リクエストを送信してきたノードの電子証明書を生成する(ステップS−DD5)。   Next, a participation response is transmitted to the node that has transmitted the participation request (step S-DD2), and a random prime number that is information serving as the prime key of the private key of the node that has transmitted the participation request is generated ( Step S-DD3). Then, the m representative nodes cooperate with each other to generate the public key of the private key of the node that has transmitted the participation request (step S-DD4), and the m representative nodes cooperate with each other to send the participation request. An electronic certificate of the transmitting node is generated (step S-DD5).

次いで、ステップS−DD3で生成した参加リクエストを送信してきたノードの個人鍵の秘密鍵の素となる情報と、ステップS−DD4で生成した参加リクエストを送信してきたノードの個人鍵の公開鍵と、ステップS−DD5で生成した参加リクエストを送信してきたノードの電子証明書を、参加リクエストを送信してきたノードに対し送信し(ステップS−DD6)、初期状態(ステップS−D1)に移行する。   Next, information that is a source of the private key of the private key of the node that has transmitted the participation request generated in step S-DD3, and the public key of the private key of the node that has transmitted the participation request generated in step S-DD4 The electronic certificate of the node that has transmitted the participation request generated in step S-DD5 is transmitted to the node that has transmitted the participation request (step S-DD6), and the process proceeds to the initial state (step S-D1). .

次いで、初期状態(ステップS−D1)において、電子証明書生成リクエストを受信する(ステップS−DE1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、前述のステップS−DD3に移行し、同様の処理を行う。   Next, in the initial state (step S-D1), an electronic certificate generation request is received (step S-DE1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later. When the validity of the received message is confirmed, the process proceeds to step S-DD3. The same process is performed.

次いで、初期状態(ステップS−D1)において、代表ノード離脱リクエストを受信する(ステップS−DF1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行し、代表ノード離脱レスポンスを送信し(ステップS−DF2)、後述の代表ノード更新動作(ステップS−G1)に移行する。   Next, in the initial state (step S-D1), a representative node leaving request is received (step S-DF1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later. When the validity of the received message is confirmed, the process proceeds to the next step. A representative node leaving response is transmitted (step S-DF2), and the process proceeds to a later-described representative node update operation (step S-G1).

次いで、初期状態(ステップS−D1)において、代表ノード指名確認メッセージを受信する(ステップS−DG1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行し、代表ノード指名確認レスポンスを送信し(ステップS−DG2)、後述の代表ノード初期動作(ステップS−F1)に移行する。ステップS−DG1で受信した代表ノード指名確認メッセージに記載のノードを代表ノードにすることを拒否する場合は、その情報を代表ノード指名確認レスポンスに付加する。   Next, in the initial state (step S-D1), a representative node nomination confirmation message is received (step S-DG1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later. When the validity of the received message is confirmed, the process proceeds to the next step. A representative node nomination confirmation response is transmitted (step S-DG2), and the process proceeds to a later-described representative node initial operation (step S-F1). When refusing to make the node described in the representative node designation confirmation message received in step S-DG1 a representative node, the information is added to the representative node designation confirmation response.

次いで、初期状態(ステップS−D1)において、電子証明書発行リクエストを受信する(ステップS−DH1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行し、ステップS−DH1で電子証明書発行リクエストを送信してきたノードに対し、自ノードの電子証明書を付加した電子証明書発行レスポンスを送信し(ステップS−DH2)、初期状態(ステップS−D1)に移行する。   Next, in the initial state (step S-D1), an electronic certificate issuance request is received (step S-DH1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later. When the validity of the received message is confirmed, the process proceeds to the next step. An electronic certificate issuance response added with the electronic certificate of the own node is transmitted to the node that has transmitted the electronic certificate issuance request in step S-DH1 (step S-DH2), and the initial state (step S-D1). Migrate to

次いで、初期状態(ステップS−D1)において、分散認証システム電子証明書発行リクエストを受信する(ステップS−DI1)。この時、受信したメッセージの正当性を確認する場合は、後述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行し、ステップS−DI1で分散認証システム電子証明書発行リクエストを送信してきたノードに対し、分散認証システム電子証明書を付加した分散認証システム電子証明書発行レスポンスを送信し(ステップS−DI2)、初期状態(ステップS−D1)に移行する。   Next, in the initial state (step S-D1), a distributed authentication system electronic certificate issuance request is received (step S-DI1). At this time, when the validity of the received message is confirmed, the process proceeds to a signature confirmation operation (step S-E1) described later. When the validity of the received message is confirmed, the process proceeds to the next step. In step S-DI1, a distributed authentication system electronic certificate issuance response to which the distributed authentication system electronic certificate is added is transmitted to the node that has transmitted the distributed authentication system electronic certificate issuance request (step S-DI2). The process proceeds to (Step S-D1).

図7は、署名確認動作を示すものである。   FIG. 7 shows the signature confirmation operation.

図7において、ステップS−E1は、署名確認動作の初期状態である。この初期状態から、メッセージを送信してきたノードに対し、メッセージ送信元のノードの電子証明書発行リクエストを送信する(ステップS−E3)。または、メッセージを送信してきたノードの電子証明書を分散認証システム上で分散して保存している場合は、適切なノードに対し、電子証明書発行リクエストを送信する。なお、本ステップは、メッセージを送信してきたノードの電子証明書を既に保持していた場合はスキップしてもよい。   In FIG. 7, step S-E1 is an initial state of the signature verification operation. From this initial state, an electronic certificate issuance request of the message transmission source node is transmitted to the node that transmitted the message (step S-E3). Alternatively, when the electronic certificate of the node that sent the message is distributed and stored on the distributed authentication system, an electronic certificate issuance request is transmitted to an appropriate node. Note that this step may be skipped if the electronic certificate of the node that sent the message has already been held.

次いで、電子証明書発行レスポンスを受信する(ステップS−E4)。この時、受信したメッセージの正当性を確認する場合は、初期状態(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。なお、ステップS−E3をスキップしていた場合は、本ステップもスキップする。   Next, an electronic certificate issuance response is received (step S-E4). At this time, when the validity of the received message is confirmed, the process proceeds to the initial state (step S-E1), and when the validity of the received message is confirmed, the process proceeds to the next step. If step S-E3 has been skipped, this step is also skipped.

次いで、代表ノードに対し、分散認証システム電子証明書発行リクエストを送信する(ステップS−E5)。本ステップは、分散認証システム電子証明書を既に保持していた場合はスキップしてもよい。   Next, a distributed authentication system electronic certificate issuance request is transmitted to the representative node (step S-E5). This step may be skipped if the distributed authentication system electronic certificate has already been held.

次いで、分散認証システム電子証明書発行レスポンスを受信する(ステップS−E6)。この時、受信したメッセージの正当性を確認する場合は、初期状態(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。ステップS−E5をスキップしていた場合は、本ステップもスキップする。   Next, the distributed authentication system electronic certificate issuance response is received (step S-E6). At this time, when the validity of the received message is confirmed, the process proceeds to the initial state (step S-E1), and when the validity of the received message is confirmed, the process proceeds to the next step. If step S-E5 has been skipped, this step is also skipped.

次いで、分散認証システム電子証明書に付加されている代表鍵の公開鍵を用い、電子証明書に付加されている電子署名をその代表鍵の公開鍵で復号し、電子証明書の正当性を確認する(ステップS−E7)。さらに、受信したメッセージに付加されている電子署名を電子証明書に付加されている個人鍵の公開鍵で復号し、メッセージの正当性を確認する。   Next, using the public key of the representative key attached to the distributed authentication system electronic certificate, the electronic signature attached to the electronic certificate is decrypted with the public key of the representative key, and the validity of the electronic certificate is confirmed. (Step S-E7). Further, the electronic signature added to the received message is decrypted with the public key of the personal key added to the electronic certificate, and the validity of the message is confirmed.

図8は、代表ノード初期動作を示すものである。   FIG. 8 shows the representative node initial operation.

図8において、ステップS−F1は、代表ノード初期動作時の初期状態である。この初期状態から、分散認証システムの代表鍵の秘密鍵の素となる情報となるランダム素数を生成し(ステップS−F2)、m台の代表ノード間で互いに連携し、分散認証システムの代表鍵の公開鍵を生成する(ステップS−F3)。そして、この時点のノードリストに対し、個人鍵の秘密鍵を用いて電子署名をし(ステップS−F4)、他の代表ノードに対し、電子署名済みのノードリストを送信する(ステップS−F5)。   In FIG. 8, step S-F1 is an initial state during the initial operation of the representative node. From this initial state, a random prime number serving as information that is a prime secret key of the representative key of the distributed authentication system is generated (step S-F2), and the m representative nodes cooperate with each other to represent the representative key of the distributed authentication system. Is generated (step S-F3). Then, an electronic signature is applied to the node list at this time using the private key of the private key (step S-F4), and the node list with the electronic signature is transmitted to the other representative nodes (step S-F5). ).

次いで、他の代表ノードから、ノードリストを受信する(ステップS−F6)。この時、受信したメッセージの正当性を確認する場合は、前述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。   Next, a node list is received from another representative node (step S-F6). At this time, when the validity of the received message is confirmed, the process proceeds to the above-described signature confirmation operation (step S-E1), and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、ステップS−F6で受信したノードリストに全代表ノードの電子署名が付加されているか確認する(ステップS−F7)。その結果、ステップS−F6で受信したノードリストに全代表ノードの電子署名が付加されていた場合(Yes)、ステップS−F8に移行する。一方、ステップS−F6で受信したノードリストに全代表ノードの電子署名が付加されていなかった場合(No)、前述のステップS−F4に移行し、同様の処理を繰り返し実行する。   Next, it is confirmed whether the electronic signatures of all the representative nodes are added to the node list received in step S-F6 (step S-F7). As a result, if the electronic signatures of all the representative nodes have been added to the node list received in step S-F6 (Yes), the process proceeds to step S-F8. On the other hand, when the electronic signatures of all the representative nodes are not added to the node list received in step S-F6 (No), the process proceeds to the above-described step S-F4, and the same processing is repeatedly executed.

上記ステップS−F7にて、ステップS−F6で受信したノードリストに全代表ノードの電子署名が付加されていた場合、全代表ノードによる電子署名が完了したノードリストを、残存する旧代表ノードに送信し(ステップS−F8)、残存する旧代表ノードによる電子署名が付加されたノードリストを受信する(ステップS−F9)。この時、受信したメッセージの正当性を確認する場合は、前述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。   In step S-F7, when the electronic signatures of all the representative nodes are added to the node list received in step S-F6, the node list in which the electronic signatures of all the representative nodes are completed is set as the remaining old representative nodes. The node list is transmitted (step S-F8), and the node list to which the electronic signature by the remaining old representative node is added is received (step S-F9). At this time, when the validity of the received message is confirmed, the process proceeds to the above-described signature confirmation operation (step S-E1), and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、ステップS−F9で受信したノードリストに、残存する旧代表ノード全てによる電子署名が付加されているか確認する(ステップS−F10)。その結果、ステップS−F9で受信したノードリストに全旧代表ノードの電子署名が付加されていた場合(Yes)、m台の代表ノード間で互いに連携し、分散認証システム電子証明書を作成し(ステップS−F11)、前述の代表ノード動作(ステップS−D1)に移行する。ステップS−F9で受信したノードリストに全代表ノードの電子署名が付加されていなかった場合(No)、前述のステップS−F8に移行し、同様の処理を繰り返し実行する。   Next, it is confirmed whether the electronic signature by all the remaining old representative nodes is added to the node list received in step S-F9 (step S-F10). As a result, if the electronic signatures of all the old representative nodes are added to the node list received in step S-F9 (Yes), the m representative nodes cooperate with each other to create a distributed authentication system electronic certificate. (Step S-F11), the process proceeds to the above-described representative node operation (Step S-D1). When the electronic signatures of all the representative nodes are not added to the node list received in step S-F9 (No), the process proceeds to the above-described step S-F8, and the same processing is repeatedly executed.

図9は、代表ノード更新動作を示すものである。   FIG. 9 shows the representative node update operation.

図9において、ステップS−G1は、代表ノード更新動作時の初期状態である。この初期状態から、新たに代表ノードになるノードを選出し(ステップS−G2)、代表ノード指名確認メッセージを、他の代表ノードに送信する(ステップS−G3)。   In FIG. 9, step S-G1 is an initial state during the representative node update operation. From this initial state, a node that newly becomes a representative node is selected (step S-G2), and a representative node designation confirmation message is transmitted to other representative nodes (step S-G3).

次いで、代表ノード指名確認レスポンスを受信する(ステップS−G4)。この時、受信したメッセージの正当性を確認する場合は、前述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。   Next, a representative node nomination confirmation response is received (step S-G4). At this time, when the validity of the received message is confirmed, the process proceeds to the above-described signature confirmation operation (step S-E1), and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、ステップS−G4で受信した代表ノード指名確認レスポンスに、ステップS−G2で選出したノードを拒否するメッセージが付加されているか確認する(ステップS−G5)。その結果、ステップS−G4で受信した代表ノード指名確認レスポンスに、ステップS−G2で選出したノードを拒否するメッセージが付加されていた場合(Yes)、初期状態(ステップS−G1)に移行する。   Next, it is confirmed whether or not a message rejecting the node selected in step S-G2 is added to the representative node nomination confirmation response received in step S-G4 (step S-G5). As a result, when the message for rejecting the node selected in step S-G2 is added to the representative node nomination confirmation response received in step S-G4 (Yes), the process proceeds to the initial state (step S-G1). .

一方、ステップS−G4で受信した代表ノード指名確認レスポンスに、ステップS−G2で選出したノードを拒否するメッセージが付加されていなかった場合(No)、ステップS−G2で選出したノードに対し、代表ノード指名リクエストを送信する(ステップS−G6)。   On the other hand, when the message for rejecting the node selected in step S-G2 is not added to the representative node nomination confirmation response received in step S-G4 (No), for the node selected in step S-G2, A representative node nomination request is transmitted (step S-G6).

次いで、ステップS−G2で選出したノードから、代表ノード指名レスポンスを受信する(ステップS−G7)。この時、受信したメッセージの正当性を確認する場合は、前述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。   Next, a representative node nomination response is received from the node selected in step S-G2 (step S-G7). At this time, when the validity of the received message is confirmed, the process proceeds to the above-described signature confirmation operation (step S-E1), and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、ステップS−G7で受信した代表ノード指名レスポンスに、代表ノードになることを拒否するメッセージが付加されているか確認する(ステップS−G8)。その結果、ステップS−G7で受信した代表ノード指名レスポンスに、代表ノードになることを拒否するメッセージが付加されていた場合(Yes)、初期状態(ステップS−G1)に移行する。   Next, it is confirmed whether or not a message refusing to become a representative node is added to the representative node nomination response received in step S-G7 (step S-G8). As a result, when a message refusing to become a representative node is added to the representative node nomination response received in step S-G7 (Yes), the process proceeds to the initial state (step S-G1).

一方、ステップS−G7で受信した代表ノード指名レスポンスに、代表ノードになることを拒否するメッセージが付加されていなかった場合(No)、代表ノード数が規定数mに達しているかどうか確認する(ステップS−G9)。その結果、代表ノード数が規定数mに達していた場合(Yes)は、前述の代表ノード初期動作(ステップS−F1)に移行する。一方、代表ノード数が規定数mに達していなかった場合(No)は、初期状態(ステップS−G1)に移行する。   On the other hand, if a message refusing to become a representative node has not been added to the representative node nomination response received in step S-G7 (No), it is confirmed whether the number of representative nodes has reached the specified number m ( Step S-G9). As a result, when the number of representative nodes has reached the specified number m (Yes), the process proceeds to the above-described representative node initial operation (step S-F1). On the other hand, if the number of representative nodes has not reached the specified number m (No), the process proceeds to the initial state (step S-G1).

図10は、代表ノード離脱動作を示すものである。   FIG. 10 shows the representative node leaving operation.

図10において、ステップS−H1は、代表ノード離脱動作時の初期状態である。この状態のときは、代表ノードから旧代表ノードとして認知される。次いで、代表ノードから、全ての代表ノードの電子署名が付加されたノードリストを受信する(ステップS−H2)。この時、受信したメッセージの正当性を確認する場合は、前述の署名確認動作(ステップS−E1)に移行し、受信したメッセージの正当性が確認できた場合は、次のステップに移行する。   In FIG. 10, step S-H1 is an initial state during the representative node leaving operation. In this state, the representative node is recognized as the old representative node. Next, the node list to which the electronic signatures of all the representative nodes are added is received from the representative node (step S-H2). At this time, when the validity of the received message is confirmed, the process proceeds to the above-described signature confirmation operation (step S-E1), and when the validity of the received message is confirmed, the process proceeds to the next step.

次いで、ステップS−G2で受信したノードリストに、電子署名を付加し(ステップS−H3)、ステップS−G2で全ての代表ノードの電子署名が付加されたノードリストを送信してきた代表ノードに対し、ステップS−G3で電子署名を付加したノードリストを送信する(ステップS−H4)。   Next, an electronic signature is added to the node list received in step S-G2 (step S-H3), and the node list to which the electronic signatures of all representative nodes are added in step S-G2 On the other hand, the node list to which the electronic signature is added in step S-G3 is transmitted (step S-H4).

次に、本実施例の効果について説明する。   Next, the effect of the present embodiment will be described.

本実施例は、分散認証システムに参加するノードのうち規定数m台のノードが代表ノードとなり、分散認証システムの代表鍵と分散認証システム電子証明書の発行、及び分散認証システムに参加するノードの個人鍵及び電子証明書の発行を、m台の代表ノードが互いに連携することによって実現し、さらに代表ノードの指名・離脱を柔軟にすることによって、悪意のある攻撃者からの攻撃に対し、攻撃対象を分散させることができ、かつ攻撃されたとしても、代表ノードを次々と変化させることによって、分散認証システムとしての機能を失わずに、認証サービスを続けることができる。   In this embodiment, a predetermined number m of nodes participating in the distributed authentication system become representative nodes, issue of the representative key of the distributed authentication system and the distributed authentication system electronic certificate, and the nodes participating in the distributed authentication system. The issuance of personal keys and electronic certificates is realized by the m representative nodes cooperating with each other, and the representative nodes can be nominated and withdrawn flexibly to attack against attacks from malicious attackers. Even if the target can be distributed and attacked, the authentication service can be continued without losing the function as the distributed authentication system by changing the representative node one after another.

また、本実施例は、分散認証システムに参加するノードのうち規定数m台のノードが代表ノードとなり、分散認証システムの代表鍵と分散認証システム電子証明書の発行、及び分散認証システムに参加するノードの個人鍵及び電子証明書の発行を、m台の代表ノードが互いに連携することによって実現し、さらに代表ノードの指名・離脱を柔軟にすることによって、ある特定の場所に認証局が存在する場合と同等の安全性を持った認証サービスを提供することができる。   In this embodiment, a predetermined number of m nodes among the nodes participating in the distributed authentication system become representative nodes, issue the representative key of the distributed authentication system and the distributed authentication system electronic certificate, and participate in the distributed authentication system. The issuance of a node's personal key and electronic certificate is realized by the m representative nodes cooperating with each other, and there is a certificate authority at a specific location by making the representative node's nomination and withdrawal flexible. It is possible to provide an authentication service having the same level of security as the case.

次に、本発明の第2の実施例について図面を参照して詳細に説明する。   Next, a second embodiment of the present invention will be described in detail with reference to the drawings.

図11を参照すると、本実施例は、第1の実施例と同様に、受信部1と、モード管理部2と、一般ノード機能部3と、代表ノード機能部4と、共通機能部5と、ノード情報保存部8と、署名付加部6と、送信部7と、を有する。   Referring to FIG. 11, the present embodiment is similar to the first embodiment in that the receiving unit 1, the mode management unit 2, the general node function unit 3, the representative node function unit 4, the common function unit 5, A node information storage unit 8, a signature addition unit 6, and a transmission unit 7.

更に、本実施例は、分散認証システム用プログラムを有する。   Furthermore, the present embodiment has a distributed authentication system program.

分散認証システム用プログラムは、受信部1と、モード管理部2と、一般ノード機能部3と、代表ノード機能部4と、共通機能部5と、ノード情報保存部8と、署名付加部6と、送信部7と、に読み込まれ受信部1と、モード管理部2と、一般ノード機能部3と、代表ノード機能部4と、共通機能部5と、ノード情報保存部8と、署名付加部6と、送信部7の動作を制御する。受信部1と、モード管理部2と、一般ノード機能部3と、代表ノード機能部4と、共通機能部5と、ノード情報保存部8と、署名付加部6と、送信部7は、分散認証システム用プログラムの制御により第1の実施例における分散認証システムによる処理と同一の処理を実行する。   The distributed authentication system program includes a receiving unit 1, a mode management unit 2, a general node function unit 3, a representative node function unit 4, a common function unit 5, a node information storage unit 8, and a signature addition unit 6. , The transmission unit 7, the reception unit 1, the mode management unit 2, the general node function unit 3, the representative node function unit 4, the common function unit 5, the node information storage unit 8, and the signature addition unit 6 and the operation of the transmitter 7 is controlled. The receiving unit 1, the mode management unit 2, the general node function unit 3, the representative node function unit 4, the common function unit 5, the node information storage unit 8, the signature addition unit 6, and the transmission unit 7 are distributed. The same processing as that performed by the distributed authentication system in the first embodiment is executed under the control of the authentication system program.

次に、本実施例の効果について説明する。   Next, the effect of the present embodiment will be described.

本実施例では、第1の実施例の効果と同様の効果を得るために、分散認証システム用プログラムを用いることによりコンピュータを分散認証システムとして動作させることができる。   In this embodiment, in order to obtain the same effect as that of the first embodiment, the computer can be operated as a distributed authentication system by using the distributed authentication system program.

以上、本発明の実施例を詳細に説明したが、本発明は、代表的に例示した上述の実施例に限定されるものではなく、当業者であれば、特許請求の範囲の記載内容に基づき、本発明の要旨を逸脱しない範囲内で種々の態様に変形、変更することができる。これらの変形例や変更例も本発明の権利範囲に属するものである。   As mentioned above, although the Example of this invention was described in detail, this invention is not limited to the above-mentioned Example illustrated typically, and those skilled in the art will be based on description content of a claim. The present invention can be modified and changed into various modes without departing from the gist of the present invention. These modified examples and modified examples also belong to the scope of the right of the present invention.

例えば、上記の分散認証システムを構成する各部の少なくとも一部の機能を、プログラムコードを用いて実現する場合、かかるプログラムコード及びこれを記録する記録媒体は、本発明の範疇に含まれる。この場合、オペレーティングシステム等の他のソフトウェアと共同して上記機能が実現される場合は、それらのプログラムコードも含まれる。   For example, when realizing at least a part of the functions of each unit constituting the above distributed authentication system using a program code, the program code and a recording medium for recording the program code are included in the scope of the present invention. In this case, when the above functions are realized in cooperation with other software such as an operating system, those program codes are also included.

本発明の第1の実施例に係る分散認証システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the distributed authentication system which concerns on 1st Example of this invention. 本発明の第1の実施例に係る分散認証システムで用いる分散認証システム電子証明書の一例を示す図である。It is a figure which shows an example of the distributed authentication system electronic certificate used with the distributed authentication system which concerns on 1st Example of this invention. 本発明の第1の実施例に係る分散認証システムの動作を示す流れ図である。It is a flowchart which shows operation | movement of the distributed authentication system which concerns on 1st Example of this invention. 本発明の第1の実施例に係る分散認証システムの総意モード動作を示す流れ図である。It is a flowchart which shows the consensus mode operation | movement of the distributed authentication system which concerns on 1st Example of this invention. 本発明の第1の実施例に係る分散認証システムの一般ノード動作を示す流れ図である。It is a flowchart which shows the general node operation | movement of the distributed authentication system based on 1st Example of this invention. 本発明の第1の実施例に係る分散認証システムの代表ノード動作を示す流れ図である。It is a flowchart which shows the representation node operation | movement of the distributed authentication system based on 1st Example of this invention. 本発明の第1の実施例に係る分散認証システムの署名確認動作を示す流れ図である。It is a flowchart which shows the signature verification operation | movement of the distributed authentication system based on 1st Example of this invention. 本発明の第1の実施例に係る分散認証システムの代表ノード初期動作を示す流れ図である。It is a flowchart which shows the representative node initial stage operation | movement of the distributed authentication system based on 1st Example of this invention. 本発明の第1の実施例に係る分散認証システムの代表ノード更新動作を示す流れ図である。It is a flowchart which shows the representative node update operation | movement of the distributed authentication system which concerns on 1st Example of this invention. 本発明の第1の実施例に係る分散認証システムの代表ノード離脱動作を示す流れ図である。3 is a flowchart showing a representative node leaving operation of the distributed authentication system according to the first exemplary embodiment of the present invention. 本発明の第2の実施例に係る分散認証システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the distributed authentication system which concerns on 2nd Example of this invention.

符号の説明Explanation of symbols

1 受信部
2 モード管理部
3 一般ノード機能部
4 代表ノード機能部
5 共通機能部
6 署名付加部
7 送信部
9 分散認証システム用プログラム
31 参加動作部
32 仮鍵生成部
41 ランダム素数生成部
42 代表鍵生成部
43 代表ノード指名・離脱機能部
44 他ノード電子証明書生成部
51 keep alive動作部
52 アプリケーション部
53 個人鍵生成部
54 電子署名確認部
DESCRIPTION OF SYMBOLS 1 Reception part 2 Mode management part 3 General node function part 4 Representative node function part 5 Common function part 6 Signature addition part 7 Transmission part 9 Distributed authentication system program 31 Participation operation part 32 Temporary key generation part 41 Random prime number generation part 42 Representative Key generation unit 43 Representative node nomination / leaving function unit 44 Other node electronic certificate generation unit 51 keep alive operation unit 52 application unit 53 personal key generation unit 54 electronic signature confirmation unit

Claims (41)

ひとつまたは複数のノードで構成される分散認証システムであって、
前記分散認証システムに参加するノードのうち所定数台のノードが前記分散認証システムを代表する代表ノードとなり、
前記代表ノードが、互いに連携することによって、前記分散認証システムの電子署名で用いる代表鍵と、分散認証システム電子証明書と、前記分散認証システムに参加するノードの電子署名で用いる個人鍵と、前記分散認証システムに参加するノードの電子証明書とを発行することを特徴とする分散認証システム。
A distributed authentication system composed of one or more nodes,
A predetermined number of nodes among the nodes participating in the distributed authentication system are representative nodes representing the distributed authentication system,
When the representative nodes cooperate with each other, a representative key used in an electronic signature of the distributed authentication system, a distributed authentication system electronic certificate, a personal key used in an electronic signature of a node participating in the distributed authentication system, A distributed authentication system, which issues an electronic certificate of a node participating in the distributed authentication system.
請求項1に記載の分散認証システムにおいて、
前記分散認証システムを構成するノードは、
他ノードから送られてくるデータを受信する受信部と、
前記分散認証システムを構成するノードの情報を含むノードリストを更新可能に保存するノード情報保存部と、
前記ノードリストに基づいて、前記分散認証システムのモードとして、前記分散認証システムに参加する全ノード数が所定数未満のときの総意モードと、前記分散認証システムに参加する全ノード数が所定数以上のときの代表モードとを管理するモード管理部と、
前記代表モードの場合、前記代表ノードのときの動作を行う代表ノード機能部と、
前記代表モードの場合、前記代表ノード以外の一般ノードのときの動作を行う一般ノード機能部と、
前記総意モード及び前記代表モードに共通の動作を行う共通機能部と、
前記代表ノード機能部、前記一般ノード機能部、及び前記共通機能部から渡される前記他ノードへのデータに電子署名を付加する署名付加部と、
前記電子署名が付加されたデータを前記他ノードに送信する送信部と、を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 1,
The nodes constituting the distributed authentication system are:
A receiver that receives data sent from another node;
A node information storage unit for storing a node list including information on nodes constituting the distributed authentication system in an updatable manner;
Based on the node list, as a mode of the distributed authentication system, a consensus mode when the total number of nodes participating in the distributed authentication system is less than a predetermined number, and a total number of nodes participating in the distributed authentication system being a predetermined number or more A mode management unit for managing the representative mode at the time of
In the case of the representative mode, a representative node function unit that performs an operation at the time of the representative node;
In the case of the representative mode, a general node function unit that performs an operation at a general node other than the representative node;
A common function unit that performs operations common to the consensus mode and the representative mode;
A signature adding unit that adds an electronic signature to data to the other node passed from the representative node function unit, the general node function unit, and the common function unit;
A distributed authentication system, comprising: a transmission unit configured to transmit data to which the electronic signature is added to the other node.
請求項2に記載の分散認証システムにおいて、
前記一般ノード機能部は、
前記ノードが前記一般ノードである場合に、仮鍵を生成する機能を有する仮鍵生成部と、
前記分散認証システムに参加するための参加リクエストを前記分散認証システムに既に参加している他ノードに送信する機能を有する参加動作部と、を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 2,
The general node function unit is:
A temporary key generation unit having a function of generating a temporary key when the node is the general node;
A distributed authentication system comprising: a participation operation unit having a function of transmitting a participation request for participating in the distributed authentication system to another node already participating in the distributed authentication system.
請求項2に記載の分散認証システムにおいて、
前記代表ノード機能部は、
前記ノードが前記代表ノードである場合に、他の代表ノードと互いに連携し、前記代表鍵と前記分散認証システム電子証明書とを生成する代表鍵生成部と、
他ノードからの参加リクエストまたは電子証明書生成リクエストを受信し、前記他ノードの個人鍵とその電子証明書とを生成する他ノード電子証明書生成部と、
前記代表ノードが規定数より少なくなった場合に前記代表ノードを指名する機能と、前記代表ノードを離脱する機能とを有する代表ノード指名・離脱機能部と、
前記代表鍵と前記他ノードの個人鍵との秘密鍵の素となるランダム素数を生成するランダム素数生成部と、を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 2,
The representative node function unit includes:
When the node is the representative node, a representative key generation unit that generates the representative key and the distributed authentication system electronic certificate in cooperation with other representative nodes;
An other node electronic certificate generation unit that receives a participation request or an electronic certificate generation request from another node, and generates a personal key of the other node and its electronic certificate;
A representative node nomination / leaving function unit having a function of nominating the representative node when the number of representative nodes is less than a specified number, and a function of leaving the representative node;
A distributed authentication system, comprising: a random prime number generation unit that generates a random prime number that is a prime key of the representative key and a private key of the other node.
請求項2に記載の分散認証システムにおいて、
前記共通機能部は、
前記ノードが前記一般ノードまたは前記代表ノードの場合に、キープアライブ動作により他ノードと前記ノードリストを交換するキープアライブ動作部と、
前記分散認証システムを利用するアプリケーションを実施するアプリケーション部と、
前記規定数台の代表ノードから受信する前記個人鍵の秘密鍵の素となる情報から前記個人鍵の秘密鍵を生成する個人鍵生成部と、
前記他ノードから受信するメッセージに付加されている電子署名の正当性を確認する電子署名確認部と、を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 2,
The common function unit is:
A keep alive operation unit for exchanging the node list with another node by a keep alive operation when the node is the general node or the representative node;
An application unit that implements an application that uses the distributed authentication system;
A personal key generating unit that generates a private key of the personal key from information that is a prime key of the private key received from the specified number of representative nodes;
A distributed authentication system comprising: an electronic signature confirmation unit for confirming validity of an electronic signature added to a message received from the other node.
請求項2に記載の分散認証システムにおいて、
前記受信部は、受信したメッセージを前記モード管理部へ送ることを特徴とする分散認証システム。
In the distributed authentication system according to claim 2,
The distributed authentication system, wherein the reception unit sends a received message to the mode management unit.
請求項2に記載の分散認証システムにおいて、
前記モード管理部は、
前記ノード情報保存部に保存されているノードリストを読み出す機能と、
前記分散認証システムに参加しているノード数を確認する機能と、
前記分散認証システムのモードを確認する機能と、
自ノードが前記代表ノードであるか、前記一般ノードであるかの状態を管理する機能と、
前記ノード情報保存部に保存されているノード情報を定期的に読み出し、前記分散認証システムに参加するノード数が前記所定数未満であるかそうでないかを確認する機能と、
前記分散認証システムに参加するノード数が前記所定数未満であった場合、自ノードを前記総意モードで動作させる機能と、
前記分散認証システムに参加するノード数が前記所定数以上であった場合、自ノードを前記代表モードで動作させる機能と、
前記代表ノードに指名されていた場合、自ノードを前記代表ノードとして動作させる機能と、
前記代表ノードに指名されていなかった場合、自ノードを前記一般ノードとして動作させる機能と、
前記総意モードにおいて、前記ノード情報保存部に保存されているノードリストを確認し、前記分散認証システムに参加している全ノード数が前記所定数に到達していた場合、自ノードを前記代表モードに移行させる機能と、
前記代表ノード機能部に、前記分散認証システムの代表鍵を生成するよう指示する機能と、
前記一般ノード機能部に、前記分散認証ネットワークに改めて参加し前記分散認証システムの発行する電子証明書及び鍵を得るよう指示する機能と、
前記代表ノード機能部に前記鍵の秘密鍵を用いて前記ノードリストに電子署名をするよう指示する機能と、
前記代表ノード機能部に、前記所定数台の代表ノードによる電子署名の完了した前記ノードリストに前記代表鍵による電子署名を付加するよう指示する機能と、
受信したメッセージを適切な機能部へ振り分けを行う機能と、を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 2,
The mode management unit
A function of reading a node list stored in the node information storage unit;
A function of confirming the number of nodes participating in the distributed authentication system;
A function of confirming the mode of the distributed authentication system;
A function of managing whether the own node is the representative node or the general node;
A function of periodically reading out node information stored in the node information storage unit and confirming whether the number of nodes participating in the distributed authentication system is less than the predetermined number or not,
When the number of nodes participating in the distributed authentication system is less than the predetermined number, the function of operating the own node in the consensus mode;
When the number of nodes participating in the distributed authentication system is equal to or greater than the predetermined number, a function of operating the own node in the representative mode;
When designated as the representative node, the function of operating the own node as the representative node;
When not designated as the representative node, the function of operating the own node as the general node;
In the consensus mode, the node list stored in the node information storage unit is confirmed, and when the total number of nodes participating in the distributed authentication system has reached the predetermined number, the own node is changed to the representative mode. With the ability to transition to
A function to instruct the representative node function unit to generate a representative key of the distributed authentication system;
A function to instruct the general node function unit to rejoin the distributed authentication network and obtain an electronic certificate and key issued by the distributed authentication system;
A function of instructing the representative node function unit to electronically sign the node list using a secret key of the key;
A function to instruct the representative node function unit to add an electronic signature by the representative key to the node list in which the electronic signature by the predetermined number of representative nodes has been completed;
A distributed authentication system comprising: a function of distributing a received message to an appropriate function unit;
請求項1に記載の分散認証システムにおいて、
前記代表ノードは、
他の代表ノードと互いに連携し、前記代表鍵と前記分散認証システム電子証明書とを生成する機能と、
他ノードからの参加リクエストまたは電子証明書生成リクエストを受信し、前記他ノードの前記個人鍵と前記電子証明書を生成する機能と、
前記代表ノードを離脱する機能と、
前記代表ノードが前記所定数より少なくなった場合に前記代表ノードを指名する機能と、
前記代表鍵と前記他ノードの個人鍵との秘密鍵の素となるランダム素数を生成する機能と、
前記キープアライブ動作により前記他ノードと前記ノードリストを交換する機能と、
前記分散認証システムを利用するアプリケーションを実施する機能と、
前記所定数台の代表ノードから受信する前記個人鍵の秘密鍵の素となる情報から前記個人鍵の秘密鍵を生成する機能と、
前記他ノードから受信するメッセージに付加されている電子署名の正当性を確認する機能と、を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 1,
The representative node is
A function of cooperating with other representative nodes to generate the representative key and the distributed authentication system electronic certificate;
A function of receiving a participation request or an electronic certificate generation request from another node, and generating the personal key and the electronic certificate of the other node;
A function of leaving the representative node;
A function of nominating the representative node when the representative node is less than the predetermined number;
A function of generating a random prime that is a prime of a secret key of the representative key and the private key of the other node;
A function of exchanging the node list with the other node by the keep-alive operation;
A function for executing an application using the distributed authentication system;
A function of generating a private key of the personal key from information that is a source of a private key of the private key received from the predetermined number of representative nodes;
A distributed authentication system, comprising: a function of confirming validity of an electronic signature added to a message received from the other node.
請求項2に記載の分散認証システムにおいて、
前記ノードリストは、前記分散認証システムに参加している全ノードのノード情報と、代表ノード情報と、を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 2,
The node list includes node information of all nodes participating in the distributed authentication system and representative node information.
請求項9に記載の分散認証システムにおいて、
前記ノード情報は、ノードのIDと、ノードのIPアドレスと、ポート番号と、代表ノード情報と、旧代表ノード情報と、を含むことを特徴とする分散認証システム。
The distributed authentication system according to claim 9, wherein
The distributed authentication system, wherein the node information includes a node ID, a node IP address, a port number, representative node information, and old representative node information.
請求項9に記載の分散認証システムにおいて、
前記代表ノード情報は、前記代表ノードがどのノードであるかという情報を含むことを特徴とする分散認証システム。
The distributed authentication system according to claim 9, wherein
The distributed authentication system, wherein the representative node information includes information indicating which node the representative node is.
請求項9に記載の分散認証システムにおいて、
前記旧代表ノード情報は、過去に前記代表ノードがどのノードであったかという情報を含むことを特徴とする分散認証システム。
The distributed authentication system according to claim 9, wherein
The old representative node information includes information indicating which node the representative node was in the past.
請求項3に記載の分散認証システムにおいて、
前記仮鍵は、前記分散認証システムによって発行された鍵ではなく、各ノードが生成する鍵であって、新規に前記分散認証システムに参加する場合と、前記総意モードの場合とに、他ノードへの全てのメッセージに付加される電子署名に利用されることを特徴とする分散認証システム。
In the distributed authentication system according to claim 3,
The temporary key is not a key issued by the distributed authentication system, but a key generated by each node. When newly joining the distributed authentication system and in the consensus mode, the temporary key is sent to another node. A distributed authentication system, which is used for an electronic signature added to all the messages.
請求項1に記載の分散認証システムにおいて、
前記代表鍵は、公開鍵暗号系の秘密鍵と公開鍵とから成り、
前記個人鍵は、公開鍵暗号系の秘密鍵と個人鍵とから成ることを特徴とする分散認証システム。
The distributed authentication system according to claim 1,
The representative key consists of a secret key and a public key of a public key cryptosystem,
The distributed authentication system according to claim 1, wherein the personal key comprises a public key cryptosystem private key and a personal key.
請求項1に記載の分散認証システムにおいて、
前記代表鍵は、ノードリストと、前記分散認証システムに参加するノードの電子証明書とに前記分散認証システムの電子署名を付加する場合に使用され、
前記代表鍵の秘密鍵は、前記分散認証システム上のどのノードも知ることができないように複数の代表ノードに分散して保存され、
前記代表鍵の公開鍵は、前記分散認証システム上のどのノードも参照することができるように前記分散認証システム上に公開されることを特徴とする分散認証システム。
The distributed authentication system according to claim 1,
The representative key is used when an electronic signature of the distributed authentication system is added to a node list and an electronic certificate of a node participating in the distributed authentication system,
The secret key of the representative key is distributed and stored in a plurality of representative nodes so that no node on the distributed authentication system can know.
The distributed authentication system, wherein the public key of the representative key is disclosed on the distributed authentication system so that any node on the distributed authentication system can be referred to.
請求項1に記載の分散認証システムにおいて、
前記分散認証システムに参加するノードの電子証明書は、前記個人鍵の公開鍵と、前記分散認証システムに参加するノードの情報とに加え、前記個人鍵の公開鍵及び前記ノードの情報のダイジェスト情報に前記代表鍵による電子署名を付加したものであることを特徴とする分散認証システム。
The distributed authentication system according to claim 1,
The electronic certificate of the node participating in the distributed authentication system includes the public key of the personal key and the information of the node participating in the distributed authentication system, as well as the digest information of the public key of the personal key and the information of the node. A distributed authentication system, wherein an electronic signature using the representative key is added to the system.
請求項16に記載の分散認証システムにおいて、
前記ダイジェスト情報は、元になる情報の要約情報であり、その元になる情報に一方向関数を適用することで生成されることを特徴とする分散認証システム。
The distributed authentication system according to claim 16, wherein
The distributed authentication system is characterized in that the digest information is summary information of the original information and is generated by applying a one-way function to the original information.
請求項3に記載の分散認証システムにおいて、
前記参加動作部は、
自ノードが新規に前記分散認証システムに参加する場合に、前記仮鍵の公開鍵を付加した参加リクエストを自ノードの仮鍵の秘密鍵による電子署名と共に送信する機能と、
他ノードから前記参加リクエストを受信した場合に前記参加リクエストに付加されている前記仮鍵の公開鍵を用いて前記電子署名を確認し、改ざんがない場合は参加レスポンスを送信する機能と、
前記分散認証システムが前記総意モードであった場合、前記参加レスポンスに自ノードの仮鍵の公開鍵と、ノードリストとを付加し、自ノードの仮鍵の秘密鍵による電子署名と共に送信する機能と、
前記分散認証システムが代表モードであった場合、前記参加レスポンスに前記参加リクエストを受理した旨のメッセージを付加し、自ノードの個人鍵の秘密鍵による電子署名と共に送信する機能と、
前記ノード情報保存部からノードリストを読み出し、前記代表ノードを確認し、ある代表ノードに対し、前記参加リクエストを送信してきたノードのノード情報を付加した電子証明書生成リクエストを送信する機能と、を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 3,
The participation operation unit
A function of transmitting a participation request to which the public key of the temporary key is added together with an electronic signature using a private key of the temporary key of the own node when the own node newly participates in the distributed authentication system;
A function of confirming the electronic signature using the public key of the temporary key added to the participation request when the participation request is received from another node, and transmitting a participation response when there is no falsification;
A function of adding the public key of the temporary key of the own node and a node list to the participation response when the distributed authentication system is in the consensus mode, and transmitting the electronic signature together with the private key of the temporary key of the own node; ,
When the distributed authentication system is in a representative mode, a message to the effect that the participation request has been accepted is added to the participation response, and the electronic signature is sent together with the private key of the private key of the own node;
A function of reading a node list from the node information storage unit, confirming the representative node, and transmitting a digital certificate generation request with node information of the node that has transmitted the participation request to a certain representative node; A distributed authentication system comprising:
請求項3に記載の分散認証システムにおいて、
前記仮鍵生成部は、前記仮鍵を生成する機能と、生成した仮鍵を自ノードのノード情報と共に前記ノード情報保存部に保存する機能と、を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 3,
The distributed authentication system, wherein the temporary key generation unit has a function of generating the temporary key and a function of storing the generated temporary key in the node information storage unit together with node information of the own node.
請求項4に記載の分散認証システムにおいて、
前記ランダム素数生成部は、
前記代表鍵生成部と前記他ノード電子証明書生成部からのリクエストを受けて、ランダムな素数を生成する機能と、
生成したランダムな素数を前記代表鍵生成部と前記他ノード電子証明書生成部とに渡す機能と、を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 4,
The random prime number generation unit
A function of receiving a request from the representative key generation unit and the other node electronic certificate generation unit, and generating a random prime number;
A distributed authentication system comprising: a function of passing the generated random prime number to the representative key generation unit and the other node electronic certificate generation unit.
請求項4に記載の分散認証システムにおいて、
前記代表鍵生成部は、
前記分散認証システムが前記代表モードかつ自ノードが前記代表ノードであった場合に、前記モード管理部から前記代表鍵を生成するように指示を受けると、他の代表ノードと連携し、前記ランダム素数生成部が生成した素数を素に、前記代表鍵の公開鍵の素となる情報を他ノードに知らせることなく、マルチパーティプロトコルを用いて、前記代表鍵の公開鍵を生成する機能と、
自ノードが前記代表ノードでなくなるまで前記代表鍵の生成に利用した素数を保存する機能と、
前記分散認証システムが前記代表モードかつ自ノードが前記代表ノードであった場合に、前記モード管理部から前記所定数の代表ノードによる電子署名の完了したノードリストに前記代表鍵による電子署名を付加するように指示を受けると、他の代表ノードと連携し、前記代表鍵の素となる情報を他ノードに知らせることなく、ノードリストに前記代表鍵の秘密鍵を用いた電子署名を付加する機能と、を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 4,
The representative key generation unit
When the distributed authentication system receives the instruction to generate the representative key from the mode management unit when the distributed authentication system is the representative mode and the own node is the representative node, the random prime number cooperates with another representative node. A function for generating a public key of the representative key using a multi-party protocol without informing other nodes of information that is a prime of the public key of the representative key, using a prime number generated by the generation unit;
A function of storing a prime number used to generate the representative key until the own node is no longer the representative node;
When the distributed authentication system is the representative mode and the own node is the representative node, the electronic signature by the representative key is added from the mode management unit to the node list in which the electronic signature by the predetermined number of representative nodes is completed. If the instruction is received, the function of adding an electronic signature using the secret key of the representative key to the node list in cooperation with another representative node without notifying other nodes of the information that is the prime key element. A distributed authentication system comprising:
請求項4に記載の分散認証システムにおいて、
前記代表ノード指名・離脱機能部は、
自ノードが前記代表ノードであり前記代表ノードを離脱したい場合に、前記ノード情報保存部からノードリストを読み出し、代表ノード離脱リクエストを他の代表ノードに送信する機能と、
自ノードが前記代表ノードであった場合に、前記代表ノード離脱リクエストを受信すると、前記代表ノード離脱リクエストを送信してきた代表ノードに対し、代表ノード離脱レスポンスを送信する機能と、
前記代表ノードが前記所定数未満である状態から、前記代表ノードを前記所定数とするため、前記ノード情報保存部からノードリストを読み出し、適当な一般ノードを選出する機能と、
選出した前記一般ノードのノード情報を記載した代表ノード指名確認メッセージを他の代表ノード全てに送信する機能と、
前記代表ノード指名確認メッセージを受信した場合に、選出された前記一般ノードのノード情報を確認し、可否情報を含む代表ノード指名確認レスポンスを返送する機能と、
自ノードを除く全ての代表ノードから代表ノード指名確認レスポンスを受信した場合に、選出した一般ノードに代表ノード指名リクエストを送信する機能と、
自ノードが前記一般ノードであり前記ノード代表ノード指名リクエストを受信した場合に、可否情報を含む代表ノード指名レスポンスを返送する機能と、
前記代表ノード指名レスポンスを受信した場合に、新しく代表ノードとなるノードのノード情報を、自ノードを除く全ての代表ノードに送信する機能と、
前記代表ノード機能部に、前記個人鍵の秘密鍵を用いてノードリストに電子署名をするよう指示する機能と、
前記代表鍵を更新する前まで前記代表ノードであった旧代表ノードに対し、現在代表ノードであるノードによる電子署名が終了しているノードリストに電子署名をするよう指示する機能と、
前記代表ノード機能部に、前記所定数の代表ノード及び前記所定数の旧代表ノードによる電子署名の完了したノードリストに前記代表鍵による電子署名を付加するよう指示する機能と、
前記電子署名が付加されたノードリストと前記代表鍵の公開鍵とをセットで前記分散認証ネットワーク電子証明書として、前記ノード情報保存部に保存する機能と、を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 4,
The representative node nomination / leaving function unit is
When the own node is the representative node and wants to leave the representative node, the node information is read from the node information storage unit and a representative node leave request is transmitted to another representative node;
When the local node is the representative node and receives the representative node leave request, a function of transmitting a representative node leave response to the representative node that has transmitted the representative node leave request;
From the state where the representative node is less than the predetermined number, in order to set the representative node to the predetermined number, a function of reading a node list from the node information storage unit and selecting an appropriate general node;
A function of transmitting a representative node nomination confirmation message describing node information of the selected general node to all other representative nodes;
A function of confirming the node information of the selected general node when the representative node nomination confirmation message is received and returning a representative node nomination confirmation response including availability information;
When a representative node nomination confirmation response is received from all the representative nodes except the own node, a function of transmitting a representative node nomination request to the selected general node;
A function of returning a representative node nomination response including availability information when the own node is the general node and the node representative node nomination request is received;
When receiving the representative node nomination response, the function of transmitting the node information of the node that will be the new representative node to all the representative nodes except the own node;
A function of instructing the representative node function unit to electronically sign a node list using a private key of the personal key;
A function for instructing the old representative node, which was the representative node before updating the representative key, to digitally sign a node list in which the electronic signature by the node that is currently the representative node has ended;
A function of instructing the representative node function unit to add an electronic signature by the representative key to a node list in which the electronic signature by the predetermined number of representative nodes and the predetermined number of old representative nodes has been completed;
A distributed authentication system comprising: a function that stores the node list to which the electronic signature is added and the public key of the representative key as a set as the distributed authentication network electronic certificate in the node information storage unit; .
請求項22に記載の分散認証システムにおいて、
前記代表ノード指名・離脱機能部は、前記各機能を、前記代表ノードが前記規定数台になるまで繰り返す機能を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 22,
The representative node nomination / leaving function unit has a function of repeating each function until the number of representative nodes reaches the specified number.
請求項4に記載の分散認証システムにおいて、
前記他ノード電子証明書生成部は、
前記分散認証システムが前記代表モードかつ自ノードが前記代表ノードであった場合に、電子証明書生成リクエストを受信すると、他の代表ノードと連携し、前記ランダム素数生成部が生成する素数を素に、電子証明書に付随する個人鍵の素となる情報を他ノードに知らせることなく、マルチパーティプロトコルを用いて、電子証明書リクエストに記載のノードの個人鍵を生成する機能と、
前記代表鍵生成部と連携し、前記ノードのノード情報と前記個人鍵から電子証明書を生成する機能と、
前記個人鍵の秘密鍵の素となる情報と公開鍵と前記電子証明書を電子証明書生成リクエストに記載のノードに送信する機能と、を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 4,
The other node electronic certificate generation unit
When the distributed authentication system receives the electronic certificate generation request when the representative mode is the representative mode and the own node is the representative node, the prime number generated by the random prime number generation unit is primed in cooperation with another representative node. A function for generating a personal key of a node described in an electronic certificate request using a multi-party protocol without notifying other nodes of information that is a source of a private key attached to the electronic certificate;
A function of generating an electronic certificate from node information of the node and the personal key in cooperation with the representative key generation unit;
A distributed authentication system comprising: information that is a source of a private key of the personal key, a public key, and a function of transmitting the electronic certificate to a node described in an electronic certificate generation request.
請求項5に記載の分散認証システムにおいて、
前記キープアライブ動作部は、
他ノードに対し定期的にキープアライブメッセージを送信する機能と、
他ノードから定期的に前記キープアライブメッセージを受信することで通信路のつながりをチェックする機能と、
前記キープアライブメッセージに付加されたノードリストと前記ノード情報保存部から読み出したノードリストとを比較し、ノードリストを最新の情報に更新する機能と、
前記キープアライブメッセージに対し一定期間レスポンスがない場合は、該当ノードは前記分散認証システムから離脱したと判定し、ノードリストを更新し、前記キープアライブ動作を用いて他ノードに最新の情報を伝える機能と、
前記代表ノードが離脱したと判定した場合に、前記ノード管理部に前記代表ノードが離脱したことを送信する機能と、を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 5,
The keep-alive operation unit
A function to periodically send keep-alive messages to other nodes;
A function of periodically checking the connection of the communication path by receiving the keep-alive message from another node;
A function of comparing the node list added to the keep-alive message with the node list read from the node information storage unit, and updating the node list to the latest information;
When there is no response to the keep alive message for a certain period, the node determines that it has left the distributed authentication system, updates the node list, and transmits the latest information to other nodes using the keep alive operation When,
A distributed authentication system comprising: a function of transmitting, when it is determined that the representative node has left, to the node management unit that the representative node has left.
請求項5に記載の分散認証システムにおいて、
前記アプリケーション部は、前記分散認証システムを利用するアプリケーションの処理をする機能を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 5,
The distributed authentication system, wherein the application unit has a function of processing an application that uses the distributed authentication system.
請求項5に記載の分散認証システムにおいて、
前記個人鍵生成部は、
前記所定数台の代表ノードから受信する個人鍵の秘密鍵の素となる所定数の情報から前記個人鍵の秘密鍵を生成する機能と、
受信した前記個人鍵の公開鍵と秘密鍵とが有効に動作するか確認する機能と、
受信した電子証明書の有効性を確認する機能と、を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 5,
The personal key generator is
A function of generating a private key of the personal key from a predetermined number of information that is a prime of a private key of the personal key received from the predetermined number of representative nodes;
A function for confirming whether the received public key and private key of the personal key are valid, and
And a function of confirming the validity of the received electronic certificate.
請求項5に記載の分散認証システムにおいて、
前記電子署名確認部は、
メッセージを受信した場合にメッセージ送信元を確認し、前記分散認証システムにメッセージ送信元のノードの電子証明書発行リクエストを送信する機能と、
メッセージ送信元のノードの電子証明書を得た場合に、前記電子証明書に付加されている前記代表鍵による電子署名を確認するため、前記分散認証システムに分散認証システム電子証明書発行リクエストを送信する機能と、
前記分散認証システム電子証明書に付加されている前記代表鍵の公開鍵を得た場合に、前記電子証明書に付加されている電子署名を前記代表鍵の公開鍵で復号し、前記電子証明書の正当性を確認する機能と、
受信したメッセージに付加されている電子署名を前記電子証明書に付加されている前記個人鍵の公開鍵で復号し、当該メッセージの正当性を確認する機能と、
他ノードから前記電子証明書発行リクエストを受信した場合に、該当する電子証明書を前記ノード情報保存部から読み出し、電子証明書発行レスポンスを返送する機能と、
他ノードから前記分散認証システム電子証明書発行リクエストを受信した場合に、該当する公開鍵を前記ノード情報保存部から読み出し、分散認証システム電子証明書発行レスポンスを送信する機能と、を有することを特徴とする分散認証システム。
The distributed authentication system according to claim 5,
The electronic signature verification unit
A function of confirming a message transmission source when a message is received, and transmitting an electronic certificate issuance request of a message transmission source node to the distributed authentication system;
When the electronic certificate of the node that sent the message is obtained, a distributed authentication system electronic certificate issuance request is sent to the distributed authentication system in order to confirm the electronic signature with the representative key added to the electronic certificate. Function to
When the public key of the representative key attached to the distributed authentication system electronic certificate is obtained, the electronic signature attached to the electronic certificate is decrypted with the public key of the representative key, and the electronic certificate A function to check the validity of
A function of decrypting the electronic signature added to the received message with the public key of the personal key added to the electronic certificate and confirming the validity of the message;
A function of reading out a corresponding electronic certificate from the node information storage unit when an electronic certificate issuance request is received from another node, and returning an electronic certificate issuance response;
A function of reading a corresponding public key from the node information storage unit and transmitting a distributed authentication system electronic certificate issuance response when the distributed authentication system electronic certificate issuance request is received from another node. Distributed authentication system.
請求項2に記載の分散認証システムにおいて、
前記署名付加部は、
前記分散認証システムが前記総意モードの場合に前記ノード情報保存部に保存されている仮鍵を使用し、前記一般ノード機能部、前記代表ノード機能部、及び前記共通機能部からのメッセージに電子署名を付加する機能と、
前記分散認証システムによって前記電子証明書の発行を受けていない場合に前記ノード情報保存部に保存されている前記仮鍵を使用し、前記一般ノード機能部、前記代表ノード機能部、及び前記共通機能部からのメッセージに電子署名を付加する機能と、
前記分散認証システムが前記総意モードの場合でなく、前記分散認証システムによって前記電子証明書の発行を受けている場合に、前記ノード情報保存部に保存されている前記個人鍵を使用し、前記一般ノード機能部、前記代表ノード機能部、及び前記共通機能部からのメッセージに電子署名を付加する機能と、を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 2,
The signature adding unit
When the distributed authentication system is in the consensus mode, a temporary key stored in the node information storage unit is used, and a message from the general node function unit, the representative node function unit, and the common function unit is digitally signed With the function of adding
Using the temporary key stored in the node information storage unit when the electronic certificate has not been issued by the distributed authentication system, the general node function unit, the representative node function unit, and the common function A function to add an electronic signature to a message from the department,
When the distributed authentication system is not in the consensus mode but when the electronic certificate is issued by the distributed authentication system, the personal key stored in the node information storage unit is used, and the general key is used. A distributed authentication system, comprising: a node function unit, a representative node function unit, and a function of adding an electronic signature to a message from the common function unit.
請求項2に記載の分散認証システムにおいて、
前記送信部は、前記署名付加部からのメッセージを受け、そのメッセージに記載された宛先のノードに対し、当該メッセージを送信する機能を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 2,
The distributed authentication system has a function of receiving a message from the signature adding unit and transmitting the message to a destination node described in the message.
請求項2に記載の分散認証システムにおいて、
前記ノード情報保存部は、自ノードのノード情報、仮鍵、前記電子証明書、前記ノードリスト、前記分散認証ネットワーク電子証明書、を保存する機能を有することを特徴とする分散認証システム。
In the distributed authentication system according to claim 2,
The node information storage unit has a function of storing node information of a local node, a temporary key, the electronic certificate, the node list, and the distributed authentication network electronic certificate.
ひとつまたは複数のノードで構成される分散認証システムであり、前記分散認証システムに参加するノードのうち所定数台のノードが前記分散認証システムを代表する代表ノードとなり、前記代表ノードが、互いに連携することによって、前記分散認証システムの電子署名で用いる代表鍵と、分散認証システム電子証明書と、前記分散認証システムに参加するノードの電子署名で用いる個人鍵と、前記分散認証システムに参加するノードの電子証明書とを発行する分散認証システムの分散認証方法であって、
(A)前記分散認証システムへの参加を開始するステップと、
(B)前記分散認証システムに参加する全ノード数が所定数未満の場合、総意モードの動作を行うステップと、
(C)前記分散認証システムに参加する全ノード数が所定数以上の場合、代表モードの動作として、前記代表ノード以外の一般ノードのときの動作を行うステップと、
(D)前記代表モードの動作として、前記代表ノードのときの動作を行うステップと、
(E)他ノードから受信したメッセージの電子署名を確認するときの動作を行うステップと、
(F)前記代表ノードの初期の動作を行うステップと、
(G)前記代表ノードを更新するときの動作を行うステップと、
(H)前記代表ノードを離脱するときの動作を行うステップとを有することを特徴とする分散認証方法。
A distributed authentication system including one or a plurality of nodes, and a predetermined number of nodes among the nodes participating in the distributed authentication system are representative nodes representing the distributed authentication system, and the representative nodes cooperate with each other. A representative key used in the electronic signature of the distributed authentication system, a distributed authentication system electronic certificate, a personal key used in an electronic signature of a node participating in the distributed authentication system, and a node participating in the distributed authentication system. A distributed authentication method for a distributed authentication system that issues an electronic certificate,
(A) starting participation in the distributed authentication system;
(B) when the total number of nodes participating in the distributed authentication system is less than a predetermined number, performing a consensus mode operation;
(C) when the total number of nodes participating in the distributed authentication system is equal to or greater than a predetermined number, the operation of the general node other than the representative node as the operation of the representative mode;
(D) performing the operation at the time of the representative node as the operation of the representative mode;
(E) performing an operation for confirming an electronic signature of a message received from another node;
(F) performing an initial operation of the representative node;
(G) performing an operation when updating the representative node;
(H) A step of performing an operation when leaving the representative node.
請求項32に記載の分散認証方法において、
前記(A)分散認証システムへの参加を開始するステップは、
(A1)初期状態ステップと、
(A2)仮鍵を生成するステップと、
(A3)仮鍵及びノード情報を保存するステップと、
(A4)前記分散認証システムに既に参加している他ノードに対し、参加リクエストを送信するステップと、
(A5)前記分散認証システムのモードを確認するステップと、
(A6)参加依頼レスポンスとして、参加依頼リクエストを送信したノードの仮鍵及びノードリストを受信し、ノードリストを更新するステップと、
(A7)ノードリストを読み出し、ノードリストに記載の全ノードの仮鍵を保持しているか確認するステップと、
(A8)参加レスポンスを受信するステップと、
(A9)所定数台の代表ノードから個人鍵の秘密鍵の素となる情報と、電子証明書を受信するステップと、
(A10)受信した前記個人鍵の秘密鍵の素となる情報から個人鍵を生成するステップと、を有することを特徴とする分散認証方法。
The distributed authentication method according to claim 32, wherein
(A) starting the participation in the distributed authentication system includes:
(A1) an initial state step;
(A2) generating a temporary key;
(A3) storing the temporary key and node information;
(A4) transmitting a participation request to another node already participating in the distributed authentication system;
(A5) confirming the mode of the distributed authentication system;
(A6) receiving a temporary key and a node list of the node that transmitted the participation request as a participation request response, and updating the node list;
(A7) reading the node list and confirming whether the temporary keys of all the nodes described in the node list are held;
(A8) receiving a participation response;
(A9) receiving information that is a source of a private key of a private key from a predetermined number of representative nodes and an electronic certificate;
(A10) A distributed authentication method comprising: generating a personal key from information that is a source of a private key of the received personal key.
請求項32に記載の分散認証方法において、
前記(B)総意モードの動作を行うステップは、
(B1)前記総意モードの動作時の初期状態ステップと、
(B2)キープアライブ動作により、他の分散認証システムに参加するノードとノードリストの交換を行うステップと、
(B3)前記ノードリストを読み出し、前記分散認証システムに参加するノード数が所定数に達しているかどうかを確認するステップと、を有することを特徴とする分散認証方法。
The distributed authentication method according to claim 32, wherein
The step (B) of performing the consensus mode operation is as follows:
(B1) an initial state step during operation of the consensus mode;
(B2) exchanging a node list with a node participating in another distributed authentication system by a keep alive operation;
(B3) A step of reading the node list and confirming whether or not the number of nodes participating in the distributed authentication system has reached a predetermined number.
請求項32に記載の分散認証方法において、
前記(C)一般ノードのときの動作を行うステップは、
(C1)前記一般ノード動作の初期状態ステップと、
(C2)ノードリストを読み出し、他のノードに対し、ノードリストを付加したキープアライブメッセージを送信するステップと、
(C3)他ノードから、ノードリストが付加されたキープアライブメッセージを受信するステップと、
(C4)受信した前記キープアライブメッセージに付加されていたノードリストと自ノードが保存していたノードリストを比較し最新の情報に更新するステップと、
(C5)前記ノードリストを読み出し、前記分散認証システムに参加するノード数が所定数に達しているかどうかを確認するステップと、
(C6)参加リクエストを受信するステップと、
(C7)前記参加リクエストを送信してきたノードに対し、参加レスポンスを送信するステップと、
(C8)前記所定数台の代表ノードのうち、任意の代表ノードに対し、電子証明書作成リクエストを送信するステップと、
(C9)代表ノード指名リクエストを受信するステップと、
(C10)前記代表ノードになるかどうか選択するステップと、
(C11)前記代表ノードになるために、前記代表ノード指名リクエストを送信してきたノードに対し、代表ノード指名レスポンスを送信するステップと、
(C12)代表ノードになることを拒否するために、前記代表ノード指名リクエストを送信してきたノードに対し、代表ノード拒否の情報を付加し代表ノード指名レスポンスを送信するステップと、
(C13)電子証明書発行リクエストを受信するステップと、
(C14)前記電子証明書発行リクエストを送信してきたノードに対し、自ノードの電子証明書を付加した電子証明書発行レスポンスを送信するステップと、を有することを特徴とする分散認証方法。
The distributed authentication method according to claim 32, wherein
The step of performing the operation when the (C) general node is performed,
(C1) an initial state step of the general node operation;
(C2) reading the node list and transmitting a keep alive message with the node list added to other nodes;
(C3) receiving a keep-alive message with the node list added from another node;
(C4) comparing the node list added to the received keep-alive message with the node list stored in the own node and updating to the latest information;
(C5) reading the node list and confirming whether the number of nodes participating in the distributed authentication system has reached a predetermined number;
(C6) receiving a participation request;
(C7) transmitting a participation response to the node that has transmitted the participation request;
(C8) transmitting an electronic certificate creation request to an arbitrary representative node among the predetermined number of representative nodes;
(C9) receiving a representative node nomination request;
(C10) selecting whether to become the representative node;
(C11) transmitting a representative node nomination response to the node that has transmitted the representative node nomination request to become the representative node;
(C12) adding a representative node rejection information and transmitting a representative node nomination response to the node that has transmitted the representative node nomination request in order to refuse to become a representative node;
(C13) receiving an electronic certificate issuance request;
(C14) A distributed authentication method comprising: a step of transmitting an electronic certificate issuance response to which the electronic certificate of the own node is added to a node that has transmitted the electronic certificate issuance request.
請求項32に記載の分散認証方法において、
前記(D)代表ノードのときの動作を行うステップは、
(D1)代表ノード動作時の初期状態ステップと、
(D2)ノードリストを読み出し、他のノードに対し、ノードリストを付加したキープアライブメッセージを送信するステップと、
(D3)他のノードから、ノードリストが付加されたキープアライブメッセージを受信するステップと、
(D4)受信した前記キープアライブメッセージに付加されていたノードリストと自ノードが保存していたノードリストを比較し最新の情報に更新するステップと、
(D5)ノードリストを読み出し、分散認証システムに参加するノード数が所定数に達しているかどうかを確認するステップと、
(D6)ノードリストを読み出し、代表ノードが離脱していないか確認するステップと、
(D7)代表ノードを離脱したい場合、他の代表ノードに対し、代表ノード離脱リクエストを送信するステップと、
(D8)代表ノード離脱レスポンスを受信するステップと、
(D9)参加リクエストを受信するステップと、
(D10)参加リクエストを送信してきたノードに対し、参加レスポンスを送信するステップと、
(D11)参加リクエストを送信してきたノードの個人鍵の秘密鍵の素となる情報となるランダム素数を生成するステップと、
(D12)前記所定数台の代表ノード間で互いに連携し、参加リクエストを送信してきたノードの個人鍵の公開鍵を生成するステップと、
(D13)前記所定数台の代表ノード間で互いに連携し、参加リクエストを送信してきたノードの電子証明書を生成するステップと、
(D14)前記参加リクエストを送信してきたノードに対し、前記個人鍵の秘密鍵の素となる情報と、前記個人鍵の公開鍵と、前記電子証明書とを送信するステップと、
(D15)電子証明書生成リクエストを受信するステップと、
(D16)代表ノード離脱リクエストを受信するステップと、
(D17)代表ノード離脱レスポンスを送信するステップと、
(D18)代表ノード指名確認メッセージを受信するステップと、
(D19)代表ノード指名確認レスポンスを送信するステップと、
(D20)電子証明書発行リクエストを受信するステップと、
(D21)前記電子証明書発行リクエストを送信してきたノードに対し、自ノードの電子証明書を付加した電子証明書発行レスポンスを送信するステップと、
(D22)前記分散認証システム電子証明書発行リクエストを受信するステップと、
(D23)前記分散認証システム電子証明書発行リクエストを送信してきたノードに対し、分散認証システム電子証明書を付加した分散認証システム電子証明書発行レスポンスを送信するステップと、を有することを特徴とする分散認証方法。
The distributed authentication method according to claim 32, wherein
The step of performing the operation when the (D) representative node is
(D1) an initial state step during operation of the representative node;
(D2) reading the node list and transmitting a keep-alive message with the node list added to the other nodes;
(D3) receiving a keep-alive message with the node list added from another node;
(D4) comparing the node list added to the received keep-alive message with the node list stored in the own node and updating to the latest information;
(D5) reading the node list and confirming whether the number of nodes participating in the distributed authentication system has reached a predetermined number;
(D6) reading the node list and confirming whether the representative node has left;
(D7) If it is desired to leave the representative node, a step of sending a representative node leave request to another representative node;
(D8) receiving a representative node leaving response;
(D9) receiving a participation request;
(D10) transmitting a participation response to the node that has transmitted the participation request;
(D11) generating a random prime number that is information serving as a prime key of the private key of the private key of the node that has transmitted the participation request;
(D12) generating a public key of a personal key of a node that has cooperated with each other among the predetermined number of representative nodes and has transmitted a participation request;
(D13) generating a digital certificate of the node that has transmitted the participation request in cooperation with each other between the predetermined number of representative nodes;
(D14) transmitting to the node that has transmitted the participation request, information that is a source of the private key of the personal key, a public key of the personal key, and the electronic certificate;
(D15) receiving an electronic certificate generation request;
(D16) receiving a representative node leaving request;
(D17) transmitting a representative node leaving response;
(D18) receiving a representative node nomination confirmation message;
(D19) transmitting a representative node nomination confirmation response;
(D20) receiving an electronic certificate issuance request;
(D21) transmitting an electronic certificate issuance response to which the electronic certificate of the own node is added to the node that has transmitted the electronic certificate issuance request;
(D22) receiving the distributed authentication system electronic certificate issuance request;
(D23) transmitting a distributed authentication system electronic certificate issuance response added with the distributed authentication system electronic certificate to the node that has transmitted the distributed authentication system electronic certificate issuance request. Distributed authentication method.
請求項32に記載の分散認証方法において、
前記(E)受信したメッセージの電子署名を確認するときの動作を行うステップは、
(E1)署名確認動作の初期状態ステップと、
(E2)メッセージ送信元のノードの電子証明書発行リクエストを送信するステップと、
(E3)電子証明書発行レスポンスを受信するステップと、
(E4)前記代表ノードに対し、分散認証システム電子証明書発行リクエストを送信するステップと、
(E5)分散認証システム電子証明書発行レスポンスを受信するステップと、
(E6)分散認証システム電子証明書に付加されている代表鍵の公開鍵を用い、電子証明書に付加されている電子署名を前記代表鍵の公開鍵で復号し、前記電子証明書の正当性を確認し、さらに、受信したメッセージに付加されている電子署名を前記電子証明書に付加されている前記個人鍵の公開鍵で復号し、当該メッセージの正当性を確認するステップと、を有することを特徴とする分散認証方法。
The distributed authentication method according to claim 32, wherein
(E) The step of performing an operation when confirming the electronic signature of the received message is as follows:
(E1) an initial state step of signature verification operation;
(E2) transmitting an electronic certificate issuance request of a message transmission source node;
(E3) receiving an electronic certificate issuance response;
(E4) transmitting a distributed authentication system electronic certificate issuance request to the representative node;
(E5) receiving a distributed authentication system electronic certificate issuance response;
(E6) The public key of the representative key added to the distributed authentication system electronic certificate is used to decrypt the electronic signature added to the electronic certificate with the public key of the representative key, and the validity of the electronic certificate And decrypting the electronic signature attached to the received message with the public key of the personal key attached to the electronic certificate, and confirming the validity of the message. A distributed authentication method characterized by the above.
請求項32に記載の分散認証方法において、
前記(F)代表ノードの初期の動作を行うステップは、
(F1)代表ノード初期動作時の初期状態ステップと、
(F2)前記分散認証システムの代表鍵の秘密鍵の素となる情報となるランダム素数を生成するステップと、
(F3)所定数台の代表ノード間で互いに連携し、前記分散認証システムの代表鍵の公開鍵を生成するステップと、
(F4)この時点のノードリストに対し、前記個人鍵の秘密鍵を用いて電子署名をするステップと、
(F5)他の代表ノードに対し、電子署名済みのノードリストを送信するステップと、
(F6)他の代表ノードから、ノードリストを受信するステップと、
(F7)受信した前記ノードリストに全代表ノードの電子署名が付加されているか確認するステップと、
(F8)全代表ノードによる電子署名が完了したノードリストを、残存する旧代表ノードに送信するステップと、
(F9)残存する旧代表ノードによる電子署名が付加されたノードリストを受信するステップと、
(F10)受信した前記ノードリストに、残存する旧代表ノード全てによる電子署名が付加されているか確認するステップと、
(F11)前記所定数台の代表ノード間で互いに連携し、分散認証システム電子証明書を作成するステップと、を有することを特徴とする分散認証方法。
The distributed authentication method according to claim 32, wherein
(F) performing the initial operation of the representative node includes:
(F1) an initial state step during the initial operation of the representative node;
(F2) generating a random prime number that is information that is a prime key private key of the distributed authentication system;
(F3) generating a public key of a representative key of the distributed authentication system in cooperation with each other between a predetermined number of representative nodes;
(F4) electronically signing the node list at this time using the private key of the personal key;
(F5) transmitting an electronically signed node list to another representative node;
(F6) receiving a node list from another representative node;
(F7) confirming whether the electronic signatures of all the representative nodes are added to the received node list;
(F8) transmitting a node list in which electronic signatures by all the representative nodes are completed to the remaining old representative nodes;
(F9) receiving a node list to which an electronic signature by the remaining old representative node is added;
(F10) Checking whether the electronic signature by all the remaining old representative nodes is added to the received node list;
(F11) A distributed authentication method comprising: a step of cooperating with each other between the predetermined number of representative nodes to create a distributed authentication system electronic certificate.
請求項32に記載の分散認証方法において、
前記(G)代表ノードを更新するときの動作を行うステップは、
(G1)代表ノード更新動作時の初期状態ステップと、
(G2)新たに代表ノードになるノードを選出するステップと、
(G3)代表ノード指名確認メッセージを、他の代表ノードに送信するステップと、
(G4)代表ノード指名確認レスポンスを受信するステップと、
(G5)受信した前記代表ノード指名確認レスポンスに、選出した前記ノードを拒否するメッセージが付加されているか確認するステップと、
(G6)選出した前記ノードに対し、代表ノード指名リクエストを送信するステップと、
(G7)選出した前記ノードから、代表ノード指名レスポンスを受信するステップと、
(G8)受信した前記代表ノード指名レスポンスに、代表ノードになることを拒否するメッセージが付加されているか確認するステップと、
(G9)代表ノード数が所定数に達しているかどうか確認するステップと、を有することを特徴とする分散認証方法。
The distributed authentication method according to claim 32, wherein
(G) performing the operation when updating the representative node,
(G1) an initial state step during the representative node update operation;
(G2) selecting a node as a new representative node;
(G3) transmitting a representative node designation confirmation message to another representative node;
(G4) receiving a representative node nomination confirmation response;
(G5) confirming whether a message rejecting the selected node is added to the received representative node nomination confirmation response;
(G6) transmitting a representative node nomination request to the selected node;
(G7) receiving a representative node nomination response from the selected node;
(G8) confirming whether a message refusing to become a representative node is added to the received representative node nomination response;
(G9) A step of confirming whether or not the number of representative nodes has reached a predetermined number.
請求項32に記載の分散認証方法において、
前記(H)代表ノードを離脱するときの動作を行うステップは、
(H1)代表ノード離脱動作時の初期状態ステップと、
(H2)前記代表ノードから、全ての代表ノードの電子署名が付加されたノードリストを受信するステップと、
(H3)受信した前記ノードリストに、電子署名を付加するステップと、
(H4)前記全ての代表ノードの電子署名が付加されたノードリストを送信してきた代表ノードに対し、電子署名を付加した前記ノードリストを送信するステップと、を有することを特徴とする分散認証方法。
The distributed authentication method according to claim 32, wherein
(H) performing the operation when leaving the representative node,
(H1) an initial state step at the time of the representative node leaving operation;
(H2) receiving a node list to which electronic signatures of all representative nodes are added from the representative node;
(H3) adding an electronic signature to the received node list;
(H4) a step of transmitting the node list to which the electronic signature has been added to the representative node that has transmitted the node list to which the electronic signatures of all the representative nodes have been transmitted. .
請求項32から40のいずれか一項に記載の分散認証方法を、コンピュータに実行させるための分散認証プログラム。   A distributed authentication program for causing a computer to execute the distributed authentication method according to any one of claims 32 to 40.
JP2007016562A 2007-01-26 2007-01-26 Distributed authentication system, distributed authentication method, and distributed authentication program Withdrawn JP2008186064A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007016562A JP2008186064A (en) 2007-01-26 2007-01-26 Distributed authentication system, distributed authentication method, and distributed authentication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007016562A JP2008186064A (en) 2007-01-26 2007-01-26 Distributed authentication system, distributed authentication method, and distributed authentication program

Publications (1)

Publication Number Publication Date
JP2008186064A true JP2008186064A (en) 2008-08-14

Family

ID=39729100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007016562A Withdrawn JP2008186064A (en) 2007-01-26 2007-01-26 Distributed authentication system, distributed authentication method, and distributed authentication program

Country Status (1)

Country Link
JP (1) JP2008186064A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095330A (en) * 2014-11-12 2016-05-26 日本電信電話株式会社 Secret calculation system and method, and management server and program
JP2018117287A (en) * 2017-01-19 2018-07-26 富士通株式会社 Certificate Distribution System, Certificate Distribution Method, and Certificate Distribution Program
CN110311881A (en) * 2018-03-27 2019-10-08 阿里健康信息技术有限公司 A kind of authorization method, encryption method and terminal device
US11128477B2 (en) 2017-04-10 2021-09-21 Internetworking & Broadband Consulting Co., Ltd. Electronic certification system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095330A (en) * 2014-11-12 2016-05-26 日本電信電話株式会社 Secret calculation system and method, and management server and program
JP2018117287A (en) * 2017-01-19 2018-07-26 富士通株式会社 Certificate Distribution System, Certificate Distribution Method, and Certificate Distribution Program
US11128477B2 (en) 2017-04-10 2021-09-21 Internetworking & Broadband Consulting Co., Ltd. Electronic certification system
CN110311881A (en) * 2018-03-27 2019-10-08 阿里健康信息技术有限公司 A kind of authorization method, encryption method and terminal device
CN110311881B (en) * 2018-03-27 2022-01-14 阿里健康信息技术有限公司 Authorization method, encryption method and terminal equipment

Similar Documents

Publication Publication Date Title
WO2017010455A1 (en) Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program
JP7216881B2 (en) Content Contract System, Content Contract Method, Right Holder Terminal, Transferee Terminal, Control Terminal, Content Storage Server, Right Holder Program, Transferee Program, Control Program and Content Storage Program
CN111771390B (en) Self-organizing network
JP5241926B2 (en) Secure node identifier assignment in a distributed hash table for peer-to-peer networks
RU2300845C2 (en) Method and system for safe distribution of data transferred through public data network
CN101243643B (en) Establishment of a trusted relationship between unknown communication parties
CN113014392A (en) Block chain-based digital certificate management method, system, equipment and storage medium
JP2019515373A (en) Operating system for blockchain IoT devices
JP4962317B2 (en) Electronic bidding system and electronic bidding method
US20090158041A1 (en) Methods and devices for creating security group and authentication over p2p network
JP7316283B2 (en) Computer-implemented method and system for obtaining digitally signed data
CN102077506A (en) Security architecture for peer-to-peer storage system
CN115176441A (en) Identity-based public key generation protocol
JP6651042B1 (en) Method for storing a transaction representing transfer of assets in a distributed network having a plurality of nodes, a program therefor, and a node for configuring the distributed network
CN112016923A (en) Intra-network cross-domain identity management method and system based on block chain and computational power network
WO2019198548A1 (en) Blockchain network and establishment method therefor
WO2021154157A1 (en) Blockchain-based data exchange
US8448719B2 (en) Key exchange device
JP2008186064A (en) Distributed authentication system, distributed authentication method, and distributed authentication program
WO2020085378A1 (en) Right-holder terminal, user terminal, right-holder program, user program, content usage system, and content usage method
JP5012574B2 (en) Common key automatic sharing system and common key automatic sharing method
CN112910661A (en) Block chain consensus method, device, equipment and medium suitable for electronic subscription
JP6478361B1 (en) Blockchain network and determination method therefor
CN113691376B (en) Key management method and device
KR102415982B1 (en) Block chain system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080618

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100406