JP2018117287A - Certificate Distribution System, Certificate Distribution Method, and Certificate Distribution Program - Google Patents

Certificate Distribution System, Certificate Distribution Method, and Certificate Distribution Program Download PDF

Info

Publication number
JP2018117287A
JP2018117287A JP2017007755A JP2017007755A JP2018117287A JP 2018117287 A JP2018117287 A JP 2018117287A JP 2017007755 A JP2017007755 A JP 2017007755A JP 2017007755 A JP2017007755 A JP 2017007755A JP 2018117287 A JP2018117287 A JP 2018117287A
Authority
JP
Japan
Prior art keywords
block
block chain
public key
signature
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017007755A
Other languages
Japanese (ja)
Other versions
JP6826290B2 (en
Inventor
芳樹 東角
Yoshiki Azumakado
芳樹 東角
健 鎌倉
Ken Kamakura
健 鎌倉
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017007755A priority Critical patent/JP6826290B2/en
Publication of JP2018117287A publication Critical patent/JP2018117287A/en
Application granted granted Critical
Publication of JP6826290B2 publication Critical patent/JP6826290B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To improve availability of certificate management.SOLUTION: Multiple block chain nodes 3a, 3b, 3c hold a first block 4 containing certification target information 4a, outputted from a terminal 2a and owned by a user 8, by a block chain. The multiple block chain nodes 3a, 3b, 3c also hold second blocks 4-1, 4-2, outputted from terminals 2b, 2c and including electronic signatures 5a, 5n indicating registration approval of the certification target information 4a, by a block chain. When there is a signature number satisfaction block where the number of included electronic signatures 5a, 5n reaches a prescribed number, the multiple block chain nodes 3a, 3b, 3c holds a third block 4-3, including an electronic certificate 6 certificating the owner of the certification target information 4a and the signature number satisfaction block, while dispersing by the block chain.SELECTED DRAWING: Figure 1

Description

本発明は、証明書配付システム、証明書配付方法、および証明書配付プログラムに関する。   The present invention relates to a certificate distribution system, a certificate distribution method, and a certificate distribution program.

ネットワークを介してユーザ間で取引を行うとき、通信相手の身元確認が行われる。ユーザの身元確認には、例えば電子証明書が用いられる。電子証明書は、信頼できる第三者により発行される、情報(例えば公開鍵)の所有者を証明する情報である。   When a transaction is performed between users via a network, the identity of the communication partner is confirmed. For example, an electronic certificate is used for confirming the identity of the user. An electronic certificate is information issued by a trusted third party to prove the owner of information (for example, a public key).

電子証明書は、例えばブロックチェーンを使用したシステムでも利用されている。ブロックチェーンは、分散型のコンピュータネットワークにおいて、集中管理装置を置かずに信憑性のある合意に到達することを可能にする技術である。ここで合意とは、分散データベースにおいて、ユーザAとユーザBとの間の取引記録の整合性を取ることである。ブロックチェーンにおいて取引に関する情報を記録する場合、他人のなりすましを防ぐために、電子証明書が用いられる。例えば電子証明書によって所有者が証明された公開鍵で暗号化して取引に関するデータを送信すれば、その公開鍵の所有者が保持している秘密鍵を用いなければ、送信されたデータを復号することができない。従って、送信されたデータが、目的の相手に安全に送信される。このようにして、ネットワークを介した取引の安全性が保たれる。   Electronic certificates are also used in systems using blockchains, for example. Blockchain is a technology that makes it possible to reach a credible agreement in a distributed computer network without a centralized management device. Here, “agreement” means to take consistency of transaction records between the user A and the user B in the distributed database. When recording transaction information in the blockchain, electronic certificates are used to prevent others from impersonating. For example, if data related to a transaction is transmitted after being encrypted with a public key whose owner is certified by an electronic certificate, the transmitted data is decrypted unless the private key held by the owner of the public key is used. I can't. Therefore, the transmitted data is securely transmitted to the target party. In this way, the security of transactions via the network is maintained.

なお、情報通信の安全性を向上させるために、様々な技術が開発されている。例えば、複数のセキュリティモジュール間で、セキュアメモリの使用量を抑えつつ、ツリー構造のカウンタを共有するカウンタの設定方法がある。また、異なるサービスプロバイダエンティティのネットワーク内では、加入者デバイスを使うことができないように保証するために、加入者デバイスを個別化するための方法がある。さらに、認証デバイスの距離に応じて、制御対象装置の操作可否を制御する制御方法もある。   Various techniques have been developed to improve the safety of information communication. For example, there is a counter setting method for sharing a tree-structured counter while suppressing the amount of secure memory used among a plurality of security modules. There are also methods for individualizing subscriber devices to ensure that they cannot be used within networks of different service provider entities. Further, there is a control method for controlling whether or not the control target device can be operated according to the distance of the authentication device.

特開2009−3855号公報JP 2009-3855 A 特表2013−531910号公報Special table 2013-53910 gazette 特開2015−88804号公報Japanese Patent Laying-Open No. 2015-88804

従来の技術では、公開鍵などの電子情報の所有者を証明するための電子証明書は、証明書管理用のサーバで集中管理される。そのため、取引を行うユーザは、端末装置を用いて、本人確認のために、適宜、証明書管理用のサーバにアクセスする。   In the conventional technique, electronic certificates for proving the owner of electronic information such as public keys are centrally managed by a certificate management server. Therefore, the user who performs the transaction uses the terminal device to access the certificate management server as appropriate for identity verification.

このように、電子証明書がサーバで集中管理されていると、そのサーバに障害が発生した場合、電子証明書を利用した取引が停止してしまう。すなわち、電子証明書をサーバで集中管理していることが、システム全体の可用性(システムが継続して稼働できる能力)の低下を招いている。   As described above, when the electronic certificate is centrally managed by the server, when the failure occurs in the server, the transaction using the electronic certificate is stopped. That is, central management of electronic certificates by the server causes a decrease in the availability of the entire system (the ability of the system to operate continuously).

1つの側面では、本件は、システムの可用性を向上させることを目的とする。   In one aspect, this case aims to improve system availability.

1つの案では、第1の端末装置、複数の第2の端末装置、および複数のブロックチェーンノードを有する証明書配付システムが提供される。
第1の端末装置は、ブロックチェーンによって複数のブロックを保持するネットワークへ、ユーザが所有する証明対象情報を含む第1ブロックの登録要求を出力する。複数の第2の端末装置は、ネットワークから、証明対象情報を含むブロックを、承認対象ブロックとして取得し、管理者からの入力に応じて、証明対象情報の登録承認を示す電子署名と承認対象ブロックとを含む第2ブロックの登録要求を、ネットワークへ出力する。複数のブロックチェーンノードは、ネットワークに属し、第1または第2ブロックの登録要求に応じて、第1または第2ブロックをブロックチェーンによって分散して保持し、保持した第2ブロックのなかに、包含する電子署名の数が所定数に達した署名数充足ブロックがある場合、証明対象情報の所有者を証明する電子証明書と署名数充足ブロックとを含む第3ブロックを、ブロックチェーンによって分散して保持する。
In one proposal, a certificate distribution system having a first terminal device, a plurality of second terminal devices, and a plurality of block chain nodes is provided.
The first terminal device outputs a first block registration request including certification target information owned by the user to a network holding a plurality of blocks by a block chain. The plurality of second terminal devices acquire a block including certification target information from the network as an approval target block, and an electronic signature and approval target block indicating registration approval of the certification target information according to an input from the administrator A registration request for the second block including the above is output to the network. A plurality of block chain nodes belong to the network, and according to the registration request of the first or second block, the first or second block is distributed and held by the block chain, and included in the held second block If there is a signature number satisfaction block in which the number of electronic signatures to be reached has reached a predetermined number, the third block including the electronic certificate that proves the owner of the certification target information and the signature number satisfaction block is distributed by the block chain. Hold.

1態様によれば、システムの可用性が向上する。   According to one aspect, system availability is improved.

第1の実施の形態に係る証明書配付システムの構成例を示す図である。It is a figure which shows the structural example of the certificate delivery system which concerns on 1st Embodiment. 第2の実施の形態のネットワークシステムの構成の一例を示す図である。It is a figure which shows an example of a structure of the network system of 2nd Embodiment. 第2の実施の形態に用いる端末装置のハードウェアの一構成例を示す図である。It is a figure which shows one structural example of the hardware of the terminal device used for 2nd Embodiment. 第2の実施の形態におけるブロックチェーンネットワークの一例を示す図である。It is a figure which shows an example of the block chain network in 2nd Embodiment. 端末装置とブロックチェーンノードとの機能の一例を示すブロック図である。It is a block diagram which shows an example of the function of a terminal device and a block chain node. 証明書の発行および無効化のブロックチェーンの一例を示す図である。It is a figure which shows an example of the block chain of issue and invalidation of a certificate. 公開鍵登録用のブロックの作成例を示す図である。It is a figure which shows the creation example of the block for public key registration. 最初の登録承認時のブロックの作成例を示す図である。It is a figure which shows the example of creation of the block at the time of the first registration approval. N番目の登録承認時のブロックの作成例を示す図である。It is a figure which shows the creation example of the block at the time of Nth registration approval. スマートコントラクトによる公開鍵証明書の作成例を示す図である。It is a figure which shows the example of preparation of the public key certificate by a smart contract. 公開鍵破棄時のブロックの作成例を示す図である。It is a figure which shows the example of creation of the block at the time of public key destruction. スマートコントラクトによる公開鍵の無効化の例を示す図である。It is a figure which shows the example of the invalidation of the public key by smart contract. 公開鍵の使用例を示す図である。It is a figure which shows the usage example of a public key. 公開鍵登録処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of a public key registration process. 登録承認処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of a registration approval process. 公開鍵証明書発行処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of a public key certificate issue process. 公開鍵の破棄処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of the destruction process of a public key. 公開鍵無効化処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of a public key invalidation process. 公開鍵の使用手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the use procedure of a public key. 公開鍵登録画面の一例を示す図である。It is a figure which shows an example of a public key registration screen. 登録承認画面の一例を示す図である。It is a figure which shows an example of a registration approval screen. 公開鍵無効化画面の一例を示す図である。It is a figure which shows an example of a public key invalidation screen. 第3の実施の形態における公開鍵登録用のブロックの作成例を示す図である。It is a figure which shows the example of creation of the block for public key registration in 3rd Embodiment. 第3の実施の形態における最初の登録承認時のブロックの作成例を示す図である。It is a figure which shows the example of creation of the block at the time of the first registration approval in 3rd Embodiment. 第3の実施の形態におけるN番目の登録承認時のブロックの作成例を示す図である。It is a figure which shows the example of creation of the block at the time of Nth registration approval in 3rd Embodiment. 第3の実施の形態における公開鍵破棄時のブロックの作成例を示す図である。It is a figure which shows the example of creation of the block at the time of the public key destruction in 3rd Embodiment. 第3の実施の形態におけるスマートコントラクトによる公開鍵の無効化の例を示す図である。It is a figure which shows the example of the invalidation of the public key by the smart contract in 3rd Embodiment. 第3の実施の形態における公開鍵登録処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of the public key registration process in 3rd Embodiment. 第3の実施の形態における登録承認処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of the registration approval process in 3rd Embodiment. 第3の実施の形態における公開鍵証明書発行処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of the public key certificate issuing process in 3rd Embodiment. 第3の実施の形態における公開鍵の破棄処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of the destruction process of the public key in 3rd Embodiment. 第3の実施の形態における公開鍵無効化処理の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure of the public key invalidation process in 3rd Embodiment. 第3の実施の形態における公開鍵使用手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the public key use procedure in 3rd Embodiment.

以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
Hereinafter, the present embodiment will be described with reference to the drawings. Each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First Embodiment]
First, a first embodiment will be described.

図1は、第1の実施の形態に係る証明書配付システムの構成例を示す図である。第1の実施の形態では、ブロックチェーンによって複数のブロックを保持するネットワーク1が設けられている。ネットワーク1には、複数のブロックチェーンノード3a,3b,3cが含まれる。複数のブロックチェーンノード3a,3b,3cは、例えばプロセッサやメモリを有するコンピュータである。またネットワーク1には、複数の端末装置2a,2b,2cが接続されている。複数の端末装置2a,2b,2cは、例えばプロセッサやメモリを有するコンピュータである。   FIG. 1 is a diagram illustrating a configuration example of a certificate distribution system according to the first embodiment. In the first embodiment, a network 1 that holds a plurality of blocks by a block chain is provided. The network 1 includes a plurality of block chain nodes 3a, 3b, 3c. The plurality of block chain nodes 3a, 3b, and 3c are computers having, for example, a processor and a memory. A plurality of terminal devices 2a, 2b, and 2c are connected to the network 1. The plurality of terminal devices 2a, 2b, and 2c are computers having, for example, a processor and a memory.

複数の端末装置2a,2b,2cのうち、例えば端末装置2aは、証明対象情報4aに対する電子証明書の発行を希望するユーザ8が使用する。証明対象情報4aは、例えばユーザ8が有する公開鍵である。また端末装置2b,2cは、例えばシステムの管理者9a,9bが使用する。   Among the plurality of terminal devices 2a, 2b, 2c, for example, the terminal device 2a is used by a user 8 who desires to issue an electronic certificate for the certification target information 4a. The certification target information 4a is a public key possessed by the user 8, for example. The terminal devices 2b and 2c are used by system administrators 9a and 9b, for example.

ここでユーザ8が、証明対象情報4aの所有者がユーザ8であることの電子証明書の発行を希望するものとする。その場合、ユーザ8は、端末装置2aに証明対象情報4aを入力し、端末装置2aに、証明対象情報4aのネットワーク1への登録を指示する。すると端末装置2aは、ユーザ8が所有する証明対象情報4aを含むブロック4(第1ブロック)を作成する。ブロック4には、例えばユーザ8の電子署名4b(所有者電子署名)が含まれる。電子署名4bは、例えば証明対象情報4aを、ユーザ8の秘密鍵で暗号化したものである。ブロック4に、ユーザ8を一意に特定する識別子を含めてもよい。   Here, it is assumed that the user 8 wishes to issue an electronic certificate indicating that the owner of the certification target information 4a is the user 8. In this case, the user 8 inputs the certification target information 4a to the terminal device 2a, and instructs the terminal device 2a to register the certification target information 4a in the network 1. Then, the terminal device 2a creates the block 4 (first block) including the certification target information 4a owned by the user 8. The block 4 includes an electronic signature 4b (owner electronic signature) of the user 8, for example. The electronic signature 4b is obtained by encrypting the certification target information 4a with the private key of the user 8, for example. Block 4 may include an identifier that uniquely identifies user 8.

端末装置2aは、作成したブロック4の登録要求を、ネットワーク1内の複数のブロックチェーンノード3a,3b,3cのうちの1台に送信する。複数のブロックチェーンノード3a,3b,3cは、ブロック4の登録要求に応じて、ブロック4をブロックチェーンによって分散して保持する。   The terminal device 2a transmits the created registration request for the block 4 to one of the plurality of block chain nodes 3a, 3b, 3c in the network 1. The plurality of block chain nodes 3a, 3b, and 3c hold the block 4 in a distributed manner by the block chain in response to the registration request of the block 4.

複数の第2の端末装置2b,2cは、ネットワーク1から、証明対象情報4aを含むブロック4,4−1(第2ブロック)を、承認対象ブロックとして取得する。そして複数の第2の端末装置2b,2cは、管理者9a,9bからの入力に応じて、証明対象情報4aの登録承認を示す電子署名5a,5nと承認対象ブロック4,4−1とを含むブロック4−1,4−2を作成する。すなわち承認対象ブロック4,4−1に電子署名5a,5nを付加したものが、新たなブロック4−1,4−2となる。   The plurality of second terminal devices 2b and 2c acquire blocks 4, 4-1 (second block) including the certification target information 4a from the network 1 as approval target blocks. The plurality of second terminal devices 2b and 2c receive electronic signatures 5a and 5n indicating registration approval of the certification target information 4a and approval target blocks 4 and 4-1, in response to inputs from the administrators 9a and 9b. Blocks 4-1 and 4-2 are created. In other words, new blocks 4-1 and 4-2 are obtained by adding the electronic signatures 5a and 5n to the approval target blocks 4 and 4-1.

例えば管理者9a,9bは、承認対象ブロック4,4−1に含まれる証明対象情報4aの所有者がユーザ8であることを、オフラインなどの別の手続きによって確認し、確認できた場合に、登録承認の入力を行う。そして複数の第2の端末装置2b,2cは、ブロック4−1,4−2の登録要求を、ネットワーク1へ出力する。複数のブロックチェーンノード3a,3b,3cは、ブロック4−1,4−2の登録要求に応じて、ブロック4−1,4−2をブロックチェーンによって分散して保持する。   For example, the managers 9a and 9b confirm that the owner of the certification target information 4a included in the approval target blocks 4 and 4-1 is the user 8 by another procedure such as offline. Enter registration approval. Then, the plurality of second terminal apparatuses 2 b and 2 c output the registration requests of the blocks 4-1 and 4-2 to the network 1. The plurality of block chain nodes 3a, 3b, and 3c hold the blocks 4-1 and 4-2 in a distributed manner by the block chain in response to the registration requests of the blocks 4-1 and 4-2.

