JP6976405B2 - Access control system and its programs - Google Patents

Access control system and its programs Download PDF

Info

Publication number
JP6976405B2
JP6976405B2 JP2020501912A JP2020501912A JP6976405B2 JP 6976405 B2 JP6976405 B2 JP 6976405B2 JP 2020501912 A JP2020501912 A JP 2020501912A JP 2020501912 A JP2020501912 A JP 2020501912A JP 6976405 B2 JP6976405 B2 JP 6976405B2
Authority
JP
Japan
Prior art keywords
key
transaction
user
node
unit
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.)
Active
Application number
JP2020501912A
Other languages
Japanese (ja)
Other versions
JPWO2019163040A1 (en
Inventor
淳 栗原
健 久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zettant Inc
Original Assignee
Zettant Inc
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 Zettant Inc filed Critical Zettant Inc
Publication of JPWO2019163040A1 publication Critical patent/JPWO2019163040A1/en
Application granted granted Critical
Publication of JP6976405B2 publication Critical patent/JP6976405B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、アクセス管理システム、及びそのプログラム等に関する。 The present invention relates to an access control system, a program thereof, and the like.

近年、アクセス制御の方法として、暗号化ベースの制御方法が注目されている。暗号化ベースのアクセス制御方法では、アクセスが許可される主体のみが復号可能にデータが暗号化され、当該データの復号可否に基づいて、主体の権限の検証が行われる(例えば非特許文献1)。 In recent years, an encryption-based control method has attracted attention as an access control method. In the encryption-based access control method, data is encrypted so that only the entity to which access is permitted can decrypt the data, and the authority of the entity is verified based on whether or not the data can be decrypted (for example, Non-Patent Document 1). ..

S. Kamara and K. Lauter, “Cryptographic cloud storage,” in Proc. FC 2010, Jan. 2010, pp. 136-149S. Kamara and K. Lauter, “Cryptographic cloud storage,” in Proc. FC 2010, Jan. 2010, pp. 136-149

非特許文献1をはじめとする従来の暗号化ベースのアクセス制御方法では、認証局(CA:Certificate Authority)等の中央サーバが、アクセス制御用の暗号鍵や復号鍵を発行する。したがって、従来の暗号化ベースのアクセス制御方法によって管理されるシステムでは、システムの信頼性は、中央サーバの信頼度に依存することになる。このようなシステムでは、中央サーバが乗っ取られると、中央サーバの信頼性に基づいて発行されたすべての鍵が信頼できなくなることから、中央サーバが単一障害点(SPOF:Single Point Of Failure)となってしまう。これを防ぐために中央サーバのセキュリティレベルを強化するには大きな費用がかかってしまう。 In the conventional encryption-based access control method such as Non-Patent Document 1, a central server such as a certificate authority (CA) issues an encryption key or a decryption key for access control. Therefore, in a system managed by a conventional encryption-based access control method, the reliability of the system depends on the reliability of the central server. In such a system, if the central server is hijacked, all the keys issued based on the reliability of the central server become unreliable, so the central server is called a single point of failure (SPOF). turn into. It would be very expensive to increase the security level of the central server to prevent this.

そこで、本発明は、上記事情に鑑み、暗号化ベースのアクセス制御において、耐障害性を向上させることを目的とするものである。 Therefore, in view of the above circumstances, the present invention aims to improve fault tolerance in encryption-based access control.

本発明によるプログラムは、トランザクションが管理される分散型データベースにアクセス可能なコンピュータを、第1ユーザのアクセス権限を示すための第1鍵であって、分散型データベースにおいて第1ユーザに関連づけられていない第1鍵を取得する取得手段、第1鍵の検証を行う検証手段、第1鍵に関する情報を、分散型データベースにアクセス可能な1以上の第2ユーザのコンピュータと共有する共有手段、第1鍵の情報と、第1ユーザのデジタル署名とを含み、第1鍵の使用の承認を依頼する第1トランザクションを生成する生成手段、及び第1トランザクションが、1以上の第2ユーザにデジタル署名され、分散型データベースに登録されるために、第1トランザクションを1以上の第2ユーザのコンピュータに送信する送信手段、として機能させる。 The program according to the present invention is the first key for indicating the access authority of the first user to the computer that can access the distributed database in which the transaction is managed, and is not associated with the first user in the distributed database. Acquisition means for acquiring the first key, verification means for verifying the first key, sharing means for sharing information about the first key with one or more second user computers accessible to a distributed database, first key. And a generation means that generates a first transaction requesting approval of the use of the first key, including the information of the first user and the digital signature of the first user, and the first transaction is digitally signed by one or more second users. It functions as a transmission means for transmitting a first transaction to one or more second user computers in order to be registered in a distributed database.

本発明のプログラムは、CD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。 The program of the present invention can be installed or loaded in a computer by downloading through various recording media such as an optical disk such as a CD-ROM, a magnetic disk, and a semiconductor memory, or via a communication network or the like.

また、本明細書等において、「部」とは、単に物理的構成を意味するものではなく、その構成が有する機能をソフトウェアによって実現する場合も含む。また、1つの構成が有する機能が2つ以上の物理的構成により実現されても、2つ以上の構成の機能が1つの物理的構成により実現されてもよい。 Further, in the present specification and the like, the “part” does not simply mean a physical configuration, but also includes a case where the function of the configuration is realized by software. Further, the function of one configuration may be realized by two or more physical configurations, or the function of two or more configurations may be realized by one physical configuration.

本発明によれば、暗号化ベースのアクセス制御において、耐障害性を向上させることができる。 According to the present invention, fault tolerance can be improved in encryption-based access control.

本発明の実施形態におけるアクセス管理システムの構成図である。It is a block diagram of the access management system in embodiment of this invention. 本発明の実施形態におけるノードの機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of a node in embodiment of this invention. 本発明の実施形態におけるトランザクションのデータ構造の一例を模式的に示す図である。It is a figure which shows an example of the transaction data structure in embodiment of this invention schematically. 本発明の実施形態におけるトランザクションのデータ構造の一例を模式的に示す図である。It is a figure which shows an example of the transaction data structure in embodiment of this invention schematically. 本発明の実施形態におけるトランザクションのデータ構造の一例を模式的に示す図である。It is a figure which shows an example of the transaction data structure in embodiment of this invention schematically. 本発明の実施形態におけるノードの処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the process flow of a node in embodiment of this invention. 本発明の実施形態におけるノードの機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of a node in embodiment of this invention. 本発明の実施形態におけるノードの処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the process flow of a node in embodiment of this invention. 本発明の実施形態におけるユーザ認証の仕組みを模式的に示す図である。It is a figure which shows typically the mechanism of the user authentication in embodiment of this invention. 本発明の実施形態における端末のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware composition of the terminal in embodiment of this invention.

[第1の実施形態]
以下、本発明の実施の形態の1つについて詳細に説明する。なお、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。さらに、当業者であれば、以下に述べる各要素を均等なものに置換した実施の形態を採用することが可能であり、かかる実施の形態も本発明の範囲に含まれる。
[First Embodiment]
Hereinafter, one of the embodiments of the present invention will be described in detail. It should be noted that the following embodiments are examples for explaining the present invention, and the present invention is not limited to the embodiments thereof. Further, the present invention can be modified in various ways as long as it does not deviate from the gist thereof. Further, those skilled in the art can adopt an embodiment in which each element described below is replaced with an equal one, and such an embodiment is also included in the scope of the present invention.

<1.システム構成の概要>
図1は、本発明に係るアクセス管理システム1のシステム構成の一例を示している。アクセス管理システム1は、暗号化ベースのアクセス制御に用いられる鍵への操作の管理を行う。鍵は、暗号化ベースのアクセス制御において、ユーザのアクセス権限を示す情報として用いられる。本実施形態では、アクセス管理システム1で用いられる鍵は、公開鍵暗号方式における公開鍵及び秘密鍵である。ただし、アクセス管理システム1において用いられる鍵の暗号方式は、公開鍵暗号方式に限定されず、例えば共通鍵暗号方式でもよい。
<1. Overview of system configuration>
FIG. 1 shows an example of the system configuration of the access control system 1 according to the present invention. The access management system 1 manages operations on keys used for encryption-based access control. The key is used as information indicating the user's access authority in encryption-based access control. In the present embodiment, the keys used in the access control system 1 are the public key and the private key in the public key cryptosystem. However, the key encryption method used in the access management system 1 is not limited to the public key encryption method, and may be, for example, a common key encryption method.

鍵への操作は、鍵の生成、更新、又は失効を含む。アクセス管理システム1では、あるユーザ(操作者)が鍵に対して操作を行う場合、他の1以上のユーザ(承認者)が承認を行う。ここで、「鍵への操作を承認する」とは、鍵への操作が生成・更新である場合、使用される鍵を承認することであり、鍵への操作が失効である場合、失効操作を承認することである。1以上の承認者が、鍵への操作を承認することで、鍵の信頼性をユーザが相互に担保することが可能となる。これにより、アクセス管理システム1においては、一部の承認者の信頼性が損なわれたとしても、他の承認者の信頼性に基づいて、システム全体の信頼性を継続することができる。 Operations on keys include key generation, renewal, or revocation. In the access management system 1, when a certain user (operator) operates the key, another one or more users (approvers) approve the key. Here, "approving the operation on the key" means approving the key to be used when the operation on the key is generated / updated, and when the operation on the key is revoked, the revoked operation. Is to approve. When one or more approvers approve the operation on the key, the users can mutually guarantee the reliability of the key. As a result, in the access management system 1, even if the reliability of some approvers is impaired, the reliability of the entire system can be continued based on the reliability of other approvers.

さらにアクセス管理システム1では、承認者は、固定のユーザである必要はなく、操作対象の鍵の所有者に応じて異なってもよく、また、鍵の所有者が同一であっても、鍵への操作のたびに異なるユーザが承認者になってもよい。この結果、ある承認者の信頼性が損なわれたとしても、影響範囲を、信頼性が損なわれた承認者にのみ承認された鍵に限定することができる。これによって、システム全体としては、信頼性を継続することができる。 Further, in the access management system 1, the approver does not have to be a fixed user and may be different depending on the owner of the key to be operated, and even if the owner of the key is the same, the key is assigned. A different user may become the approver for each operation of. As a result, even if the credibility of a certain approver is compromised, the scope of influence can be limited to the key approved only by the credibility-impaired approver. As a result, the reliability of the entire system can be maintained.

図1に示すように、アクセス管理システム1は、インターネット等のネットワークNに接続された複数のノード10A、10B、10C(以下、これらのノードをまとめて単に「ノード10」とも呼ぶ。)と、データベース30とを備えている。図1の例では、一例として3つのノードを記載しているが、ノードの数に限定はない。 As shown in FIG. 1, the access management system 1 includes a plurality of nodes 10A, 10B, and 10C (hereinafter, these nodes are collectively referred to simply as "node 10") connected to a network N such as the Internet. It has a database 30. In the example of FIG. 1, three nodes are described as an example, but the number of nodes is not limited.

ネットワークNは、無線ネットワークや有線ネットワークにより構成される。通信ネットワークの一例としては、携帯電話網や、PHS(Personal Handy−phone System)網、無線LAN(Local Area Network)、3G(3rd Generation)、LTE(Long Term Evolution)、4G(4th Generation )、WiMax(登録商標)、赤外線通信、Bluetooth(登録商標)、有線LAN、電話線、電灯線ネットワーク、IEEE1394等に準拠したネットワークがある。 The network N is composed of a wireless network and a wired network. Examples of communication networks include mobile phone networks, PHS (Personal Handy-phone System) networks, wireless LAN (Local Area Network), 3G (3rd Generation), LTE (Long Term Evolution), 4G (4th Generation), and 4G (4th Generation). There are networks compliant with (registered trademark), infrared communication, WiMAX (registered trademark), wired LAN, telephone line, power line network, IEEE1394, and the like.

ノード10は、ネットワークNに接続されたコンピュータであり、アクセス管理システム1が提供する所定のアプリケーションがインストールされている。なお、所定のアプリケーションは、ノード10にあらかじめインストールされていてもよいし、ダウンロード等によってノード10に事後的にインストールされてもよい。 The node 10 is a computer connected to the network N, and a predetermined application provided by the access management system 1 is installed. The predetermined application may be installed in the node 10 in advance, or may be installed in the node 10 after the fact by downloading or the like.

典型的には、ノード10は、携帯電話やスマートフォン、PC(Personal Computer)、PDA(Personal Digital Assistants)、タブレット、ウェアラブル(Wearable)端末、サーバ装置、ゲーム機等である。ノード10A、10B、及びノード10Cは、ネットワークNを介して互いにP2P(Peer to Peer)接続されており、分散型台帳システムを構成している。もっとも、ノード10は分散型台帳システムにアクセス可能に構成されていればよく、必ずしも分散型台帳システムを構成する態様に限定されない。なお、各ノードはネットワークNを介さずに直接P2P接続されてもよい。 Typically, the node 10 is a mobile phone, a smartphone, a PC (Personal Computer), a PDA (Personal Digital Assistants), a tablet, a wearable terminal, a server device, a game machine, or the like. The nodes 10A and 10B and the nodes 10C are connected to each other by P2P (Peer to Peer) via the network N, and constitutes a distributed ledger system. However, the node 10 may be configured so as to be accessible to the distributed ledger system, and is not necessarily limited to the mode in which the distributed ledger system is configured. Note that each node may be directly connected to P2P without going through the network N.

以下の説明では、ノード10A,10B,10Cのユーザを、それぞれユーザA,B,Cとする。ユーザA,B,Cのそれぞれにはアクセス管理システム1で一意な識別子が割り当てられている。識別子は、例えば、ユーザがアクセス管理システム1に登録を行う場合に付与される一意な識別子や、メールアドレス、ノードの識別子、ノードにインストールされるアプリケーションにより識別されるID等である。 In the following description, the users of the nodes 10A, 10B, and 10C will be referred to as users A, B, and C, respectively. Each of the users A, B, and C is assigned a unique identifier in the access management system 1. The identifier is, for example, a unique identifier given when the user registers with the access control system 1, an e-mail address, a node identifier, an ID identified by an application installed on the node, or the like.

一例として、ユーザAを操作者、ノード10Aを操作ノードとし、ユーザB,Cを承認者、ノード10B,10Cを承認ノードとして説明する。なお、操作ノードと承認ノードとは別ノードである必要はなく、単一のノードが操作ノードと承認ノードとの双方の機能を有する構成でもよい。また、各ノードのユーザは一人に限定されず、1つのノードが複数のユーザによって共有されてもよい。 As an example, user A will be described as an operator, node 10A as an operation node, users B and C as approvers, and nodes 10B and 10C as approval nodes. It should be noted that the operation node and the approval node do not have to be separate nodes, and a single node may have the functions of both the operation node and the approval node. Further, the user of each node is not limited to one, and one node may be shared by a plurality of users.

データベース30は、本実施形態ではネットワークNに接続される、ストレージ管理用のサーバに構築される。なお、これに限定されず、データベース30は、例えばネットワークNに接続されるWEBサーバ上に構築されてもよい。 In this embodiment, the database 30 is built on a storage management server connected to the network N. The database 30 is not limited to this, and may be built on a WEB server connected to the network N, for example.

なお、本実施形態では、アクセス管理システム1の各構成は、ネットワークNを介して接続される例を説明するが、これに限定されない。例えば、ノード10はプライベートなネットワークに接続され、データベース30はノード10が接続されるプライベートなネットワークとインターネットを介して接続される構成でもよい。同様に、ノード10はインターネットを介して接続され、データベース30はインターネットに接続可能なプライベートなネットワークに接続される構成でもよい。 In the present embodiment, each configuration of the access management system 1 will be described as an example of being connected via the network N, but the present invention is not limited to this. For example, the node 10 may be connected to a private network, and the database 30 may be connected to the private network to which the node 10 is connected via the Internet. Similarly, the node 10 may be connected via the Internet, and the database 30 may be connected to a private network that can connect to the Internet.

<2.データベース30>
データベース30には、アクセス管理システム1において管理される鍵の情報が登録されている。一例として、データベース30には、公開鍵と、暗号化された秘密鍵と、が対応付けられたレコードが登録されている。この場合には、後述するトランザクションには公開鍵と、暗号化された秘密鍵のハッシュ値が含まれることが好ましい。なお、後述するように、トランザクションに公開鍵の本体が含まれる場合には、データベース30はなくてもよい。また、データベース30の各レコードは、鍵の所有者であるユーザの識別子や、登録されている鍵に操作を行ったトランザクションのID、ユーザの信頼度を示す情報等を含んでもよい。ユーザの信頼度を示す情報は、例えば、アクセス管理システム1においてそのユーザが過去に不正を行ったか等を示す情報である。さらに、データベース30には、公開鍵や秘密鍵の識別子が管理される構成でもよい。
<2. Database 30>
Key information managed by the access management system 1 is registered in the database 30. As an example, a record in which a public key and an encrypted private key are associated with each other is registered in the database 30. In this case, it is preferable that the transaction described later includes the hash value of the public key and the encrypted private key. As will be described later, if the transaction includes the main body of the public key, the database 30 may not be present. Further, each record of the database 30 may include an identifier of a user who is the owner of the key, an ID of a transaction that operates on the registered key, information indicating the reliability of the user, and the like. The information indicating the reliability of the user is, for example, information indicating whether the user has committed fraud in the past in the access management system 1. Further, the database 30 may be configured to manage public key and private key identifiers.

<3.ノード10>
<3−1.操作ノード(ノード10A)>
次に、図2を用いて操作ノードであるノード10Aの機能構成について説明する。図2は、本実施形態に係るノード10Aの機能ブロック図である。図2に示すように、ノード10Aは、記憶部130と、鍵取得部111と、鍵検証部112と、トランザクション生成部114と、署名実行部115と、データベース制御部116と、を有している。さらに、図2に示すように、記憶部130には、ユーザAの秘密鍵と、分散型台帳131が記録されている。分散型台帳131は、分散型台帳システムを構成する複数のノード10に格納される分散型データベースである。ただし、すべてのノード10が分散型台帳131を有している必要はなく、一部のノード10のみが分散型台帳131を有している構成でもよい。
<3. Node 10>
<3-1. Operation node (node 10A)>
Next, the functional configuration of the node 10A, which is an operation node, will be described with reference to FIG. FIG. 2 is a functional block diagram of the node 10A according to the present embodiment. As shown in FIG. 2, the node 10A has a storage unit 130, a key acquisition unit 111, a key verification unit 112, a transaction generation unit 114, a signature execution unit 115, and a database control unit 116. There is. Further, as shown in FIG. 2, the storage unit 130 records the private key of the user A and the distributed ledger 131. The distributed ledger 131 is a distributed database stored in a plurality of nodes 10 constituting the distributed ledger system. However, it is not necessary that all the nodes 10 have the distributed ledger 131, and only some of the nodes 10 may have the distributed ledger 131.

(1)分散型台帳
図3乃至図5は、分散型台帳131(分散型データベースの一例である。)で管理するトランザクションのデータ構造の一部を模式的に示す図である。分散型台帳131では、複数のトランザクションそれぞれを格納したブロックが、1列に連なった数珠つなぎの構造で記録されている。なお、図3乃至図5の例では、1つのブロックは1つのトランザクションしか有していない例を示しているが、1つのブロックが複数のトランザクションを有してもよい。また、トランザクションは必ずしもブロックに格納されている必要はなく、トランザクションそのものが数珠つなぎとなっている構成でもよい。
(1) Distributed Ledger FIGS. 3 to 5 are diagrams schematically showing a part of a transaction data structure managed by the distributed ledger 131 (an example of a distributed database). In the distributed ledger 131, blocks storing each of a plurality of transactions are recorded in a structure of a string of beads connected in a row. Although the example of FIGS. 3 to 5 shows an example in which one block has only one transaction, one block may have a plurality of transactions. Further, the transaction does not necessarily have to be stored in a block, and the transaction itself may be configured to be a string of beads.

図3は、分散型台帳131において管理される鍵生成トランザクション(第1トランザクションの一例である。)を含むブロック1の構造の一例を示す図である。鍵生成トランザクションは、生成した新たな鍵の承認を求めるトランザクションである。図3では一例として、ユーザA(第1ユーザの一例である。)が生成した鍵(第1鍵の一例である。)の承認のための鍵生成トランザクションを示している。 FIG. 3 is a diagram showing an example of the structure of block 1 including a key generation transaction (an example of a first transaction) managed in the distributed ledger 131. A key generation transaction is a transaction that seeks approval of a new key that has been generated. FIG. 3 shows, as an example, a key generation transaction for approving a key (an example of a first key) generated by a user A (an example of a first user).

鍵生成トランザクションには、例えば、以下のデータが格納されている。
・ユーザAの生成された鍵のデータ
・ユーザAの署名
・他ユーザ(承認者ともいう。1以上の第2ユーザの一例である。)の署名
For example, the following data is stored in the key generation transaction.
-Data of the key generated by user A-Signature of user A-Signature of another user (also referred to as an approver, which is an example of one or more second users).

生成された鍵のデータは、ユーザAが新たに使用する鍵を識別可能な情報であり、例えば鍵生成トランザクションにおいて承認される鍵ペアの公開鍵のハッシュ値である。なお、生成された鍵のデータとして、公開鍵のハッシュ値の代わりに公開鍵のデータそのものや、公開鍵のアクセス管理システム1において一意な識別子が鍵生成トランザクションに格納される構成でもよい。また、鍵生成トランザクションは、さらに生成される公開鍵あるいは既存の別の公開鍵で暗号化された秘密鍵を含んでもよい。また、生成される公開鍵と秘密鍵の鍵ペアは、ユーザA個人の鍵ペアに限定されず、ユーザAが提供するサービスで利用される鍵ペアでもよい。 The generated key data is information that can identify the key newly used by the user A, for example, a hash value of the public key of the key pair approved in the key generation transaction. As the generated key data, instead of the hash value of the public key, the public key data itself or a unique identifier in the public key access control system 1 may be stored in the key generation transaction. The key generation transaction may also include a public key that is further generated or a private key that is encrypted with another existing public key. Further, the generated public key and private key key pair is not limited to the user A individual key pair, and may be a key pair used in the service provided by the user A.

ユーザAの署名は、鍵生成トランザクションにおいて承認される鍵ペアの秘密鍵を用いて生成されたデジタル署名である。なお、以下の説明では「デジタル署名」を単に「署名」ともいい、「鍵を用いてデジタル署名を生成」することを、単に「署名する」や「署名を行う」ともいう。 The user A's signature is a digital signature generated using the private key of the key pair approved in the key generation transaction. In the following description, "digital signature" is also simply referred to as "signature", and "generating a digital signature using a key" is also referred to simply as "signing" or "signing".

承認者の署名は、ユーザA以外の任意の数のユーザが、生成された鍵を承認する際に、自身の秘密鍵を用いて生成した署名である。図3の例では、鍵生成トランザクションには2人のユーザ(ユーザB,C)の署名が含まれているが、承認者の署名の数は、1以上の任意の数でよい。また、承認者として署名を生成するユーザは、例えば、ユーザA(つまり、新たに鍵を生成するユーザ)が指定することができる。他にも、承認者は、アクセス管理システム1に含まれるノード10のユーザからランダムに選択されてもよいし、あらかじめアクセス管理システム1の管理者によって選択されたユーザでもよい。また、必要な承認者の署名の数は、あらかじめアクセス管理システム1の管理者により定められてもよいし、ユーザAにより指定されてもよいし、ランダムに決定されてもよい。つまり、鍵生成トランザクションにおいて承認者として選ばれるユーザは、固定ではなく不定である。 The approver's signature is a signature generated by any number of users other than user A using their own private key when approving the generated key. In the example of FIG. 3, the key generation transaction includes the signatures of two users (users B and C), but the number of signatures of the approver may be any number of 1 or more. Further, the user who generates the signature as the approver can be designated by, for example, the user A (that is, the user who newly generates the key). In addition, the approver may be randomly selected from the users of the node 10 included in the access management system 1, or may be a user selected in advance by the administrator of the access management system 1. Further, the number of required signatures of the approver may be determined in advance by the administrator of the access management system 1, may be specified by the user A, or may be randomly determined. That is, the user selected as the approver in the key generation transaction is not fixed but indefinite.

なお、本実施形態では、各ユーザの署名は、鍵生成トランザクションのうち、署名が生成される領域を除いたデータ(すなわち、「ユーザAの生成された鍵のデータ(本実施形態では公開鍵のハッシュ値)」)のハッシュ値をダイジェストとし、自身の秘密鍵を用いて当該ダイジェストを暗号化することで生成される。 In the present embodiment, the signature of each user is the data excluding the area where the signature is generated in the key generation transaction (that is, the data of the key generated by the user A (in the present embodiment, the public key). Hash value) ”) is used as a digest, and it is generated by encrypting the digest using its own private key.

