JP2024048265A - Block chain verification method and block chain verification system - Google Patents
Block chain verification method and block chain verification system Download PDFInfo
- Publication number
- JP2024048265A JP2024048265A JP2022154202A JP2022154202A JP2024048265A JP 2024048265 A JP2024048265 A JP 2024048265A JP 2022154202 A JP2022154202 A JP 2022154202A JP 2022154202 A JP2022154202 A JP 2022154202A JP 2024048265 A JP2024048265 A JP 2024048265A
- Authority
- JP
- Japan
- Prior art keywords
- block
- electronic signature
- blockchain
- new block
- secure element
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims description 32
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 2
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
本願は、ブロックチェーンにおける改ざんを検知する技術に関する。 This application relates to technology for detecting tampering in blockchain.
仮想通貨を実現するための分散型台帳技術として開発されたブロックチェーンが急速に普及している(例えば、特許文献1)。なお、本願において、ブロックチェーンとは、一般社団法人日本ブロックチェーン協会で定義している広義のブロックチェーンではなく、取引履歴(トランザクションデータ)をまとめたブロックを時系列に連鎖させて記録した台帳を意味する。 Blockchain, which was developed as a distributed ledger technology for implementing virtual currencies, is rapidly becoming popular (for example, see Patent Document 1). In this application, blockchain does not refer to the broad definition of blockchain as defined by the Japan Blockchain Association, but rather to a ledger that records blocks that compile transaction histories (transaction data) in a chronological order.
ブロックチェーンに記憶するブロックは、一つ前のブロックから算出したハッシュ値を含む。このことにより、ブロックチェーンに記録されたブロックは時系列に連鎖し、ブロックチェーンに含まれるブロックの改ざんを困難にしている。また、P2P(Peer to Peer)型のブロックチェーンネットワークに含まれる多くのノードでブロックチェーンを分散管理することで、ブロックチェーンの改ざんをより困難にしている。 Blocks stored in the blockchain contain a hash value calculated from the previous block. This allows blocks recorded in the blockchain to be linked in chronological order, making it difficult to tamper with blocks contained in the blockchain. In addition, the blockchain is managed in a distributed manner across many nodes in a P2P (Peer to Peer) blockchain network, making it even more difficult to tamper with the blockchain.
ブロックチェーンには、管理者が不在のパブリックブロックチェーンに加えて、管理者が存在するパーミッション型ブロックチェーンがある。パーミッション型ブロックチェーンは管理者の数によって、プライベートブロックチェーンとコンソーシアム型ブロックチェーンに分かれる。管理者が単一であるパーミッション型ブロックチェーンはプライベートブロックチェーンと呼ばれる。管理者が複数であるパーミッション型ブロックチェーンはコンソーシアム型ブロックチェーンと呼ばれる。 In addition to public blockchains, which have no administrator, there are permissioned blockchains, which have administrators. Permissioned blockchains are divided into private blockchains and consortium blockchains depending on the number of administrators. A permissioned blockchain with a single administrator is called a private blockchain. A permissioned blockchain with multiple administrators is called a consortium blockchain.
パーミッション型ブロックチェーンは、パブリックブロックチェーンと比較してブロックチェーンの改ざんリスクが高いと言われている。これは、限られた人数の管理者が承認すれば、ブロックチェーンの改ざんが可能になるからである。このことは、管理者が単一であるプライベートブロックチェーンで特に問題になり易い。 Permissioned blockchains are said to have a higher risk of blockchain tampering than public blockchains. This is because the blockchain can be tampered with if approved by a limited number of administrators. This is particularly likely to be a problem in private blockchains with a single administrator.
そこで、本発明は、パーミッション型ブロックチェーンにおける改ざんを検知できるようにすることを目的とする。 The present invention aims to make it possible to detect tampering in a permissioned blockchain.
本願で開示する第1発明は、ブロックチェーンを管理する管理者ノードと前記管理者ノードと接続しているセキュアエレメントの間で実行されるブロックチェーン検証方法である。
方法となる第1発明に係るブロックチェーン検証方法において、前記管理者ノードは、ブロックチェーンに追加する新規ブロックを生成すると、前記セキュアエレメントと共有化した電子署名生成アルゴリズムにより、一つ前のブロックの電子署名とブロックからブロックの電子署名を生成する処理を、ブロックチェーンに含まれる各々のブロックごとに実行して、ブロックチェーンにおいて最後になる最後ブロックの電子署名を生成するステップaと、前記電子署名生成アルゴリズムにより、前記最後ブロックの電子署名と新規ブロックから新規ブロックの電子署名を生成し、新規ブロックの電子署名と新規ブロックを前記セキュアエレメントに送信するステップbをそれぞれ実行する。
第1発明に係るブロックチェーン検証方法において、前記セキュアエレメントは、前記電子署名生成アルゴリズムにより、前記セキュアエレメントが記憶している最後ブロックの電子署名と前記管理者ノードが送信した新規ブロックから新規ブロックの電子署名を生成し、前記セキュアエレメントが生成した新規ブロックの電子署名を用いて、前記管理者ノードから受信した新規ブロックの電子署名の正当性を検証するステップcと、新規ブロックの電子署名の正当性検証に成功すると、前記セキュアエレメントが記憶している最後ブロックの電子署名を、正当性検証に成功した新規ブロックの電子署名に更新した後、新規ブロックの電子署名の正当性検証に成功したことを前記管理者ノードへ通知するステップdを実行する。
The first invention disclosed in this application is a blockchain verification method executed between an administrator node that manages a blockchain and a secure element connected to the administrator node.
In the blockchain verification method of the first invention, when the administrator node generates a new block to add to the blockchain, the administrator node executes a process of generating an electronic signature of the block from the electronic signature of the previous block and the block using an electronic signature generation algorithm shared with the secure element, for each block included in the blockchain, to generate an electronic signature of the last block, which will be the last block in the blockchain, and a step b of generating an electronic signature of a new block from the electronic signature of the last block and the new block using the electronic signature generation algorithm, and sending the electronic signature of the new block and the new block to the secure element.
In the blockchain verification method of the first invention, the secure element executes step c of generating an electronic signature of a new block from the electronic signature of the last block stored in the secure element and the new block sent by the administrator node using the electronic signature generation algorithm, and verifying the validity of the electronic signature of the new block received from the administrator node using the electronic signature of the new block generated by the secure element; and if the validity verification of the electronic signature of the new block is successful, step d of updating the electronic signature of the last block stored in the secure element to the electronic signature of the new block whose validity verification has been successful, and then notifying the administrator node of the success of the validity verification of the electronic signature of the new block.
本願で開示する第2発明は、ブロックチェーンを管理する管理者ノードと前記管理者ノードと接続しているセキュアエレメントを含むブロックチェーン検証システムである。
システムの発明となる第2発明に係るブロックチェーン検証システムにおいて、前記管理者ノードは、ブロックチェーンに追加する新規ブロックを生成すると、前記セキュアエレメントと共有化した電子署名生成アルゴリズムにより、一つ前のブロックの電子署名とブロックからブロックの電子署名を生成する処理を、ブロックチェーンに含まれる各々のブロックごとに実行して、ブロックチェーンにおいて最後になる最後ブロックの電子署名を生成するステップaと、前記電子署名生成アルゴリズムにより、前記最後ブロックの電子署名と新規ブロックから新規ブロックの電子署名を生成し、新規ブロックの電子署名と新規ブロックを前記セキュアエレメントに送信するステップbを実行するブロックチェーン検証部を備える。
第2発明に係るブロックチェーン検証システムにおいて、前記セキュアエレメントは、前記電子署名生成アルゴリズムにより、前記セキュアエレメントが記憶している最後ブロックの電子署名と前記管理者ノードが送信した新規ブロックから新規ブロックの電子署名を生成し、前記セキュアエレメントが生成した新規ブロックの電子署名を用いて、前記管理者ノードから受信した新規ブロックの電子署名の正当性を検証するステップcと、新規ブロックの電子署名の正当性検証に成功すると、前記セキュアエレメントが記憶している最後ブロックの電子署名を、正当性検証に成功した新規ブロックの電子署名に更新した後、新規ブロックの電子署名の正当性検証に成功したことを前記管理者ノードへ通知するステップdを実行する電子署名検証部を備える。
The second invention disclosed in this application is a blockchain verification system that includes an administrator node that manages a blockchain and a secure element connected to the administrator node.
In the blockchain verification system of the second invention, which is a system invention, the administrator node has a blockchain verification unit that executes, when it generates a new block to be added to the blockchain, a process of generating an electronic signature of the block from the electronic signature of the previous block and the block using an electronic signature generation algorithm shared with the secure element, for each block included in the blockchain, to generate an electronic signature of a last block, which will be the last block in the blockchain, and a step b of generating an electronic signature of a new block from the electronic signature of the last block and the new block using the electronic signature generation algorithm, and sending the electronic signature of the new block and the new block to the secure element.
In the blockchain verification system of the second invention, the secure element comprises an electronic signature verification unit that executes step c of generating an electronic signature of a new block from the electronic signature of the last block stored in the secure element and the new block sent by the administrator node using the electronic signature generation algorithm, and verifying the validity of the electronic signature of the new block received from the administrator node using the electronic signature of the new block generated by the secure element, and step d of, if the validity verification of the electronic signature of the new block is successful, updating the electronic signature of the last block stored in the secure element to the electronic signature of the new block whose validity verification has been successful, and then notifying the administrator node that the validity verification of the electronic signature of the new block has been successful.
本願で開示する本発明は、ブロックチェーンを管理する管理者ノードが、管理者ノードと接続しているセキュアエレメントを利用して、パーミッション型ブロックチェーンにおける改ざんを検知できるように構成されている。 The invention disclosed in this application is configured so that an administrator node that manages a blockchain can detect tampering in a permissioned blockchain by using a secure element connected to the administrator node.
ここから,本願で開示する発明に係る実施形態について記載する。本実施形態は,本願で開示する発明の理解を容易にするためのものである。本願で開示する発明は,本実施形態に限定されるものではない。また,特に断りのない限り,図面は,本願で開示する発明の理解を容易にするために描かれた模式的な図である。 From here, an embodiment of the invention disclosed in this application will be described. This embodiment is intended to facilitate understanding of the invention disclosed in this application. The invention disclosed in this application is not limited to this embodiment. Furthermore, unless otherwise specified, the drawings are schematic diagrams drawn to facilitate understanding of the invention disclosed in this application.
図1は、本実施形態に係るブロックチェーン検証システム1の構成図である。本願で開示するブロックチェーン検証システム1は、単一または複数の管理者が存在し、管理者によって許可された参加者のみが参加できるパーミッション型ブロックチェーンに適用するシステムである。
Figure 1 is a configuration diagram of a
図1で図示したブロックチェーン検証システム1は、ブロックチェーン3と、ブロックチェーン3を管理する管理者ノード2と、管理者ノード2と接続しているセキュアエレメント4より少なくとも構成される。更に、図1で図示したブロックチェーン検証システム1は、管理者によって許可された参加者のみが参加できるブロックチェーンネットワーク5を含んでいる。
The
ブロックチェーンネットワーク5は、ブロックチェーン3を管理する管理者ノード2と、ブロックチェーンネットワーク5への参加が許可された参加者の参加者ノード50で構成されるP2P型のネットワークである。ブロックチェーン3がプライベートブロックチェーンの場合、管理者ノード2は1台になる。ブロックチェーン3がコンソーシアム型ブロックチェーンの場合、管理者ノード2は複数台になる。いずれの場合であっても、管理者ノード2が備える機能に変わりはないため、図1では、管理者ノード2の数を1台としている。なお、ブロックチェーンネットワーク5のノードとはサーバなどのコンピュータ機器である。複数台のサーバから構成されるクラウドシステムを、ブロックチェーンネットワーク5のノードとすることもできる。
The
図1で図示したブロックチェーン検証システム1は、取引履歴301をまとめたブロック30を時系列で連鎖せて記録したブロックチェーン3を含んでいる。本実施形態において、ブロックチェーン3はパーミッション型ブロックチェーンである。よって、本実施形態において、ブロックチェーン3に新規ブロック30aを追加できる者は管理者のみになる。このことを踏まえて、図1では、管理者ノード2と接続するブロックチェーン3のみを図示している。実際のシステムでは、管理者ノード2と接続するブロックチェーン3の複数の複製物が、ブロックチェーン検証システム1に含まれる参加者ノード50によって分散管理される。
The
パーミッション型ブロックチェーンでは、ブロックチェーン3に新規ブロック30aを追加できる者は管理者のみになるため、管理者がいないパブリックブロックチェーンと比較して、パーミッション型ブロックチェーンはブロックチェーン3の改ざんリスクが高いと言われている。
In a permissioned blockchain, only the administrator can add
そこで、本実施形態では、新規ブロック30aを追加するブロックチェーン3の正当性検証に利用するデバイスとなるセキュアエレメント4をブロックチェーン検証システム1に含ませている。本実施形態に係るブロックチェーン検証システム1において、セキュアエレメント4は、管理者ノード2にのみ接続し、他の参加者ノード50には接続していない。管理者ノード2は、ブロックチェーン3に新規ブロック30aを追加する際、セキュアエレメント4を用いて、管理者ノード2と接続するブロックチェーン3の正当性を検証することで、新規ブロック30aを追加するブロックチェーン3が改ざんされていないか検証する機能を備える。
Therefore, in this embodiment, the
図2では、ブロックチェーン検証システム1のブロック図を図示している。ブロックチェーン検証システム1が含むブロックチェーン3には、ブロックチェーンネットワーク5において発生した取引に係る取引履歴301(取引情報、電子署名および公開鍵)をまとめたブロック30が時系列で連鎖した状態で記録されている。ブロック30に記録される取引履歴301は、ブロックチェーンネットワーク5において一定時間内に発生した取引に係る取引履歴301、または、ブロックチェーンネットワーク5において発生した一定の量の取引履歴301になる。なお、ブロックチェーン3において、最初のブロック30は、ジェネシスブロック30Gである。
Figure 2 shows a block diagram of the
ブロックチェーン3に記録されたブロック30は、一つ前のブロック30のハッシュ値である一つ前のハッシュ値300および一つまたは複数の取引履歴301を含んでいる。ブロック番号「n」のブロック30の場合、一つ前のブロック30は、ブロック番号「n-1」のブロック30になる。ブロック番号「n」のブロック30には、一つ前のハッシュ値300として、ブロック番号「n-1」のブロック30から算出したハッシュ値が格納される。取引履歴301は、取引の内容を記した取引情報、取引情報の電子署名、電子署名を生成した者の公開鍵を含む。これ以外に、ブロック30を生成した日時を示すタイムスタンプや、所定条件を満たすハッシュ値にするためのNonceなどをブロック30に含ませることができる。
A
本実施形態において、ブロックチェーン3に新規ブロック30aを追加できるノードは管理者ノード2のみである。管理者ノード2は、セキュアエレメント4を利用して、新規ブロック30aを追加するブロックチェーン3の正当性を検証するブロックチェーン検証部20を備える。管理者ノード2が備えるブロックチェーン検証部20は、管理者ノード2として用いるコンピュータ機器のプロセッサと、このプロセッサを動作させるコンピュータプログラムにより実現される機能である。
In this embodiment, the only node that can add a
本実施形態において、管理者ノード2が備えるブロックチェーン検証部20は、ブロック30の電子署名を用いて、ブロックチェーン3の正当性を検証する。ブロックチェーン3では、一つ前のハッシュ値300をブロック30に含ませることで、ブロックチェーン3に格納した複数のブロック30を時系列で連鎖させている。そこで、本実施形態では、一つ前のブロック30の電子署名とブロック30からブロック30の電子署名を生成することにより、ブロック30の電子署名を連鎖させる。ブロック30の電子署名を連鎖させることで、ブロックチェーン3において最後(時系列順では最も新しい)になる最後ブロック30bの電子署名は、ブロックチェーン3に記憶されている全てのブロック30に依存する。ブロックチェーン3に記憶されている少なくともいずれか1つのブロック30が改ざんされると、最後ブロック30bの電子署名は異なる値に変わる。
In this embodiment, the
ブロック30の電子署名を生成する電子署名生成アルゴリズムは、一つ前のブロック30の電子署名とブロック30からブロック30の電子署名を生成できるアルゴリズムであれば任意である。本実施形態では、共通鍵を使用するCBC(Cipher Block Chaining)方式のブロック暗号を電子署名生成アルゴリズムに用いている。これ以外に、SHA(Secure Hash Algorithm)などを電子署名生成アルゴリズムに利用できる。
The digital signature generation algorithm for generating the digital signature for
図3を参照しながら、このことについて説明する。図3は、ブロック30の電子署名を連鎖させる仕組みを説明する図である。上述した通り、本実施形態では、所定の電子署名生成アルゴリズム(図3ではf(x)と記載)により、一つ前のブロック30の電子署名とブロック30からブロック30の電子署名を生成する。図3において、ブロック番号「1」であるブロック30の一つ前になるブロック30は、ジェネシスブロック30Gになる。よって、ブロック番号「1」であるブロック30の電子署名は、ジェネシスブロック30Gの電子署名とブロック番号「1」であるブロック30から生成される。なお、ジェネシスブロック30Gには、一つ前のブロック30がないため、ジェネシスブロック30Gの電子署名は、任意に決定できる初期データとジェネシスブロック30Gから生成される。ブロック番号「2」であるブロック30の電子署名は、ブロック番号「1」であるブロック30の電子署名とブロック番号「2」であるブロック30から生成される。このような処理をブロックチェーン3に含まれるブロック30の順に実行することで、ブロックチェーン3において最後になるブロック番号「n」のブロック30の電子署名が生成される。ブロックチェーン3において最後になるブロック番号「n」のブロック30の電子署名は、ブロックチェーン3に記憶されている全てのブロック30に基づくデータになる。よって、ブロックチェーン3に記憶されている少なくともいずれか1つのブロック30が改ざんされると、ブロック番号「n」のブロック30の電子署名は異なる値になる。
This will be explained with reference to FIG. 3. FIG. 3 is a diagram for explaining the mechanism for chaining the electronic signature of
本実施形態では、このことを踏まえて、新規ブロック30aの電子署名を用いて、新規ブロック30aを追加するブロックチェーン3の正当性を検証する。新規ブロック30aの電子署名は、新規ブロック30aを追加するブロックチェーン3における最後ブロック30bの電子署名と新規ブロック30aから生成される。新規ブロック30aの電子署名は、新規ブロック30aを追加するブロックチェーン3における最後ブロック30bの電子署名に依存する。よって、新規ブロック30aの電子署名の正当性を検証することは、新規ブロック30aを追加するブロックチェーン3の正当性を検証することになる。
In this embodiment, taking this into consideration, the digital signature of the
本実施形態において、新規ブロック30aの電子署名を用いてブロックチェーン3の正当性を検証するのは、セキュアエレメント4に記憶させる最後ブロック30bの電子署名を更新できるようにするためである。新規ブロック30aの電子署名の正当性検証に成功した後は、正当性検証に成功した新規ブロック30aの電子署名が最後ブロック30bの電子署名になる。新規ブロック30aの電子署名の正当性をセキュアエレメント4に検証させれば、セキュアエレメント4の方で、正当性検証の対象にした新規ブロック30aの電子署名を新たな最後ブロックの電子署名として記憶できる。
In this embodiment, the validity of the
セキュアエレメント4は、セキュリティ機能を備えたICチップを意味する。本実施形態において、セキュアエレメント4は、管理者ノード2が生成した新規ブロック30aの電子署名の正当性を検証するデバイスになる。セキュアエレメント4は、管理者ノード2が生成した新規ブロック30aの電子署名の正当性を検証する機能として、電子署名検証部40を備える。セキュアエレメント4が備える電子署名検証部40は、セキュアエレメント4のプロセッサと、このプロセッサを動作させるコンピュータプログラムにより実現されている。
The
本実施形態において、セキュアエレメント4が備える電子署名検証部40は、管理者ノード2が送信した新規ブロック30aから新規ブロック30aの電子署名を生成できるように、最後ブロック30bの電子署名を記憶する。そして、セキュアエレメント4が備える電子署名検証部40は、管理者ノード2から受信した新規ブロック30aの正当性検証に成功すると、セキュアエレメント4が記憶している最後ブロック30bの電子署名を、正当性検証に成功した新規ブロック30aの電子署名に更新する。
In this embodiment, the electronic
図3の場合、ブロックチェーン3には、ジェネシスブロック30Gからブロック番号「n」のブロック30までが記憶されている。この場合、セキュアエレメント4が備える電子署名検証部40は、ブロック番号「n」のブロック30の電子署名を最後ブロック30bの電子署名として記憶する。新規ブロック30aとなるブロック番号「n+1」のブロック30の電子署名に係る正当性検証に成功すると、セキュアエレメント4が備える電子署名検証部40は、最後ブロック30bの電子署名として記憶しているブロック番号「n」のブロック30の電子署名を、正当性検証に成功したブロック番号「n+1」のブロック30の電子署名に更新する。
In the case of FIG. 3, the
ここから、本実施形態に係るブロックチェーン検証システム1の動作について説明する。本実施形態に係るブロックチェーン検証システム1の動作に係る説明は、方法に係る発明であるブロックチェーン検証方法の説明も兼ねている。図4は、ブロックチェーン検証システム1で行われる初期処理を説明する図である。図5は、ブロックチェーン検証システム1で行われるブロックチェーン検証処理を説明する図である。
From here, we will explain the operation of the
まず、図4を参照しながら、ブロックチェーン検証システム1で行われる初期処理について説明する。ブロックチェーン検証システム1で行われる初期処理では、まず、管理者ノード2とセキュアエレメント4の間で、新規ブロック30aの正当性検証に必要な項目を共有化する共有処理(ステップS1)が実行される。
First, the initial processing performed by the
新規ブロック30aの正当性検証に必要な項目には、電子署名を生成する電子署名生成アルゴリズム(例えば、CBC方式のブロック暗号、SHA-256など)が含まれる。共通鍵を用いる電子署名生成アルゴリズムでは、電子署名生成アルゴリズムで用いる共通鍵が共有化される。管理者ノード2とセキュアエレメント4の間で、ブロック30の正当性検証に必要な項目を共有化する方法は任意である。例えば、暗号鍵を共有する方法として、楕円曲線を用いて暗号鍵を共有する方法が知られている。
Items required for verifying the validity of the
共有処理(ステップS1)が終了すると管理者ノード2は、ジェネシスブロック30Gの電子署名を生成する(ステップS2)。ジェネシスブロック30Gの電子署名は、共有処理でセキュアエレメント4と共有した電子署名生成アルゴリズムにより、初期データとジェネシスブロック30Gから生成される。
When the sharing process (step S1) is completed, the
ジェネシスブロック30Gの電子署名を生成すると、管理者ノード2は、ジェネシスブロック30Gの電子署名の登録要求をセキュアエレメント4へ送信する(ステップS3)。セキュアエレメント4は、ジェネシスブロック30Gの電子署名の登録要求を管理者ノード2から受信すると、ジェネシスブロック30Gの電子署名の登録要求に含まれるジェネシスブロック30Gの電子署名を最後ブロック30bの電子署名として記憶して(ステップS4)、図4の手順は終了する。
After generating the electronic signature of the
次に、図5を参照しながら、ブロックチェーン検証システム1で行われるブロックチェーン検証処理について説明する。ブロックチェーン検証処理は、管理者ノード2が新規ブロック30aを生成したときに、管理者ノード2とセキュアエレメント4の間で実行される処理である。
Next, the blockchain verification process performed by the
ブロックチェーン検証システム1で行われるブロックチェーン検証処理において、まず、管理者ノード2は、ブロックチェーン3に追加する新規ブロック30aを生成する(ステップS10)。新規ブロック30aは、ブロックチェーンネットワーク5において一定時間内に発生した取引に係る取引履歴301を含むブロック30、または、ブロックチェーンネットワーク5において発生した一定の量の取引履歴301を含むブロック30になる。
In the blockchain verification process performed by the
ブロックチェーン3に追加する新規ブロック30aを生成すると、管理者ノード2のブロックチェーン検証部20は、セキュアエレメント4と共有化した電子署名生成アルゴリズムにより、一つ前のブロック30の電子署名とブロック30からブロック30の電子署名を生成する処理を、ブロックチェーン3に含まれる各々のブロック30ごとに実行して、ブロックチェーン3において最後になる最後ブロック30bの電子署名を生成する(ステップS11)。
When a
最後ブロック30bの電子署名を生成すると、ブロックチェーン検証部20は、セキュアエレメント4と共有化した電子署名生成アルゴリズムにより、新規ブロック30aの一つ前のブロックになる最後ブロック30bの電子署名と新規ブロック30aから新規ブロック30aの電子署名を生成する(ステップS12)。
After generating the electronic signature for the
新規ブロック30aの電子署名を生成すると、管理者ノード2のブロックチェーン検証部20は、新規ブロック30aに係る電子署名正当性検証要求をセキュアエレメント4へ送信する(ステップS13)。この電子署名正当性検証要求は、管理者ノード2が生成した新規ブロック30aの電子署名とブロックチェーン3に追加する新規ブロック30aを含む。
When the digital signature of the
セキュアエレメント4の電子署名検証部40は、電子署名検証要求を管理者ノード2から受信すると、電子署名検証要求に含まれる新規ブロック30aを利用して、新規ブロック30aの電子署名を生成する(ステップS14)。電子署名検証部40は、管理者ノード2と共有化した電子署名生成アルゴリズムにより、セキュアエレメント4が記憶している最後ブロック30bの電子署名と管理者ノード2から受信した新規ブロック30aから新規ブロック30aの電子署名を生成する。
When the electronic
セキュアエレメント4の電子署名検証部40は、新規ブロック30aの電子署名を生成すると、電子署名検証部40が生成した新規ブロック30aの電子署名を用いて、管理者ノード2から受信した新規ブロック30aの電子署名の正当性を検証する(ステップS15)。本実施形態において、電子署名検証部40は、管理者ノード2から受信した新規ブロック30aの電子署名と電子署名検証部40が生成した新規ブロック30aの電子署名が一致すると、管理者ノード2から受信した新規ブロック30aの電子署名の正当性検証に成功したと判断する。
When the electronic
セキュアエレメント4の電子署名検証部40は、管理者ノード2が送信した新規ブロック30aの電子署名の正当性検証結果に応じて処理を分岐する(ステップS16)。
The electronic
管理者ノード2が送信した新規ブロック30aの電子署名とセキュアエレメント4が生成した新規ブロック30aの電子署名が一致しない場合、セキュアエレメント4の電子署名検証部40は、新規ブロック30aの電子署名の正当性検証に失敗したことを管理者ノード2へ通知する(ステップS17)。新規ブロック30aの電子署名の正当性検証に失敗したことがセキュアエレメント4から通知されると、管理者ノード2のブロックチェーン検証部20は、新規ブロック30aをブロックチェーン3に追加する処理を中止して(ステップS18)、図5の手順は終了する。
If the electronic signature of the
管理者ノード2が送信した新規ブロック30aの電子署名とセキュアエレメント4が生成した新規ブロック30aの電子署名が一致する場合、セキュアエレメント4の電子署名検証部40は、セキュアエレメント4が記憶している新規ブロック30aの電子署名を、正当性検証に成功した新規ブロック30aの電子署名に更新する(ステップS19)。そして、セキュアエレメント4の電子署名検証部40は、新規ブロック30aの電子署名の正当性検証に成功したことを管理者ノード2へ通知する(ステップS20)。新規ブロック30aの電子署名の正当性検証に成功したことがセキュアエレメント4から通知されると、管理者ノード2のブロックチェーン検証部20は、新規ブロック30aをブロックチェーン3に追加する処理を実行して(ステップS21)、図5の手順は終了する。
If the electronic signature of the
図5を用いて説明した手順において、新規ブロック30aを追加する前に、新規ブロック30aを追加するブロックチェーン3が改ざんされると、図5のステップS11で管理者ノード2が生成する最後ブロック30bの電子署名は、この時点でセキュアエレメント4が記憶している最後ブロック30bの電子署名と異なる値になる。このことから、この場合、図5のステップS12において、管理者ノード2が生成する最後ブロック30bの電子署名を利用して管理者ノード2が生成した新規ブロック30aの電子署名は、図5のステップS14において、セキュアエレメント4が記憶している最後ブロック30bの電子署名を利用してセキュアエレメント4が生成した新規ブロック30aの電子署名は異なる値になる。よって、本願で開示する発明では、ブロックチェーン3を管理する管理者ノード2が、管理者ノード2と接続しているセキュアエレメント4を利用して、パーミッション型であるブロックチェーン3における改ざんを検知できる。
In the procedure described using FIG. 5, if the
1 ブロックチェーン検証システム
2 管理者ノード
20 ブロックチェーン検証部
3 ブロックチェーン
30 ブロック
30a 新規ブロック
30b 最後ブロック
30G ジェネシスブロック
300 一つ前のハッシュ値
301 取引履歴
4 セキュアエレメント
40 電子署名検証部
5 ブロックチェーンネットワーク
50 参加者ノード
REFERENCE SIGNS
Claims (2)
前記管理者ノードが、ブロックチェーンに追加する新規ブロックを生成すると、前記セキュアエレメントと共有化した電子署名生成アルゴリズムにより、一つ前のブロックの電子署名とブロックからブロックの電子署名を生成する処理を、ブロックチェーンに含まれる各々のブロックごとに実行して、ブロックチェーンにおいて最後になる最後ブロックの電子署名を生成するステップa、
前記管理者ノードが、前記電子署名生成アルゴリズムにより、前記最後ブロックの電子署名と新規ブロックから新規ブロックの電子署名を生成し、新規ブロックの電子署名と新規ブロックを前記セキュアエレメントに送信するステップb、
前記セキュアエレメントが、前記電子署名生成アルゴリズムにより、前記セキュアエレメントが記憶している最後ブロックの電子署名と前記管理者ノードが送信した新規ブロックから新規ブロックの電子署名を生成し、前記セキュアエレメントが生成した新規ブロックの電子署名を用いて、前記管理者ノードから受信した新規ブロックの電子署名の正当性を検証するステップc、
前記セキュアエレメントが、新規ブロックの電子署名の正当性検証に成功すると、前記セキュアエレメントが記憶している最後ブロックの電子署名を、正当性検証に成功した新規ブロックの電子署名に更新した後、新規ブロックの電子署名の正当性検証に成功したことを前記管理者ノードへ通知するステップd、
を含むことを特徴とするブロックチェーン検証方法。 A method executed between an administrator node that manages a blockchain and a secure element connected to the administrator node, comprising:
When the administrator node generates a new block to be added to the blockchain, a process of generating a digital signature of the block from the digital signature of the previous block and the block using a digital signature generation algorithm shared with the secure element is executed for each block included in the blockchain to generate a digital signature of the last block that will be the last block in the blockchain.
a step b in which the administrator node generates a digital signature of a new block from the digital signature of the last block and the new block using the digital signature generation algorithm, and transmits the digital signature of the new block and the new block to the secure element;
a step c in which the secure element generates a digital signature for a new block from the digital signature of the last block stored in the secure element and the new block transmitted by the administrator node, using the digital signature of the new block generated by the secure element, and verifies the validity of the digital signature of the new block received from the administrator node;
a step d in which, when the secure element has successfully verified the validity of the electronic signature of the new block, the secure element updates the electronic signature of the last block stored in the secure element to the electronic signature of the new block whose validity has been successfully verified, and then notifies the manager node that the validity of the electronic signature of the new block has been successfully verified;
A blockchain verification method comprising:
前記管理者ノードは、ブロックチェーンに追加する新規ブロックを生成すると、前記セキュアエレメントと共有化した電子署名生成アルゴリズムにより、一つ前のブロックの電子署名とブロックからブロックの電子署名を生成する処理を、ブロックチェーンに含まれる各々のブロックごとに実行して、ブロックチェーンにおいて最後になる最後ブロックの電子署名を生成するステップaと、前記電子署名生成アルゴリズムにより、前記最後ブロックの電子署名と新規ブロックから新規ブロックの電子署名を生成し、新規ブロックの電子署名と新規ブロックを前記セキュアエレメントに送信するステップbを実行するブロックチェーン検証部を備え、
前記セキュアエレメントは、前記電子署名生成アルゴリズムにより、前記セキュアエレメントが記憶している最後ブロックの電子署名と前記管理者ノードが送信した新規ブロックから新規ブロックの電子署名を生成し、前記セキュアエレメントが生成した新規ブロックの電子署名を用いて、前記管理者ノードから受信した新規ブロックの電子署名の正当性を検証するステップcと、新規ブロックの電子署名の正当性検証に成功すると、前記セキュアエレメントが記憶している最後ブロックの電子署名を、正当性検証に成功した新規ブロックの電子署名に更新した後、新規ブロックの電子署名の正当性検証に成功したことを前記管理者ノードへ通知するステップdを実行する電子署名検証部を備えている、
ことを特徴とするブロックチェーン検証システム。 The system includes an administrator node that manages a blockchain and a secure element that is connected to the administrator node,
the administrator node comprises a blockchain verification unit that executes step a, when generating a new block to be added to the blockchain, a process of generating a block's electronic signature from the electronic signature of the previous block and the block using a digital signature generation algorithm shared with the secure element for each block included in the blockchain to generate a digital signature of a last block that will be the last block in the blockchain, and step b, of generating a digital signature of a new block from the digital signature of the last block and the new block using the digital signature generation algorithm, and transmitting the digital signature of the new block and the new block to the secure element;
the secure element comprises an electronic signature verification unit that executes step c of generating an electronic signature of a new block from the electronic signature of the last block stored in the secure element and the new block transmitted by the administrator node, using the electronic signature of the new block generated by the secure element, and verifying the validity of the electronic signature of the new block received from the administrator node; and step d of, if the verification of the validity of the electronic signature of the new block is successful, updating the electronic signature of the last block stored in the secure element to the electronic signature of the new block whose validity has been successfully verified, and then notifying the administrator node of the success of the verification of the validity of the electronic signature of the new block.
A blockchain verification system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022154202A JP2024048265A (en) | 2022-09-27 | 2022-09-27 | Block chain verification method and block chain verification system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022154202A JP2024048265A (en) | 2022-09-27 | 2022-09-27 | Block chain verification method and block chain verification system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024048265A true JP2024048265A (en) | 2024-04-08 |
Family
ID=90606263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022154202A Pending JP2024048265A (en) | 2022-09-27 | 2022-09-27 | Block chain verification method and block chain verification system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024048265A (en) |
-
2022
- 2022-09-27 JP JP2022154202A patent/JP2024048265A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11336455B2 (en) | Consensus protocol for blockchain DAG structure | |
CN111144881B (en) | Selective access to asset transfer data | |
US20220292214A1 (en) | Blockchain endorsement with approximate hash verification | |
CN111062716B (en) | Method and device for generating block chain signature data and block chain transaction initiating system | |
CN111881099B (en) | Database private document sharing | |
JP6830552B2 (en) | Anti-replay attack authentication protocol | |
US12003647B2 (en) | Reduced-step blockchain verification of media file | |
US11539527B2 (en) | Peer node recovery via approximate hash verification | |
CN115210741B (en) | Partially ordered blockchain | |
US11711202B2 (en) | Committing data to blockchain based on approximate hash verification | |
US11689356B2 (en) | Approximate hash verification of unused blockchain output | |
CN111242617B (en) | Method and apparatus for performing transaction correctness verification | |
EP4333357A2 (en) | Hash function attacks | |
US20200382309A1 (en) | Approximate hash verification for blockchain | |
US11676111B1 (en) | Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing | |
JP2024509666A (en) | Blockchain data segregation | |
US20220239486A1 (en) | Knowledge proof | |
US11968307B2 (en) | Private ledger partitions in blockchain networks | |
CN116263834A (en) | Multi-issuer anonymous credentials for licensed blockchains | |
JP2024048265A (en) | Block chain verification method and block chain verification system | |
CN117473557B (en) | Trusted setting method and device | |
US12126730B2 (en) | Peer node recovery via approximate hash verification | |
US12126716B2 (en) | Anonymous private shared partitions in a global total order broadcast domain networks using random symmetric encryption keys | |
US20230081416A1 (en) | Anonymous private shared partitions in blockchain networks | |
US20240289793A1 (en) | Systems and methods for transaction validation in layer 2 |