保持したブロック4,4−1,4−2のなかに、包含する電子署名5a,5nの数が所定数に達した署名数充足ブロックがある場合、そのことを、複数のブロックチェーンノード3a,3b,3cのうちの1台が検出する。図1の例では、ブロックチェーンノード3cが、ブロック4−2が署名数充足ブロックであると検出したものとする。するとブロックチェーンノード3cは、証明対象情報4aの所有者がユーザ8であることを証明する電子証明書6とブロック4−2とを含むブロック4−3(第3ブロック)を作成する。   If there is a signature number satisfying block in which the number of electronic signatures 5a, 5n included in the held blocks 4, 4-1, 4-2 reaches a predetermined number, this is indicated by a plurality of block chain nodes 3a, One of 3b and 3c detects. In the example of FIG. 1, it is assumed that the block chain node 3c detects that the block 4-2 is a signature number satisfaction block. Then, the block chain node 3c creates a block 4-3 (third block) including the electronic certificate 6 that proves that the owner of the certification target information 4a is the user 8 and the block 4-2.

例えばブロックチェーンノード3cは、証明書発行部7を有している。証明書発行部7は、例えばスマートコントラクトである。証明書発行部7は、証明対象情報4aに対して、証明書発行部7の電子署名6a(有効化用電子署名)付与し、電子証明書6とする。なお証明書発行部7の電子署名6aは、ブロックチェーンノード3cの電子署名でもある。そして複数のブロックチェーンノード3a,3b,3cが、作成されたブロック4−3をブロックチェーンによって分散して保持する。   For example, the block chain node 3 c has a certificate issuing unit 7. The certificate issuing unit 7 is a smart contract, for example. The certificate issuing unit 7 assigns the digital signature 6 a (validation electronic signature) of the certificate issuing unit 7 to the certification target information 4 a to obtain the electronic certificate 6. The electronic signature 6a of the certificate issuing unit 7 is also an electronic signature of the block chain node 3c. A plurality of block chain nodes 3a, 3b, 3c hold the created block 4-3 in a distributed manner by the block chain.

電子証明書6が付与されたブロック4−3がブロックチェーンによって分散して保持されることで、証明対象情報4aが有効化される。すなわち、任意のユーザが、自身の使用する端末装置を用いてブロック4−3を参照できる。そしてブロック4−3内に含まれている電子証明書6により、ブロック4−3に含まれている証明対象情報4aの所有者がユーザ8であることを確認できる。   The block 4-3 to which the electronic certificate 6 is given is distributed and held by the block chain, so that the certification object information 4a is validated. That is, any user can refer to the block 4-3 using the terminal device used by the user. Then, the electronic certificate 6 included in the block 4-3 can confirm that the owner of the certification target information 4a included in the block 4-3 is the user 8.

例えば、証明対象情報4aを使用するユーザが使用する端末装置(図示せず)は、ブロックチェーンノード3a,3b,3cから、ブロックチェーンノード3a,3b,3c自身の公開鍵(証明書発行部7の公開鍵)を取得する。そして端末装置は、取得した公開鍵により電子証明書6の正当性を検証する。例えば端末装置は、電子証明書6に含まれる電子署名を取得した公開鍵で復号する。端末装置は、復号されたデータと証明対象情報4aとが一致する場合、電子証明書6が正しいと判断する。端末装置は、正しく検証できた場合、証明対象情報4aの所有者がユーザ8であると判断する。ブロック4−3にユーザ8の識別子が含まれていれば、証明対象情報4aの所有者が、その識別子で示されるユーザ8であることが分かる。証明対象情報4aがユーザ8の公開鍵であれば、例えば証明対象情報4aを使用するユーザは、ユーザ8の識別子を宛先として送信するデータを、その公開鍵で暗号化することで、データを安全にユーザ8に送信することができる。   For example, a terminal device (not shown) used by a user who uses the certification target information 4a is sent from the block chain nodes 3a, 3b, 3c to the public key (certificate issuing unit 7) of the block chain nodes 3a, 3b, 3c itself. The public key). Then, the terminal device verifies the validity of the electronic certificate 6 using the acquired public key. For example, the terminal device decrypts the electronic signature included in the electronic certificate 6 with the obtained public key. The terminal device determines that the electronic certificate 6 is correct when the decrypted data matches the certification target information 4a. When the terminal device has been correctly verified, the terminal device determines that the owner of the certification target information 4a is the user 8. If the identifier of the user 8 is included in the block 4-3, it can be understood that the owner of the certification target information 4a is the user 8 indicated by the identifier. If the certification target information 4a is the public key of the user 8, for example, the user who uses the certification target information 4a secures the data by encrypting the data transmitted with the identifier of the user 8 with the public key. To the user 8.

このように、電子証明書の発行をブロックチェーンを用いて行うことで、電子証明書の発行が1つのサーバに集中せず、一部のノードが故障しても、電子証明書の発行を継続できる。その結果、電子証明書の発行を安定して継続することができ、システムの可用性が向上する。   In this way, by issuing electronic certificates using blockchains, electronic certificate issuance is not concentrated on one server, and even if some nodes fail, it continues to issue electronic certificates. it can. As a result, the issuance of electronic certificates can be continued stably, and the system availability is improved.

しかも、多数の管理者のうちの所定数の管理者が登録承認を行えば、電子証明書が発行されるため、ある承認者が承認できない場合でも他の管理者の承認により、電子証明書が発行できる。そのため、電子証明書の発行手続きが停止することが抑止される。   In addition, if a predetermined number of managers out of a number of managers approve registrations, an electronic certificate is issued. Therefore, even if one approver cannot approve, an electronic certificate cannot be approved by another manager. Can be issued. As a result, it is possible to prevent the electronic certificate issuance procedure from being stopped.

なお電子証明書6を発行するために要求される管理者の電子署名の数(所定数)は、1以上の任意の数を設定できる。この所定数として、2以上の数を設定することで、複数の管理者が承認することを、電子証明書6の発行条件とすることができる。複数の管理者の登録承認が確認できたときにのみ電子証明書6を発行させることで、管理者の手違いによる誤った電子証明書6の発行を抑止できる。   Note that the number (predetermined number) of the administrator's electronic signature required to issue the electronic certificate 6 can be set to an arbitrary number of 1 or more. By setting a number equal to or greater than 2 as the predetermined number, the approval condition of a plurality of managers can be set as a condition for issuing the electronic certificate 6. By issuing the electronic certificate 6 only when the registration approval of a plurality of managers can be confirmed, it is possible to suppress the erroneous issuing of the electronic certificate 6 due to the mistake of the manager.

ユーザ8は、有効化した証明対象情報4aを、ユーザ8の意思で無効化できる。例えばユーザ8は、端末装置2aに対して、証明対象情報4aの破棄を指示する入力を行う。端末装置2aは、ユーザ8からの、証明対象情報4aの破棄を指示する入力に応じて、破棄を示すフラグとブロック4−3とを含むブロックの登録要求を、ネットワーク1へ出力する。複数のブロックチェーンノード3a,3b,3cは、その登録要求に応じて、該当ブロックをブロックチェーンによって分散して保持する。また複数のブロックチェーンノード3a,3b,3cのうちのいずれか1台が、保持したブロックに破棄を示すフラグが含まれることを検出する。そして検出したブロックチェーンノード3a,3b,3cは、そのブロックに含まれる情報に対するブロックチェーンノード自身の電子署名(無効化用電子署名)とそのブロックとを含むブロックを生成する。そして複数のブロックチェーンノード3a,3b,3cが、生成したブロックをブロックチェーンによって分散して保持する。   The user 8 can invalidate the validated certification target information 4a with the intention of the user 8. For example, the user 8 performs an input for instructing the terminal device 2a to discard the certification target information 4a. The terminal device 2a outputs a registration request for a block including a flag indicating discard and the block 4-3 to the network 1 in response to an input from the user 8 instructing the discard of the certification target information 4a. In response to the registration request, the plurality of block chain nodes 3a, 3b, and 3c hold the corresponding blocks distributed by the block chain. In addition, any one of the plurality of block chain nodes 3a, 3b, 3c detects that the retained block includes a flag indicating discard. The detected block chain nodes 3a, 3b, and 3c generate a block including the block chain node's own electronic signature (invalidation electronic signature) for the information included in the block and the block. Then, the plurality of block chain nodes 3a, 3b, 3c hold the generated blocks distributed by the block chain.

破棄を示すフラグを含むブロックに、いずれかのブロックチェーンノードが電子署名をすることで、該当ブロックに含まれる証明対象情報4aは無効となる。このように、証明対象情報4aを無効化する際には、ユーザ8が、破棄を示すブロックの登録手続きをするだけでよく、管理者の手間をかけずに済む。その結果、証明対象情報4aを迅速に無効化することができる。   When any block chain node applies a digital signature to a block including a flag indicating discard, the certification target information 4a included in the block becomes invalid. As described above, when invalidating the certification target information 4a, the user 8 only needs to perform the registration procedure of the block indicating the discard, and the administrator's effort is not required. As a result, the certification target information 4a can be quickly invalidated.

なお、端末装置2aは、ユーザ8から、証明対象情報4aの破棄を指示する入力を受け取ったときに生成するブロックに、ブロック4−3内の情報に対するユーザ8の電子署名(所有者電子署名)を含めてもよい。ユーザ8の電子署名は、ブロック4−3内の情報を、ユーザ8の秘密鍵で暗号化したものである。複数のブロックチェーンノード3a,3b,3cは、登録要求に応じて保持したブロックに破棄を示すフラグが含まれることを検出すると、ユーザ8の公開鍵(所有者公開鍵)を用いて、ユーザ8の電子署名の正当性を検証する。例えば複数のブロックチェーンノード3a,3b,3cは、ユーザ8の電子署名を、ユーザ8の公開鍵で復号し、復号されたデータとブロック4−3内の情報とを比較し、一致すれば、ユーザ8の電子署名が正当であると判断する。複数のブロックチェーンノード3a,3b,3cは、ユーザ8の電子署名が正当であることが確認できた場合、そのブロックに含まれる情報に対するブロックチェーンノード自身の電子署名とそのブロックとを含むブロックを生成する。そして複数のブロックチェーンノード3a,3b,3cが、生成したブロックを、ブロックチェーンによって分散して保持する。   In addition, the terminal device 2a adds an electronic signature (owner's electronic signature) of the user 8 to the information in the block 4-3 in a block generated when receiving an instruction to discard the certification target information 4a from the user 8. May be included. The electronic signature of the user 8 is obtained by encrypting the information in the block 4-3 with the private key of the user 8. When the plurality of block chain nodes 3a, 3b, and 3c detect that the block held in response to the registration request includes a flag indicating discard, the user 8 uses the public key (owner public key) of the user 8 to Verify the validity of the electronic signature. For example, the plurality of block chain nodes 3a, 3b, 3c decrypts the electronic signature of the user 8 with the public key of the user 8, compares the decrypted data with the information in the block 4-3, and if they match, It is determined that the electronic signature of the user 8 is valid. When the plurality of block chain nodes 3a, 3b, and 3c can confirm that the electronic signature of the user 8 is valid, the block chain nodes 3a, 3b, and 3c include a block including the block chain node's own electronic signature for the information included in the block and the block. Generate. The plurality of block chain nodes 3a, 3b, 3c hold the generated blocks in a distributed manner by the block chain.

このように、証明対象情報4aの破棄を示すブロックに、ユーザ8の電子署名を付加し、その電子署名を検証した後に証明対象情報4aを無効化することで、ユーザ8以外の第三者により証明対象情報4aが無効化されることを抑止することができる。   In this way, by adding the electronic signature of the user 8 to the block indicating the destruction of the certification target information 4a and verifying the digital signature, the certification target information 4a is invalidated by a third party other than the user 8 It is possible to prevent the certification target information 4a from being invalidated.

〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、ブロックチェーンネットワークにおける電子証明書の発行と管理を、集中管理するサーバを用いずに実現するものである。なお、以下の説明では、電子証明書を、単に証明書と呼ぶこととする。
[Second Embodiment]
Next, a second embodiment will be described. In the second embodiment, issuance and management of electronic certificates in a blockchain network is realized without using a centrally managed server. In the following description, the electronic certificate is simply referred to as a certificate.

ブロックチェーンネットワークは、幾つかのノードがダウンしても電子情報を受け渡すことができ、高い可用性が実現されている。しかし、ブロックチェーンネットワークにおいて使用する証明書がサーバで集中管理されていたのでは、そのサーバがダウンするとブロックチェーンネットワークの運用に支障がでる。すなわち証明書管理用のサーバがダウンすると、ブロックチェーンを利用しているユーザの端末装置は、公開鍵の証明書が参照できなくなり、公開鍵を用いたデータの暗号化ができなくなる。   The block chain network can deliver electronic information even if several nodes go down, and high availability is realized. However, if certificates used in the blockchain network are centrally managed by the server, the operation of the blockchain network will be hindered if the server goes down. That is, if the certificate management server goes down, the terminal device of the user who uses the block chain cannot refer to the certificate of the public key and cannot encrypt data using the public key.

また証明書をサーバで集中管理した場合、ブロックチェーンのノード数が多くなると、証明書管理用のサーバへのアクセスが集中し、処理の遅延が発生しやすくなる。アクセスの集中は、悪意がある者による攻撃でも発生する。証明書管理用のサーバの処理の遅延が、ブロックチェーンを介した取引の遅延を招くこととなる。   Further, when the certificates are centrally managed by the server, when the number of nodes in the block chain increases, access to the certificate management server is concentrated, and processing delay is likely to occur. Concentration of access can also be caused by malicious attacks. A delay in processing of the server for certificate management causes a delay in transactions via the block chain.

しかも証明書管理用のサーバにおいてユーザの証明書は、そのサーバの管理者によるユーザの身元確認などの手続きを経て発行される。このように、特定の管理者の作業が介在するため、管理者のミスにより、不正な証明書が登録される可能性がある。また証明書の発行が集中管理されているため、管理者の作業遅延などが発生すると、なかなか証明書が登録されない可能性がある。   In addition, the user certificate is issued in the certificate management server through procedures such as confirmation of the user identity by the server administrator. In this way, since a specific administrator's work is involved, an incorrect certificate may be registered due to an administrator's mistake. In addition, since certificate issuance is centrally managed, there is a possibility that the certificate will not be registered easily if an administrator's work delay occurs.

第2の実施の形態は、証明書の発行と管理についてもブロックチェーンを用いて実現することで、証明書の発行と管理を証明書管理用のサーバで集中管理することによる問題点を解決する。   In the second embodiment, certificate issuance and management are also realized using a block chain, thereby solving problems caused by centrally managing certificate issuance and management with a certificate management server. .

図2は、第2の実施の形態のネットワークシステムの構成の一例を示す図である。第2の実施の形態のネットワークシステムでは、ネットワークスイッチ31〜35を介して、複数のブロックチェーンノード200,200a〜200fが接続されている。ブロックチェーンノード200,200a〜200fそれぞれは、ブロックチェーンネットワーク上の1ノードとして機能するコンピュータである。またネットワークには、複数の端末装置100,100a〜100cが接続されている。複数の端末装置100,100a〜100cは、ネットワークを介した取引を行うユーザ41,42、またはネットワークの管理者51,52が使用するコンピュータである。   FIG. 2 is a diagram illustrating an example of a configuration of a network system according to the second embodiment. In the network system according to the second embodiment, a plurality of block chain nodes 200 and 200a to 200f are connected via network switches 31 to 35. Each of the block chain nodes 200, 200a to 200f is a computer that functions as one node on the block chain network. A plurality of terminal devices 100, 100a to 100c are connected to the network. The plurality of terminal devices 100, 100a to 100c are computers used by users 41, 42 who perform transactions via a network or network managers 51, 52.

なお第2の実施の形態のネットワークシステムには、ブロックチェーンノード200,200a〜200f以外にも、図示していない多数のブロックチェーンノードが接続されている。同様に第2の実施の形態のネットワークシステムには、複数の端末装置100,100a〜100c以外にも、図示していない多数の端末装置が接続されている。   In addition to the block chain nodes 200 and 200a to 200f, a large number of block chain nodes (not shown) are connected to the network system according to the second embodiment. Similarly, in addition to the plurality of terminal devices 100, 100a to 100c, a large number of terminal devices not shown are connected to the network system of the second embodiment.

図3は、第2の実施の形態に用いる端末装置のハードウェアの一構成例を示す図である。端末装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。   FIG. 3 is a diagram illustrating a hardware configuration example of the terminal device used in the second embodiment. The entire terminal device 100 is controlled by the processor 101. A memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor). At least a part of the functions realized by the processor 101 executing the program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).