図4は分散型台帳131において管理される鍵更新トランザクション(第2トランザクションの一例である。)を含むブロックB2の構造の一例を示す図である。鍵更新トランザクションは、アクセス管理システム1において承認された鍵(第1鍵の一例である。)を新たな鍵(第2鍵の一例である。)に更新することについて、承認を求めるためのトランザクションである。図4では一例として、図3に示した鍵生成トランザクションにおいて承認されたユーザAの鍵についてn回目の更新を行う際の鍵更新トランザクションを示している。 FIG. 4 is a diagram showing an example of the structure of block B2 including a key update transaction (an example of a second transaction) managed in the distributed ledger 131. The key update transaction is a transaction for requesting approval for updating a key approved by the access management system 1 (an example of a first key) to a new key (an example of a second key). Is. FIG. 4 shows, as an example, a key update transaction when the key of user A approved in the key generation transaction shown in FIG. 3 is updated for the nth time.

鍵更新トランザクションには、例えば、以下のデータが格納されている。
・1つ前のトランザクションデータのハッシュ値
・ユーザAの更新済みの鍵のデータ
・ユーザAの署名
・他ユーザ(承認者)の署名
なお、鍵更新トランザクションは、上記の他に、1つ前のトランザクションへのポインタを含んでもよい。
For example, the following data is stored in the key update transaction.
-Hash value of the previous transaction data-Data of the updated key of user A-Signature of user A-Signature of another user (approver) In addition to the above, the key update transaction is the previous one. It may include a pointer to a transaction.

