JP2018117287A - Certificate Distribution System, Certificate Distribution Method, and Certificate Distribution Program - Google Patents
Certificate Distribution System, Certificate Distribution Method, and Certificate Distribution Program Download PDFInfo
- 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
Links
Images
Abstract
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.
従来の技術では、公開鍵などの電子情報の所有者を証明するための電子証明書は、証明書管理用のサーバで集中管理される。そのため、取引を行うユーザは、端末装置を用いて、本人確認のために、適宜、証明書管理用のサーバにアクセスする。 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の実施の形態〕
まず第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
複数の端末装置2a,2b,2cのうち、例えば端末装置2aは、証明対象情報4aに対する電子証明書の発行を希望するユーザ8が使用する。証明対象情報4aは、例えばユーザ8が有する公開鍵である。また端末装置2b,2cは、例えばシステムの管理者9a,9bが使用する。
Among the plurality of
ここでユーザ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
端末装置2aは、作成したブロック4の登録要求を、ネットワーク1内の複数のブロックチェーンノード3a,3b,3cのうちの1台に送信する。複数のブロックチェーンノード3a,3b,3cは、ブロック4の登録要求に応じて、ブロック4をブロックチェーンによって分散して保持する。
The
複数の第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
例えば管理者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
保持したブロック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
例えばブロックチェーンノード3cは、証明書発行部7を有している。証明書発行部7は、例えばスマートコントラクトである。証明書発行部7は、証明対象情報4aに対して、証明書発行部7の電子署名6a(有効化用電子署名)付与し、電子証明書6とする。なお証明書発行部7の電子署名6aは、ブロックチェーンノード3cの電子署名でもある。そして複数のブロックチェーンノード3a,3b,3cが、作成されたブロック4−3をブロックチェーンによって分散して保持する。
For example, the
電子証明書6が付与されたブロック4−3がブロックチェーンによって分散して保持されることで、証明対象情報4aが有効化される。すなわち、任意のユーザが、自身の使用する端末装置を用いてブロック4−3を参照できる。そしてブロック4−3内に含まれている電子証明書6により、ブロック4−3に含まれている証明対象情報4aの所有者がユーザ8であることを確認できる。
The block 4-3 to which the
例えば、証明対象情報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
このように、電子証明書の発行をブロックチェーンを用いて行うことで、電子証明書の発行が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
ユーザ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
破棄を示すフラグを含むブロックに、いずれかのブロックチェーンノードが電子署名をすることで、該当ブロックに含まれる証明対象情報4aは無効となる。このように、証明対象情報4aを無効化する際には、ユーザ8が、破棄を示すブロックの登録手続きをするだけでよく、管理者の手間をかけずに済む。その結果、証明対象情報4aを迅速に無効化することができる。
When any block chain node applies a digital signature to a block including a flag indicating discard, the
なお、端末装置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
このように、証明対象情報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
〔第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
なお第2の実施の形態のネットワークシステムには、ブロックチェーンノード200,200a〜200f以外にも、図示していない多数のブロックチェーンノードが接続されている。同様に第2の実施の形態のネットワークシステムには、複数の端末装置100,100a〜100c以外にも、図示していない多数の端末装置が接続されている。
In addition to the
図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
メモリ102は、端末装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
The
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
Peripheral devices connected to the bus 109 include a
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
The
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
A monitor 21 is connected to the
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 22 and a mouse 23 are connected to the
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
機器接続インタフェース107は、端末装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
The
ネットワークインタフェース108は、ネットワークスイッチ31に接続されている。ネットワークインタフェース108は、ネットワークスイッチ31を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The
以上のようなハードウェア構成によって、第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
端末装置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
第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
以下、ブロックチェーンネットワーク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
FIG. 5 is a block diagram illustrating an example of functions of the terminal device and the block chain node. The
管理者51が使用する端末装置100aは、OS110aとWebブラウザ120aとを有している。Webブラウザ120aは、証明書の発行手続きを行う証明書管理部122aを有している。
The
ブロックチェーンノード200は、OS210、Webサーバ220、およびブロックチェーンサブシステム230を有している。ブロックチェーンサブシステム230は、2つのブロックチェーンネットワーク60,61を介して、ブロックの配布および保持を行う。例えばブロックチェーンサブシステム230は、ブロック記憶部231を有しており、端末装置100または他のブロックチェーンノード200aから取得したブロックを、ブロック記憶部231に格納する。またブロックチェーンサブシステム230は、スマートコントラクト232を有している。スマートコントラクト232は、ブロックチェーンネットワーク61上での証明書の発行や無効化を行う。
The
同様にブロックチェーンノード200aは、OS210a、Webサーバ220a、およびブロックチェーンサブシステム230aを有している。ブロックチェーンサブシステム230aは、ブロックを保持するためのブロック記憶部231aや、証明書の発行や無効化を行うスマートコントラクト232aを有している。
Similarly, the
ブロックチェーン参加者であるユーザ41は、端末装置100を用いて、ブロックチェーンネットワーク60を介して取引を行うと共に、ブロックチェーンネットワーク61を介して、証明書による本人証明を行う。管理者51は、端末装置100aを用いて、ブロックチェーンネットワーク60で保持される電子情報の管理や、ブロックチェーンネットワーク61で保持される証明書の発行および管理を行う。
The
例えばユーザ41は、端末装置100を用いて、リファレンスフラグ「0」(登録)の値と公開鍵とを含むデータを作成し、そのデータに自分の秘密鍵で電子署名を行う。電子署名を行うとは、署名対象のデータまたはそのデータのハッシュ値を、秘密鍵で暗号化することである。以下、電子署名を行うことで生成される暗号化されたデータを、単に「署名」と呼ぶ。そしてユーザ41は、端末装置100aを用いて、署名付きのデータを、ブロックチェーンネットワーク61上に登録する。この際、秘密鍵は、各参加者が保持しておく。
For example, the
管理者51は、端末装置100aを用いて、証明書発行前(リファレンスフラグが「0」)のブロックに自分の署名を付与したデータを作成する。そして管理者51は、端末装置100aを用いて、作成したデータを、ブロックチェーンネットワーク61上に登録する。
The
ブロックチェーンネットワーク61上のスマートコントラクト232,232aは、規定数以上の数の承認を得たブロックを確認した場合に、そのブロックのリファレンスフラグを「0」より大きい値「1」(有効)に変更する。さらにスマートコントラクト232,232aは、そのブロックにスマートコントラクト232,232aの署名を付与したブロックを生成する。そしてスマートコントラクト232,232aは、生成したブロックを、公開鍵証明書として新たに、ブロックチェーンサブシステム230,230aに登録することを要求する。
When the
ユーザ41に電子情報を送信する他のユーザは、ブロックチェーンネットワーク61上に登録された、値が「0」より大きいリファレンスフラグの証明書に含まれる公開鍵を、ユーザ41へ送る情報の暗号化に使用する。
Other users who transmit electronic information to the
ユーザ41の公開鍵の証明書の無効化は、ユーザ41がリファレンスフラグの値を「−1」(無効)にしたデータに電子署名を行い、ブロックチェーンサブシステム230に登録を要求する。スマートコントラクト232は、このリファレンスフラグの値が「−1」のブロックを読み込み、ユーザ41自身が登録したかを署名によって検証する。スマートコントラクト232は、検証できれば、そのブロックにスマートコントラクト232自身の署名を付けて、ブロックチェーンサブシステム230に登録する。これにより、管理者51の手を煩わせずに、証明書を無効化できる。
To invalidate the public key certificate of the
以下、図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
ブロック62−1には、値が「0」のリファレンスフラグ62a、ユーザ41の公開鍵62b、公開鍵62bに対する鍵所有者(ユーザ41)の署名62cが含まれる。このブロック62−1は、ブロックチェーンネットワーク61を介して、すべてのブロックチェーンノードに配布される。
The block 62-1 includes a
そしてブロック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
例えば管理者52がN番目の管理者として、登録承認の電子署名を行う。管理者52が電子署名を行うことで、N番目の管理者52の署名62fを含むブロック62−3が、ブロックチェーンネットワーク61上に登録される。ブロック62−3には、N−1番目の管理者が登録承認を行ったことで生成されたブロックのハッシュ値62gが含まれる。ブロック62−3では、リファレンスフラグ62aの値がまだ「0」のままである。
For example, the
規定数(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
公開鍵証明書62jを含むブロック62−4によって、公開鍵62bの所有者がユーザ41であることが証明される。他のユーザは、ブロック62−4から取得した公開鍵62bを用いてユーザ41に送信する電子情報を暗号化することで、その電子情報を安全にユーザ41に渡すことができる。
The block 62-4 including the public
ユーザ41は、公開鍵62bを無効化させる場合、ブロック62−4におけるリファレンスフラグ62aの値を「−1」(無効)にしたブロック62−5を、ブロックチェーンネットワーク61上に登録する。ブロック62−5には、ブロック62−4のハッシュ値62kが含まれている。ブロック62−5が登録されると、例えばスマートコントラクト232aが電子署名を行う。
When the
なお、第2の実施の形態では、リファレンスフラグ62aの値が「1」のブロックで、ブロックチェーンネットワーク61上のスマートコントラクトの署名があるものだけが、有効でかつ他のユーザから参照可能なブロックである。
In the second embodiment, only blocks with the value of the
以下、ブロックチェーンネットワーク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
FIG. 7 is a diagram showing an example of creating a public key registration block. For example, the
すると端末装置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
ブロックチェーンサブシステム230は、登録ブロック63を、図6に示したブロック62−1としてブロック記憶部231に格納すると共に、他のブロックチェーンノードに送信する。
The
図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
端末装置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
ブロックチェーンサブシステム230aは、登録ブロック64に、ブロック62−1のハッシュ値を追加して、ブロック62−2を生成する。そしてブロックチェーンサブシステム230aは、ブロック62−2を、ブロック記憶部231aに格納すると共に、他のブロックチェーンノードに送信する。
The
以後同様に、他の管理者も、管理者の署名の数が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
このブロック62−6のリファレンスフラグ62aの値は、まだ「0」である。またブロック62−6には、公開鍵62b、公開鍵62bの所有者の署名62c、および既に登録承認を行った各管理者の署名が含まれる。図9の例では、ブロック62−6には、1番目の管理者の署名62dからN−1番目の管理者の署名62nが含まれている。
The value of the
端末装置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
ブロックチェーンサブシステム230aは、登録ブロック65に、ブロック62−6のハッシュ値を追加して、ブロック62−3を生成する。そしてブロックチェーンサブシステム230aは、ブロック62−3を、ブロック記憶部231aに格納すると共に、他のブロックチェーンノードに送信する。
The
このようにして、規定の人数分の登録承認が完了すると、いずれかのブロックチェーンノードで実行されているスマートコントラクトが公開鍵証明書を発行する。
図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
このブロック62−3のリファレンスフラグ62aの値は、まだ「0」である。またブロック62−3には、公開鍵62b、公開鍵62bの所有者の署名62c、および既に登録承認を行った各管理者の署名が含まれる。図10の例では、ブロック62−3には、1番目の管理者の署名62dからN番目の管理者の署名62fが含まれている。
The value of the
スマートコントラクト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
ブロックチェーンサブシステム230aは、登録ブロック66に、ブロック62−3のハッシュ値を追加して、ブロック62−4を生成する。そしてブロックチェーンサブシステム230aは、ブロック62−4を、ブロック記憶部231aに格納すると共に、他のブロックチェーンノードに送信する。
The
このようにしてユーザ41が登録した公開鍵62bに関する公開鍵証明書62jが発行され、他のユーザが公開鍵62bを安心して使用できるようになる。使用可能となった公開鍵62bは、ユーザ41の意思で破棄することができる。
In this way, the public
図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
ブロックチェーンサブシステム230は、ブロック62−4のハッシュ値を登録ブロック67に追加して、ブロック62−5を作成する。そしてブロックチェーンサブシステム230は、ブロック62−5をブロック記憶部231に格納すると共に、他のブロックチェーンノードに送信する。
The
ユーザ41の公開鍵62bの破棄を示すブロック62−5がブロックチェーンネットワーク61に登録されると、いずれかのブロックチェーンノードで実行されているスマートコントラクトにより、公開鍵62bの無効化処理が行われる。
When the block 62-5 indicating the destruction of the public key 62b of the
図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
このブロック62−5のリファレンスフラグ62aの値は「−1」である。またブロック62−5には、公開鍵62b、公開鍵62bの所有者の署名62c、既に登録承認を行った各管理者の署名、公開鍵証明書62j、および破棄の処理で追加された公開鍵62bの所有者の署名62nが含まれる。
The value of the
スマートコントラクト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
ブロックチェーンサブシステム230は、登録ブロック68に、ブロック62−5のハッシュ値を追加して、ブロック62−8を生成する。そしてブロックチェーンサブシステム230は、ブロック62−8を、ブロック記憶部231に格納すると共に、他のブロックチェーンノードに送信する。
The
ブロックチェーンネットワーク61では、関連する複数のブロックのうち、最後に更新されたブロックのみが有効となる。そのため、ブロック62−8が登録されたことにより、ブロック62−4は使用不能となる。またブロック62−8には、公開鍵62bが無効であることを示すリファレンスフラグ62a「−1」が設定されている。その結果、以後の公開鍵62bの使用が抑止される。
In the
なお無効化される前であれば、ユーザ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
FIG. 13 is a diagram illustrating an example of using a public key. The
端末装置100cは、スマートコントラクト232aの公開鍵75を用いて、公開鍵証明書62jの検証を行う。例えば端末装置100cは、公開鍵証明書62jに含まれるスマートコントラクト232aの署名を、スマートコントラクト232aの公開鍵75で復号する。次に端末装置100cは、復号されたデータと、ブロック62−4に含まれている公開鍵62bのハッシュ値とを比較する。復号されたデータと公開鍵62bのハッシュ値とが一致した場合、公開鍵62bの所有者がユーザ41であることが確認される。
The
公開鍵62bの所有者がユーザ41であることが確認できた場合、端末装置100cは、ユーザ42の指示に従って、公開鍵62bを使用して、ユーザ41に渡す電子情報を暗号化する。端末装置100cは、暗号化した電子情報を含む登録ブロックを生成し、そのブロックのブロックチェーンネットワーク60への登録要求を、ブロックチェーンサブシステム230cに送信する。
When it is confirmed that the owner of the
以下、図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
ブロックチェーンノード200は、受信した登録ブロック63を、ブロックチェーンネットワーク61上のブロック62−1(図6参照)として記憶する(ステップS105)。またブロックチェーンノード200は、ブロック62−1を、他のブロックチェーンノードに配布する(ステップS106)。
The
図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
ブロックを取得した端末装置100aは、管理者51の秘密鍵72で、ユーザ41の公開鍵62bと署名62cとのハッシュ値に電子署名を行う(ステップS113)。このとき、リファレンスフラグ62aの値は「0」のままである。端末装置100aは、取得したブロック62−1に、管理者51の署名62dを追加した登録ブロック64の登録要求を、ブロックチェーンノード200aに送信する(ステップS114)。
The
ブロックチェーンノード200aは、受信した登録ブロック64にブロック62−1のハッシュ値を追加し、ブロックチェーンネットワーク61上のブロック62−2(図6参照)として記憶する(ステップS115)。またブロックチェーンノード200aは、ブロック62−2を、他のブロックチェーンノードに配布する(ステップS116)。
The
このような登録承認が、N人の管理者によって行われると、公開鍵62bを有効化するための公開鍵証明書の発行処理が行われる。
図16は、公開鍵証明書発行処理の手順の一例を示すシーケンス図である。なお、公開鍵証明書発行処理は、ブロックチェーンノード200aの内部処理であるため、図16では、ブロックチェーンノード200a内の各要素の処理をシーケンス図で表している。
When such registration approval is performed by N managers, a public key certificate issuance process for validating the
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
スマートコントラクト232aは、ブロックチェーンサブシステム230aに登録されているブロックのうち、公開鍵62bの登録要求に関するブロックの承認状況を監視する(ステップS121)。例えばスマートコントラクト232aは、ブロックチェーンサブシステム230aに対して、管理者の署名がN個以上となった未承認(リファレンスフラグ62aの値が「0」)のブロック62−3を要求する。ブロックチェーンサブシステム230aは、管理者の署名がN個以上となった未承認のブロック62−3を検出すると、そのブロック62−3をスマートコントラクト232aに送信する(ステップS122)。
The
スマートコントラクト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
ブロックチェーンサブシステム230aは、受信した登録ブロック66にブロック62−3のハッシュ値を追加し、ブロックチェーンネットワーク61上のブロック62−4(図6参照)として記憶する(ステップS127)。またブロックチェーンサブシステム230aは、ブロック62−4を、他のブロックチェーンノードに配布する(ステップS128)。
The
公開鍵証明書62jが発行されることで、公開鍵62bは有効化される。公開鍵62bは所有者であるユーザ41からの指示で破棄される。
図17は、公開鍵の破棄処理の手順の一例を示すシーケンス図である。端末装置100は、ユーザ41から公開鍵62bの破棄の指示が入力されると、ブロックチェーンノード200に、リファレンスフラグ62aの値が「1」のブロック62−4の取得要求を送信する(ステップS131)。ブロックチェーンノード200は、取得要求に応じて、リファレンスフラグ62aの値が「1」のブロック62−4を、端末装置100に送信する(ステップS132)。
The
FIG. 17 is a sequence diagram illustrating an example of a procedure for public key destruction processing. When the
ブロック62−4を取得した端末装置100は、リファレンスフラグ62aの値を「−1」(無効)に更新する(ステップS133)。次に端末装置100は、取得したブロック62−4に含まれる公開鍵62b、各種署名、および公開鍵証明書62jのハッシュ値を計算し、そのハッシュ値にユーザ41の秘密鍵62mで電子署名を行う(ステップS134)。そして端末装置100は、取得したブロック62−4に、新たに生成した署名62nを追加した登録ブロック67の登録要求を、ブロックチェーンノード200に送信する(ステップS135)。
The
ブロックチェーンノード200は、受信した登録ブロック67にブロック62−4のハッシュ値を追加し、ブロックチェーンネットワーク61上のブロック62−5(図6参照)として記憶する(ステップS136)。またブロックチェーンノード200は、ブロック62−5を、他のブロックチェーンノードに配布する(ステップS137)。
The
公開鍵62bの破棄処理が行われると、ブロックチェーンネットワーク61上で、公開鍵62bが無効化される。
図18は、公開鍵無効化処理の手順の一例を示すシーケンス図である。なお、公開鍵無効化処理は、ブロックチェーンノード200の内部処理であるため、図18では、ブロックチェーンノード200内の各要素の処理をシーケンス図で表している。
When the process of destroying the
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
スマートコントラクト232は、ブロックチェーンサブシステム230に登録されているブロックのうち、破棄された公開鍵62bに関するブロックの有無を監視する(ステップS141)。例えばスマートコントラクト232は、ブロックチェーンサブシステム230に対して、リファレンスフラグ62aの値が「−1」のブロック62−5を要求する。ブロックチェーンサブシステム230は、該当するブロック62−5を検出すると、そのブロック62−5をスマートコントラクト232に送信する(ステップS142)。
The
スマートコントラクト232は、リファレンスフラグ62aの値が「−1」(無効)のブロック62−5を取得できたか否かを判断する(ステップS143)。該当ブロック62−5が取得できない場合、スマートコントラクト232は、破棄ブロックの監視を続ける。該当ブロック62−5が取得できた場合、破棄時にユーザ41が追加した署名62nを検証する(ステップS144)。例えばスマートコントラクト232は、署名62nを、ユーザ41の公開鍵62bで復号した結果と、署名に用いられたデータのハッシュ値とを比較し、一致していれば、ユーザ41の正しい署名であると判断する。
The
署名が正しければ、スマートコントラクト232は、ブロック62−5に含まれるすべての署名(公開鍵証明書62jを含む)とリファレンスフラグ62aとのハッシュ値に、スマートコントラクト232の秘密鍵78で電子署名をする(ステップS145)。そしてスマートコントラクト232は、取得したブロック62−5に、スマートコントラクト232による新たな署名62oを含めた登録ブロック68の登録要求を、ブロックチェーンサブシステム230に送信する(ステップS146)。
If the signature is correct, the
ブロックチェーンサブシステム230は、受信した登録ブロック68にブロック62−5のハッシュ値を追加し、ブロックチェーンネットワーク61上のブロック62−8として記憶する(ステップS147)。またブロックチェーンサブシステム230は、ブロック62−8を、他のブロックチェーンノードに配布する(ステップS148)。
The
このようにして、ユーザ41が破棄を指示した公開鍵62bが無効化される。
次に、他のユーザ41による有効な公開鍵62bの使用手順について説明する。
図19は、公開鍵の使用手順の一例を示すシーケンス図である。公開鍵62bの使用者であるユーザ42は、端末装置100cに対して、例えばユーザ41の公開鍵62bを使用したデータの暗号化を指示する。すると端末装置100cは、公開鍵証明書を含むユーザ41の最新ブロックの取得要求を、ブロックチェーンノード200cに送信する(ステップS151)。ブロックチェーンノード200cは、ユーザ41の公開鍵62bを含む最新のブロックを、端末装置100cに送信する(ステップS152)。
In this way, the
Next, a procedure for using a valid public key 62b by another
FIG. 19 is a sequence diagram illustrating an example of a procedure for using a public key. The
ブロックを取得した端末装置100cは、取得したブロックに示されているリファレンスフラグ62aの値が「0」より大きいか否かを判断する(ステップS153)。端末装置100cは、リファレンスフラグ62aの値が「0」より大きければ、処理をステップS154に進める。また端末装置100cは、リファレンスフラグ62aの値が「0」以下であれば、処理をステップS157に進める。
The
端末装置100cは、ハッシュ値の比較により、取得したブロックに含まれる公開鍵証明書に付与されているスマートコントラクト232aの署名を検証する(ステップS154)。例えば端末装置100cは、ブロックチェーンネットワーク61を介してスマートコントラクト232aの公開鍵62bを取得し、その公開鍵62bで署名を復号する。端末装置100cは、復号されたデータと、公開鍵62bのハッシュ値とを比較し、一致すれば、正しい署名であると判断する。
The
端末装置100は、スマートコントラクト232aの署名が正しく検証できたか否かを判断する(ステップS155)。端末装置100cは、正しく検証できた場合、処理をステップS156に進める。また端末装置100cは、正しく検証できなかった場合、処理をステップS157に進める。
The
正しく検証できた場合、端末装置100cは、公開鍵62bを使用して、ユーザ41に送信するデータの暗号化などの処理を行う(ステップS156)。また端末装置100cは、リファレンスフラグ62aが「0」以下であるか、スマートコントラクト232aの公開鍵62bの正当性が確認できない場合、ユーザ41の公開鍵62bが使用できない旨のメッセージを出力する(ステップS157)。
If the verification is successful, the
このようにして、スマートコントラクト232aの署名によって正当性が担保されている場合に限り、公開鍵62bを使用することができる。
次に、第2の実施の形態に係る処理をブロックチェーンシステムに実行させるためのユーザインタフェースについて、図20〜図22を参照して説明する。
In this way, the
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
ユーザ41がOKボタン81cを押下すると、端末装置100は、テキストボックス81aに示されているファイル内の公開鍵62bを含むブロックの登録要求を、ブロックチェーンノード200に送信する。またユーザ41がキャンセルボタン81dを押下すると、端末装置100は、ブロックの登録要求を送信せずに、公開鍵登録画面81を閉じる。
When the
図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
公開鍵表示部82aには、ユーザ41の公開鍵62bが表示される。管理者数表示部82bには、登録承認を行うことができる管理者の人数が表示される。既承認人数表示部82cには、既に登録承認を行った管理者の人数が表示される。
The public key 62b of the
公開鍵62bを承認する管理者51は、例えばテキストボックス82dに、管理者51の秘密鍵を含むファイルの名称を入力する。また管理者51は、ボタン82eを選択することで、端末装置100a内のファイルのリストを画面表示させることができる。管理者51は、表示されたファイルのリストの中から、秘密鍵を含むファイルを選択する。すると選択されたファイルのファイル名が、テキストボックス82dに設定される。
For example, the
管理者51が承認ボタン82fを押下すると、端末装置100aは、管理者51の署名を含む登録ブロックの登録要求を、ブロックチェーンノード200aに送信する。登録承認が正常に終了すると、例えば端末装置100aの画面に、登録承認結果画面83が表示される。登録承認結果画面83には、例えば登録承認を行った管理者の人数が表示される。また登録承認結果画面83には、求められている人数の管理者が登録承認を行い、公開鍵62bが有効化された場合、公開鍵62bの有効化を示すメッセージが表示される。管理者51がOKボタン83aを押下すると、端末装置100aは、登録承認結果画面83を閉じる。
When the
また管理者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
FIG. 22 is a diagram illustrating an example of a public key revocation screen. The
ユーザ41がOKボタン84cを押下すると、端末装置100は、テキストボックス84aに示されているファイル内の公開鍵62bの破棄を示すブロック(リファレンスフラグ62aの値が「−1」)の登録要求を、ブロックチェーンノード200に送信する。またユーザ41がキャンセルボタン84dを押下すると、端末装置100は、ブロックの登録要求を送信せずに、公開鍵無効化画面84を閉じる。
When the
無効化が正常に終了すると、例えば端末装置100の画面に、無効化結果画面85が表示される。無効化結果画面85には、公開鍵表示部85aに、無効化された公開鍵62bが表示される。ユーザ41がOKボタン85bを押下すると、端末装置100は、無効化結果画面85を閉じる。
When the invalidation ends normally, an
以上のようにして、ブロックチェーンネットワーク61を用いて公開鍵証明書の発行および管理を行うことができる。その結果、証明書管理サーバで公開鍵証明書の発行や管理を行う場合に比べ、可用性が向上する。すなわち第2の実施の形態では、公開鍵62bの発行や管理処理が集中化してしまうことがなく、特定のサーバのダウンにより、公開鍵証明書が発行できなくなったり、公開鍵62bが参照できなくなったりすることが抑止される。
As described above, it is possible to issue and manage public key certificates using the
しかも、第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
さらに第2の実施の形態では、公開鍵62bを管理するブロックにリファレンスフラグ62aを設け、リファレンスフラグ62aによって登録・有効・無効の各状態を管理している。これにより、例えば公開鍵62bを無効化する場合、ユーザ41自身が、公開鍵62bの破棄を示すブロックを登録するだけでよい、管理者の手間をかけずに済むとともに、無効化を迅速に行うことができる。
Furthermore, in the second embodiment, a
〔第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
図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
図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
図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
図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
図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
図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
図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
図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
図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
図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
このように第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
また第2、第3の実施の形態では、公開鍵62bについて証明書を発行しているが、他の情報について、その情報の所有者の証明する証明書を発行することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
In the second and third embodiments, a certificate is issued for the
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
Claims (6)
前記ネットワークから、前記証明対象情報を含むブロックを、承認対象ブロックとして取得し、管理者からの入力に応じて、前記証明対象情報の登録承認を示す電子署名と前記承認対象ブロックとを含む第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.
前記複数のブロックチェーンノードは、前記第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.
前記複数のブロックチェーンノードは、前記第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ブロックをブロックチェーンによって分散して保持し、
複数の第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.
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)
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)
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 |
-
2017
- 2017-01-19 JP JP2017007755A patent/JP6826290B2/en active Active
Patent Citations (6)
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)
Title |
---|
"企業ネットを変える2017年注目の新技術[パート1:ブロックチェーン]", 日経コミュニケーション, vol. 第636号(2017年1月号), JPN6020047783, 1 January 2017 (2017-01-01), pages 16 - 20, ISSN: 0004404914 * |
Cited By (27)
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 |