メモリ102は、端末装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。   The memory 102 is used as a main storage device of the terminal device 100. The memory 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the processor 101. The memory 102 stores various data necessary for processing by the processor 101. As the memory 102, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.

バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。   Peripheral devices connected to the bus 109 include a storage device 103, a graphic processing device 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.

ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。   The storage device 103 writes and reads data electrically or magnetically with respect to a built-in recording medium. The storage device 103 is used as an auxiliary storage device of a computer. The storage device 103 stores an OS program, application programs, and various data. For example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive) can be used as the storage device 103.

グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。   A monitor 21 is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 21 in accordance with an instruction from the processor 101. Examples of the monitor 21 include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.

入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。   A keyboard 22 and a mouse 23 are connected to the input interface 105. The input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101. The mouse 23 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。   The optical drive device 106 reads data recorded on the optical disc 24 using laser light or the like. The optical disc 24 is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disc 24 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.

機器接続インタフェース107は、端末装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。   The device connection interface 107 is a communication interface for connecting peripheral devices to the terminal device 100. For example, the memory device 25 and the memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a communication function with the device connection interface 107. The memory reader / writer 26 is a device that writes data to the memory card 27 or reads data from the memory card 27. The memory card 27 is a card type recording medium.

ネットワークインタフェース108は、ネットワークスイッチ31に接続されている。ネットワークインタフェース108は、ネットワークスイッチ31を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。   The network interface 108 is connected to the network switch 31. The network interface 108 transmits and receives data to and from other computers or communication devices via the network switch 31.

以上のようなハードウェア構成によって、第2の実施の形態における端末装置100の処理機能を実現することができる。端末装置100a〜100cについても、端末装置100と同様のハードウェアで実現することができる。ブロックチェーンノード200,200a〜200fについても、端末装置100と同様のハードウェアで実現することができる。さらに、第1の実施の形態に示した端末装置2a,2b,2cやブロックチェーンノード3a,3b,3cも、図3に示した端末装置100と同様のハードウェアにより実現することができる。   With the hardware configuration as described above, the processing function of the terminal device 100 according to the second embodiment can be realized. The terminal devices 100a to 100c can also be realized by the same hardware as the terminal device 100. The block chain nodes 200 and 200a to 200f can also be realized by the same hardware as the terminal device 100. Furthermore, the terminal devices 2a, 2b, 2c and the block chain nodes 3a, 3b, 3c shown in the first embodiment can also be realized by the same hardware as the terminal device 100 shown in FIG.

端末装置100,100a〜100cまたはブロックチェーンノード200,200a〜200fは、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。端末装置100,100a〜100cまたはブロックチェーンノード200,200a〜200fに実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、端末装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また端末装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。   The terminal devices 100, 100a to 100c or the block chain nodes 200, 200a to 200f realize the processing functions of the second embodiment by executing a program recorded on a computer-readable recording medium, for example. The program describing the processing contents to be executed by the terminal devices 100, 100a to 100c or the block chain nodes 200, 200a to 200f can be recorded on various recording media. For example, a program to be executed by the terminal device 100 can be stored in the storage device 103. The processor 101 loads at least a part of the program in the storage apparatus 103 into the memory 102 and executes the program. A program to be executed by the terminal device 100 can also be recorded on a portable recording medium such as the optical disc 24, the memory device 25, and the memory card 27. The program stored in the portable recording medium becomes executable after being installed in the storage apparatus 103 under the control of the processor 101, for example. The processor 101 can also read and execute a program directly from a portable recording medium.

第2の実施の形態では、このようなハードウェア構成のシステムを用いて、ブロックチェーンを用いた証明書の発行や管理が行われる。すなわち第2の実施の形態のシステムでは、ビットコインなどの取引を行うブロックチェーンネットワークとは別に、証明書管理用のサーバの代わりとなる新たな証明書格納用のブロックチェーンネットワークが構築されている。   In the second embodiment, a system having such a hardware configuration is used to issue and manage certificates using a block chain. That is, in the system of the second embodiment, a new block chain network for storing certificates is constructed in place of the block chain network for performing transactions such as bit coins, instead of the server for certificate management. .

図4は、第2の実施の形態におけるブロックチェーンネットワークの一例を示す図である。第2の実施の形態では、2つのブロックチェーンネットワーク60,61が設けられている。ブロックチェーンネットワーク60は、電子情報の取引に関するブロック60a,60b保存用のブロックチェーンネットワークである。ブロックチェーンネットワーク61は、証明書に関するブロック61a,61b保存用のブロックチェーンネットワークである。   FIG. 4 is a diagram illustrating an example of a block chain network according to the second embodiment. In the second embodiment, two block chain networks 60 and 61 are provided. The block chain network 60 is a block chain network for storing blocks 60a and 60b related to electronic information transactions. The block chain network 61 is a block chain network for storing blocks 61a and 61b related to certificates.

以下、ブロックチェーンネットワーク60,61に関する処理を実施するための、端末装置とブロックチェーンノードとの機能について説明する。
図5は、端末装置とブロックチェーンノードとの機能の一例を示すブロック図である。ユーザ41が使用する端末装置100は、OS110とWebブラウザ120とを有している。Webブラウザ120は、公開鍵の登録要求や参照を行う証明書利用部121を有している。証明書利用部121が、公開鍵の登録要求の送信処理、公開鍵の破棄要求の送信処理、他のユーザの公開鍵の使用処理などを実行する。
Hereinafter, functions of the terminal device and the block chain node for performing processing related to the block chain networks 60 and 61 will be described.
FIG. 5 is a block diagram illustrating an example of functions of the terminal device and the block chain node. The terminal device 100 used by the user 41 has an OS 110 and a Web browser 120. The Web browser 120 includes a certificate using unit 121 that makes a public key registration request or reference. The certificate using unit 121 executes processing for transmitting a public key registration request, processing for transmitting a public key destruction request, processing for using another user's public key, and the like.

管理者51が使用する端末装置100aは、OS110aとWebブラウザ120aとを有している。Webブラウザ120aは、証明書の発行手続きを行う証明書管理部122aを有している。   The terminal device 100a used by the administrator 51 has an OS 110a and a Web browser 120a. The Web browser 120a includes a certificate management unit 122a that performs a certificate issuance procedure.

ブロックチェーンノード200は、OS210、Webサーバ220、およびブロックチェーンサブシステム230を有している。ブロックチェーンサブシステム230は、2つのブロックチェーンネットワーク60,61を介して、ブロックの配布および保持を行う。例えばブロックチェーンサブシステム230は、ブロック記憶部231を有しており、端末装置100または他のブロックチェーンノード200aから取得したブロックを、ブロック記憶部231に格納する。またブロックチェーンサブシステム230は、スマートコントラクト232を有している。スマートコントラクト232は、ブロックチェーンネットワーク61上での証明書の発行や無効化を行う。   The block chain node 200 includes an OS 210, a web server 220, and a block chain subsystem 230. The block chain subsystem 230 distributes and holds blocks via the two block chain networks 60 and 61. For example, the block chain subsystem 230 includes a block storage unit 231, and stores blocks acquired from the terminal device 100 or another block chain node 200 a in the block storage unit 231. The block chain subsystem 230 has a smart contract 232. The smart contract 232 issues and invalidates a certificate on the block chain network 61.

同様にブロックチェーンノード200aは、OS210a、Webサーバ220a、およびブロックチェーンサブシステム230aを有している。ブロックチェーンサブシステム230aは、ブロックを保持するためのブロック記憶部231aや、証明書の発行や無効化を行うスマートコントラクト232aを有している。   Similarly, the block chain node 200a has an OS 210a, a Web server 220a, and a block chain subsystem 230a. The block chain subsystem 230a has a block storage unit 231a for holding blocks and a smart contract 232a for issuing and invalidating certificates.

ブロックチェーン参加者であるユーザ41は、端末装置100を用いて、ブロックチェーンネットワーク60を介して取引を行うと共に、ブロックチェーンネットワーク61を介して、証明書による本人証明を行う。管理者51は、端末装置100aを用いて、ブロックチェーンネットワーク60で保持される電子情報の管理や、ブロックチェーンネットワーク61で保持される証明書の発行および管理を行う。   The user 41 who is a block chain participant uses the terminal device 100 to perform a transaction via the block chain network 60 and also performs identity verification using a certificate via the block chain network 61. The administrator 51 uses the terminal device 100a to manage electronic information held in the block chain network 60 and issue and manage certificates held in the block chain network 61.

例えばユーザ41は、端末装置100を用いて、リファレンスフラグ「0」(登録)の値と公開鍵とを含むデータを作成し、そのデータに自分の秘密鍵で電子署名を行う。電子署名を行うとは、署名対象のデータまたはそのデータのハッシュ値を、秘密鍵で暗号化することである。以下、電子署名を行うことで生成される暗号化されたデータを、単に「署名」と呼ぶ。そしてユーザ41は、端末装置100aを用いて、署名付きのデータを、ブロックチェーンネットワーク61上に登録する。この際、秘密鍵は、各参加者が保持しておく。   For example, the user 41 uses the terminal device 100 to create data including the value of the reference flag “0” (registration) and the public key, and performs an electronic signature on the data with his / her private key. Performing an electronic signature means encrypting data to be signed or a hash value of the data with a secret key. Hereinafter, the encrypted data generated by performing the electronic signature is simply referred to as “signature”. Then, the user 41 registers the signed data on the block chain network 61 using the terminal device 100a. At this time, each participant holds the secret key.

管理者51は、端末装置100aを用いて、証明書発行前(リファレンスフラグが「0」)のブロックに自分の署名を付与したデータを作成する。そして管理者51は、端末装置100aを用いて、作成したデータを、ブロックチェーンネットワーク61上に登録する。   The administrator 51 uses the terminal device 100a to create data in which his / her signature is added to the block before the certificate issuance (reference flag is “0”). Then, the administrator 51 registers the created data on the block chain network 61 using the terminal device 100a.

ブロックチェーンネットワーク61上のスマートコントラクト232,232aは、規定数以上の数の承認を得たブロックを確認した場合に、そのブロックのリファレンスフラグを「0」より大きい値「1」(有効)に変更する。さらにスマートコントラクト232,232aは、そのブロックにスマートコントラクト232,232aの署名を付与したブロックを生成する。そしてスマートコントラクト232,232aは、生成したブロックを、公開鍵証明書として新たに、ブロックチェーンサブシステム230,230aに登録することを要求する。   When the smart contracts 232 and 232a on the block chain network 61 confirm the number of approved blocks, the reference flag of the block is changed to a value “1” (valid) greater than “0”. To do. Furthermore, the smart contracts 232 and 232a generate blocks in which the signatures of the smart contracts 232 and 232a are added. Then, the smart contracts 232 and 232a request that the generated block be newly registered in the block chain subsystems 230 and 230a as public key certificates.

ユーザ41に電子情報を送信する他のユーザは、ブロックチェーンネットワーク61上に登録された、値が「0」より大きいリファレンスフラグの証明書に含まれる公開鍵を、ユーザ41へ送る情報の暗号化に使用する。   Other users who transmit electronic information to the user 41 encrypt the information sent to the user 41 with the public key registered in the blockchain network 61 and included in the reference flag certificate having a value greater than “0”. Used for.

ユーザ41の公開鍵の証明書の無効化は、ユーザ41がリファレンスフラグの値を「−1」(無効)にしたデータに電子署名を行い、ブロックチェーンサブシステム230に登録を要求する。スマートコントラクト232は、このリファレンスフラグの値が「−1」のブロックを読み込み、ユーザ41自身が登録したかを署名によって検証する。スマートコントラクト232は、検証できれば、そのブロックにスマートコントラクト232自身の署名を付けて、ブロックチェーンサブシステム230に登録する。これにより、管理者51の手を煩わせずに、証明書を無効化できる。   To invalidate the public key certificate of the user 41, the user 41 digitally signs data whose reference flag value is “−1” (invalid), and requests the blockchain subsystem 230 to register. The smart contract 232 reads the block whose reference flag value is “−1”, and verifies whether the user 41 has registered by the signature. If the smart contract 232 can be verified, the smart contract 232 adds the signature of the smart contract 232 itself to the block and registers the block in the block chain subsystem 230. Thereby, the certificate can be invalidated without bothering the administrator 51.

以下、図6を参照して、証明書の発行、および管理のためのブロックチェーンについて説明する。
図6は、証明書の発行および無効化のブロックチェーンの一例を示す図である。ブロックチェーンの参加者であるユーザ41は、例えば端末装置100を用いて、ユーザ41宛てのデータの暗号化に使用する公開鍵62bと、その公開鍵62bで暗号化されたデータの復号に使用する秘密鍵とを生成する。そして公開鍵62bの所有者であるユーザ41は、端末装置100を用いてブロック62−1を生成し、そのブロック62−1の登録要求を、ブロックチェーンノード200に送信する。
Hereinafter, a block chain for issuing and managing certificates will be described with reference to FIG.
FIG. 6 is a diagram showing an example of a block chain for issuing and revoking certificates. The user 41 who is a participant in the block chain uses, for example, the terminal device 100 to use the public key 62b used for encrypting data addressed to the user 41 and the decryption of data encrypted with the public key 62b. Generate a secret key. Then, the user 41 who is the owner of the public key 62b generates a block 62-1 using the terminal device 100, and transmits a registration request for the block 62-1 to the block chain node 200.

ブロック62−1には、値が「0」のリファレンスフラグ62a、ユーザ41の公開鍵62b、公開鍵62bに対する鍵所有者(ユーザ41)の署名62cが含まれる。このブロック62−1は、ブロックチェーンネットワーク61を介して、すべてのブロックチェーンノードに配布される。   The block 62-1 includes a reference flag 62a having a value of “0”, the public key 62b of the user 41, and the signature 62c of the key owner (user 41) for the public key 62b. This block 62-1 is distributed to all block chain nodes via the block chain network 61.

そしてブロック62−1に対して、複数の管理者が、公開鍵62bの承認を示す電子署名を行う。例えば、最初に管理者51が電子署名を行うことで、1番目の管理者51の署名62dを付与したブロック62−2が、ブロックチェーンネットワーク61上に登録される。このブロック62−2には、前のブロック62−1のハッシュ値62eが含まれている。同様に、所定数の管理者が電子署名を行う。図6の例では、N人(Nは1以上の整数)の管理者が電子署名を行うことが、公開鍵62bの証明書の発行条件となっている。   And with respect to the block 62-1, a some administrator performs the electronic signature which shows approval of the public key 62b. For example, when the administrator 51 first performs an electronic signature, the block 62-2 with the signature 62d of the first administrator 51 is registered on the block chain network 61. This block 62-2 includes the hash value 62e of the previous block 62-1. Similarly, a predetermined number of administrators perform electronic signatures. In the example of FIG. 6, it is a condition for issuing a certificate for the public key 62 b that N (N is an integer of 1 or more) administrators perform an electronic signature.

例えば管理者52がN番目の管理者として、登録承認の電子署名を行う。管理者52が電子署名を行うことで、N番目の管理者52の署名62fを含むブロック62−3が、ブロックチェーンネットワーク61上に登録される。ブロック62−3には、N−1番目の管理者が登録承認を行ったことで生成されたブロックのハッシュ値62gが含まれる。ブロック62−3では、リファレンスフラグ62aの値がまだ「0」のままである。   For example, the administrator 52 performs an electronic signature for registration approval as the Nth administrator. When the administrator 52 performs the electronic signature, the block 62-3 including the signature 62f of the Nth administrator 52 is registered on the block chain network 61. The block 62-3 includes the hash value 62g of the block generated by the N-1th administrator performing registration approval. In block 62-3, the value of the reference flag 62a is still “0”.

規定数(N)の管理者の承認が得られた場合、ブロックチェーンネットワーク61上のスマートコントラクト232aが、登録されたブロック62−3のリファレンスフラグ62aを「1」(有効)に変更し、リファレンスフラグ62aの電子署名を行う。その結果、ブロック62−4が生成される。ブロック62−4には、ユーザ41の署名62cと、登録承認を行った管理者の署名62d,62fに加え、スマートコントラクトの署名62hが含まれる。またブロック62−4には、前のブロック62−3のハッシュ値62iと公開鍵証明書62jが含まれる。公開鍵証明書62jは、公開鍵62bを含んでおり、この公開鍵62bの所有者がユーザ41であることを示している。   When the approval of the specified number (N) of managers is obtained, the smart contract 232a on the block chain network 61 changes the reference flag 62a of the registered block 62-3 to “1” (valid), and the reference The electronic signature of the flag 62a is performed. As a result, a block 62-4 is generated. The block 62-4 includes the signature 62h of the smart contract in addition to the signature 62c of the user 41 and the signatures 62d and 62f of the administrator who approved the registration. The block 62-4 includes the hash value 62i and the public key certificate 62j of the previous block 62-3. The public key certificate 62j includes the public key 62b, and indicates that the owner of the public key 62b is the user 41.