1つ前のトランザクションとは、鍵のn回目の更新を行う鍵更新トランザクションの場合、鍵のn−1回目の更新を行ったトランザクションを指す。なお、今回の鍵更新トランザクションが初めて鍵を更新するものである場合、1つ前のトランザクションは、鍵生成トランザクションを指す。鍵更新トランザクションの1つ前のトランザクションも当然さらに1つ前のトランザクションデータのハッシュ値を含む構成である。このように、すべての鍵更新トランザクションは、鍵生成トランザクションまで数珠つなぎとなるデータ構造を有している。そうすると、鍵更新トランザクションは、鍵が生成されたトランザクションから鍵更新トランザクションまでのすべての鍵の更新履歴のハッシュ値を含んでいることになる。鍵更新トランザクションがこのような構成をとることで、途中のトランザクションに改ざんが行われたとしても、検知が容易になる。 The previous transaction refers to the transaction in which the key is updated n-1st in the case of the key update transaction in which the key is updated nth time. When the key update transaction this time is the one that updates the key for the first time, the previous transaction refers to the key generation transaction. Of course, the transaction immediately before the key update transaction is also configured to include the hash value of the transaction data immediately before. In this way, every key update transaction has a data structure that is linked up to the key generation transaction. Then, the key update transaction will include the hash value of the update history of all keys from the transaction in which the key was generated to the key update transaction. By adopting such a configuration in the key update transaction, even if the transaction in the middle is tampered with, it becomes easy to detect.

更新済みの鍵のデータは、例えば鍵更新トランザクションにおいて、新たな鍵として承認される更新後の公開鍵のハッシュ値である。なお、更新済みの鍵データは新たな鍵を識別可能な情報であればよく、例えば公開鍵の識別子でもよい。鍵更新トランザクションには、さらに更新後の公開鍵で暗号化された更新後の秘密鍵が含まれてもよい。 The updated key data is, for example, a hash value of the updated public key approved as a new key in a key update transaction. The updated key data may be any information that can identify the new key, and may be, for example, a public key identifier. The key update transaction may further include the updated private key encrypted with the updated public key.

ユーザAの署名は、更新前後のそれぞれの秘密鍵を用いて生成された署名である。言い換えると、今回(n回目)の更新後の秘密鍵と、前回(n−1回目)の更新後の秘密鍵とを用いて生成された署名である。ただし、鍵更新トランザクションにおいて更新される鍵が、ユーザAが提供するサービスで利用される鍵等、ユーザA自身の署名に用いる鍵とは別の鍵である場合には、ユーザAは署名用の鍵を用いて署名を生成することも可能である。 The signature of the user A is a signature generated by using the respective private keys before and after the update. In other words, it is a signature generated by using the secret key after the update of this time (nth time) and the secret key after the update of the previous time (n-1th time). However, if the key updated in the key update transaction is a key different from the key used for the signature of the user A itself, such as the key used in the service provided by the user A, the user A is used for the signature. It is also possible to generate a signature using a key.

承認者の署名は、ユーザA以外の任意の数のユーザが、更新された鍵を承認する際に、自身の秘密鍵を用いて生成した署名である。承認者の署名は、例えば鍵更新トランザクションの起源となる鍵生成トランザクションが有する承認者の署名と同一のユーザの署名である。ただし、これに限定されず、承認者として署名するユーザ及びその数は、鍵更新トランザクションのたびにユーザA(鍵の更新者)が選択する構成でもよいし、ランダムに決められる構成でもよいし、更新の回数に応じて署名するユーザをあらかじめアクセス管理システム1の管理者が設定しておく構成でもよい。つまり、鍵更新トランザクションにおいて承認者として選ばれるユーザは、固定ではなく不定である。 The approver's signature is a signature generated by any number of users other than user A using their own private key when approving the updated key. The approver's signature is, for example, the same user's signature as the approver's signature of the key generation transaction that is the origin of the key update transaction. However, the present invention is not limited to this, and the user who signs as an approver and the number thereof may be selected by user A (key updater) for each key update transaction, or may be randomly determined. The administrator of the access management system 1 may set in advance a user to sign according to the number of updates. That is, the user selected as the approver in the key update transaction is not fixed but indefinite.

鍵更新トランザクションにおいても、各ユーザの署名は、鍵更新トランザクションのうち、署名を行う領域を除いたデータ(すなわち、「1つ前のトランザクションデータのハッシュ値」と「ユーザAの更新済みの鍵のデータ(本実施形態では公開鍵のハッシュ値)」)のハッシュ値をダイジェストとし、自身の秘密鍵を用いて当該ダイジェストを暗号化することで生成される。 Also in the key update transaction, the signature of each user is the data excluding the area to be signed in the key update transaction (that is, "hash value of the previous transaction data" and "user A's updated key". It is generated by using the hash value of data (the hash value of the public key in this embodiment) ”) as a digest and encrypting the digest using its own private key.

図5は分散型台帳131において管理される鍵失効トランザクション(第3トランザクションの一例である。)を含むブロックB3の構造の一例を示す図である。鍵失効トランザクションは、アクセス管理システム1において生成した鍵を失効させるトランザクションである。図5では一例として、図3に示した鍵生成トランザクションにおいて生成したユーザAの鍵を失効させる鍵失効トランザクションを示している。 FIG. 5 is a diagram showing an example of the structure of block B3 including a key revocation transaction (an example of a third transaction) managed in the distributed ledger 131. The key revocation transaction is a transaction that revokes the key generated in the access management system 1. FIG. 5 shows, as an example, a key revocation transaction that revokes the key of user A generated in the key generation transaction shown in FIG.

鍵失効トランザクションには、例えば、以下のデータが格納されている。
・1つ前のトランザクションデータのハッシュ値
・ユーザAの鍵の失効情報
・ユーザAの署名
・他ユーザ(承認者)の署名
なお、鍵失効トランザクションは、上記の他に、1つ前のトランザクションへのポインタを含んでもよい。
For example, the following data is stored in the key revocation transaction.
-Hash value of the previous transaction data-Key revocation information of user A-Signature of user A-Signature of another user (approver) In addition to the above, the key revocation transaction goes to the previous transaction. May include a pointer to.

ユーザAの鍵の失効情報は、ユーザAの鍵が失効したことを特定可能な情報である。失効情報は、例えば、鍵の失効日、失効理由等を含む。失効理由は、典型的には鍵の所有者からの申請(秘密鍵の紛失や盗難、サービスの利用停止等)の他、システム管理者による失効登録(利用者の義務違反等)が挙げられる。なお、失効情報には、さらに失効対象となる鍵を識別可能な情報(例えば公開鍵本体と暗号化された秘密鍵等)が含まれてもよい。 The key revocation information of the user A is information that can identify that the key of the user A has revoked. The revocation information includes, for example, the revocation date of the key, the reason for revocation, and the like. Reasons for revocation typically include an application from the key owner (lost or stolen private key, suspension of service, etc.), as well as revocation registration by the system administrator (violation of user obligations, etc.). The revoked information may further include information that can identify the key to be revoked (for example, a public key body and an encrypted private key).

ユーザAの署名は、例えば、失効対象となる鍵を用いて生成された署名である。ただし、鍵失効トランザクションにおいて失効される鍵が、ユーザAが提供するサービスで利用される鍵等、ユーザA自身の署名に用いる鍵とは別の鍵である場合には、ユーザAは署名用の鍵を用いて署名を生成することも可能である。なお、失効操作を行うのがユーザA以外のユーザ(すなわち失効対象の鍵の所有者以外のユーザ)である場合には、ユーザA(鍵の所有者)の署名はなくてもよい。この場合には、鍵失効トランザクションには、ユーザAの署名の代わりに失効操作者の署名が含まれる。 The signature of the user A is, for example, a signature generated by using the key to be revoked. However, if the key revoked in the key revocation transaction is a key different from the key used for the signature of the user A itself, such as the key used in the service provided by the user A, the user A is used for the signature. It is also possible to generate a signature using a key. If the revocation operation is performed by a user other than user A (that is, a user other than the owner of the key to be revoked), the signature of user A (key owner) may not be required. In this case, the key revocation transaction includes the revocation operator's signature instead of the user A's signature.

承認者の署名は、ユーザA以外の任意の数のユーザが、鍵の失効を承認する際に、自身の秘密鍵を用いて生成した署名である。承認者として署名するユーザ及びその数は、鍵更新トランザクションと同様、起源となる鍵生成トランザクションに含まれる承認者の署名と同一のユーザの署名でもよいし、失効者やアクセス管理システム1の管理者が指定してもよいし、ランダムに決められてもよい。つまり、鍵失効トランザクションにおいて承認者として選ばれるユーザは、固定ではなく不定である。 The approver's signature is a signature generated by any number of users other than user A using their own private key when approving the revocation of the key. The user and the number of users to sign as an approver may be the same as the signature of the approver included in the key generation transaction that originated from the key update transaction, or may be the signature of the revoked person or the administrator of the access control system 1. May be specified or may be randomly determined. That is, the user selected as the approver in the key revocation transaction is not fixed but indefinite.

鍵失効トランザクションにおいても、各ユーザの署名は、鍵更新トランザクションのうち、署名が生成される領域を除いたデータ(すなわち、「1つ前のトランザクションデータのハッシュ値」と「ユーザAの鍵の失効情報」)のハッシュ値をダイジェストとし、自身の秘密鍵を用いて当該ダイジェストを暗号化することで生成される。 Even in the key revocation transaction, the signature of each user is the data excluding the area where the signature is generated in the key update transaction (that is, the "hash value of the previous transaction data" and the "user A key revocation". It is generated by using the hash value of "information") as a digest and encrypting the digest using its own private key.

図2に戻り、ノード10の各機能部の詳細について説明する。以下の説明では、鍵生成トランザクション、鍵更新トランザクション、及び鍵失効トランザクションをまとめて単「トランザクション」ともいう。 Returning to FIG. 2, the details of each functional unit of the node 10 will be described. In the following description, the key generation transaction, the key update transaction, and the key expiration transaction are collectively referred to as a simple "transaction".

(2)鍵取得部111
鍵取得部111(取得手段の一例である。)は、操作対象となる鍵の情報を取得する。例えば操作が鍵の生成である場合には、鍵取得部111は、鍵を生成することができる。生成される鍵は、分散型台帳131、及び/又はデータベース30において、ユーザAと関連付けられていない鍵である。
(2) Key acquisition unit 111
The key acquisition unit 111 (an example of acquisition means) acquires information on the key to be operated. For example, when the operation is key generation, the key acquisition unit 111 can generate the key. The generated key is a key that is not associated with user A in the distributed ledger 131 and / or the database 30.

また、操作が鍵の更新である場合には、鍵取得部111は、更新後の新たな鍵を生成する。更新後の新たな鍵は、分散型台帳131、及び/又はデータベース30において、ユーザAと関連付けられていない鍵である。さらに鍵取得部111は、データベース30を参照して、更新対象の鍵を取得する。 If the operation is a key update, the key acquisition unit 111 generates a new key after the update. The new key after the update is a key that is not associated with the user A in the distributed ledger 131 and / or the database 30. Further, the key acquisition unit 111 refers to the database 30 and acquires the key to be updated.

操作が鍵の失効である場合には、鍵取得部111は、処理を行わない。ただし、この場合にも、鍵取得部111は、データベース30を参照して失効対象の鍵を取得してもよい。 If the operation is a key revocation, the key acquisition unit 111 does not perform any processing. However, even in this case, the key acquisition unit 111 may acquire the key to be revoked by referring to the database 30.

なお、鍵取得部111はデータベース30から鍵を取得する際には、操作対象の鍵が承認されたトランザクションのIDやユーザAの識別子に基づいてデータベース30を検索することができる。また、鍵取得部111は、鍵を生成する代わりに、他ノードに鍵の生成を依頼し、他ノードにおいて生成された鍵を取得する構成でもよい。この場合、鍵を生成する他ノードは、例えばアクセス管理システム1の管理ノードであることが好ましい。 When acquiring the key from the database 30, the key acquisition unit 111 can search the database 30 based on the ID of the transaction for which the key to be operated is approved or the identifier of the user A. Further, the key acquisition unit 111 may be configured to request the generation of the key from another node and acquire the key generated in the other node instead of generating the key. In this case, the other node that generates the key is preferably, for example, the management node of the access management system 1.

(3)鍵検証部112
鍵検証部112(検証手段の一例である。)は、鍵取得部111が取得した鍵のうち、少なくともユーザAが新たに使用する鍵について、正常に機能するか検証を行う。例えば鍵検証部112は、鍵取得部111が生成した鍵ペアや、他ノードに生成を依頼した鍵ペアについて、一方の鍵が暗号化したデータを他方の鍵で復号可能か否かの検証を行う。
(3) Key verification unit 112
The key verification unit 112 (an example of the verification means) verifies whether at least the key newly used by the user A among the keys acquired by the key acquisition unit 111 functions normally. For example, the key verification unit 112 verifies whether or not the data encrypted by one key can be decrypted by the other key for the key pair generated by the key acquisition unit 111 or the key pair requested to be generated by another node. conduct.

(4)トランザクション生成部113
トランザクション生成部113(生成手段の一例である。)は、鍵の操作に関するトランザクションを生成する。トランザクションの各構成の生成処理について具体的に説明する。
(4) Transaction generator 113
The transaction generation unit 113 (an example of the generation means) generates a transaction related to a key operation. The generation process of each transaction configuration will be specifically described.

まず、トランザクション生成部113は、鍵のデータとして、例えば、鍵検証部112が検証した公開鍵から所定のハッシュ関数を使ってハッシュ値を生成する。なお、トランザクション生成部113は鍵のデータとして、公開鍵の識別子を用いてもよい。また、トランザクションが暗号化された秘密鍵を含む場合には、トランザクション生成部113は、秘密鍵に対応する公開鍵もしくは既存の別の公開鍵を用いて、秘密鍵の暗号化を行う。 First, the transaction generation unit 113 generates a hash value as key data from, for example, a public key verified by the key verification unit 112 using a predetermined hash function. The transaction generation unit 113 may use the public key identifier as the key data. When the transaction includes an encrypted private key, the transaction generation unit 113 encrypts the private key by using the public key corresponding to the private key or another existing public key.

次に、トランザクション生成部113は、生成するトランザクションが鍵更新トランザクション又は鍵失効トランザクションである場合には、1つ前のトランザクションのハッシュ値を生成する。今回生成するトランザクションの1つ前のトランザクションは、操作(更新・失効)対象の鍵が承認されたトランザクションである。そこでまず、トランザクション生成部113は、操作対象となる鍵が承認されたトランザクションIDを特定する。例えば、トランザクション生成部113は、トランザクションIDをユーザAから指定される構成でもよいし、ユーザAから更新対象となる鍵の指定を受け付け、データベース30を参照して、指定された鍵に対応するトランザクションIDを特定する構成でもよい。トランザクションIDを特定すると、トランザクション生成部113は、分散型台帳131を参照して、特定したトランザクションIDに対応するトランザクションを取得し、当該トランザクションのハッシュ値を算出する。 Next, when the transaction to be generated is a key update transaction or a key expiration transaction, the transaction generation unit 113 generates a hash value of the previous transaction. The transaction immediately before the transaction generated this time is the transaction in which the key to be operated (updated / revoked) is approved. Therefore, first, the transaction generation unit 113 specifies the transaction ID in which the key to be operated is approved. For example, the transaction generation unit 113 may be configured such that the transaction ID is specified by the user A, or the transaction ID is specified by the user A and the key to be updated is specified, the database 30 is referred to, and the transaction corresponding to the specified key is received. It may be configured to specify the ID. When the transaction ID is specified, the transaction generation unit 113 refers to the distributed ledger 131, acquires the transaction corresponding to the specified transaction ID, and calculates the hash value of the transaction.

なお、生成するトランザクションが鍵失効トランザクションの場合には、トランザクション生成部113は、さらに失効情報を生成する。失効情報は、例えばユーザAからの入力を受付けて生成することができる。 If the transaction to be generated is a key revocation transaction, the transaction generation unit 113 further generates revocation information. The revocation information can be generated, for example, by accepting an input from the user A.

最後にトランザクション生成部113は、ネットワークNにおいて一意なトランザクションIDを採番し、トランザクションを生成する。 Finally, the transaction generation unit 113 assigns a unique transaction ID in the network N and generates a transaction.

(5)署名実行部114
署名実行部114は、ユーザAの署名用の鍵を用いてトランザクションに署名を行う。一例として、署名実行部114は、トランザクション生成部113が生成したトランザクションのうち、署名が格納される領域を除くデータのハッシュ値を計算し、ダイジェストを生成する。そして、署名実行部114は生成したダイジェストをユーザAの秘密鍵を用いて暗号化することで、署名を行う。ここで署名に用いられる秘密鍵は、例えば鍵生成トランザクションの場合は生成された秘密鍵であり、鍵更新トランザクションの場合は更新前後の秘密鍵であり、鍵失効トランザクションの場合は失効対象の秘密鍵である。なお、トランザクションで操作される鍵と署名を生成する鍵とは必ずしもペアである必要はない。例えば、トランザクションで操作される公開鍵が、ユーザAの署名用の秘密鍵に対応する公開鍵とは異なる場合には、署名実行部114は、ユーザAの既存の署名用の鍵(すなわちトランザクションで操作される鍵とは異なる鍵)を用いて、生成したダイジェストを暗号化することで署名を生成する。
(5) Signature execution unit 114
The signature execution unit 114 signs the transaction using the user A's signature key. As an example, the signature execution unit 114 calculates the hash value of the data excluding the area where the signature is stored in the transaction generated by the transaction generation unit 113, and generates a digest. Then, the signature execution unit 114 signs the generated digest by encrypting it using the private key of the user A. The private key used for signing here is, for example, the generated secret key in the case of a key generation transaction, the secret key before and after the update in the case of a key update transaction, and the secret key to be revoked in the case of a key revocation transaction. Is. It should be noted that the key operated in the transaction and the key for generating the signature do not necessarily have to be a pair. For example, if the public key operated in the transaction is different from the public key corresponding to the private key for user A's signature, the signature execution unit 114 may use the user A's existing signature key (that is, in the transaction). A signature is generated by encrypting the generated digest using a key that is different from the key to be operated.

(6)送信部115
送信部115(送信手段の一例である。)は、署名実行部115が署名したトランザクションを、承認依頼先のノードに送信する。このとき、送信部115は、トランザクションに承認を依頼する(すなわち署名を求める)他ユーザ(承認者)の識別子を宛先に承認依頼先として設定する。例えば送信部115は、ノード10AのユーザAから、承認依頼先の承認者の指定を受け付ける構成でもよいし、アクセス管理システム1の管理者からあらかじめ定められている承認者を設定する構成でもよいし、アクセス管理システム1のユーザからランダムに選択して設定する構成でもよい。
(6) Transmitter 115
The transmission unit 115 (an example of the transmission means) transmits the transaction signed by the signature execution unit 115 to the node of the approval request destination. At this time, the transmission unit 115 sets the identifier of another user (approver) who requests the transaction for approval (that is, requests the signature) as the destination for the approval request. For example, the transmission unit 115 may be configured to accept the designation of the approver of the approval request destination from the user A of the node 10A, or may be configured to set a pre-determined approver from the administrator of the access management system 1. , The configuration may be set by randomly selecting from the users of the access management system 1.

なお、送信部115はトランザクションを承認依頼先に送信する際に、署名実行部115が行った署名を復号可能な公開鍵(つまり、新たに生成された公開鍵や、更新後の公開鍵、失効対象となる公開鍵)を併せて送信してもよい。また、送信部115は、トランザクションをネットワークN全体に送信することも可能である。 When the transmission unit 115 sends the transaction to the approval request destination, the public key that can decrypt the signature made by the signature execution unit 115 (that is, the newly generated public key, the updated public key, and the invalidated one). The target public key) may also be transmitted. The transmission unit 115 can also transmit the transaction to the entire network N.