公開鍵証明書62jを含むブロック62−4によって、公開鍵62bの所有者がユーザ41であることが証明される。他のユーザは、ブロック62−4から取得した公開鍵62bを用いてユーザ41に送信する電子情報を暗号化することで、その電子情報を安全にユーザ41に渡すことができる。   The block 62-4 including the public key certificate 62j proves that the owner of the public key 62b is the user 41. Other users can safely pass the electronic information to the user 41 by encrypting the electronic information to be transmitted to the user 41 using the public key 62b acquired from the block 62-4.

ユーザ41は、公開鍵62bを無効化させる場合、ブロック62−4におけるリファレンスフラグ62aの値を「−1」(無効)にしたブロック62−5を、ブロックチェーンネットワーク61上に登録する。ブロック62−5には、ブロック62−4のハッシュ値62kが含まれている。ブロック62−5が登録されると、例えばスマートコントラクト232aが電子署名を行う。   When the user 41 invalidates the public key 62 b, the user 41 registers the block 62-5 in which the value of the reference flag 62 a in the block 62-4 is “−1” (invalid) on the block chain network 61. The block 62-5 includes the hash value 62k of the block 62-4. When the block 62-5 is registered, for example, the smart contract 232a performs an electronic signature.

なお、第2の実施の形態では、リファレンスフラグ62aの値が「1」のブロックで、ブロックチェーンネットワーク61上のスマートコントラクトの署名があるものだけが、有効でかつ他のユーザから参照可能なブロックである。  In the second embodiment, only blocks with the value of the reference flag 62a “1” and the signature of the smart contract on the block chain network 61 are valid and can be referenced by other users. It is.

以下、ブロックチェーンネットワーク61上に登録するブロックの作成方法について、図7〜図13を参照して説明する。
図7は、公開鍵登録用のブロックの作成例を示す図である。ユーザ41は、例えば端末装置100に対して公開鍵62bと、その公開鍵62bで暗号化したデータの復号に用いる秘密鍵62mとを入力する。なお秘密鍵62mで暗号化したデータは、公開鍵62bで復号することができる。ユーザ41は、公開鍵62bの登録指示を、端末装置100に入力する。
Hereinafter, a method of creating a block to be registered on the block chain network 61 will be described with reference to FIGS.
FIG. 7 is a diagram showing an example of creating a public key registration block. For example, the user 41 inputs a public key 62b and a secret key 62m used for decrypting data encrypted with the public key 62b to the terminal device 100. Note that data encrypted with the private key 62m can be decrypted with the public key 62b. The user 41 inputs a registration instruction for the public key 62 b to the terminal device 100.

すると端末装置100は、ユーザ41の公開鍵62bに対して、秘密鍵62mで電子署名を行う。例えば端末装置100は、公開鍵62bのハッシュ値を秘密鍵62mで暗号化する。これにより、鍵の所有者であるユーザ41の署名62cが生成される。端末装置100は、ユーザ41の公開鍵62b、値が「0」のリファレンスフラグ62a、および鍵所有者(ユーザ41)の署名62cを含む登録ブロック63を生成する。そして端末装置100は、ブロックチェーンノード200に登録ブロック63を送信し、ブロックチェーンサブシステム230に、登録ブロック63のブロックチェーンネットワーク61への登録を依頼する。   Then, the terminal device 100 performs an electronic signature on the public key 62b of the user 41 with the secret key 62m. For example, the terminal device 100 encrypts the hash value of the public key 62b with the secret key 62m. Thereby, the signature 62c of the user 41 who is the owner of the key is generated. The terminal device 100 generates a registration block 63 including the public key 62b of the user 41, a reference flag 62a having a value “0”, and a signature 62c of the key owner (user 41). Then, the terminal device 100 transmits the registration block 63 to the block chain node 200 and requests the block chain subsystem 230 to register the registration block 63 in the block chain network 61.

ブロックチェーンサブシステム230は、登録ブロック63を、図6に示したブロック62−1としてブロック記憶部231に格納すると共に、他のブロックチェーンノードに送信する。   The block chain subsystem 230 stores the registration block 63 in the block storage unit 231 as the block 62-1 illustrated in FIG. 6 and transmits it to other block chain nodes.

図8は、最初の登録承認時のブロックの作成例を示す図である。管理者51は、自身の公開鍵71と、公開鍵71で暗号化したデータの復号に用いる秘密鍵72とを有している。なお、秘密鍵72で暗号化したデータは、公開鍵71で復号することができる。また、管理者51が使用する端末装置100aに接続されたブロックチェーンノード200aのブロックチェーンサブシステム230aは、ブロック記憶部231a内に、ユーザ41が登録したブロック62−1を記憶している。   FIG. 8 is a diagram illustrating an example of creating a block at the time of initial registration approval. The administrator 51 has his own public key 71 and a secret key 72 used for decrypting data encrypted with the public key 71. The data encrypted with the private key 72 can be decrypted with the public key 71. The block chain subsystem 230a of the block chain node 200a connected to the terminal device 100a used by the administrator 51 stores the block 62-1 registered by the user 41 in the block storage unit 231a.

端末装置100aは、管理者51からの入力に応じて、リファレンスフラグ62aの値が「0」のブロック62−1を、ブロックチェーンサブシステム230a内のブロック記憶部231aから読み込む。そして端末装置100aは、公開鍵62bの登録承認処理を行う。例えば管理者51は、秘密鍵72を端末装置100aに入力する。端末装置100aは、公開鍵62bと、その公開鍵62bの所有者の署名62cとのハッシュ値を算出する。次に端末装置100aは、算出したハッシュ値を、1番目の管理者51の秘密鍵72で暗号化する。暗号化されたデータが、1番目の管理者51の署名62dとなる。端末装置100aは、値が「0」のリファレンスフラグ62a、公開鍵62b、鍵所有者の署名62c、および1番目の管理者51の署名62dを含む登録ブロック64を生成する。そして端末装置100aは、ブロックチェーンノード200aに登録ブロック64を送信し、ブロックチェーンサブシステム230aに、登録ブロック64のブロックチェーンネットワーク61への登録を依頼する。   In response to an input from the administrator 51, the terminal device 100a reads the block 62-1 having a reference flag 62a value of “0” from the block storage unit 231a in the block chain subsystem 230a. Then, the terminal device 100a performs a registration approval process for the public key 62b. For example, the administrator 51 inputs the secret key 72 to the terminal device 100a. The terminal device 100a calculates a hash value between the public key 62b and the signature 62c of the owner of the public key 62b. Next, the terminal device 100 a encrypts the calculated hash value with the secret key 72 of the first administrator 51. The encrypted data becomes the signature 62d of the first administrator 51. The terminal device 100a generates a registration block 64 including a reference flag 62a having a value of “0”, a public key 62b, a signature 62c of the key owner, and a signature 62d of the first administrator 51. The terminal device 100a transmits the registration block 64 to the block chain node 200a, and requests the block chain subsystem 230a to register the registration block 64 in the block chain network 61.

ブロックチェーンサブシステム230aは、登録ブロック64に、ブロック62−1のハッシュ値を追加して、ブロック62−2を生成する。そしてブロックチェーンサブシステム230aは、ブロック62−2を、ブロック記憶部231aに格納すると共に、他のブロックチェーンノードに送信する。   The block chain subsystem 230a adds the hash value of the block 62-1 to the registration block 64 to generate the block 62-2. The block chain subsystem 230a stores the block 62-2 in the block storage unit 231a and transmits the block 62-2 to another block chain node.

以後同様に、他の管理者も、管理者の署名の数がN個になるまで、登録承認を行う。
図9は、N番目の登録承認時のブロックの作成例を示す図である。管理者52は、自身の公開鍵73と、公開鍵73で暗号化したデータの復号に用いる秘密鍵74とを有している。なお、秘密鍵74で暗号化したデータは、公開鍵73で復号することができる。また、管理者52が使用する端末装置100bに接続されたブロックチェーンノード200aのブロックチェーンサブシステム230aは、ブロック記憶部231a内に、N−1番目に登録承認を行った管理者が登録したブロック62−6を記憶している。
Thereafter, similarly, the other managers also perform registration approval until the number of signatures of the manager reaches N.
FIG. 9 is a diagram illustrating an example of creating a block when the Nth registration is approved. The administrator 52 has his own public key 73 and a secret key 74 used for decrypting data encrypted with the public key 73. The data encrypted with the private key 74 can be decrypted with the public key 73. In addition, the block chain subsystem 230a of the block chain node 200a connected to the terminal device 100b used by the administrator 52 is registered in the block storage unit 231a with the block registered by the administrator who has performed the N-1th registration approval. 62-6 is stored.

このブロック62−6のリファレンスフラグ62aの値は、まだ「0」である。またブロック62−6には、公開鍵62b、公開鍵62bの所有者の署名62c、および既に登録承認を行った各管理者の署名が含まれる。図9の例では、ブロック62−6には、1番目の管理者の署名62dからN−1番目の管理者の署名62nが含まれている。   The value of the reference flag 62a of the block 62-6 is still “0”. The block 62-6 includes the public key 62b, the signature 62c of the owner of the public key 62b, and the signature of each administrator who has already approved the registration. In the example of FIG. 9, the block 62-6 includes the first administrator signature 62d to the N-1th administrator signature 62n.

端末装置100bは、管理者52からの入力に応じて、リファレンスフラグ62aの値が「0」のブロック62−6を、ブロックチェーンサブシステム230a内のブロック記憶部231aから読み込む。そして端末装置100bは、公開鍵62bの登録承認処理を行う。例えば管理者52は、秘密鍵74を端末装置100bに入力する。端末装置100bは、公開鍵62b、その公開鍵62bの所有者の署名62c、および1番目からN−1番目の管理者の署名のハッシュ値を算出する。次に端末装置100aは、算出したハッシュ値を、N番目の管理者52の秘密鍵74で暗号化する。暗号化されたデータが、N番目の管理者52の署名62fとなる。端末装置100bは、値が「0」のリファレンスフラグ62a、公開鍵62b、鍵所有者の署名62c、および1番目〜N番目の各管理者の署名を含む登録ブロック65を生成する。そして端末装置100bは、ブロックチェーンノード200aに登録ブロック65を送信し、ブロックチェーンサブシステム230aに、登録ブロック65のブロックチェーンネットワーク61への登録を依頼する。   In response to an input from the administrator 52, the terminal device 100b reads the block 62-6 having a reference flag 62a value of “0” from the block storage unit 231a in the block chain subsystem 230a. Then, the terminal device 100b performs a registration approval process for the public key 62b. For example, the administrator 52 inputs the secret key 74 to the terminal device 100b. The terminal device 100b calculates the hash value of the public key 62b, the signature 62c of the owner of the public key 62b, and the signatures of the first to (N-1) th administrator. Next, the terminal device 100a encrypts the calculated hash value with the secret key 74 of the Nth administrator 52. The encrypted data becomes the signature 62f of the Nth administrator 52. The terminal device 100b generates a registration block 65 including a reference flag 62a having a value of “0”, a public key 62b, a signature of the key owner 62c, and signatures of the first to Nth administrators. Then, the terminal device 100b transmits the registration block 65 to the block chain node 200a, and requests the block chain subsystem 230a to register the registration block 65 in the block chain network 61.

ブロックチェーンサブシステム230aは、登録ブロック65に、ブロック62−6のハッシュ値を追加して、ブロック62−3を生成する。そしてブロックチェーンサブシステム230aは、ブロック62−3を、ブロック記憶部231aに格納すると共に、他のブロックチェーンノードに送信する。   The block chain subsystem 230a adds the hash value of the block 62-6 to the registration block 65 to generate the block 62-3. Then, the block chain subsystem 230a stores the block 62-3 in the block storage unit 231a and transmits it to another block chain node.

このようにして、規定の人数分の登録承認が完了すると、いずれかのブロックチェーンノードで実行されているスマートコントラクトが公開鍵証明書を発行する。
図10は、スマートコントラクトによる公開鍵証明書の作成例を示す図である。スマートコントラクト232aは、自身の公開鍵75と、公開鍵75で暗号化したデータの復号に用いる秘密鍵76とを有している。なお、秘密鍵76で暗号化したデータは、公開鍵75で復号することができる。また、ブロックチェーンサブシステム230aは、ブロック記憶部231a内に、N番目に登録承認を行った管理者が登録したブロック62−3を記憶している。
In this way, when the registration approval for the prescribed number of persons is completed, the smart contract executed in one of the blockchain nodes issues a public key certificate.
FIG. 10 is a diagram illustrating an example of creating a public key certificate by a smart contract. The smart contract 232a has its own public key 75 and a secret key 76 used for decrypting data encrypted with the public key 75. The data encrypted with the private key 76 can be decrypted with the public key 75. In addition, the block chain subsystem 230a stores a block 62-3 registered by the administrator who performed N-th registration approval in the block storage unit 231a.

このブロック62−3のリファレンスフラグ62aの値は、まだ「0」である。またブロック62−3には、公開鍵62b、公開鍵62bの所有者の署名62c、および既に登録承認を行った各管理者の署名が含まれる。図10の例では、ブロック62−3には、1番目の管理者の署名62dからN番目の管理者の署名62fが含まれている。   The value of the reference flag 62a of this block 62-3 is still “0”. The block 62-3 includes the public key 62b, the signature 62c of the owner of the public key 62b, and the signature of each administrator who has already approved the registration. In the example of FIG. 10, the block 62-3 includes the first administrator signature 62d to the Nth administrator signature 62f.

スマートコントラクト232aは、リファレンスフラグ62aの値が「0」のブロック62−3をブロック記憶部231aから読み込む。そしてスマートコントラクト232aは、公開鍵62bについての公開鍵証明書62jを作成する。例えばスマートコントラクト232aは、公開鍵62bのハッシュ値を、スマートコントラクト232aの秘密鍵76で暗号化する。暗号化されたデータが、スマートコントラクト232aの署名である。スマートコントラクト232aは、署名を公開鍵62bに付与し、公開鍵証明書62jとする。またスマートコントラクト232aは、リファレンスフラグ62aの値を、有効を表す値「1」に変更する。そしてスマートコントラクト232aは、値が「1」のリファレンスフラグ62a、公開鍵62b、鍵所有者の署名62c、1番目〜N番目の各管理者の署名、および公開鍵証明書62jを含む登録ブロック66を生成する。そしてスマートコントラクト232aは、ブロックチェーンサブシステム230aに登録ブロック66のブロックチェーンネットワーク61への登録を依頼する。   The smart contract 232a reads the block 62-3 in which the value of the reference flag 62a is “0” from the block storage unit 231a. Then, the smart contract 232a creates a public key certificate 62j for the public key 62b. For example, the smart contract 232a encrypts the hash value of the public key 62b with the secret key 76 of the smart contract 232a. The encrypted data is the signature of the smart contract 232a. The smart contract 232a gives a signature to the public key 62b, and sets it as a public key certificate 62j. The smart contract 232a changes the value of the reference flag 62a to a value “1” indicating validity. Then, the smart contract 232a includes a reference block 62a having a value “1”, a public key 62b, a signature 62c of the key owner, a signature of each of the first to Nth administrators, and a public block certificate 62j. Is generated. Then, the smart contract 232a requests the block chain subsystem 230a to register the registration block 66 in the block chain network 61.

ブロックチェーンサブシステム230aは、登録ブロック66に、ブロック62−3のハッシュ値を追加して、ブロック62−4を生成する。そしてブロックチェーンサブシステム230aは、ブロック62−4を、ブロック記憶部231aに格納すると共に、他のブロックチェーンノードに送信する。   The block chain subsystem 230a adds the hash value of the block 62-3 to the registration block 66 to generate the block 62-4. The block chain subsystem 230a stores the block 62-4 in the block storage unit 231a and transmits the block 62-4 to another block chain node.

このようにしてユーザ41が登録した公開鍵62bに関する公開鍵証明書62jが発行され、他のユーザが公開鍵62bを安心して使用できるようになる。使用可能となった公開鍵62bは、ユーザ41の意思で破棄することができる。   In this way, the public key certificate 62j related to the public key 62b registered by the user 41 is issued, and other users can use the public key 62b with peace of mind. The public key 62b that has become usable can be discarded by the user 41.

図11は、公開鍵破棄時のブロックの作成例を示す図である。ユーザ41は、公開鍵62bの破棄指示を、端末装置100に入力する。すると端末装置100は、ブロックチェーンサブシステム230からブロック62−4を読み込む。次に端末装置100は、公開鍵62b、鍵所有者の署名62c、各管理者の署名62d,・・・,62f、および公開鍵証明書62jのハッシュ値を秘密鍵62mで暗号化する。これにより、鍵の所有者であるユーザ41の署名62nが生成される。また端末装置100は、リファレンスフラグ62aの値を、無効であることを示す値「−1」に変更する。さらに端末装置100は、ユーザ41の公開鍵62b、値が「−1」のリファレンスフラグ62a、鍵所有者の署名62c、各管理者の署名62d,・・・,62f、公開鍵証明書62j、および追加された鍵所有者の署名62nを含む登録ブロック67を生成する。そして端末装置100は、ブロックチェーンノード200に登録ブロック67を送信し、ブロックチェーンサブシステム230に、登録ブロック67のブロックチェーンネットワーク61への登録を依頼する。   FIG. 11 is a diagram illustrating an example of creating a block when a public key is discarded. The user 41 inputs an instruction to destroy the public key 62b to the terminal device 100. Then, the terminal device 100 reads the block 62-4 from the block chain subsystem 230. Next, the terminal device 100 encrypts the public key 62b, the signature 62c of the key owner, the signatures 62d,..., 62f of each administrator, and the hash value of the public key certificate 62j with the private key 62m. Thereby, the signature 62n of the user 41 who is the owner of the key is generated. Further, the terminal device 100 changes the value of the reference flag 62a to a value “−1” indicating invalidity. Further, the terminal device 100 includes a public key 62b of the user 41, a reference flag 62a having a value “−1”, a signature 62c of the key owner, a signature 62d,..., 62f of each administrator, a public key certificate 62j, And a registration block 67 containing the key owner signature 62n added. Then, the terminal device 100 transmits the registration block 67 to the block chain node 200 and requests the block chain subsystem 230 to register the registration block 67 in the block chain network 61.

ブロックチェーンサブシステム230は、ブロック62−4のハッシュ値を登録ブロック67に追加して、ブロック62−5を作成する。そしてブロックチェーンサブシステム230は、ブロック62−5をブロック記憶部231に格納すると共に、他のブロックチェーンノードに送信する。   The block chain subsystem 230 adds the hash value of the block 62-4 to the registration block 67 to create the block 62-5. The block chain subsystem 230 stores the block 62-5 in the block storage unit 231 and transmits it to other block chain nodes.

ユーザ41の公開鍵62bの破棄を示すブロック62−5がブロックチェーンネットワーク61に登録されると、いずれかのブロックチェーンノードで実行されているスマートコントラクトにより、公開鍵62bの無効化処理が行われる。   When the block 62-5 indicating the destruction of the public key 62b of the user 41 is registered in the blockchain network 61, the public key 62b is invalidated by a smart contract executed in any blockchain node. .

図12は、スマートコントラクトによる公開鍵の無効化の例を示す図である。スマートコントラクト232は、自身の公開鍵77と、公開鍵77で暗号化したデータの復号に用いる秘密鍵78とを有している。なお、秘密鍵78で暗号化したデータは、公開鍵77で復号することができる。また、ブロックチェーンサブシステム230は、ブロック記憶部231内に、破棄の処理が行われたブロック62−5を記憶している。   FIG. 12 is a diagram illustrating an example of revoking a public key by a smart contract. The smart contract 232 has its own public key 77 and a secret key 78 used for decrypting data encrypted with the public key 77. The data encrypted with the secret key 78 can be decrypted with the public key 77. Further, the block chain subsystem 230 stores the block 62-5 that has been subjected to the discarding process in the block storage unit 231.

このブロック62−5のリファレンスフラグ62aの値は「−1」である。またブロック62−5には、公開鍵62b、公開鍵62bの所有者の署名62c、既に登録承認を行った各管理者の署名、公開鍵証明書62j、および破棄の処理で追加された公開鍵62bの所有者の署名62nが含まれる。   The value of the reference flag 62a of this block 62-5 is “−1”. The block 62-5 includes the public key 62b, the signature 62c of the owner of the public key 62b, the signature of each administrator who has already approved the registration, the public key certificate 62j, and the public key added by the destruction process. 62b owner's signature 62n is included.

スマートコントラクト232は、リファレンスフラグ62aの値が「−1」のブロック62−5をブロック記憶部231から読み込む。そしてスマートコントラクト232は、ブロック62−5に含まれるすべての署名(公開鍵証明書62jを含む)とリファレンスフラグ62aとのハッシュ値を、スマートコントラクト232の秘密鍵78で暗号化する。暗号化されたデータが、スマートコントラクト232の署名62oである。スマートコントラクト232は、ブロック62−5に含まれていた情報に署名62oを追加した登録ブロック68を生成する。そしてスマートコントラクト232は、ブロックチェーンサブシステム230に登録ブロック68のブロックチェーンネットワーク61への登録を依頼する。   The smart contract 232 reads the block 62-5 whose reference flag 62 a is “−1” from the block storage unit 231. The smart contract 232 encrypts the hash values of all the signatures (including the public key certificate 62j) included in the block 62-5 and the reference flag 62a with the secret key 78 of the smart contract 232. The encrypted data is the signature 62 o of the smart contract 232. The smart contract 232 generates a registration block 68 in which the signature 62o is added to the information included in the block 62-5. The smart contract 232 requests the block chain subsystem 230 to register the registration block 68 in the block chain network 61.

ブロックチェーンサブシステム230は、登録ブロック68に、ブロック62−5のハッシュ値を追加して、ブロック62−8を生成する。そしてブロックチェーンサブシステム230は、ブロック62−8を、ブロック記憶部231に格納すると共に、他のブロックチェーンノードに送信する。   The block chain subsystem 230 adds the hash value of the block 62-5 to the registration block 68 to generate the block 62-8. Then, the block chain subsystem 230 stores the block 62-8 in the block storage unit 231 and transmits it to other block chain nodes.

ブロックチェーンネットワーク61では、関連する複数のブロックのうち、最後に更新されたブロックのみが有効となる。そのため、ブロック62−8が登録されたことにより、ブロック62−4は使用不能となる。またブロック62−8には、公開鍵62bが無効であることを示すリファレンスフラグ62a「−1」が設定されている。その結果、以後の公開鍵62bの使用が抑止される。   In the block chain network 61, only the last updated block is effective among a plurality of related blocks. Therefore, when the block 62-8 is registered, the block 62-4 becomes unusable. In the block 62-8, a reference flag 62a “−1” indicating that the public key 62b is invalid is set. As a result, subsequent use of the public key 62b is suppressed.

なお無効化される前であれば、ユーザ41以外のユーザは、ブロック62−4を参照して、ユーザ41の公開鍵62bを利用することができる。
図13は、公開鍵の使用例を示す図である。ユーザ42が端末装置100cに対して、ユーザ41の公開鍵62bの取得を指示する。すると端末装置100cは、ブロックチェーンノード200cのブロックチェーンサブシステム230c内のブロック記憶部231cから、ブロック62−4を読み込む。また端末装置100cは、ブロックチェーンサブシステム230c内のブロック記憶部231cから、スマートコントラクト232aの公開鍵75を含むブロック62−7を読み込む。ブロック62−7には、例えば公開鍵75についての公開鍵証明書が含まれる。その公開鍵75は、例えば、端末装置100cが既に有している鍵によって検証できるものとする。
Before being invalidated, users other than the user 41 can use the public key 62b of the user 41 with reference to the block 62-4.
FIG. 13 is a diagram illustrating an example of using a public key. The user 42 instructs the terminal device 100c to acquire the public key 62b of the user 41. Then, the terminal device 100c reads the block 62-4 from the block storage unit 231c in the block chain subsystem 230c of the block chain node 200c. Further, the terminal device 100c reads the block 62-7 including the public key 75 of the smart contract 232a from the block storage unit 231c in the block chain subsystem 230c. Block 62-7 includes a public key certificate for public key 75, for example. It is assumed that the public key 75 can be verified by using a key that the terminal device 100c already has, for example.

端末装置100cは、スマートコントラクト232aの公開鍵75を用いて、公開鍵証明書62jの検証を行う。例えば端末装置100cは、公開鍵証明書62jに含まれるスマートコントラクト232aの署名を、スマートコントラクト232aの公開鍵75で復号する。次に端末装置100cは、復号されたデータと、ブロック62−4に含まれている公開鍵62bのハッシュ値とを比較する。復号されたデータと公開鍵62bのハッシュ値とが一致した場合、公開鍵62bの所有者がユーザ41であることが確認される。   The terminal device 100c verifies the public key certificate 62j using the public key 75 of the smart contract 232a. For example, the terminal device 100c decrypts the signature of the smart contract 232a included in the public key certificate 62j with the public key 75 of the smart contract 232a. Next, the terminal device 100c compares the decrypted data with the hash value of the public key 62b included in the block 62-4. When the decrypted data matches the hash value of the public key 62b, it is confirmed that the owner of the public key 62b is the user 41.

公開鍵62bの所有者がユーザ41であることが確認できた場合、端末装置100cは、ユーザ42の指示に従って、公開鍵62bを使用して、ユーザ41に渡す電子情報を暗号化する。端末装置100cは、暗号化した電子情報を含む登録ブロックを生成し、そのブロックのブロックチェーンネットワーク60への登録要求を、ブロックチェーンサブシステム230cに送信する。   When it is confirmed that the owner of the public key 62b is the user 41, the terminal device 100c encrypts electronic information to be passed to the user 41 using the public key 62b according to the instruction of the user 42. The terminal device 100c generates a registration block including the encrypted electronic information, and transmits a registration request for the block to the block chain network 60 to the block chain subsystem 230c.

以下、図14〜図19を参照して、証明書の発行、および管理処理の手順について、詳細に説明する。
図14は、公開鍵登録処理の手順の一例を示すシーケンス図である。端末装置100は、ユーザ41によって指定された場所から、公開鍵ファイルを取得する(ステップS101)。公開鍵ファイルには、ユーザ41の公開鍵62bが含まれる。次に端末装置100は、公開鍵ファイルと、値が「0」のリファレンスフラグ62aを生成する(ステップS102)。次に端末装置100は、ユーザ41の公開鍵62bのハッシュ値に、ユーザ41の秘密鍵62mで電子署名をする(ステップS103)。そして端末装置100は、登録ブロック63を作成し、登録ブロック63の登録要求を、ブロックチェーンノード200に送信する(ステップS104)。
Hereinafter, with reference to FIGS. 14 to 19, a procedure for issuing a certificate and managing the certificate will be described in detail.
FIG. 14 is a sequence diagram illustrating an example of a procedure for public key registration processing. The terminal device 100 acquires a public key file from the location specified by the user 41 (step S101). The public key file includes the public key 62b of the user 41. Next, the terminal device 100 generates a public key file and a reference flag 62a having a value “0” (step S102). Next, the terminal device 100 applies an electronic signature to the hash value of the public key 62b of the user 41 using the secret key 62m of the user 41 (Step S103). Then, the terminal device 100 creates a registration block 63 and transmits a registration request for the registration block 63 to the block chain node 200 (step S104).

ブロックチェーンノード200は、受信した登録ブロック63を、ブロックチェーンネットワーク61上のブロック62−1(図6参照)として記憶する(ステップS105)。またブロックチェーンノード200は、ブロック62−1を、他のブロックチェーンノードに配布する(ステップS106)。   The block chain node 200 stores the received registration block 63 as a block 62-1 (see FIG. 6) on the block chain network 61 (step S105). The block chain node 200 distributes the block 62-1 to other block chain nodes (step S106).

図15は、登録承認処理の手順の一例を示すシーケンス図である。管理者51が使用する端末装置100aは、リファレンスフラグ62aの値が「0」のブロックの取得要求を、ブロックチェーンノード200aに送信する(ステップS111)。ブロックの取得要求に応じて、ブロックチェーンノード200aは、登録されているブロックのうち、リファレンスフラグ62aの値が「0」のブロック62−1を、端末装置100aに送信する(ステップS112)。   FIG. 15 is a sequence diagram illustrating an example of the procedure of the registration approval process. The terminal device 100a used by the administrator 51 transmits an acquisition request for a block whose reference flag 62a is “0” to the block chain node 200a (step S111). In response to the block acquisition request, the block chain node 200a transmits, to the terminal device 100a, the block 62-1 in which the value of the reference flag 62a is “0” among the registered blocks (step S112).

ブロックを取得した端末装置100aは、管理者51の秘密鍵72で、ユーザ41の公開鍵62bと署名62cとのハッシュ値に電子署名を行う(ステップS113)。このとき、リファレンスフラグ62aの値は「0」のままである。端末装置100aは、取得したブロック62−1に、管理者51の署名62dを追加した登録ブロック64の登録要求を、ブロックチェーンノード200aに送信する(ステップS114)。   The terminal device 100a that acquired the block performs an electronic signature on the hash value of the public key 62b and the signature 62c of the user 41 with the secret key 72 of the administrator 51 (step S113). At this time, the value of the reference flag 62a remains “0”. The terminal device 100a transmits a registration request for the registration block 64 in which the signature 62d of the administrator 51 is added to the acquired block 62-1 to the block chain node 200a (step S114).

ブロックチェーンノード200aは、受信した登録ブロック64にブロック62−1のハッシュ値を追加し、ブロックチェーンネットワーク61上のブロック62−2(図6参照)として記憶する(ステップS115)。またブロックチェーンノード200aは、ブロック62−2を、他のブロックチェーンノードに配布する(ステップS116)。   The block chain node 200a adds the hash value of the block 62-1 to the received registration block 64 and stores it as the block 62-2 (see FIG. 6) on the block chain network 61 (step S115). The block chain node 200a distributes the block 62-2 to other block chain nodes (step S116).

このような登録承認が、N人の管理者によって行われると、公開鍵62bを有効化するための公開鍵証明書の発行処理が行われる。
図16は、公開鍵証明書発行処理の手順の一例を示すシーケンス図である。なお、公開鍵証明書発行処理は、ブロックチェーンノード200aの内部処理であるため、図16では、ブロックチェーンノード200a内の各要素の処理をシーケンス図で表している。
When such registration approval is performed by N managers, a public key certificate issuance process for validating the public key 62b is performed.
FIG. 16 is a sequence diagram illustrating an example of a procedure for public key certificate issuance processing. Since the public key certificate issuance process is an internal process of the block chain node 200a, FIG. 16 shows a process of each element in the block chain node 200a in a sequence diagram.

スマートコントラクト232aは、ブロックチェーンサブシステム230aに登録されているブロックのうち、公開鍵62bの登録要求に関するブロックの承認状況を監視する(ステップS121)。例えばスマートコントラクト232aは、ブロックチェーンサブシステム230aに対して、管理者の署名がN個以上となった未承認(リファレンスフラグ62aの値が「0」)のブロック62−3を要求する。ブロックチェーンサブシステム230aは、管理者の署名がN個以上となった未承認のブロック62−3を検出すると、そのブロック62−3をスマートコントラクト232aに送信する(ステップS122)。   The smart contract 232a monitors the approval status of the block related to the registration request for the public key 62b among the blocks registered in the block chain subsystem 230a (step S121). For example, the smart contract 232a requests an unapproved block 62-3 (the value of the reference flag 62a is “0”) whose administrator signature is N or more to the block chain subsystem 230a. When the block chain subsystem 230a detects an unapproved block 62-3 having N or more administrator signatures, the block chain subsystem 230a transmits the block 62-3 to the smart contract 232a (step S122).

スマートコントラクト232aは、管理者の署名がN個以上となった未承認のブロック62−3を取得できたか否かを判断する(ステップS123)。該当ブロック62−3が取得できない場合、スマートコントラクト232aは、ブロックの承認状況の監視を続ける。該当ブロック62−3が取得できた場合、スマートコントラクト232aは、取得したブロックのリファレンスフラグ62aの値を「1」に変更する(ステップS124)。次にスマートコントラクト232aは、取得したブロック62−3に含まれる公開鍵62bのハッシュ値にスマートコントラクト232aの秘密鍵76で署名した公開鍵証明書62jを作成する(ステップS125)。そしてスマートコントラクト232aは、取得したブロック62−3に公開鍵証明書62jを含めた登録ブロック66の登録要求を、ブロックチェーンサブシステム230aに送信する(ステップS126)。   The smart contract 232a determines whether or not an unapproved block 62-3 having N or more administrator signatures has been acquired (step S123). If the block 62-3 cannot be acquired, the smart contract 232a continues to monitor the block approval status. When the block 62-3 can be acquired, the smart contract 232a changes the value of the reference flag 62a of the acquired block to “1” (step S124). Next, the smart contract 232a creates a public key certificate 62j signed with the private key 76 of the smart contract 232a on the hash value of the public key 62b included in the acquired block 62-3 (step S125). Then, the smart contract 232a transmits a registration request for the registration block 66 including the public key certificate 62j in the acquired block 62-3 to the block chain subsystem 230a (step S126).