(7)データベース制御部116
データベース制御部116(共有手段の一例である。)は、鍵検証部112が検証した鍵を分散型台帳システムを構成する他のノード(ノード10B、10C)と共有する。一例として、データベース制御部116は、鍵検証部112が検証した鍵をデータベース30に登録する。具体的には、鍵に対する操作が、「生成」である場合には、データベース制御部116は、データベース30に新なレコードを追加して、公開鍵と、当該公開鍵で暗号化された秘密鍵を登録する。
(7) Database control unit 116
The database control unit 116 (an example of the sharing means) shares the key verified by the key verification unit 112 with other nodes (nodes 10B and 10C) constituting the distributed ledger system. As an example, the database control unit 116 registers the key verified by the key verification unit 112 in the database 30. Specifically, when the operation on the key is "generate", the database control unit 116 adds a new record to the database 30 and adds a public key and a private key encrypted with the public key. To register.

鍵に対する操作が、「更新」である場合には、データベース制御部116は、データベース30を参照して、更新対象の鍵に対応するレコードを抽出し、抽出したレコードに更新後の公開鍵及び当該公開鍵で暗号化された秘密鍵を追加する。なお、データベース制御部116は、更新前の公開鍵及び暗号化された秘密鍵を更新後の公開鍵及び暗号化された秘密鍵に置き換える構成でもよい。 When the operation for the key is "update", the database control unit 116 refers to the database 30 and extracts a record corresponding to the key to be updated, and the extracted record contains the updated public key and the relevant key. Add the private key encrypted with the public key. The database control unit 116 may be configured to replace the public key and the encrypted private key before the update with the public key and the encrypted private key after the update.

鍵に対する操作が、「失効」である場合には、データベース制御部116は、データベース30を参照して、失効対象の鍵に対応するレコードを削除する。なお、データベース制御部116は、レコードを削除する代わりに抽出したレコードに失効情報を追加する構成でもよい。 When the operation on the key is "revocation", the database control unit 116 refers to the database 30 and deletes the record corresponding to the key to be revoked. The database control unit 116 may be configured to add revocation information to the extracted records instead of deleting the records.

データベース制御部116は、データベース30に対して鍵の登録を行う場合には、鍵と対応付けてトランザクション生成部114が生成したトランザクションの識別子(以下「トランザクションID」ともいう。)をデータベース30に登録しておくことが好ましい。 When the database control unit 116 registers the key in the database 30, the database control unit 116 registers the identifier of the transaction generated by the transaction generation unit 114 in association with the key (hereinafter, also referred to as “transaction ID”) in the database 30. It is preferable to keep it.

なお、データベース制御部116が他のノードと鍵を共有する方法は、データベース30に登録する方法の他、鍵を直接他のノードに送信する方法でもよい。 The method in which the database control unit 116 shares the key with another node may be a method of registering the key in the database 30 or a method of directly transmitting the key to the other node.

また、本実施形態では、データベース制御部116は、送信部115がトランザクションを送信する前にデータベース30に検証された鍵を登録する。この場合、データベース制御部116は、送信されたトランザクションが承認者によって承認されなかった場合には、登録内容をロールバックする。ただし、登録処理のタイミングはこれに限定されず、データベース制御部116は、データベース制御部116は、検証された鍵のデータベース30への登録処理を、承認者によるトランザクションへの署名が完了した場合に行う構成でもよい。この場合、トランザクションにはユーザAの署名を復号可能な公開鍵そのものが含まれるか、送信部115がトランザクションを送信する際に、データベース制御部116があわせて公開鍵を送信することが好ましい。 Further, in the present embodiment, the database control unit 116 registers the verified key in the database 30 before the transmission unit 115 transmits the transaction. In this case, the database control unit 116 rolls back the registered contents if the transmitted transaction is not approved by the approver. However, the timing of the registration process is not limited to this, and the database control unit 116 performs the registration process of the verified key in the database 30 in the database control unit 116 when the signing of the transaction by the approver is completed. It may be configured to be performed. In this case, it is preferable that the transaction includes the public key itself capable of decrypting the signature of the user A, or when the transmission unit 115 transmits the transaction, the database control unit 116 also transmits the public key.

(8)処理フロー
図6を参照して、ノード10Aが鍵に対して操作を行う際の処理の流れを説明する。図6はノード10Aの処理フローの一例を示すフローチャートである。
(8) Processing Flow With reference to FIG. 6, the processing flow when the node 10A operates on the key will be described. FIG. 6 is a flowchart showing an example of the processing flow of the node 10A.

まず、鍵取得部111は、操作対象となる鍵を取得する(S11)。鍵取得部111は、操作内容に応じて、鍵を生成したり、データベース30から検索することで、操作対象となる鍵を取得する。 First, the key acquisition unit 111 acquires the key to be operated (S11). The key acquisition unit 111 acquires the key to be operated by generating a key or searching from the database 30 according to the operation content.

次に、鍵検証部112が、取得された鍵が正常に機能するか否かの検証を行う(S12)。鍵が正常に機能しない場合(S13:NO)には、ノード10Aは処理を終了する。なお、このときノード10Aはアクセス管理システム1の管理者に通報を行う構成でもよい。 Next, the key verification unit 112 verifies whether or not the acquired key functions normally (S12). If the key does not function normally (S13: NO), the node 10A ends the process. At this time, the node 10A may be configured to notify the administrator of the access management system 1.

鍵が正常に機能した場合(S13:YES)、トランザクション生成部113がトランザクションを生成する。生成されたトランザクションに署名実行部114が署名を行う(S15)と、送信部115は、承認依頼先を設定して、トランザクションを送信する(S16)。一方、鍵が正常に機能した場合(S13:YES)、データベース制御部116は、検証された鍵をデータベース30に登録する(S17)。なお、S17の処理と、S14乃至S16の処理との前後関係は任意である。 When the key functions normally (S13: YES), the transaction generation unit 113 generates a transaction. When the signature execution unit 114 signs the generated transaction (S15), the transmission unit 115 sets the approval request destination and transmits the transaction (S16). On the other hand, when the key functions normally (S13: YES), the database control unit 116 registers the verified key in the database 30 (S17). The context of the processing of S17 and the processing of S14 to S16 is arbitrary.

なお、S17の処理がS16の処理に前に行われた場合には、データベース制御部116は、送信部115が送信したトランザクションが承認されなかった場合に、データベース30をロールバックし、鍵の登録を取り消すことができる。 If the processing of S17 is performed before the processing of S16, the database control unit 116 rolls back the database 30 and registers the key when the transaction transmitted by the transmission unit 115 is not approved. Can be canceled.

<3−2.承認ノード(ノード10B、10C)>
次に、図7を用いて承認ノードであるノード10B、10Cの機能構成について説明する。図7は、本実施形態に係るノード10Bの機能ブロック図である。なお、ノード10Cの機能構成はノード10Bと同様であるため説明を割愛する。図7に示すように、ノード10Bは、記憶部131と、トランザクション取得部121と、トランザクション検証部122と、署名実行部123と、送信部124とを有している。記憶部131には、ユーザBの秘密鍵の他、上述した分散型台帳131が記録されている。ただし、すべての承認ノードが分散型台帳131を有している必要はなく、一部の承認ノードが有している構成でもよい。
<3-2. Approval node (node 10B, 10C)>
Next, the functional configuration of the nodes 10B and 10C, which are the approval nodes, will be described with reference to FIG. 7. FIG. 7 is a functional block diagram of the node 10B according to the present embodiment. Since the functional configuration of the node 10C is the same as that of the node 10B, the description thereof is omitted. As shown in FIG. 7, the node 10B has a storage unit 131, a transaction acquisition unit 121, a transaction verification unit 122, a signature execution unit 123, and a transmission unit 124. In addition to the private key of user B, the above-mentioned distributed ledger 131 is recorded in the storage unit 131. However, not all approval nodes need to have the distributed ledger 131, and some approval nodes may have a configuration.

(1)トランザクション取得部121
トランザクション取得部121は、ネットワークNに送信されたトランザクションを取得する。例えばトランザクション取得部121は、受信したトランザクションから、自ノード宛に署名依頼がされているトランザクションを抽出することが可能である。
(1) Transaction acquisition unit 121
The transaction acquisition unit 121 acquires the transaction transmitted to the network N. For example, the transaction acquisition unit 121 can extract a transaction for which a signature request has been made to its own node from the received transaction.

(2)トランザクション検証部122
トランザクション検証部122は、取得したトランザクションの正当性の検証を行う。
例えば、トランザクション検証部122は、取得したトランザクションから署名を行う領域を除いたデータからハッシュ値を算出し、復号したダイジェストと突合することでユーザAの署名を検証する。これによって、操作者がユーザAであること、及びトランザクションが改ざんされていないことを検証することができる。
(2) Transaction verification unit 122
The transaction verification unit 122 verifies the validity of the acquired transaction.
For example, the transaction verification unit 122 calculates the hash value from the acquired transaction excluding the area to be signed, and verifies the signature of the user A by collating with the decoded digest. This makes it possible to verify that the operator is user A and that the transaction has not been tampered with.

さらにトランザクション検証部122は、トランザクションに含まれるユーザAの署名の検証を行ってもよい。具体的には、トランザクション検証部122は、データベース30を参照し、取得したトランザクションのIDに対応するレコードを抽出する。次に抽出したレコードからユーザAの公開鍵を取得して、ユーザAの署名からダイジェストを復号する。なお、トランザクションに公開鍵そのものが含まれている場合や、トランザクションに公開鍵が添付されて送信されている場合等には、トランザクション検証部122は、必ずしもデータベース30から公開鍵を検索する必要はない。 Further, the transaction verification unit 122 may verify the signature of the user A included in the transaction. Specifically, the transaction verification unit 122 refers to the database 30 and extracts the record corresponding to the acquired transaction ID. Next, the public key of user A is acquired from the extracted record, and the digest is decoded from the signature of user A. If the transaction includes the public key itself, or if the transaction is transmitted with the public key attached, the transaction verification unit 122 does not necessarily have to search the database 30 for the public key. ..

なお、トランザクション検証部122は、鍵更新トランザクションの場合には、更新前後の秘密鍵によって行われたそれぞれの署名を検証する。ただし、鍵更新トランザクションにおいて更新される鍵がユーザAの署名用の鍵とは異なる鍵ペアや共通鍵の場合には、鍵更新トランザクションにはユーザAの既存の署名用の鍵による署名が含まれることになる。この場合には、トランザクション検証部122は、署名用の鍵によって生成されたユーザAの署名を検証する。また、鍵失効トランザクションであって、失効操作者がユーザAでない場合には、失効操作者の署名を検証する。 In the case of a key update transaction, the transaction verification unit 122 verifies each signature made by the private key before and after the update. However, if the key to be updated in the key update transaction is a key pair or common key that is different from the key for user A's signature, the key update transaction includes the signature with the user A's existing signature key. It will be. In this case, the transaction verification unit 122 verifies the signature of the user A generated by the signature key. Further, in the case of a key revocation transaction and the revocation operator is not the user A, the signature of the revocation operator is verified.