ブロックチェーンサブシステム230aは、受信した登録ブロック66にブロック62−3のハッシュ値を追加し、ブロックチェーンネットワーク61上のブロック62−4(図6参照)として記憶する(ステップS127)。またブロックチェーンサブシステム230aは、ブロック62−4を、他のブロックチェーンノードに配布する(ステップS128)。   The block chain subsystem 230a adds the hash value of the block 62-3 to the received registration block 66 and stores it as the block 62-4 (see FIG. 6) on the block chain network 61 (step S127). Further, the block chain subsystem 230a distributes the block 62-4 to other block chain nodes (step S128).

公開鍵証明書62jが発行されることで、公開鍵62bは有効化される。公開鍵62bは所有者であるユーザ41からの指示で破棄される。
図17は、公開鍵の破棄処理の手順の一例を示すシーケンス図である。端末装置100は、ユーザ41から公開鍵62bの破棄の指示が入力されると、ブロックチェーンノード200に、リファレンスフラグ62aの値が「1」のブロック62−4の取得要求を送信する(ステップS131)。ブロックチェーンノード200は、取得要求に応じて、リファレンスフラグ62aの値が「1」のブロック62−4を、端末装置100に送信する(ステップS132)。
The public key 62b is validated by issuing the public key certificate 62j. The public key 62b is destroyed by an instruction from the user 41 who is the owner.
FIG. 17 is a sequence diagram illustrating an example of a procedure for public key destruction processing. When the user 41 receives an instruction to discard the public key 62b, the terminal device 100 transmits an acquisition request for the block 62-4 having the reference flag 62a value “1” to the block chain node 200 (step S131). ). In response to the acquisition request, the block chain node 200 transmits the block 62-4 having the value of the reference flag 62a “1” to the terminal device 100 (step S132).

ブロック62−4を取得した端末装置100は、リファレンスフラグ62aの値を「−1」(無効)に更新する(ステップS133)。次に端末装置100は、取得したブロック62−4に含まれる公開鍵62b、各種署名、および公開鍵証明書62jのハッシュ値を計算し、そのハッシュ値にユーザ41の秘密鍵62mで電子署名を行う(ステップS134)。そして端末装置100は、取得したブロック62−4に、新たに生成した署名62nを追加した登録ブロック67の登録要求を、ブロックチェーンノード200に送信する(ステップS135)。   The terminal device 100 that has acquired the block 62-4 updates the value of the reference flag 62a to “−1” (invalid) (step S133). Next, the terminal device 100 calculates a hash value of the public key 62b, various signatures, and the public key certificate 62j included in the acquired block 62-4, and adds an electronic signature to the hash value using the private key 62m of the user 41. This is performed (step S134). Then, the terminal device 100 transmits a registration request for the registration block 67 in which the newly generated signature 62n is added to the acquired block 62-4 to the block chain node 200 (step S135).

ブロックチェーンノード200は、受信した登録ブロック67にブロック62−4のハッシュ値を追加し、ブロックチェーンネットワーク61上のブロック62−5(図6参照)として記憶する(ステップS136)。またブロックチェーンノード200は、ブロック62−5を、他のブロックチェーンノードに配布する(ステップS137)。   The block chain node 200 adds the hash value of the block 62-4 to the received registration block 67 and stores it as the block 62-5 (see FIG. 6) on the block chain network 61 (step S136). The block chain node 200 distributes the block 62-5 to other block chain nodes (step S137).

公開鍵62bの破棄処理が行われると、ブロックチェーンネットワーク61上で、公開鍵62bが無効化される。
図18は、公開鍵無効化処理の手順の一例を示すシーケンス図である。なお、公開鍵無効化処理は、ブロックチェーンノード200の内部処理であるため、図18では、ブロックチェーンノード200内の各要素の処理をシーケンス図で表している。
When the process of destroying the public key 62b is performed, the public key 62b is revoked on the block chain network 61.
FIG. 18 is a sequence diagram illustrating an example of a public key revocation process procedure. Since the public key invalidation process is an internal process of the block chain node 200, FIG. 18 shows a process of each element in the block chain node 200 in a sequence diagram.

スマートコントラクト232は、ブロックチェーンサブシステム230に登録されているブロックのうち、破棄された公開鍵62bに関するブロックの有無を監視する(ステップS141)。例えばスマートコントラクト232は、ブロックチェーンサブシステム230に対して、リファレンスフラグ62aの値が「−1」のブロック62−5を要求する。ブロックチェーンサブシステム230は、該当するブロック62−5を検出すると、そのブロック62−5をスマートコントラクト232に送信する(ステップS142)。   The smart contract 232 monitors the presence or absence of a block related to the discarded public key 62b among the blocks registered in the block chain subsystem 230 (step S141). For example, the smart contract 232 requests the block 62-5 whose value of the reference flag 62a is “−1” to the block chain subsystem 230. When the block chain subsystem 230 detects the corresponding block 62-5, the block chain subsystem 230 transmits the block 62-5 to the smart contract 232 (step S142).

スマートコントラクト232は、リファレンスフラグ62aの値が「−1」(無効)のブロック62−5を取得できたか否かを判断する(ステップS143)。該当ブロック62−5が取得できない場合、スマートコントラクト232は、破棄ブロックの監視を続ける。該当ブロック62−5が取得できた場合、破棄時にユーザ41が追加した署名62nを検証する(ステップS144)。例えばスマートコントラクト232は、署名62nを、ユーザ41の公開鍵62bで復号した結果と、署名に用いられたデータのハッシュ値とを比較し、一致していれば、ユーザ41の正しい署名であると判断する。   The smart contract 232 determines whether or not the block 62-5 in which the value of the reference flag 62a is “−1” (invalid) has been acquired (step S143). If the corresponding block 62-5 cannot be acquired, the smart contract 232 continues to monitor the discard block. If the block 62-5 can be acquired, the signature 62n added by the user 41 at the time of discarding is verified (step S144). For example, the smart contract 232 compares the result of decrypting the signature 62n with the public key 62b of the user 41 and the hash value of the data used for the signature. to decide.

署名が正しければ、スマートコントラクト232は、ブロック62−5に含まれるすべての署名(公開鍵証明書62jを含む)とリファレンスフラグ62aとのハッシュ値に、スマートコントラクト232の秘密鍵78で電子署名をする(ステップS145)。そしてスマートコントラクト232は、取得したブロック62−5に、スマートコントラクト232による新たな署名62oを含めた登録ブロック68の登録要求を、ブロックチェーンサブシステム230に送信する(ステップS146)。   If the signature is correct, the smart contract 232 adds the electronic signature with the private key 78 of the smart contract 232 to the hash value of all the signatures (including the public key certificate 62j) included in the block 62-5 and the reference flag 62a. (Step S145). Then, the smart contract 232 transmits a registration request for the registration block 68 including the new signature 62o by the smart contract 232 to the acquired block 62-5 to the block chain subsystem 230 (step S146).

ブロックチェーンサブシステム230は、受信した登録ブロック68にブロック62−5のハッシュ値を追加し、ブロックチェーンネットワーク61上のブロック62−8として記憶する(ステップS147)。またブロックチェーンサブシステム230は、ブロック62−8を、他のブロックチェーンノードに配布する(ステップS148)。   The block chain subsystem 230 adds the hash value of the block 62-5 to the received registration block 68 and stores it as the block 62-8 on the block chain network 61 (step S147). Further, the block chain subsystem 230 distributes the block 62-8 to other block chain nodes (step S148).

このようにして、ユーザ41が破棄を指示した公開鍵62bが無効化される。
次に、他のユーザ41による有効な公開鍵62bの使用手順について説明する。
図19は、公開鍵の使用手順の一例を示すシーケンス図である。公開鍵62bの使用者であるユーザ42は、端末装置100cに対して、例えばユーザ41の公開鍵62bを使用したデータの暗号化を指示する。すると端末装置100cは、公開鍵証明書を含むユーザ41の最新ブロックの取得要求を、ブロックチェーンノード200cに送信する(ステップS151)。ブロックチェーンノード200cは、ユーザ41の公開鍵62bを含む最新のブロックを、端末装置100cに送信する(ステップS152)。
In this way, the public key 62b that the user 41 has instructed to destroy is invalidated.
Next, a procedure for using a valid public key 62b by another user 41 will be described.
FIG. 19 is a sequence diagram illustrating an example of a procedure for using a public key. The user 42 who is a user of the public key 62b instructs the terminal device 100c to encrypt data using the public key 62b of the user 41, for example. Then, the terminal device 100c transmits an acquisition request for the latest block of the user 41 including the public key certificate to the block chain node 200c (step S151). The block chain node 200c transmits the latest block including the public key 62b of the user 41 to the terminal device 100c (step S152).

ブロックを取得した端末装置100cは、取得したブロックに示されているリファレンスフラグ62aの値が「0」より大きいか否かを判断する(ステップS153)。端末装置100cは、リファレンスフラグ62aの値が「0」より大きければ、処理をステップS154に進める。また端末装置100cは、リファレンスフラグ62aの値が「0」以下であれば、処理をステップS157に進める。   The terminal device 100c that acquired the block determines whether or not the value of the reference flag 62a indicated in the acquired block is greater than “0” (step S153). If the value of the reference flag 62a is greater than “0”, the terminal device 100c advances the process to step S154. If the value of the reference flag 62a is “0” or less, the terminal device 100c advances the process to step S157.

端末装置100cは、ハッシュ値の比較により、取得したブロックに含まれる公開鍵証明書に付与されているスマートコントラクト232aの署名を検証する(ステップS154)。例えば端末装置100cは、ブロックチェーンネットワーク61を介してスマートコントラクト232aの公開鍵62bを取得し、その公開鍵62bで署名を復号する。端末装置100cは、復号されたデータと、公開鍵62bのハッシュ値とを比較し、一致すれば、正しい署名であると判断する。   The terminal device 100c verifies the signature of the smart contract 232a attached to the public key certificate included in the acquired block by comparing the hash values (step S154). For example, the terminal device 100c acquires the public key 62b of the smart contract 232a via the block chain network 61, and decrypts the signature with the public key 62b. The terminal device 100c compares the decrypted data with the hash value of the public key 62b, and determines that the signature is correct if they match.

端末装置100は、スマートコントラクト232aの署名が正しく検証できたか否かを判断する(ステップS155)。端末装置100cは、正しく検証できた場合、処理をステップS156に進める。また端末装置100cは、正しく検証できなかった場合、処理をステップS157に進める。   The terminal device 100 determines whether or not the signature of the smart contract 232a has been correctly verified (step S155). If the terminal device 100c has been correctly verified, the process proceeds to step S156. If the terminal device 100c fails to verify correctly, the process proceeds to step S157.

正しく検証できた場合、端末装置100cは、公開鍵62bを使用して、ユーザ41に送信するデータの暗号化などの処理を行う(ステップS156)。また端末装置100cは、リファレンスフラグ62aが「0」以下であるか、スマートコントラクト232aの公開鍵62bの正当性が確認できない場合、ユーザ41の公開鍵62bが使用できない旨のメッセージを出力する(ステップS157)。   If the verification is successful, the terminal device 100c performs processing such as encryption of data to be transmitted to the user 41 using the public key 62b (step S156). Further, when the reference flag 62a is “0” or less or the validity of the public key 62b of the smart contract 232a cannot be confirmed, the terminal device 100c outputs a message indicating that the public key 62b of the user 41 cannot be used (Step S100c). S157).

このようにして、スマートコントラクト232aの署名によって正当性が担保されている場合に限り、公開鍵62bを使用することができる。
次に、第2の実施の形態に係る処理をブロックチェーンシステムに実行させるためのユーザインタフェースについて、図20〜図22を参照して説明する。
In this way, the public key 62b can be used only when the validity is secured by the signature of the smart contract 232a.
Next, a user interface for causing the blockchain system to execute processing according to the second embodiment will be described with reference to FIGS.

図20は、公開鍵登録画面の一例を示す図である。ユーザ41が使用する端末装置100が、公開鍵登録画面81を表示する。公開鍵登録画面81には、公開鍵ファイル指定用のテキストボックス81a、ファイル選択用のボタン81b、OKボタン81c、およびキャンセルボタン81dが含まれている。公開鍵62bを登録するユーザ41は、例えばテキストボックス81aに、公開鍵62bを含むファイルの名称を入力する。またユーザ41は、ボタン81bを選択することで、端末装置100内のファイルのリストを画面表示させることができる。ユーザ41は、表示されたファイルのリストの中から、公開鍵62bを含むファイルを選択する。すると選択されたファイルのファイル名が、テキストボックス81aに設定される。   FIG. 20 is a diagram illustrating an example of a public key registration screen. The terminal device 100 used by the user 41 displays a public key registration screen 81. The public key registration screen 81 includes a text box 81a for specifying a public key file, a file selection button 81b, an OK button 81c, and a cancel button 81d. For example, the user 41 who registers the public key 62b inputs the name of the file including the public key 62b in the text box 81a. Further, the user 41 can display a list of files in the terminal device 100 on the screen by selecting the button 81b. The user 41 selects a file including the public key 62b from the displayed list of files. Then, the file name of the selected file is set in the text box 81a.

ユーザ41がOKボタン81cを押下すると、端末装置100は、テキストボックス81aに示されているファイル内の公開鍵62bを含むブロックの登録要求を、ブロックチェーンノード200に送信する。またユーザ41がキャンセルボタン81dを押下すると、端末装置100は、ブロックの登録要求を送信せずに、公開鍵登録画面81を閉じる。   When the user 41 presses the OK button 81c, the terminal device 100 transmits a block registration request including the public key 62b in the file indicated in the text box 81a to the block chain node 200. When the user 41 presses the cancel button 81d, the terminal device 100 closes the public key registration screen 81 without transmitting a block registration request.

図21は、登録承認画面の一例を示す図である。管理者51が使用する端末装置100aが、登録承認画面82を表示する。登録承認画面82には、公開鍵表示部82a、管理者数表示部82b、既承認人数表示部82c、署名ファイル指定用のテキストボックス82d、署名ファイル選択用のボタン82e、承認ボタン82f、およびキャンセルボタン82gが含まれる。   FIG. 21 is a diagram illustrating an example of a registration approval screen. The terminal device 100a used by the administrator 51 displays the registration approval screen 82. The registration approval screen 82 includes a public key display section 82a, an administrator count display section 82b, an already approved number display section 82c, a signature file designation text box 82d, a signature file selection button 82e, an approval button 82f, and a cancel. Button 82g is included.

公開鍵表示部82aには、ユーザ41の公開鍵62bが表示される。管理者数表示部82bには、登録承認を行うことができる管理者の人数が表示される。既承認人数表示部82cには、既に登録承認を行った管理者の人数が表示される。   The public key 62b of the user 41 is displayed on the public key display part 82a. The number of managers who can perform registration approval is displayed in the manager number display part 82b. In the already-approved number display section 82c, the number of managers who have already approved for registration is displayed.

公開鍵62bを承認する管理者51は、例えばテキストボックス82dに、管理者51の秘密鍵を含むファイルの名称を入力する。また管理者51は、ボタン82eを選択することで、端末装置100a内のファイルのリストを画面表示させることができる。管理者51は、表示されたファイルのリストの中から、秘密鍵を含むファイルを選択する。すると選択されたファイルのファイル名が、テキストボックス82dに設定される。   For example, the administrator 51 who approves the public key 62b inputs the name of the file including the secret key of the administrator 51 in the text box 82d. The administrator 51 can display a list of files in the terminal device 100a on the screen by selecting the button 82e. The administrator 51 selects a file including a secret key from the displayed list of files. Then, the file name of the selected file is set in the text box 82d.

管理者51が承認ボタン82fを押下すると、端末装置100aは、管理者51の署名を含む登録ブロックの登録要求を、ブロックチェーンノード200aに送信する。登録承認が正常に終了すると、例えば端末装置100aの画面に、登録承認結果画面83が表示される。登録承認結果画面83には、例えば登録承認を行った管理者の人数が表示される。また登録承認結果画面83には、求められている人数の管理者が登録承認を行い、公開鍵62bが有効化された場合、公開鍵62bの有効化を示すメッセージが表示される。管理者51がOKボタン83aを押下すると、端末装置100aは、登録承認結果画面83を閉じる。   When the administrator 51 depresses the approval button 82f, the terminal device 100a transmits a registration block registration request including the signature of the administrator 51 to the block chain node 200a. When the registration approval ends normally, a registration approval result screen 83 is displayed on the screen of the terminal device 100a, for example. The registration approval result screen 83 displays, for example, the number of managers who have performed registration approval. On the registration approval result screen 83, when the required number of managers approve registration and the public key 62b is activated, a message indicating activation of the public key 62b is displayed. When the administrator 51 presses the OK button 83a, the terminal device 100a closes the registration approval result screen 83.

また管理者51がキャンセルボタン82gを押下すると、端末装置100aは、ブロックの登録要求を送信せずに、登録承認画面82を閉じる。
図22は、公開鍵無効化画面の一例を示す図である。ユーザ41が使用する端末装置100が、公開鍵無効化画面84を表示する。公開鍵無効化画面84には、公開鍵ファイル指定用のテキストボックス84a、ファイル選択用のボタン84b、OKボタン84c、およびキャンセルボタン84dが含まれている。公開鍵62bを無効化するユーザ41は、例えばテキストボックス84aに、公開鍵62bを含むファイルの名称を入力する。またユーザ41は、ボタン84bを選択することで、端末装置100内のファイルのリストを画面表示させることができる。ユーザ41は、表示されたファイルのリストの中から、公開鍵62bを含むファイルを選択する。すると選択されたファイルのファイル名が、テキストボックス84aに設定される。
When the administrator 51 depresses the cancel button 82g, the terminal device 100a closes the registration approval screen 82 without transmitting a block registration request.
FIG. 22 is a diagram illustrating an example of a public key revocation screen. The terminal device 100 used by the user 41 displays the public key revocation screen 84. The public key invalidation screen 84 includes a text box 84a for specifying a public key file, a file selection button 84b, an OK button 84c, and a cancel button 84d. The user 41 who invalidates the public key 62b inputs, for example, the name of the file including the public key 62b in the text box 84a. Further, the user 41 can display the list of files in the terminal device 100 on the screen by selecting the button 84b. The user 41 selects a file including the public key 62b from the displayed list of files. Then, the file name of the selected file is set in the text box 84a.

ユーザ41がOKボタン84cを押下すると、端末装置100は、テキストボックス84aに示されているファイル内の公開鍵62bの破棄を示すブロック(リファレンスフラグ62aの値が「−1」)の登録要求を、ブロックチェーンノード200に送信する。またユーザ41がキャンセルボタン84dを押下すると、端末装置100は、ブロックの登録要求を送信せずに、公開鍵無効化画面84を閉じる。   When the user 41 presses the OK button 84c, the terminal device 100 issues a registration request for a block (the value of the reference flag 62a is “−1”) indicating the destruction of the public key 62b in the file indicated in the text box 84a. , Transmitted to the block chain node 200. When the user 41 presses the cancel button 84d, the terminal device 100 closes the public key revocation screen 84 without transmitting a block registration request.

無効化が正常に終了すると、例えば端末装置100の画面に、無効化結果画面85が表示される。無効化結果画面85には、公開鍵表示部85aに、無効化された公開鍵62bが表示される。ユーザ41がOKボタン85bを押下すると、端末装置100は、無効化結果画面85を閉じる。   When the invalidation ends normally, an invalidation result screen 85 is displayed on the screen of the terminal device 100, for example. On the revocation result screen 85, the revoked public key 62b is displayed in the public key display portion 85a. When the user 41 presses the OK button 85b, the terminal device 100 closes the invalidation result screen 85.

以上のようにして、ブロックチェーンネットワーク61を用いて公開鍵証明書の発行および管理を行うことができる。その結果、証明書管理サーバで公開鍵証明書の発行や管理を行う場合に比べ、可用性が向上する。すなわち第2の実施の形態では、公開鍵62bの発行や管理処理が集中化してしまうことがなく、特定のサーバのダウンにより、公開鍵証明書が発行できなくなったり、公開鍵62bが参照できなくなったりすることが抑止される。   As described above, it is possible to issue and manage public key certificates using the block chain network 61. As a result, the availability is improved as compared with the case where the public key certificate is issued and managed by the certificate management server. That is, in the second embodiment, the issuance and management processing of the public key 62b is not centralized, and the public key certificate cannot be issued or the public key 62b cannot be referred to due to a specific server being down. Is deterred.

しかも、第2の実施の形態では、複数の管理者の多数決で承認を行うため、登録ミスを防止できる。さらに、複数の管理者で承認を行うため、ある承認者が公開鍵62bを承認できない場合でも他の管理者がその公開鍵62bを承認することができる。その結果、公開鍵証明書が発行されるまでの時間を短縮できる。   In addition, in the second embodiment, since the approval is performed by the majority vote of a plurality of managers, registration errors can be prevented. Furthermore, since approval is performed by a plurality of managers, even if a certain approver cannot approve the public key 62b, another administrator can approve the public key 62b. As a result, the time until the public key certificate is issued can be shortened.

さらに第2の実施の形態では、公開鍵62bを管理するブロックにリファレンスフラグ62aを設け、リファレンスフラグ62aによって登録・有効・無効の各状態を管理している。これにより、例えば公開鍵62bを無効化する場合、ユーザ41自身が、公開鍵62bの破棄を示すブロックを登録するだけでよい、管理者の手間をかけずに済むとともに、無効化を迅速に行うことができる。   Furthermore, in the second embodiment, a reference flag 62a is provided in a block that manages the public key 62b, and registration, valid, and invalid states are managed by the reference flag 62a. Thus, for example, when the public key 62b is revoked, the user 41 only has to register a block indicating the destruction of the public key 62b. be able to.

〔第3の実施の形態〕
次に、第3の実施の形態について説明する。第3の実施の形態は、電子署名をする際に、署名の対象のハッシュ値を計算せず、直接署名を付与するものである。ハッシュ値の計算を省略することで、処理の効率化が可能となる。以下、図23〜図31を参照し、第3の実施の形態における第2の実施の形態との相違点を説明する。
[Third Embodiment]
Next, a third embodiment will be described. In the third embodiment, when a digital signature is made, the signature target hash value is not calculated and the signature is directly attached. By omitting the calculation of the hash value, processing efficiency can be improved. Hereinafter, with reference to FIGS. 23 to 31, differences of the third embodiment from the second embodiment will be described.

図23は、第3の実施の形態における公開鍵登録用のブロックの作成例を示す図である。第3の実施の形態では、端末装置100は、公開鍵62bを、ユーザ41の秘密鍵62mで暗号化する。そして公開鍵62bを直接暗号化したデータが、ユーザ41の署名62c−1となる。   FIG. 23 is a diagram illustrating an example of creating a public key registration block according to the third embodiment. In the third embodiment, the terminal device 100 encrypts the public key 62b with the secret key 62m of the user 41. The data obtained by directly encrypting the public key 62b becomes the signature 62c-1 of the user 41.

図24は、第3の実施の形態における最初の登録承認時のブロックの作成例を示す図である。第3の実施の形態では、端末装置100aは、公開鍵62bと、その公開鍵62bの所有者の署名62c−1とを、管理者51の秘密鍵72で暗号化する。暗号化したデータが、管理者51の署名62d−1となる。   FIG. 24 is a diagram illustrating an example of creating a block at the time of first registration approval in the third embodiment. In the third embodiment, the terminal device 100a encrypts the public key 62b and the signature 62c-1 of the owner of the public key 62b with the secret key 72 of the administrator 51. The encrypted data becomes the signature 62d-1 of the administrator 51.

図25は、第3の実施の形態におけるN番目の登録承認時のブロックの作成例を示す図である。端末装置100bは、公開鍵62b、その公開鍵62bの所有者の署名62c−1、および1番目からN−1番目の管理者の署名62d−1,・・・,62n−1を、管理者52の秘密鍵74で暗号化する。暗号化したデータが、管理者52の署名62f−1となる。   FIG. 25 is a diagram illustrating an example of creating a block at the time of N-th registration approval in the third embodiment. The terminal device 100b receives the public key 62b, the signature 62c-1 of the owner of the public key 62b, and the signatures 62d-1,. The private key 74 is used for encryption. The encrypted data becomes the signature 62f-1 of the administrator 52.

図26は、第3の実施の形態における公開鍵破棄時のブロックの作成例を示す図である。端末装置100は、公開鍵62b、その公開鍵62bの所有者の署名62c−1、および1番目からN番目の管理者の署名62d−1,・・・,62f−1を、ユーザ41の秘密鍵62mで暗号化する。暗号化したデータが、ユーザ41の署名62n−1となる。   FIG. 26 is a diagram illustrating an example of creating a block when a public key is discarded in the third embodiment. The terminal device 100 uses the public key 62b, the signature 62c-1 of the owner of the public key 62b, and the signatures 62d-1,. Encrypt with key 62m. The encrypted data becomes the signature 62n-1 of the user 41.

図27は、第3の実施の形態におけるスマートコントラクトによる公開鍵の無効化の例を示す図である。スマートコントラクト232は、ブロック62−5に含まれるすべての署名(公開鍵証明書62jを含む)と、値が「−1」のリファレンスフラグ62aとを、スマートコントラクト232の秘密鍵78で暗号化する。暗号化されたデータが、スマートコントラクト232の署名62o−1である。   FIG. 27 is a diagram illustrating an example of revoking a public key by a smart contract according to the third embodiment. The smart contract 232 encrypts all the signatures (including the public key certificate 62j) included in the block 62-5 and the reference flag 62a having the value “−1” with the private key 78 of the smart contract 232. . The encrypted data is the signature 62o-1 of the smart contract 232.

図28は、第3の実施の形態における公開鍵登録処理の手順の一例を示すシーケンス図である。図28に示す処理のうち、第2の実施の形態(図14参照)と相違するのは、ステップS103aの処理である。第3の実施の形態では、ステップS103aにおいて、端末装置100は、ハッシュ値を計算せずに、ユーザ41の公開鍵62bに、ユーザ41の秘密鍵62mで電子署名をする。   FIG. 28 is a sequence diagram illustrating an example of a procedure of public key registration processing according to the third embodiment. Of the processing shown in FIG. 28, the processing in step S103a is different from the second embodiment (see FIG. 14). In the third embodiment, in step S103a, the terminal device 100 performs an electronic signature on the public key 62b of the user 41 with the private key 62m of the user 41 without calculating a hash value.

図29は、第3の実施の形態における登録承認処理の手順の一例を示すシーケンス図である。図29に示す処理のうち、第2の実施の形態(図15参照)と相違するのは、ステップS113aの処理である。第3の実施の形態では、ステップS113aにおいて、端末装置100aは、ハッシュ値を計算せずに、ユーザ41の公開鍵62bと署名とに、管理者51の秘密鍵72で電子署名をする。   FIG. 29 is a sequence diagram illustrating an example of a procedure of a registration approval process in the third embodiment. In the process shown in FIG. 29, the process of step S113a is different from the second embodiment (see FIG. 15). In the third embodiment, in step S113a, the terminal device 100a performs an electronic signature on the public key 62b and signature of the user 41 with the private key 72 of the administrator 51 without calculating a hash value.

図30は、第3の実施の形態における公開鍵証明書発行処理の手順の一例を示すシーケンス図である。図30に示す処理のうち、第2の実施の形態(図16参照)と相違するのは、ステップS125aの処理である。第3の実施の形態では、ステップS125aにおいて、スマートコントラクト232aは、ハッシュ値を計算せずに、ユーザ41の公開鍵62bにスマートコントラクト232aの秘密鍵76で署名した公開鍵証明書62jを作成する。   FIG. 30 is a sequence diagram illustrating an example of a procedure of public key certificate issuance processing according to the third embodiment. Of the processes shown in FIG. 30, the process of step S125a is different from the second embodiment (see FIG. 16). In the third embodiment, in step S125a, the smart contract 232a creates a public key certificate 62j signed with the private key 76 of the smart contract 232a in the public key 62b of the user 41 without calculating a hash value. .

図31は、第3の実施の形態における公開鍵の破棄処理の手順の一例を示すシーケンス図である。図31に示す処理のうち、第2の実施の形態(図17参照)と相違するのは、ステップS134aの処理である。第3の実施の形態では、ステップS134aにおいて、端末装置100は、ハッシュ値を計算せずに、公開鍵62b、各種署名、および公開鍵証明書62jに、ユーザ41の秘密鍵62mで電子署名をする。   FIG. 31 is a sequence diagram illustrating an example of a procedure for a public key destruction process according to the third embodiment. Of the processes shown in FIG. 31, the process of step S134a is different from the second embodiment (see FIG. 17). In the third embodiment, in step S134a, the terminal device 100 does not calculate a hash value, and adds an electronic signature to the public key 62b, various signatures, and the public key certificate 62j using the private key 62m of the user 41. To do.

図32は、第3の実施の形態における公開鍵無効化処理の手順の一例を示すシーケンス図である。図32に示す処理のうち、第2の実施の形態(図18参照)と相違するのは、ステップS145aの処理である。第3の実施の形態では、ステップS145aにおいて、スマートコントラクト232は、ハッシュ値を計算せずに、すべての署名(公開鍵証明書62jを含む)とリファレンスフラグ62aに、スマートコントラクト232の秘密鍵78で電子署名をする。   FIG. 32 is a sequence diagram illustrating an example of a public key revocation process procedure according to the third embodiment. Of the processes shown in FIG. 32, the difference from the second embodiment (see FIG. 18) is the process of step S145a. In the third embodiment, in step S145a, the smart contract 232 calculates the private key 78 of the smart contract 232 in all signatures (including the public key certificate 62j) and the reference flag 62a without calculating a hash value. Digitally sign with

図33は、第3の実施の形態における公開鍵使用手順の一例を示すシーケンス図である。図33に示す処理のうち、第2の実施の形態(図19参照)と相違するのは、ステップS154aの処理である。第3の実施の形態では、ステップS154aにおいて、端末装置100cは、ハッシュ値ではなく、ユーザ41の公開鍵62bの比較により、スマートコントラクト232aの署名を検証する。   FIG. 33 is a sequence diagram illustrating an example of a public key use procedure according to the third embodiment. Of the processes shown in FIG. 33, the process of step S154a is different from the second embodiment (see FIG. 19). In the third embodiment, in step S154a, the terminal device 100c verifies the signature of the smart contract 232a by comparing not the hash value but the public key 62b of the user 41.

このように第3の実施の形態では、ハッシュ値の計算を省略しているため、処理を効率的に行うことができる。
〔その他の実施の形態〕
第2、第3の実施の形態では、ブロックチェーンネットワーク60を用いた取引に使用する公開鍵証明書をブロックチェーンネットワーク61で発行しているが、これは、公開鍵証明書の用途の一例である。すなわち、ブロックチェーンネットワーク61を用いた公開鍵証明書は、ブロックチェーンネットワーク60以外にも利用できる。
As described above, in the third embodiment, since the calculation of the hash value is omitted, the processing can be performed efficiently.
[Other Embodiments]
In the second and third embodiments, the public key certificate used for the transaction using the block chain network 60 is issued by the block chain network 61. This is an example of the use of the public key certificate. is there. That is, the public key certificate using the block chain network 61 can be used for other than the block chain network 60.

また第2、第3の実施の形態では、公開鍵62bについて証明書を発行しているが、他の情報について、その情報の所有者の証明する証明書を発行することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
In the second and third embodiments, a certificate is issued for the public key 62b. However, for other information, a certificate certified by the owner of the information can be issued.
As mentioned above, although embodiment was illustrated, the structure of each part shown by embodiment can be substituted by the other thing which has the same function. Moreover, other arbitrary structures and processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.

1 ネットワーク
2a,2b,2c 端末装置
3a,3b,3c ブロックチェーンノード
4,4−1,4−2,4−3 ブロック
4a 証明対象情報
4b,5a,5n,6a 電子署名
6 電子証明書
7 証明書発行部
8 ユーザ
9a,9b 管理者
1 Network 2a, 2b, 2c Terminal equipment 3a, 3b, 3c Block chain node 4, 4-1, 4-2, 4-3 Block 4a Information to be certified 4b, 5a, 5n, 6a Electronic signature 6 Electronic certificate 7 Certification Issuer 8 User 9a, 9b Administrator

Claims (6)