さらに、トランザクション検証部122は、上記の他、トランザクションに含まれるその他のデータが適切か否かを検証してもよい。例えば、鍵更新トランザクションや鍵失効トランザクションの場合、トランザクションに含まれる1つ前のトランザクションのハッシュ値が正しい値であるか否かを、1つ前のトランザクションのハッシュ値を算出して検証してもよい。また、例えば、トランザクションに含まれる鍵のデータが正しいか否かを、データベース30に登録されているデータと突合して検証してもよい。具体的には、トランザクションに公開鍵のハッシュ値が含まれる場合には、トランザクション検証部122は、署名を復号して得た公開鍵のハッシュ値と、データベース30に登録されている公開鍵からハッシュ値を算出し、突合することができる。 Further, the transaction verification unit 122 may verify whether or not other data included in the transaction is appropriate in addition to the above. For example, in the case of a key update transaction or a key expiration transaction, whether or not the hash value of the previous transaction included in the transaction is the correct value can be verified by calculating the hash value of the previous transaction. good. Further, for example, whether or not the key data included in the transaction is correct may be verified by collating with the data registered in the database 30. Specifically, when the transaction includes the hash value of the public key, the transaction verification unit 122 hashes from the hash value of the public key obtained by decrypting the signature and the public key registered in the database 30. Values can be calculated and matched.

(3)署名実行部123
署名実行部123は、トランザクション検証部122が正当性を検証したトランザクションについて、ユーザBが承認依頼先として指定されているトランザクションである場合には、ユーザBの署名用の鍵を用いてトランザクションに署名を行う。他方、ユーザBが署名を求められていないトランザクションである場合には、処理を行わない。
(3) Signature execution unit 123
The signature execution unit 123 signs the transaction using the user B's signature key when the user B is designated as the approval request destination for the transaction whose validity has been verified by the transaction verification unit 122. I do. On the other hand, if the transaction is such that the user B is not requested to sign, no processing is performed.

(4)送信部124
送信部124は、署名実行部123が署名したトランザクションを送信する。このとき、送信部124は、ノード10AのユーザAから、署名を依頼した承認者のうち、未署名のユーザがいる場合には、当該未署名のユーザ宛にトランザクションを転送する構成でもよいし、未署名のユーザの有無にかかわらず、ユーザAにトランザクションを返送する構成でもよい。
(4) Transmitter 124
The transmission unit 124 transmits a transaction signed by the signature execution unit 123. At this time, if there is an unsigned user among the approvers who requested the signature from the user A of the node 10A, the transmission unit 124 may be configured to transfer the transaction to the unsigned user. The transaction may be returned to the user A regardless of the presence or absence of an unsigned user.

さらに送信部124は、トランザクション取得部121が取得したトランザクションにおいて、未署名のユーザがいなかった場合には、ネットワークN全体にトランザクションを送信することで、ネットワークNに接続するノード10の分散型台帳131にトランザクションを登録することも可能である。 Further, the transmission unit 124 transmits the transaction to the entire network N when there is no unsigned user in the transaction acquired by the transaction acquisition unit 121, so that the distributed ledger 131 of the node 10 connected to the network N It is also possible to register a transaction in.

(5)処理フロー
図8を参照して、ノード10Bがトランザクションを承認する際の処理の流れを説明する。図8はノード10Bの処理フローの一例を示すフローチャートである。
(5) Processing Flow With reference to FIG. 8, the processing flow when the node 10B approves the transaction will be described. FIG. 8 is a flowchart showing an example of the processing flow of the node 10B.

まず、トランザクション取得部121は、ネットワークNからトランザクションを取得する(S21)。次に、トランザクション検証部122が、取得したトランザクションの検証を行う(S22) First, the transaction acquisition unit 121 acquires a transaction from the network N (S21). Next, the transaction verification unit 122 verifies the acquired transaction (S22).

検証の結果、トランザクションが否認されるべきと判断された場合(S23:NO)には、ノード10Bは処理を終了する。なお、このときノード10Bはアクセス管理システム1の管理者に通報を行う構成でもよい。 If it is determined as a result of the verification that the transaction should be denied (S23: NO), the node 10B ends the process. At this time, the node 10B may be configured to notify the administrator of the access management system 1.

他方、検証の結果、トランザクションが承認されるべきと判断された場合(S23:YES)、であって、承認依頼先にノードBが指定されている場合(S24:YES)には、署名実行部123がユーザBの秘密鍵を用いて署名を行う(S25)。 On the other hand, if it is determined as a result of verification that the transaction should be approved (S23: YES), and node B is specified as the approval request destination (S24: YES), the signature execution unit. 123 signs using the private key of user B (S25).

最後に、送信部124が、トランザクションを送信する(S26)。このとき送信部124は、承認依頼先に設定されているユーザに、未承認のユーザがいる場合には、当該未承認のユーザ又はユーザAにトランザクションを送信する。他方、未承認のユーザがいない場合には、各ノード10にネットワークN全体に送信する。 Finally, the transmission unit 124 transmits the transaction (S26). At this time, if the user set as the approval request destination includes an unapproved user, the transmission unit 124 transmits a transaction to the unapproved user or the user A. On the other hand, if there is no unapproved user, it is transmitted to each node 10 to the entire network N.

<4.利用例>
図9を参照して、アクセス管理システム1において管理される鍵の利用方法の一例について説明する。図9は、当該鍵を使ったアクセス制御の仕組みを説明するための模式図である。図9の例では、ノード10Aがノード10Bの管理するデータ等にアクセスを行う際に、ノード10Aを利用するユーザAを、ノード10Bが認証(本人確認)する場合を示している。
<4. Usage example>
An example of how to use the key managed in the access management system 1 will be described with reference to FIG. FIG. 9 is a schematic diagram for explaining the mechanism of access control using the key. In the example of FIG. 9, when the node 10A accesses the data or the like managed by the node 10B, the node 10B authenticates (identifies) the user A who uses the node 10A.