ブロックチェーンによって複数のブロックを保持するネットワークへ、ユーザが所有する証明対象情報を含む第1ブロックの登録要求を出力する第1の端末装置と、
前記ネットワークから、前記証明対象情報を含むブロックを、承認対象ブロックとして取得し、管理者からの入力に応じて、前記証明対象情報の登録承認を示す電子署名と前記承認対象ブロックとを含む第2ブロックの登録要求を、前記ネットワークへ出力する複数の第2の端末装置と、
前記ネットワークに属し、前記第1または第2ブロックの登録要求に応じて、前記第1または第2ブロックをブロックチェーンによって分散して保持し、保持した前記第2ブロックのなかに、包含する前記電子署名の数が所定数に達した署名数充足ブロックがある場合、前記証明対象情報の所有者を証明する電子証明書と前記署名数充足ブロックとを含む第3ブロックを、ブロックチェーンによって分散して保持する複数のブロックチェーンノードと、
を有する証明書配付システム。
A first terminal device that outputs a registration request for a first block including certification target information owned by a user to a network holding a plurality of blocks by a block chain;
A block including the certification target information from the network is acquired as an approval target block, and includes a digital signature indicating registration approval of the certification target information and the approval target block according to an input from an administrator. A plurality of second terminal devices for outputting a block registration request to the network;
The electrons belonging to the network, distributed and held by a block chain in response to a registration request for the first or second block, and included in the held second block When there is a signature number satisfaction block in which the number of signatures reaches a predetermined number, a third block including an electronic certificate that proves the owner of the certification target information and the signature number satisfaction block is distributed by a block chain. Multiple blockchain nodes to hold,
Certificate distribution system with
前記複数のブロックチェーンノードのうちの一ブロックチェーンノードは、前記証明対象情報を前記一ブロックチェーンノード自身の秘密鍵で暗号化した有効化用電子署名を、前記証明対象情報に付与することで、前記電子証明書を作成し、
さらに、
前記一ブロックチェーンノードの公開鍵を取得し、取得した前記公開鍵により前記電子証明書の正当性を検証し、正しく検証できた場合、前記証明対象情報の所有者が前記ユーザであると判断する第3端末装置を有する、
請求項1記載の証明書配付システム。
One block chain node of the plurality of block chain nodes gives an electronic signature for validation obtained by encrypting the certification target information with the private key of the one block chain node to the certification target information, Create the electronic certificate,
further,
The public key of the one block chain node is acquired, the validity of the electronic certificate is verified with the acquired public key, and if the verification is successful, the owner of the certification target information is determined to be the user. Having a third terminal device,
The certificate distribution system according to claim 1.
前記第1の端末装置は、前記ユーザからの、前記証明対象情報の破棄を指示する入力に応じて、破棄を示すフラグと前記第3ブロックとを含む第4ブロックの登録要求を、前記ネットワークへ出力し、
前記複数のブロックチェーンノードは、前記第4ブロックの登録要求に応じて、前記第4ブロックをブロックチェーンによって分散して保持すると共に、前記第4ブロックに破棄を示す前記フラグが含まれることを検出すると、前記第4ブロックに含まれる情報に対するブロックチェーンノード自身の無効化用電子署名と前記第4ブロックとを含む第5ブロックを、ブロックチェーンによって分散して保持する、
請求項1または2に記載の証明書配付システム。
The first terminal device sends a registration request for a fourth block including a flag indicating destruction and the third block to the network in response to an input from the user instructing the destruction of the certification target information. Output,
The plurality of block chain nodes detect that the fourth block is distributed and held by the block chain and the flag indicating discard is included in the fourth block in response to the registration request of the fourth block. Then, the fifth block including the invalidation electronic signature of the block chain node for the information included in the fourth block and the fourth block is distributed and held by the block chain.
The certificate distribution system according to claim 1 or 2.
前記第1の端末装置は、前記第4ブロックに、前記第3ブロック内の情報に対する前記ユーザの所有者電子署名を含め、
前記複数のブロックチェーンノードは、前記第4ブロックに破棄を示す前記フラグが含まれることを検出した場合、前記ユーザの所有者公開鍵を用いて、前記第3ブロック内の情報に対する前記所有者電子署名の正当性を検証し、正当であることが確認できた場合、前記第5ブロックを作成し、作成した前記第5ブロックをブロックチェーンによって分散して保持する、
請求項3記載の証明書配付システム。
The first terminal device includes, in the fourth block, an owner electronic signature of the user for the information in the third block,
When the plurality of block chain nodes detect that the flag indicating discard is included in the fourth block, the owner electronic for the information in the third block is used by using the owner public key of the user. If the validity of the signature is verified and it is confirmed that the signature is valid, the fifth block is created, and the created fifth block is distributed and held by a block chain.
The certificate distribution system according to claim 3.
第1の端末装置が、ブロックチェーンによって複数のブロックを保持するネットワークへ、ユーザが所有する証明対象情報を含む第1ブロックの登録要求を出力し、
前記ネットワークに属する複数のブロックチェーンノードが、前記第1ブロックの登録要求に応じて、前記第1ブロックをブロックチェーンによって分散して保持し、
複数の第2の端末装置が、前記ネットワークから、前記証明対象情報を含むブロックを、承認対象ブロックとして取得し、管理者からの入力に応じて、前記証明対象情報の登録承認を示す電子署名と前記承認対象ブロックとを含む第2ブロックの登録要求を、前記ネットワークへ出力し、
前記複数のブロックチェーンノードが、前記第2ブロックの登録要求に応じて、前記第2ブロックをブロックチェーンによって分散して保持し、
複数のブロックチェーンノードのうちの1台が、保持した前記第2ブロックのなかに、包含する前記電子署名の数が所定数に達した署名数充足ブロックがある場合、前記証明対象情報の所有者を証明する電子証明書と前記署名数充足ブロックとを含む第3ブロックを作成し、
複数のブロックチェーンノードが、前記第3ブロックをブロックチェーンによって分散して保持する、
証明書配付方法。
The first terminal device outputs a registration request for the first block including the certification target information owned by the user to the network holding a plurality of blocks by the block chain,
A plurality of block chain nodes belonging to the network, in response to the registration request of the first block, the first block is distributed and held by the block chain,
A plurality of second terminal devices acquire a block including the certification target information from the network as an approval target block, and an electronic signature indicating registration approval of the certification target information according to an input from an administrator; A registration request for the second block including the block to be approved is output to the network;
The plurality of block chain nodes hold the second block distributed by the block chain in response to the registration request of the second block,
When there is a signature number satisfying block in which the number of the electronic signatures included in the second block held by one of the plurality of block chain nodes reaches a predetermined number, the owner of the certification target information Create a third block including an electronic certificate that certifies and a signature number satisfaction block,
A plurality of block chain nodes hold the third block distributed by the block chain.
Certificate delivery method.
ブロックチェーンによって複数のブロックを保持するネットワークに属するコンピュータに、
前記複数のブロックのなかに、ユーザが所有する証明対象情報と、前記証明対象情報の登録承認を示す、所定数に達した電子署名とを含む署名数充足ブロックがある場合、前記証明対象情報の所有者を証明する電子証明書と前記署名数充足ブロックとを含むブロックを作成し、
作成した前記ブロックを保持すると共に、前記ネットワークに属する他のコンピュータに、前記ブロックを送信する、
処理を実行させる証明書配付プログラム。
To a computer belonging to a network that holds multiple blocks by blockchain,
In the plurality of blocks, when there is a signature number satisfaction block including a certification target information owned by a user and a digital signature that has reached a predetermined number indicating registration approval of the certification target information, Create a block including an electronic certificate that proves the owner and the signature number satisfaction block,
Holding the created block and sending the block to another computer belonging to the network;
Certificate distribution program that executes processing.
JP2017007755A 2017-01-19 2017-01-19 Certificate distribution system, certificate distribution method, and certificate distribution program Active JP6826290B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017007755A JP6826290B2 (en) 2017-01-19 2017-01-19 Certificate distribution system, certificate distribution method, and certificate distribution program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017007755A JP6826290B2 (en) 2017-01-19 2017-01-19 Certificate distribution system, certificate distribution method, and certificate distribution program

Publications (2)

Publication Number Publication Date
JP2018117287A true JP2018117287A (en) 2018-07-26
JP6826290B2 JP6826290B2 (en) 2021-02-03

Family

ID=62984366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017007755A Active JP6826290B2 (en) 2017-01-19 2017-01-19 Certificate distribution system, certificate distribution method, and certificate distribution program

Country Status (1)

Country Link
JP (1) JP6826290B2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345240A (en) * 2018-09-13 2019-02-15 海智(天津)大数据服务有限公司 A kind of electronic business license application system and method based on block chain
JP2020511017A (en) * 2019-02-28 2020-04-09 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited System and method for implementing blockchain-based digital certificates
JP2020092287A (en) * 2018-12-03 2020-06-11 富士通株式会社 Communication device, communication method, and communication program
JP2020098632A (en) * 2020-02-13 2020-06-25 株式会社モールサービス Electronic ticket management system, electronic ticket management method, and electronic ticket management program
JPWO2020026382A1 (en) * 2018-08-01 2020-08-20 株式会社モールサービス Electronic ticket management system, electronic ticket management method, and electronic ticket management program
WO2021095730A1 (en) * 2019-11-15 2021-05-20 ソニー株式会社 Information processing system, information processing device, and information processing method
CN113010871A (en) * 2021-03-16 2021-06-22 中南大学 Electronic calendar certificate verification method based on alliance block chain platform
JPWO2021149449A1 (en) * 2020-01-23 2021-07-29
JP2021131865A (en) * 2020-02-19 2021-09-09 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド Blockchain-based data processing method, apparatus, device, medium, and program
WO2021192992A1 (en) * 2020-03-23 2021-09-30 ソニーグループ株式会社 Entity, gateway device, information processing device, information processing system, and information processing method
WO2022009429A1 (en) * 2020-07-10 2022-01-13 さくら情報システム株式会社 Control device, control method, and drone device
JP2022522895A (en) * 2019-03-06 2022-04-20 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー Turing complete smart contract for cryptocurrencies
US11496304B2 (en) 2020-01-27 2022-11-08 Fujitsu Limited Information processing device, information processing method, and storage medium
WO2023042434A1 (en) * 2021-09-16 2023-03-23 ソニーグループ株式会社 Information processing device, information processing method, and program
US11888992B2 (en) 2019-02-28 2024-01-30 Advanced New Technologies Co., Ltd. System and method for generating digital marks
US11943339B2 (en) 2019-02-22 2024-03-26 Sony Group Corporation Information processing apparatus, information processing method, and program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076344A (en) * 1998-09-02 2000-03-14 Nippon Telegr & Teleph Corp <Ntt> Electronic agreement controlling method, its system and recording medium recording electronic agreement controlling program
US20060193475A1 (en) * 2003-08-06 2006-08-31 Bayerische Motoren Werke Aktiengesellschaft Method for signing a dataset in a public key system and data processing system for carrying out said method
JP2008186064A (en) * 2007-01-26 2008-08-14 Nec Corp Distributed authentication system, distributed authentication method, and distributed authentication program
JP2011075867A (en) * 2009-09-30 2011-04-14 Fujitsu Ltd Signature generation device, signature verification device, signature generation method, signature verification method, signature generation program, and signature verification program
JP2014216881A (en) * 2013-04-26 2014-11-17 株式会社日立システムズ Electronic transaction system, electronic transaction method and program
JP2018516026A (en) * 2015-03-20 2018-06-14 リヴェッツ・コーポレーションRivetz Corp. Automatic device integrity authentication using blockchain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076344A (en) * 1998-09-02 2000-03-14 Nippon Telegr & Teleph Corp <Ntt> Electronic agreement controlling method, its system and recording medium recording electronic agreement controlling program
US20060193475A1 (en) * 2003-08-06 2006-08-31 Bayerische Motoren Werke Aktiengesellschaft Method for signing a dataset in a public key system and data processing system for carrying out said method
JP2008186064A (en) * 2007-01-26 2008-08-14 Nec Corp Distributed authentication system, distributed authentication method, and distributed authentication program
JP2011075867A (en) * 2009-09-30 2011-04-14 Fujitsu Ltd Signature generation device, signature verification device, signature generation method, signature verification method, signature generation program, and signature verification program
JP2014216881A (en) * 2013-04-26 2014-11-17 株式会社日立システムズ Electronic transaction system, electronic transaction method and program
JP2018516026A (en) * 2015-03-20 2018-06-14 リヴェッツ・コーポレーションRivetz Corp. Automatic device integrity authentication using blockchain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"企業ネットを変える2017年注目の新技術[パート1:ブロックチェーン]", 日経コミュニケーション, vol. 第636号(2017年1月号), JPN6020047783, 1 January 2017 (2017-01-01), pages 16 - 20, ISSN: 0004404914 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020026382A1 (en) * 2018-08-01 2020-08-20 株式会社モールサービス Electronic ticket management system, electronic ticket management method, and electronic ticket management program
CN109345240B (en) * 2018-09-13 2022-03-04 海智(天津)大数据服务有限公司 Electronic business license application system and method based on block chain
CN109345240A (en) * 2018-09-13 2019-02-15 海智(天津)大数据服务有限公司 A kind of electronic business license application system and method based on block chain
JP2020092287A (en) * 2018-12-03 2020-06-11 富士通株式会社 Communication device, communication method, and communication program
JP7209518B2 (en) 2018-12-03 2023-01-20 富士通株式会社 Communication device, communication method, and communication program
US11469905B2 (en) 2018-12-03 2022-10-11 Fujitsu Limited Device and method for processing public key of user in communication system that includes a plurality of nodes
US11943339B2 (en) 2019-02-22 2024-03-26 Sony Group Corporation Information processing apparatus, information processing method, and program
US11888992B2 (en) 2019-02-28 2024-01-30 Advanced New Technologies Co., Ltd. System and method for generating digital marks
JP2020511017A (en) * 2019-02-28 2020-04-09 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited System and method for implementing blockchain-based digital certificates
JP7170898B2 (en) 2019-03-06 2022-11-14 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー Turing Complete Smart Contracts for Cryptocurrencies
JP2022522895A (en) * 2019-03-06 2022-04-20 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー Turing complete smart contract for cryptocurrencies
WO2021095730A1 (en) * 2019-11-15 2021-05-20 ソニー株式会社 Information processing system, information processing device, and information processing method
US20220391861A1 (en) * 2019-11-15 2022-12-08 Sony Group Corporation Information processing system, information processing device, and information processing method
JP7011276B2 (en) 2020-01-23 2022-01-26 学校法人東京理科大学 Registration device, verification device, identification device, and individual identification system
WO2021149449A1 (en) * 2020-01-23 2021-07-29 学校法人東京理科大学 Registration device, verification device, identification device, and individual identification system
JPWO2021149449A1 (en) * 2020-01-23 2021-07-29
US11496304B2 (en) 2020-01-27 2022-11-08 Fujitsu Limited Information processing device, information processing method, and storage medium
JP2020098632A (en) * 2020-02-13 2020-06-25 株式会社モールサービス Electronic ticket management system, electronic ticket management method, and electronic ticket management program
JP7224653B2 (en) 2020-02-13 2023-02-20 株式会社モールサービス Electronic ticket management system, electronic ticket management method and electronic ticket management program
JP2021131865A (en) * 2020-02-19 2021-09-09 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド Blockchain-based data processing method, apparatus, device, medium, and program
JP7066890B2 (en) 2020-02-19 2022-05-13 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド Data processing methods, devices, devices, media, and programs by blockchain
US11630821B2 (en) 2020-02-19 2023-04-18 Baidu Online Network Technology (Beijing) Co., Ltd. Blockchain-based data processing method and apparatus, device, and medium
WO2021192992A1 (en) * 2020-03-23 2021-09-30 ソニーグループ株式会社 Entity, gateway device, information processing device, information processing system, and information processing method
JPWO2022009429A1 (en) * 2020-07-10 2022-01-13
WO2022009429A1 (en) * 2020-07-10 2022-01-13 さくら情報システム株式会社 Control device, control method, and drone device
CN113010871A (en) * 2021-03-16 2021-06-22 中南大学 Electronic calendar certificate verification method based on alliance block chain platform
WO2023042434A1 (en) * 2021-09-16 2023-03-23 ソニーグループ株式会社 Information processing device, information processing method, and program

Also Published As

Publication number Publication date
JP6826290B2 (en) 2021-02-03

Similar Documents

Publication Publication Date Title
JP6826290B2 (en) Certificate distribution system, certificate distribution method, and certificate distribution program
CN110968743B (en) Data storage and data reading method and device for private data
US10708047B2 (en) Computer-readable recording medium storing update program and update method, and computer-readable recording medium storing management program and management method
CN112417379B (en) Cluster license management method and device, authorization server and storage medium
US9634831B2 (en) Role-based distributed key management
US8627083B2 (en) Online secure device provisioning with online device binding using whitelists
JP5457363B2 (en) Information processing apparatus, authentication system, authentication apparatus, information processing method, information processing program, recording medium, and integrated circuit
EP2559219B1 (en) Online secure device provisioning framework
JP2020010267A (en) Distributed medical information sharing system, medical information provision server, and program
US20110258434A1 (en) Online secure device provisioning with updated offline identity data generation and offline device binding
US8452015B2 (en) Propagating keys from servers to clients
US20110138177A1 (en) Online public key infrastructure (pki) system
US11831753B2 (en) Secure distributed key management system
EP2954639A1 (en) Method and apparatus for embedding secret information in digital certificates
JP2009116901A (en) Method for updating, method for sending, servers and terminals
JPWO2019239591A1 (en) Authentication system, authentication method, application provider, authentication device, and authentication program
US20220029820A1 (en) Validated payload execution
JPWO2017033442A1 (en) Information processing apparatus, authentication system, authentication method, and computer program
JP2007226470A (en) Authority management server, authority management method, and authority management program
JP2004005585A (en) Server apparatus and program management system
JP2009212689A (en) Automatic common key distribution system, client, third-person certification body side server, and automatic common key sharing method
JP5494171B2 (en) File management system, storage server, client, file management method and program
JP2014022920A (en) Electronic signature system, electronic signature method, and electronic signature program
KR20230149201A (en) Certificate verification method using blockchain and system for the same
KR102400455B1 (en) Private Key backup Key recovery framework in a distributed service environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20191011

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20191011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201228

R150 Certificate of patent or registration of utility model

Ref document number: 6826290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150