まずノード10Bは、ランダムに生成したメッセージ(平文)をノード10Aに送信する。なお、メッセージは、一時的に生成した本人確認用の任意のデータを意味する。ノード10Aは、受信したメッセージ本文(平文)に対して、ハッシュ関数を使ってハッシュ値(メッセージダイジェスト)を求める(矢印(1))。次に、そのメッセージダイジェストを、記憶部130に記憶しているユーザAの秘密鍵で暗号化する(矢印(2))。ノード10Aは、メッセージに、署名に利用した秘密鍵に対応する公開鍵を識別する情報(例えば公開鍵のハッシュ値や識別子(ID)である。以下では、公開鍵を識別する情報を「公開鍵ID」ともいう。)を添付し(矢印(3))、ノード10Bに送信する(矢印(4))。なお、公開鍵IDの代わりに、当該の公開鍵を登録したトランザクションIDや公開鍵そのものあるいはトランザクションのデータそのものをメッセージに添付する方法も考えられる。 First, the node 10B transmits a randomly generated message (plaintext) to the node 10A. The message means any data for identity verification that is temporarily generated. The node 10A obtains a hash value (message digest) from the received message body (plaintext) by using a hash function (arrow (1)). Next, the message digest is encrypted with the private key of the user A stored in the storage unit 130 (arrow (2)). In the message, the node 10A uses information for identifying the public key corresponding to the private key used for signing (for example, a hash value or an identifier (ID) of the public key. In the following, the information for identifying the public key is referred to as "public key". (Also referred to as "ID") is attached (arrow (3)) and transmitted to node 10B (arrow (4)). Instead of the public key ID, a method of attaching the transaction ID in which the public key is registered, the public key itself, or the transaction data itself to the message is also conceivable.

一方、メッセージを受信したノード10Bは、分散型台帳131を参照して、メッセージに添付された公開鍵IDに基づいて、当該公開鍵IDに対応する公開鍵への操作を承認したトランザクションを検索し、抽出する。さらにノード10Bは、抽出したトランザクションを検証する。ここでの検証処理は、上述したトランザクション検証部122の検証処理と同様である。 On the other hand, the node 10B that received the message refers to the distributed ledger 131 and searches for a transaction that approves the operation on the public key corresponding to the public key ID based on the public key ID attached to the message. ,Extract. Further, node 10B verifies the extracted transaction. The verification process here is the same as the verification process of the transaction verification unit 122 described above.

なお、このとき、ノード10Bは、抽出したトランザクションのあとに、メッセージに添付された公開鍵IDに対応する鍵をさらに更新又は失効させるトランザクションが、分散型台帳131に含まれるか否かを判定することが好ましい。具体的には、ノード10Bは、抽出したトランザクション(すなわちメッセージに添付された公開鍵IDに対応する鍵への操作を承認したトランザクション)のハッシュ値を含むトランザクションが分散型台帳131に登録されているか否かを判定する。抽出したトランザクションのハッシュ値を含むトランザクションが分散型台帳131に登録されている場合には、メッセージに添付された公開鍵IDに対応する公開鍵はすでに失効していることになる。この場合には、ノード10Bは、ユーザAの署名が不正なものであると判断し、ユーザAを認証しないことが好ましい。 At this time, the node 10B determines whether or not the distributed ledger 131 includes a transaction for further updating or revoking the key corresponding to the public key ID attached to the message after the extracted transaction. Is preferable. Specifically, in node 10B, is a transaction including a hash value of the extracted transaction (that is, a transaction that approves the operation on the key corresponding to the public key ID attached to the message) registered in the distributed ledger 131? Determine if not. When the transaction including the hash value of the extracted transaction is registered in the distributed ledger 131, the public key corresponding to the public key ID attached to the message has already expired. In this case, it is preferable that the node 10B determines that the signature of the user A is invalid and does not authenticate the user A.

なお、ノード10Bが、抽出したトランザクションのハッシュ値を含むトランザクションについて、さらにそのハッシュ値を含むトランザクションが分散型台帳131に存在するか否かを繰り返し検証することにより、ユーザAの最新の鍵の情報を確認することができる。 Note that the node 10B repeatedly verifies whether or not the transaction including the hash value of the extracted transaction exists in the distributed ledger 131, so that the latest key information of the user A can be obtained. Can be confirmed.

ノード10Bは、抽出したトランザクションにおける承認者を特定し、データベース30を参照して特定した承認者の公開鍵を取得する。取得した承認者の公開鍵を用いて、特定したトランザクションに含まれる承認者の署名を検証し、承認者の正当性を確認する(矢印(5))。つまり、この例では、ユーザAの公開鍵が承認されたトランザクションがデジタル証明書の代わりとしてユーザAの公開鍵の正当性(信頼性)を証明しているといえる。 Node 10B identifies the approver in the extracted transaction and obtains the public key of the identified approver by referring to the database 30. Using the acquired public key of the approver, the approver's signature included in the specified transaction is verified, and the legitimacy of the approver is confirmed (arrow (5)). That is, in this example, it can be said that the transaction in which the public key of the user A is approved proves the validity (reliability) of the public key of the user A instead of the digital certificate.

なお、ノード10Bが、さらに、特定したトランザクションに含まれるユーザAの公開鍵のハッシュ値(公開鍵ID)と、データベース30から取得したユーザAの公開鍵にハッシュ関数を用いて求めたハッシュ値とを比較して、トランザクションIDが今回用いられている秘密鍵を承認するためのものであったかを確認する構成も可能である。 Further, the node 10B further includes a hash value (public key ID) of the public key of the user A included in the specified transaction, and a hash value obtained by using a hash function for the public key of the user A acquired from the database 30. It is also possible to compare and confirm whether the transaction ID is for approving the private key used this time.

さらにノード10Bは、ユーザAの公開鍵を用いてユーザAの署名を復号する(矢印(6))とともに、メッセージ本文(平文)からノード10Aと同じハッシュ関数を使ってハッシュ値(メッセージダイジェスト)を求め(矢印(7))、両者を突合してチェックする(矢印(8))ことでユーザAを認証する。なお、トランザクションが公開鍵そのものを含む構成の場合には、ノード10Bは特定したトランザクションからユーザAの公開鍵を取得することが可能である。 Further, the node 10B decodes the user A's signature using the user A's public key (arrow (6)), and obtains a hash value (message digest) from the message body (plain text) using the same hash function as the node 10A. User A is authenticated by asking (arrow (7)) and checking by matching the two (arrow (8)). If the transaction includes the public key itself, the node 10B can acquire the public key of the user A from the specified transaction.

このように、本実施形態に係るアクセス管理システム1によると、ユーザは使用する鍵が1以上のユーザから承認されたトランザクションによって、ユーザの鍵の正当性(信頼性)を証明することができる。すなわち、ユーザの鍵の信頼性をユーザ相互に担保することが可能となるため、仮に、あるユーザの信頼性が損なわれた場合でも承認者の信頼性に基づいてシステム全体の信頼性を継続することができる。さらに、鍵の失効についてもユーザ相互で承認することで、従来のCRL(Certificate Revocation List)による一元管理が不要になる。 As described above, according to the access management system 1 according to the present embodiment, the user can prove the validity (reliability) of the user's key by the transaction in which the key to be used is approved by one or more users. That is, since it is possible to guarantee the reliability of the user's key to each other, even if the reliability of a certain user is impaired, the reliability of the entire system is continued based on the reliability of the approver. be able to. Further, by mutually approving the revocation of the key, the conventional centralized management by CRL (Certificate Revocation List) becomes unnecessary.

<ハードウェア構成>
以下、図10を参照しながら、第1の実施形態及び第2の実施形態において上述してきたノード10、及びデータベース30をコンピュータ800により実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の機能は、複数台の装置に分けて実現することもできる。
<Hardware configuration>
Hereinafter, with reference to FIG. 10, an example of a hardware configuration in which the node 10 and the database 30 described above in the first embodiment and the second embodiment are realized by the computer 800 will be described. The function of each device can be realized by dividing it into a plurality of devices.

図10に示すように、コンピュータ800は、プロセッサ801、メモリ803、記憶装置805、入力I/F部807、データI/F部809、通信I/F部811、及び表示装置813を含む。 As shown in FIG. 10, the computer 800 includes a processor 801 and a memory 803, a storage device 805, an input I / F unit 807, a data I / F unit 809, a communication I / F unit 811 and a display device 813.

プロセッサ801は、メモリ803に記憶されているプログラムを実行することによりコンピュータ800における様々な処理を制御する。例えば、ノード10A、10Bの鍵取得部111や、鍵検証部112、データベース制御部116、トランザクション生成部114、署名実行部115、トランザクション取得部121、トランザクション検証部122、署名実行部123、送信部124、などは、メモリ803に一時記憶された上で、主にプロセッサ801上で動作するプログラムとして実現可能である。 The processor 801 controls various processes in the computer 800 by executing a program stored in the memory 803. For example, the key acquisition unit 111 of the nodes 10A and 10B, the key verification unit 112, the database control unit 116, the transaction generation unit 114, the signature execution unit 115, the transaction acquisition unit 121, the transaction verification unit 122, the signature execution unit 123, and the transmission unit. 124, etc. can be realized as a program that is temporarily stored in the memory 803 and mainly operates on the processor 801.

メモリ803は、例えばRAM(Random Access Memory)等の記憶媒体である。メモリ803は、プロセッサ801によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。 The memory 803 is a storage medium such as, for example, a RAM (Random Access Memory). The memory 803 temporarily stores the program code of the program executed by the processor 801 and the data required when the program is executed.

記憶装置805は、例えばハードディスクドライブ(HDD)やフラッシュメモリ等の不揮発性の記憶媒体である。記憶装置805は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。この他、記憶装置805は、分散型台帳131を記憶することも可能である。このようなプログラムやデータは、必要に応じてメモリ803にロードされることにより、プロセッサ801から参照される。 The storage device 805 is a non-volatile storage medium such as a hard disk drive (HDD) or a flash memory. The storage device 805 stores an operating system and various programs for realizing each of the above configurations. In addition, the storage device 805 can also store the distributed ledger 131. Such programs and data are referenced from the processor 801 by being loaded into the memory 803 as needed.

入力I/F部807は、ユーザからの入力を受け付けるためのデバイスである。入力I/F部807の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイス等が挙げられる。入力I/F部807は、例えばUSB(Universal Serial Bus)等のインタフェースを介してコンピュータ800に接続されても良い。 The input I / F unit 807 is a device for receiving input from the user. Specific examples of the input I / F unit 807 include a keyboard, a mouse, a touch panel, various sensors, a wearable device, and the like. The input I / F unit 807 may be connected to the computer 800 via an interface such as USB (Universal Serial Bus).

データI/F部809は、コンピュータ800の外部からデータを入力するためのデバイスである。データI/F部809の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置等がある。データI/F部809は、コンピュータ800の外部に設けられることも考えられる。その場合、データI/F部809は、例えばUSB等のインタフェースを介してコンピュータ800へと接続される。 The data I / F unit 809 is a device for inputting data from the outside of the computer 800. Specific examples of the data I / F unit 809 include a drive device for reading data stored in various storage media. It is also conceivable that the data I / F unit 809 is provided outside the computer 800. In that case, the data I / F unit 809 is connected to the computer 800 via an interface such as USB.

通信I/F部811は、コンピュータ800の外部の装置と有線又は無線により、インターネットNを介したデータ通信を行うためのデバイスである。通信I/F部811は、コンピュータ800の外部に設けられることも考えられる。その場合、通信I/F部811は、例えばUSB等のインタフェースを介してコンピュータ800に接続される。 The communication I / F unit 811 is a device for performing data communication via the Internet N by wire or wirelessly with an external device of the computer 800. It is also conceivable that the communication I / F unit 811 is provided outside the computer 800. In that case, the communication I / F unit 811 is connected to the computer 800 via an interface such as USB.

表示装置813は、各種情報を表示するためのデバイスである。表示装置813の具体例としては、例えば液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ、ウェアラブル・デバイスのディスプレイ等が挙げられる。表示装置813は、コンピュータ800の外部に設けられても良い。その場合、表示装置813は、例えばディスプレイケーブル等を介してコンピュータ800に接続される。 The display device 813 is a device for displaying various information. Specific examples of the display device 813 include a liquid crystal display, an organic EL (Electro-Luminescence) display, a display of a wearable device, and the like. The display device 813 may be provided outside the computer 800. In that case, the display device 813 is connected to the computer 800 via, for example, a display cable or the like.

[その他の実施形態]
以上説明した各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。また、各実施形態は例示であり、異なる実施形態で示した構成の部分的な置換または組み合わせが可能であることは言うまでもなく、これらも本発明の特徴を含む限り本発明の範囲に包含される。
[Other embodiments]
Each of the embodiments described above is for facilitating the understanding of the present invention, and is not for limiting the interpretation of the present invention. The present invention can be modified / improved without departing from the spirit thereof, and the present invention also includes an equivalent thereof. Further, each embodiment is an example, and it goes without saying that partial substitutions or combinations of the configurations shown in different embodiments are possible, and these are also included in the scope of the present invention as long as the features of the present invention are included. ..

例えば、既述の実施形態において、トランザクションに対してマイニングは行われない例を説明したが、これに限定されず、PoWの技術を用いてマイニングを行ったうえで、トランザクションを分散型台帳131に登録する構成でもよい。 For example, in the above-described embodiment, an example in which mining is not performed for a transaction has been described, but the present invention is not limited to this, and after mining is performed using PoW technology, the transaction is transferred to the distributed ledger 131. It may be configured to be registered.

また、既述の実施形態において、トランザクションにおいて操作が承認されるユーザAの鍵と、当該トランザクションに署名を生成するユーザAの鍵とは対となる構成について説明した。しかしこれに限定されず、トランザクションでは、ユーザAが署名を生成する鍵(例えば署名用の秘密鍵である。)とは異なる鍵ペアに対する操作が承認されてもよい。この場合、トランザクションには、当該トランザクションによって操作が承認される公開鍵とは異なる、既存の公開鍵と対になる秘密鍵による署名や、既存の公開鍵で暗号化された秘密鍵が含まれてもよい。トランザクション生成部113は、このようなトランザクションを生成するにあたり、操作対象となる公開鍵を識別する情報(ハッシュ値やID)や、操作対象となる公開鍵とは異なる既存の公開鍵で暗号化された秘密鍵を用いることができる。また、このとき署名実行部114は、トランザクションによって操作が承認される公開鍵とは異なる、既存の公開鍵と対になる秘密鍵によってトランザクションにユーザAの署名を生成する。さらに、この場合には、トランザクション検証部122は、トランザクション検証部122は、生成されたユーザAの署名を、署名を行った秘密鍵と対となるユーザAの既存の公開鍵を用いて検証する。 Further, in the above-described embodiment, the configuration in which the key of the user A whose operation is approved in the transaction and the key of the user A who generates the signature in the transaction are paired has been described. However, the transaction is not limited to this, and the user A may be authorized to operate on a key pair different from the key for generating the signature (for example, the private key for signature). In this case, the transaction includes a signature with a private key paired with an existing public key that is different from the public key for which the operation is authorized by the transaction, and a private key encrypted with the existing public key. May be good. In generating such a transaction, the transaction generation unit 113 is encrypted with information (hash value or ID) for identifying the public key to be operated or an existing public key different from the public key to be operated. You can use the private key. Further, at this time, the signature execution unit 114 generates the signature of the user A in the transaction by using a private key paired with the existing public key, which is different from the public key whose operation is approved by the transaction. Further, in this case, the transaction verification unit 122 verifies the generated signature of the user A using the existing public key of the user A paired with the signed private key. ..

さらに、既述の実施形態では、アクセス管理システム1は、公開鍵暗号方式に基づく鍵ペアを管理する例について説明したが、これに限定されず、共通鍵暗号方式に基づく共通鍵を管理する構成でもよい。この場合、トランザクションには、共通鍵のハッシュ値、または既存の公開鍵で暗号化された共通鍵そのものや、ユーザAの署名用の鍵による署名が含まれる。なお、ここでいう署名用の鍵は、公開鍵暗号方式の秘密鍵だけでなく、メッセージ認証符号(MAC値)の生成・復号を行う認証用の共通鍵も含む。共通鍵の場合、署名はメッセージ認証符号(MAC値)を指す。トランザクション生成部113は、このようなトランザクションを生成するにあたり、操作対象となる共通鍵を識別する情報(ハッシュ値やID)を用いることができる。また、このとき署名実行部114は、トランザクションによって操作が承認される共通鍵、当該共通鍵とは異なる認証用の共通鍵、または既存の署名用の公開鍵と対になる秘密鍵によってトランザクションにユーザAの署名またはMAC値を生成する。さらに、この場合には、トランザクション検証部122は、トランザクション検証部122は、生成されたユーザAの署名を、今回操作対象となる共通鍵や、ユーザAの認証用の共通鍵、署名用の公開鍵を用いて検証する。 Further, in the above-described embodiment, the access control system 1 has described an example of managing a key pair based on a public key cryptosystem, but the present invention is not limited to this, and the access management system 1 manages a common key based on a common key cryptosystem. But it may be. In this case, the transaction includes the hash value of the common key, the common key itself encrypted with the existing public key, or the signature with the key for the signature of the user A. The signing key referred to here includes not only the private key of the public key cryptosystem but also the common key for authentication that generates and decrypts the message authentication code (MAC value). In the case of a common key, the signature points to the message authentication code (MAC value). In generating such a transaction, the transaction generation unit 113 can use information (hash value or ID) for identifying the common key to be operated. At this time, the sign execution unit 114 uses a common key whose operation is approved by the transaction, a common key for authentication different from the common key, or a private key paired with the existing public key for signing to be used by the user in the transaction. Generate A's signature or MAC value. Further, in this case, the transaction verification unit 122 displays the generated signature of the user A as a common key to be operated this time, a common key for authentication of the user A, and a public signature. Verify using the key.

1 アクセス管理システム
10A、10B、10C ノード
30 データベース
111 鍵取得部
112 鍵検証部
113 トランザクション生成部
113 データベース制御部
114 署名実行部
115 送信部
116 データベース制御部
121 トランザクション取得部
122 トランザクション検証部
123 署名実行部
124 送信部
130 記憶部
131 分散型台帳
1 Access control system 10A, 10B, 10C Node 30 Database 111 Key acquisition unit 112 Key verification unit 113 Transaction generation unit 113 Database control unit 114 Signature execution unit 115 Transmission unit 116 Database control unit 121 Transaction acquisition unit 122 Transaction verification unit 123 Signature execution Unit 124 Transmitter 130 Storage 131 Distributed Ledger

Claims (3)

トランザクションが管理される分散型データベースにアクセス可能なコンピュータを、
第1ユーザのアクセス権限を示すための第1鍵であって、前記分散型データベースにおいて前記第1ユーザに関連づけられていない第1鍵を取得する取得手段、
前記第1鍵の検証を行う検証手段、
前記第1鍵に関する情報を、前記分散型データベースにアクセス可能な1以上の第2ユーザのコンピュータと共有する共有手段、
前記第1鍵の情報と、前記第1ユーザのデジタル署名とを含み、前記第1鍵の使用の承認を依頼する第1トランザクションを生成する生成手段、及び
前記第1トランザクションが、前記1以上の第2ユーザにデジタル署名され、前記分散型データベースに登録されるために、前記第1トランザクションを前記1以上の第2ユーザのコンピュータに送信する送信手段、
として機能させるプログラムであって、
前記取得手段は、さらに、
前記第1鍵に代えて第1ユーザのアクセス権限を示す第2鍵であって、前記分散型データベースにおいて前記第1ユーザに関連付けられていない第2鍵を取得し、
前記検証手段は、さらに、
前記第2鍵の検証を行い、
前記共有手段は、さらに、
前記第2鍵に関する情報を、前記1以上の第2ユーザのコンピュータと共有し、
前記生成手段は、さらに、
前記第1鍵を用いて生成されたデジタル署名と、前記第2鍵を用いて生成されたデジタル署名と、前記第1トランザクションのハッシュ値とを含み、前記第2鍵の使用の承認を依頼する第2トランザクションを生成し、
前記送信手段は、さらに、
前記第2トランザクションが、前記1以上の第2ユーザにデジタル署名され、前記分散型データベースに登録されるために、前記第2トランザクションを前記1以上の第2ユーザのコンピュータに送信する、プログラム
A computer that has access to a distributed database in which transactions are managed,
An acquisition means for acquiring a first key for indicating the access authority of the first user and not associated with the first user in the distributed database.
Verification means for verifying the first key,
A sharing means for sharing information about the first key with one or more second user computers accessible to the distributed database.
The generation means for generating the first transaction including the information of the first key and the digital signature of the first user and requesting the approval of the use of the first key, and the first transaction are one or more of the above. A transmission means for transmitting the first transaction to the computer of the one or more second users in order to be digitally signed by the second user and registered in the distributed database.
It is a program that functions as
The acquisition means further
Instead of the first key, a second key indicating the access authority of the first user, which is not associated with the first user in the distributed database, is acquired.
The verification means further
After verifying the second key,
The sharing means further
Information about the second key is shared with the computers of the first or more second users.
The generation means further
Includes a digital signature generated using the first key, a digital signature generated using the second key, and a hash value of the first transaction, and requests approval for the use of the second key. Generate a second transaction,
The transmission means further
A program for transmitting the second transaction to the computer of the one or more second users so that the second transaction is digitally signed by the one or more second users and registered in the distributed database .
前記生成手段は、さらに、
前記第1鍵が失効することを示す情報と、前記第1トランザクションのハッシュ値と、前記第1ユーザのデジタル署名とを含み、前記第1鍵の失効の承認を依頼する第3トランザクションを生成し、
前記送信手段は、さらに、
前記第3トランザクションが、前記1以上の第2ユーザにデジタル署名され、前記分散型データベースに登録されるために、前記第3トランザクションを前記1以上の第2ユーザのコンピュータに送信する
請求項1に記載のプログラム。
The generation means further
Generates a third transaction that includes information indicating that the first key is revoked, the hash value of the first transaction, and the digital signature of the first user, and requests approval for the revocation of the first key. ,
The transmission means further
The third transaction is digitally signed to the one or more second users, to be registered in the distributed database, to claim 1 for transmitting the third transaction to the one or more second user's computer Described program.
ユーザのアクセス権限を示す鍵への操作を承認するためのトランザクションが管理される分散型データベースと、
前記分散型データベースにアクセス可能な第1ノード及び1以上の第2ノードと、
を備え、
前記第1ノードは、
第1ユーザのアクセス権限を示すための第1鍵であって、前記分散型データベースにおいて前記第1ユーザに関連付けられていない第1鍵を取得する取得部と、
前記第1鍵の検証を行う第1検証部と、
前記第1鍵に関する情報を、前記第2ノードと共有する共有部と、
前記第1鍵の情報と、前記第1ユーザのデジタル署名とを含み、前記第2ノードに前記第1鍵の使用の承認を依頼する第1トランザクションを生成する生成部と、
前記第1トランザクションを、前記第2ノードに送信する第1送信部と、
を有し、
前記第2ノードは、
共有された前記第1鍵に関する情報と前記第1ユーザのデジタル署名に基づいて、前記第1トランザクションの正当性を検証する第2検証部と、
正当性が検証された前記第1トランザクションに対して、第2ユーザのデジタル署名を生成する署名部と、
前記第1トランザクションを前記分散型データベースに送信する第2送信部と、
を有し、
前記取得部は、さらに、
前記第1鍵に代えて第1ユーザのアクセス権限を示す第2鍵であって、前記分散型データベースにおいて前記第1ユーザに関連付けられていない第2鍵を取得し、
前記第1検証部は、さらに、
前記第2鍵の検証を行い、
前記共有部は、さらに、
前記第2鍵に関する情報を、前記第2ノードと共有し、
前記生成部は、さらに、
前記第1鍵を用いて生成されたデジタル署名と、前記第2鍵を用いて生成されたデジタル署名と、前記第1トランザクションのハッシュ値とを含み、前記第2鍵の使用の承認を依頼する第2トランザクションを生成し、
前記第1送信部は、さらに、
前記第2トランザクションが、前記第2ユーザにデジタル署名され、前記分散型データベースに登録されるために、前記第2トランザクションを前記第2ノードに送信する、
アクセス管理システム。
A decentralized database that manages transactions to authorize operations on keys that indicate user access rights, and
A first node and one or more second nodes that can access the distributed database,
Equipped with
The first node is
An acquisition unit that acquires the first key that is the first key for indicating the access authority of the first user and is not associated with the first user in the distributed database.
The first verification unit that verifies the first key and
A shared unit that shares information about the first key with the second node,
A generator that includes the information of the first key and the digital signature of the first user and generates a first transaction for requesting the second node to approve the use of the first key.
A first transmitter that transmits the first transaction to the second node,
Have,
The second node is
A second verification unit that verifies the validity of the first transaction based on the shared information about the first key and the digital signature of the first user.
A signature unit that generates a digital signature of the second user for the first transaction whose validity has been verified, and a signature unit.
A second transmitter that sends the first transaction to the distributed database,
Have a,
The acquisition unit further
Instead of the first key, a second key indicating the access authority of the first user, which is not associated with the first user in the distributed database, is acquired.
The first verification unit further
After verifying the second key,
The shared part further
Information about the second key is shared with the second node,
The generator further
Includes a digital signature generated using the first key, a digital signature generated using the second key, and a hash value of the first transaction, and requests approval for the use of the second key. Generate a second transaction,
The first transmission unit further
Sending the second transaction to the second node for the second transaction to be digitally signed by the second user and registered in the distributed database.
Access management system.
JP2020501912A 2018-02-22 2018-02-22 Access control system and its programs Active JP6976405B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/006358 WO2019163040A1 (en) 2018-02-22 2018-02-22 Access management system and program thereof

Publications (2)

Publication Number Publication Date
JPWO2019163040A1 JPWO2019163040A1 (en) 2021-01-07
JP6976405B2 true JP6976405B2 (en) 2021-12-08

Family

ID=67687158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020501912A Active JP6976405B2 (en) 2018-02-22 2018-02-22 Access control system and its programs

Country Status (2)

Country Link
JP (1) JP6976405B2 (en)
WO (1) WO2019163040A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110852745B (en) * 2019-10-12 2022-07-19 杭州云象网络技术有限公司 Block chain distributed dynamic network key automatic updating method
CN114024771B (en) * 2021-12-27 2022-04-05 四川旷谷信息工程有限公司 Cross-level control method for urban rail transit security system
WO2024085178A1 (en) * 2022-10-19 2024-04-25 パナソニックIpマネジメント株式会社 Information processing method, information processing device, and information processing system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1025672A1 (en) * 1997-10-14 2000-08-09 Certicom Corp. Key validation scheme
JP5858506B1 (en) * 2015-04-09 2016-02-10 株式会社Orb Virtual currency management program and virtual currency management method
JP6550353B2 (en) * 2016-07-21 2019-07-24 株式会社日立製作所 Signature verification system, signature verification method and program

Also Published As

Publication number Publication date
JPWO2019163040A1 (en) 2021-01-07
WO2019163040A1 (en) 2019-08-29

Similar Documents

Publication Publication Date Title
US11196573B2 (en) Secure de-centralized domain name system
CN109862041B (en) Digital identity authentication method, equipment, device, system and storage medium
JP6547079B1 (en) Registration / authorization method, device and system
US10708047B2 (en) Computer-readable recording medium storing update program and update method, and computer-readable recording medium storing management program and management method
JP5749236B2 (en) Key change management device and key change management method
JP2020010267A (en) Distributed medical information sharing system, medical information provision server, and program
US11979392B2 (en) Systems and methods for managing device association
EP3662403B1 (en) Private data processing
US20200412554A1 (en) Id as service based on blockchain
JP6976405B2 (en) Access control system and its programs
US11218317B1 (en) Secure enclave implementation of proxied cryptographic keys
JP2009033721A (en) Group subordinate terminal, group administrative terminal, server, key updating system and key updating method thereof
JP2014006691A (en) Device authentication method and system
JP6627043B2 (en) SSL communication system, client, server, SSL communication method, computer program
EP4096160A1 (en) Shared secret implementation of proxied cryptographic keys
JP2009212689A (en) Automatic common key distribution system, client, third-person certification body side server, and automatic common key sharing method
JP6939313B2 (en) Distributed authentication system
JP4552785B2 (en) Encrypted communication management server
JP7230293B2 (en) Management server, management system, management method, and program
JP2005202869A (en) Personal information disclosure system, method and program
JP6524556B2 (en) Authentication key replication system
JP2008219787A (en) Key management system, key management program and ic card
KR100834576B1 (en) Key management method and apparatus for providing secure communication on p2p network
KR102497440B1 (en) Method and system for providing user information management service based on decentralized identifiers
JP5635555B2 (en) Information providing apparatus, information providing system, and information providing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210929

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211015

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211109

R150 Certificate of patent or registration of utility model

Ref document number: 6976405

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150