JP7560708B2 - Information processing system, information processing method, information processing program, secure computation system, secure computation method, and secure computation program - Google Patents
Information processing system, information processing method, information processing program, secure computation system, secure computation method, and secure computation program Download PDFInfo
- Publication number
- JP7560708B2 JP7560708B2 JP2020045995A JP2020045995A JP7560708B2 JP 7560708 B2 JP7560708 B2 JP 7560708B2 JP 2020045995 A JP2020045995 A JP 2020045995A JP 2020045995 A JP2020045995 A JP 2020045995A JP 7560708 B2 JP7560708 B2 JP 7560708B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- information processing
- blockchain
- server
- blockchain network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 43
- 238000003672 processing method Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 title description 7
- 230000004044 response Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
本発明は、情報処理システム、情報処理方法、情報処理プログラム、秘密計算システム、秘密計算方法、及び、秘密計算プログラムに関する。 The present invention relates to an information processing system, an information processing method, an information processing program, a secure computation system, a secure computation method, and a secure computation program.
近年、情報管理システムにおける改竄耐性を向上するためのソリューションとしてブロックチェーン技術が注目されている。ブロックチェーンは、経済価値を有するトークンの送受に限定されない幅広いシーンで活用されつつある。 In recent years, blockchain technology has been attracting attention as a solution for improving the tamper resistance of information management systems. Blockchain technology is beginning to be used in a wide range of situations, not limited to the sending and receiving of tokens that have economic value.
特許文献1は、ブロックチェーン及び生体認証の有機的な組み合わせに基づくような情報管理についての発明を開示している。当該情報管理は、プライベートネットワークのようなオフライン環境において改竄耐性を担保することができる、という利点を有する。 Patent Document 1 discloses an invention regarding information management based on an organic combination of blockchain and biometric authentication. This information management has the advantage of being able to guarantee resistance to tampering in offline environments such as private networks.
上記情報管理は、第三者がブロックチェーンの少なくとも一部のブロックが示す取引履歴等に基づく演算において秘匿性を担保する、という観点において改善の余地がある。 The above information management has room for improvement in terms of ensuring confidentiality when a third party performs calculations based on the transaction history, etc., indicated by at least some of the blocks in the blockchain.
上記事情を鑑みて、本発明は、新規な情報処理の実現を解決すべき課題とする。 In view of the above, the problem to be solved by the present invention is to realize new information processing.
上記課題を解決するため、本発明は、ブロックチェーンネットワークを構成するノードと、前記ブロックチェーンネットワーク外のクライアントと、前記ブロックチェーンネットワーク外のサーバと、を含む情報処理システムであって、前記ノードは、秘匿手段を有し、前記クライアントは、要求手段を有し、前記サーバは、計算手段を有し、前記秘匿手段は、前記ブロックチェーンネットワークに格納されるブロックチェーンにおける少なくとも1つのブロックと対応するスナップショットに対し準同型暗号に基づく暗号化を行った上で前記スナップショットを前記サーバに格納し、前記要求手段は、前記ブロックチェーンにおける前記ブロックに格納されるトランザクションに基づくリクエストを決定し、前記リクエストを前記サーバに送信し、前記計算手段は、前記リクエストの受信を転機として、前記暗号化が行われた前記スナップショットに基づく秘密計算を行い、前記秘密計算の結果に基づき前記リクエストと対応するレスポンスを決定し、前記レスポンスを前記クライアントに返却する。 To solve the above problem, the present invention provides an information processing system including nodes constituting a blockchain network, a client outside the blockchain network, and a server outside the blockchain network, the nodes having a concealment means, the clients having a request means, and the server having a calculation means, the concealment means encrypting a snapshot corresponding to at least one block in a blockchain stored in the blockchain network based on homomorphic encryption and storing the snapshot in the server, the request means determining a request based on a transaction stored in the block in the blockchain and transmitting the request to the server, and the calculation means, upon receipt of the request, performing a secret calculation based on the encrypted snapshot, determining a response corresponding to the request based on the result of the secret calculation, and returning the response to the client.
このような構成とすることで、本発明は、第三者がブロックチェーンの少なくとも一部のブロックが示す取引履歴等に基づく演算を好適に行えるような、改竄耐性のみならず秘匿性をさらに担保することができるような、情報処理を実現することができる。 With this configuration, the present invention can realize information processing that allows a third party to perform calculations based on the transaction history, etc., indicated by at least some of the blocks in the blockchain, and that further guarantees not only tamper resistance but also confidentiality.
本発明の好ましい形態では、前記準同型暗号は、somewhat準同型暗号である。 In a preferred embodiment of the present invention, the homomorphic encryption is somewhat homomorphic encryption.
本発明の好ましい形態では、前記準同型暗号は、レベル2準同型暗号である。 In a preferred embodiment of the present invention, the homomorphic encryption is level 2 homomorphic encryption.
このような構成とすることで、本発明は、ブロックチェーンにおける少なくとも一部のブロックに基づくような演算において、計算コストを抑えながら、加法計算及び乗法計算の双方を可能とするような秘密計算を実現することができる。 With this configuration, the present invention can realize secret calculations that enable both additive and multiplicative calculations while keeping computational costs down in calculations based on at least some of the blocks in a blockchain.
本発明の好ましい形態では、前記準同型暗号は、完全準同型暗号である。 In a preferred embodiment of the present invention, the homomorphic encryption is fully homomorphic encryption.
本発明の好ましい形態では、前記秘密計算は、秘匿検索である。 In a preferred embodiment of the present invention, the secure computation is a secure search.
上記課題を解決するため、本発明は、ブロックチェーンネットワークを構成するノードに秘匿ステップを実行させ、前記ブロックチェーンネットワーク外のクライアントに要求ステップを実行させ、前記ブロックチェーンネットワーク外のサーバに計算ステップを実行させる情報処理方法であって、前記秘匿ステップは、前記ブロックチェーンネットワークに格納されるブロックチェーンにおける少なくとも1つのブロックと対応するスナップショットに対し準同型暗号に基づく暗号化を行った上で前記スナップショットを前記サーバに格納し、前記要求ステップは、前記ブロックチェーンにおける前記ブロックに格納されるトランザクションに基づくリクエストを決定し、前記リクエストを前記サーバに送信し、前記計算ステップは、前記リクエストの受信を転機として、前記暗号化が行われた前記スナップショットに基づく秘密計算を行い、前記秘密計算の結果に基づき前記リクエストと対応するレスポンスを決定し、前記レスポンスを前記クライアントに返却する。 To solve the above problems, the present invention provides an information processing method for causing nodes constituting a blockchain network to execute a concealment step, causing a client outside the blockchain network to execute a request step, and causing a server outside the blockchain network to execute a calculation step, in which the concealment step encrypts a snapshot corresponding to at least one block in a blockchain stored in the blockchain network based on homomorphic encryption and then stores the snapshot in the server, the request step determines a request based on a transaction stored in the block in the blockchain and transmits the request to the server, and the calculation step, upon receipt of the request, performs a secret calculation based on the encrypted snapshot, determines a response corresponding to the request based on the result of the secret calculation, and returns the response to the client.
上記課題を解決するため、本発明は、コンピュータを、ブロックチェーンネットワークを構成し秘匿手段を有するノード、前記ブロックチェーンネットワーク外の要求手段を有するクライアント、又は、前記ブロックチェーンネットワーク外の計算手段を有するサーバとして機能させる情報処理プログラムであって、前記秘匿手段は、前記ブロックチェーンネットワークに格納されるブロックチェーンにおける少なくとも1つのブロックと対応するスナップショットに対し準同型暗号に基づく暗号化を行った上で前記スナップショットを前記サーバに格納し、前記要求手段は、前記ブロックチェーンにおける前記ブロックに格納されるトランザクションに基づくリクエストを決定し、前記リクエストを前記サーバに送信し、前記計算手段は、前記リクエストの受信を転機として、前記暗号化が行われた前記スナップショットに基づく秘密計算を行い、前記秘密計算の結果に基づき前記リクエストと対応するレスポンスを決定し、前記レスポンスを前記クライアントに返却する。 To solve the above problems, the present invention provides an information processing program that causes a computer to function as a node that constitutes a blockchain network and has a concealment means, a client that has a request means outside the blockchain network, or a server that has a calculation means outside the blockchain network, in which the concealment means encrypts a snapshot corresponding to at least one block in a blockchain stored in the blockchain network based on homomorphic encryption and stores the snapshot in the server, the request means determines a request based on a transaction stored in the block in the blockchain and transmits the request to the server, and the calculation means, upon receipt of the request, performs a secret calculation based on the encrypted snapshot, determines a response corresponding to the request based on the result of the secret calculation, and returns the response to the client.
上記課題を解決するため、本発明は、ブロックチェーンにおける少なくとも一部のブロックのスナップショットに基づく秘密計算を行う手段を有する秘密計算システムである。 To solve the above problems, the present invention is a secure computation system having a means for performing secure computation based on snapshots of at least some of the blocks in a blockchain.
上記課題を解決するため、本発明は、ブロックチェーンにおける少なくとも一部のブロックのスナップショットに基づく秘密計算を行うステップを、コンピュータに実行させる秘密計算方法である。 To solve the above problem, the present invention is a secure computation method that causes a computer to execute a step of performing a secure computation based on a snapshot of at least a portion of blocks in a blockchain.
上記課題を解決するため、本発明は、コンピュータを、ブロックチェーンにおける少なくとも一部のブロックのスナップショットに基づく秘密計算を行う手段として機能させる秘密計算プログラムである。 To solve the above problems, the present invention is a secure computation program that causes a computer to function as a means for performing secure computation based on snapshots of at least some of the blocks in a blockchain.
本発明は、新規な情報処理を実現することができる。 The present invention can realize novel information processing.
本明細書は、本発明の一実施形態に係る構成や作用効果等について、図面を交えて説明する。本発明は、以下の一実施形態に限定されず、様々な構成を採用し得る。また、本発明の一実施形態は、各実施形態のそれぞれにおける構成の一部を、本発明の一実施形態が目的とする作用効果の実現を阻害しない範囲で互いに採用してよい。 This specification describes the configuration, effects, and so forth, of one embodiment of the present invention with reference to the drawings. The present invention is not limited to the following embodiment, and various configurations may be adopted. Furthermore, one embodiment of the present invention may adopt a portion of the configuration of each of the embodiments to the extent that it does not impede the realization of the effects aimed at by one embodiment of the present invention.
本発明に係る情報処理システム、情報処理方法、情報処理プログラム、及び、情報処理プログラム媒体のそれぞれは、同様の作用効果を奏する。情報処理システム等における各手段と、情報処理方法における各ステップと、は同様の作用効果を奏する。 The information processing system, information processing method, information processing program, and information processing program medium according to the present invention each provide similar effects. Each means in the information processing system and each step in the information processing method provide similar effects.
また、本発明に係る秘密計算システム、秘密計算方法、秘密計算プログラム、及び、秘密計算プログラム媒体のそれぞれは、同様の作用効果を奏する。秘密計算システム等における各手段と、秘密計算方法における各ステップと、は同様の作用効果を奏する。 The secure computation system, secure computation method, secure computation program, and secure computation program medium according to the present invention each provide similar operational effects. Each means in the secure computation system, etc., and each step in the secure computation method provide similar operational effects.
本発明に係る情報処理システム、情報処理プログラム、情報処理プログラム媒体、秘密計算システム、秘密計算プログラム、及び、秘密計算プログラム媒体のそれぞれにおける各手段の作用効果は、後述のプロセッサ等の演算デバイスが発揮する、と把握することができる。また、情報処理方法、及び、秘密計算方法の各ステップの作用効果も当該プロセッサ等の演算デバイスにより実現される、と把握することができる。 The effects of each of the means in the information processing system, information processing program, information processing program medium, secure computation system, secure computation program, and secure computation program medium according to the present invention can be understood to be exhibited by a computing device such as a processor described below. In addition, the effects of each step of the information processing method and the secure computation method can also be understood to be realized by the computing device such as the processor.
本発明に係る情報処理プログラム媒体及び秘密計算プログラム媒体は、それぞれ、情報処理プログラム及び秘密計算プログラムが格納された非一過性の記録媒体である。 The information processing program medium and the secure computation program medium of the present invention are non-transient recording media on which an information processing program and a secure computation program are stored, respectively.
〈ハードウェア構成〉
図1に例示されるように、情報処理システム・情報処理方法・情報処理プログラム・情報処理プログラム媒体・秘密計算システム・秘密計算方法・秘密計算プログラム・秘密計算プログラム媒体は、既知のコンピュータを含む(利用する)。
Hardware Configuration
As illustrated in FIG. 1, the information processing system, information processing method, information processing program, information processing program medium, secure computation system, secure computation method, secure computation program, and secure computation program medium include (use) a known computer.
ノード1は、演算デバイス11、主記憶デバイス12、補助記憶デバイス13、及び、バスインタフェースを有し、本発明が発揮する作用効果を実現する上で適宜、用いられる。なお、ノード1は、上記構成に加えて、入力デバイス14、出力デバイス15、及び、通信デバイス16を備える構成でよい。 Node 1 has a computing device 11, a primary memory device 12, an auxiliary memory device 13, and a bus interface, and is used as appropriate to achieve the effects of the present invention. In addition to the above configuration, node 1 may also have an input device 14, an output device 15, and a communication device 16.
演算デバイス11は、命令セットを実行可能な既知のプロセッサを有する。
主記憶デバイス12は、命令セットを記憶可能な既知の揮発性メモリを有する。
補助記憶デバイス13は、プログラム等を記録可能な既知の記録媒体を有する。
入力デバイス14は、例えば意思入力が可能な既知のインタフェースである。
出力デバイス15は、例えば視覚的な報知を可能とする既知のインタフェースである。
通信デバイス16は、パブリックネットワーク・プライベートネットワークを含むネットワークの少なくとも一部への接続・参加を実現するための有線方式又は無線方式に基づく既知のインタフェースを有する。
The computing device 11 comprises a known processor capable of executing an instruction set.
The primary storage device 12 includes a known volatile memory capable of storing an instruction set.
The auxiliary storage device 13 includes a known recording medium capable of recording programs and the like.
The input device 14 is, for example, a known interface that allows input of intention.
The output device 15 is, for example, a known interface that enables visual notification.
The communication device 16 has known interfaces, either wired or wireless, for connecting to and participating in at least a portion of a network, including public and private networks.
〈機能ブロック〉
図2に例示されるように、情報処理システム0は、ブロックチェーンネットワーク2を構成するノード1と、ブロックチェーンネットワーク2外のクライアント3と、前記ブロックチェーンネットワーク2外のサーバ4と、を含む。ノード1は、ブロックチェーンネットワーク2を構成し、ブロックチェーン20の格納先である。なお、ブロックチェーンネットワーク2におけるノード1の数量は2以上である。
<Function Block>
2, the information processing system 0 includes a node 1 constituting a blockchain network 2, a client 3 outside the blockchain network 2, and a server 4 outside the blockchain network 2. The node 1 constitutes the blockchain network 2 and is a storage destination of the blockchain 20. The number of nodes 1 in the blockchain network 2 is two or more.
〈ノード1〉
ノード1は、秘匿手段104(秘匿ステップに相当。)を有する。
<Node 1>
The node 1 has a concealment means 104 (corresponding to a concealment step).
秘匿手段104は、ブロックチェーンネットワーク2に格納されるブロックチェーン20における少なくとも1つのブロックと対応するスナップショット20sに対し準同型暗号に基づく暗号化を行い暗号化されたスナップショット20seを生成しスナップショット20seをサーバ4に送信しサーバ4に格納させる。 The concealment means 104 performs homomorphic encryption on the snapshot 20s corresponding to at least one block in the blockchain 20 stored in the blockchain network 2 to generate an encrypted snapshot 20se, and transmits the snapshot 20se to the server 4 to store it therein.
本明細書中の説明における「ブロックチェーン20における少なくとも1つのブロック」とは、少なくとも最新の未決定ブロック21を含むブロック群を指してよく、既にファイナライズされた所定のブロックを含むブロック群を指してよい。 In the description of this specification, "at least one block in the blockchain 20" may refer to a group of blocks including at least the latest pending block 21, or may refer to a group of blocks including a predetermined block that has already been finalized.
なお、秘匿手段104によるスナップショット20seの生成及びサーバ4への送信は、リアルタイムに行われ得る。 The generation of the snapshot 20se by the concealment means 104 and its transmission to the server 4 can be performed in real time.
なお、秘匿手段104は、ブロックチェーン20に係る暗号化データ(スナップショット20seを含む。)の生成に際して、ブロックチェーン20におけるユーザ定義スキーマに基づき、項目名等を適宜、定義するような構成としてよい。 The concealment means 104 may be configured to appropriately define item names, etc., based on a user-defined schema in the blockchain 20 when generating encrypted data (including snapshot 20se) related to the blockchain 20.
本発明の一実施形態における準同型暗号は、somewhat準同型暗号であってよい。また、当該準同型暗号は、レベル2準同型暗号(L2準同型暗号)であってよい。また、当該準同型暗号は、完全準同型暗号であってよい。なお、当該準同型暗号は、好ましくは、加法計算に加えて乗法計算を可能とするような既知の準同型暗号を指す。 The homomorphic encryption in one embodiment of the present invention may be somewhat homomorphic encryption. The homomorphic encryption may be level 2 homomorphic encryption (L2 homomorphic encryption). The homomorphic encryption may be fully homomorphic encryption. The homomorphic encryption preferably refers to a known homomorphic encryption that enables multiplicative calculations in addition to additive calculations.
本発明の一実施形態における秘密計算は、例として、秘匿検索である。本発明の一実施形態における秘密計算の種別に制限はなく、秘密分散に基づく構成であってもよい。 An example of the secure computation in one embodiment of the present invention is a secure search. There are no limitations on the type of secure computation in one embodiment of the present invention, and it may be configured based on secret sharing.
〈ブロックチェーンネットワーク2〉
ブロックチェーンネットワーク2は、プライベートネットワークにおいて相互接続される複数のノード1により構成される。当該複数のノード1は、ブロックチェーン20の少なくとも一部(少なくとも最新の未決定ブロック21)を有する。上記プライベートネットワークは、例として、イベント会場内部等の「その場」を指すオンサイトにおけるプライベートネットワークであるオンサイトネットワークである。
<Blockchain Network 2>
The blockchain network 2 is composed of a plurality of nodes 1 interconnected in a private network. The plurality of nodes 1 have at least a portion of the blockchain 20 (at least the latest undecided block 21). The private network is, for example, an on-site network, which is a private network on-site, such as inside an event venue.
〈ブロックチェーン20〉
ブロックチェーン20は、公知技術を採用し得る。また、ブロックチェーン20の一態様は、例えば、特許第6650157号に記載の事項(各種チェーン)を採用し得る。なお、本発明の一実施形態は、特許第6650157号に記載の事項を採用し得る。
<Blockchain 20>
The blockchain 20 may employ known technology. In addition, one aspect of the blockchain 20 may employ, for example, the items (various chains) described in Japanese Patent No. 6650157. Note that one embodiment of the present invention may employ the items described in Japanese Patent No. 6650157.
なお、ノード1は、ブロックチェーン20における未決定ブロック21のハッシュ化によるハッシュ値の生成を含むファイナライズを行う手段を有する。また、ノード1は、当該ファイナライズ後にブロックチェーン20における新たな未決定ブロック21を生成し、当該新たな未決定ブロック21に当該ハッシュ値を追加する手段を有する。なお、ブロックチェーン20におけるブロックは、当該ブロックに格納される電子署名と対応するトランザクションを適宜、有する。 Note that node 1 has a means for performing finalization, which includes generating a hash value by hashing an undetermined block 21 in the blockchain 20. Node 1 also has a means for generating a new undetermined block 21 in the blockchain 20 after the finalization, and adding the hash value to the new undetermined block 21. Note that blocks in the blockchain 20 appropriately have transactions corresponding to the electronic signatures stored in the blocks.
本発明の一実施形態におけるブロックチェーン20は、ノード1及びクライアント3間のトランザクションを含むブロックを有する、と把握することができる。 The blockchain 20 in one embodiment of the present invention can be understood as having a block that includes a transaction between node 1 and client 3.
〈クライアント3〉
クライアント3は、既知のコンピュータである。また、クライアント3は、スマートフォン・ラップトップ・ワークステーション等の既知のコンピュータの態様をとる。なお、クライアント3は、ノード1の同様のハードウェア構成をとってよい。
Client 3
The client 3 is a known computer. The client 3 may take the form of a known computer such as a smartphone, a laptop, a workstation, etc. The client 3 may have the same hardware configuration as the node 1.
クライアント3は、要求手段301(要求ステップに相当。)を有する。クライアント3が有する各デバイスは、要求手段301を含む手段の実現に適宜、供される。 The client 3 has a request means 301 (corresponding to a request step). Each device that the client 3 has is appropriately used to realize the means including the request means 301.
要求手段301は、ブロックチェーン20におけるブロックに格納されるトランザクションに基づくリクエスト310を決定し、リクエスト310をサーバ4に送信する。また、要求手段301は、ノード1及びクライアント3間のトランザクションに基づくリクエスト310を決定する、と把握することができる。リクエスト310は、リクエスト識別子・タイムスタンプ・取引内容を適宜、含む構成であってよい。 The request means 301 determines a request 310 based on a transaction stored in a block in the blockchain 20, and transmits the request 310 to the server 4. It can also be understood that the request means 301 determines the request 310 based on a transaction between the node 1 and the client 3. The request 310 may be configured to include a request identifier, a timestamp, and transaction details as appropriate.
本明細書中の説明における「ブロックチェーン20におけるブロックに格納されるトランザクションに基づくリクエスト310」とは、当該トランザクションの内容、及び/又は、当該トランザクションに基づく計算結果に係る情報公開を求めるリクエストを指す。 In the description of this specification, a "request 310 based on a transaction stored in a block in the blockchain 20" refers to a request for disclosure of information related to the contents of the transaction and/or the results of a calculation based on the transaction.
〈サーバ4〉
サーバ4は、既知のコンピュータである。また、サーバ4は、スマートフォン・ラップトップ・ワークステーション等の既知のコンピュータの態様をとる。なお、サーバ4は、ノード1の同様のハードウェア構成をとってよい。
<Server 4>
The server 4 is a known computer. The server 4 may take the form of a known computer such as a smartphone, a laptop, a workstation, etc. The server 4 may have the same hardware configuration as the node 1.
サーバ4は、計算手段401(計算ステップに相当。)を有する。サーバ4が有する各デバイスは、計算手段401を含む手段の実現に適宜、供される。 The server 4 has a calculation means 401 (corresponding to a calculation step). Each device of the server 4 is appropriately used to realize the means including the calculation means 401.
サーバ4は、ブロックチェーン20における少なくとも一部のブロックのスナップショット20seに基づく秘密計算を行う手段(ステップに相当。)を有する、と把握することができる。 The server 4 can be understood to have a means (corresponding to a step) of performing secret calculations based on a snapshot 20se of at least a portion of blocks in the blockchain 20.
計算手段401は、リクエスト310の受信を転機として、スナップショット20seに基づく秘密計算を行い、当該秘密計算の結果に基づきリクエスト310と対応するレスポンス410を決定し、レスポンス410をクライアント3に返却する。 Upon receiving the request 310, the calculation means 401 performs a secure calculation based on the snapshot 20se, determines a response 410 corresponding to the request 310 based on the result of the secure calculation, and returns the response 410 to the client 3.
〈秘密計算(実施例1)〉
図3に例示されるように、本発明の一実施形態における秘密計算を含む情報処理は、ノード1(ブロックチェーンネットワーク2における少なくとも一部のノード1)・クライアント3・サーバ4間において、以下のように実行される、と把握することができる。
<Secure Calculation (Example 1)>
As illustrated in FIG. 3, information processing including secure computation in one embodiment of the present invention can be understood to be executed between node 1 (at least a part of node 1 in blockchain network 2), client 3, and server 4 as follows.
先ず、ブロックチェーン20が更新されている場合、秘匿手段104は、ブロックチェーン20に基づきブロックチェーン20のスナップショット20sを取得する。その後、秘匿手段104は、上記準同型暗号に基づきスナップショット20sを暗号化することでスナップショット20seを生成し、スナップショット20seをサーバ4に送信する。なお、「ブロックチェーン20が更新されている場合」とは、ブロックチェーン20において新たな未決定ブロック21が生成されている場合や、最新の未決定ブロック21に新たなトランザクションが格納されノード1間でブロードキャストされている場合を指す。 First, when the blockchain 20 is updated, the concealment means 104 acquires a snapshot 20s of the blockchain 20 based on the blockchain 20. After that, the concealment means 104 generates a snapshot 20se by encrypting the snapshot 20s based on the homomorphic encryption, and transmits the snapshot 20se to the server 4. Note that "when the blockchain 20 is updated" refers to a case where a new undetermined block 21 is generated in the blockchain 20, or a case where a new transaction is stored in the latest undetermined block 21 and broadcast between the nodes 1.
次に、サーバ4は、サーバ4が有する秘密鍵413と対応する公開鍵411を、ノード1及び/又はクライアント3に送信する。ノード1がサーバ4から公開鍵411を受信した場合、ノード1は、クライアント3に対して公開鍵411を送信する。 Next, the server 4 transmits the public key 411 corresponding to the private key 413 held by the server 4 to the node 1 and/or the client 3. When the node 1 receives the public key 411 from the server 4, the node 1 transmits the public key 411 to the client 3.
次に、要求手段301は、リクエスト310を、ノード1及び/又はサーバ4に送信する。ノード1がクライアント3からリクエスト310を受信した場合、ノード1は、サーバ4に対してリクエスト310を送信する。 Next, the request means 301 transmits the request 310 to the node 1 and/or the server 4. When the node 1 receives the request 310 from the client 3, the node 1 transmits the request 310 to the server 4.
実施例1におけるリクエスト310は、例として、ブロックチェーン20におけるブロックに格納されるトランザクションに基づき計算可能な与信残高に係るリクエスト全般である。当該リクエスト全般は、例として、与信残高と、上記取引内容に相当する所定値との比較である。当該所定値は、例として、決済金額である。また、当該リクエスト全般は、例として、特徴データとテンプレートとのユークリッド距離等の類似度の決定である。 The request 310 in Example 1 is, for example, a general request related to a credit balance that can be calculated based on transactions stored in a block in the blockchain 20. The general request is, for example, a comparison of the credit balance with a predetermined value corresponding to the above-mentioned transaction content. The predetermined value is, for example, the payment amount. In addition, the general request is, for example, a determination of the similarity, such as the Euclidean distance, between feature data and a template.
次に、計算手段401は、秘匿手段104により送信されたスナップショット20seと、要求手段301により送信されたリクエスト310と、に基づき秘密計算を行う。計算手段401は、当該秘密計算の結果に基づき要求手段301により送信されたリクエスト310と対応するレスポンス410を決定し、当該リクエスト310と対応するクライアント3にレスポンス410を返却する。 Next, the calculation means 401 performs a secure calculation based on the snapshot 20se sent by the concealment means 104 and the request 310 sent by the request means 301. The calculation means 401 determines a response 410 corresponding to the request 310 sent by the request means 301 based on the result of the secure calculation, and returns the response 410 to the client 3 corresponding to the request 310.
このとき、レスポンス410は、例として、上記取引内容と対応する取引可否を示す2値データであってよい。また、このとき、計算手段401は、秘密鍵413に基づきレスポンス410を平文とする電子署名412を生成してよい。計算手段401は、当該レスポンス410と対応するリクエスト310の少なくとも一部をさらに平文としてよい。 At this time, the response 410 may be, for example, binary data indicating whether or not the transaction is possible, which corresponds to the transaction content. In addition, at this time, the calculation means 401 may generate an electronic signature 412 with the response 410 as plain text based on the private key 413. The calculation means 401 may further convert at least a portion of the request 310 corresponding to the response 410 into plain text.
なお、計算手段401に代わって、ノード1が計算手段401による上記秘密計算の結果に基づきレスポンス410を決定し、クライアント3に当該レスポンス410を返却してもよい。この場合、ノード1は、ノード1が有する秘密鍵に基づき当該レスポンス410を平文とする電子署名を生成する。 In addition, instead of the calculation means 401, the node 1 may determine the response 410 based on the result of the secret calculation by the calculation means 401 and return the response 410 to the client 3. In this case, the node 1 generates a digital signature with the response 410 as plain text based on the private key that the node 1 possesses.
最後に、クライアント3は、サーバ4から送信された公開鍵411に基づき電子署名412の検証を行うことで、当該返却されたレスポンス410の妥当性を確認する。 Finally, the client 3 verifies the digital signature 412 based on the public key 411 sent from the server 4 to confirm the validity of the returned response 410.
〈秘密計算(実施例2)〉
図4に例示されるように、本発明の一実施形態における秘密計算を含む情報処理は、ノード1(ブロックチェーンネットワーク2における少なくとも一部のノード1)・クライアント3・サーバ4間において、以下のように実行される、と把握することができる。
<Secure Calculation (Example 2)>
As illustrated in FIG. 4, information processing including secure computation in one embodiment of the present invention can be understood to be executed between node 1 (at least a part of node 1 in blockchain network 2), client 3, and server 4 as follows.
先ず、クライアント3は、クライアント3が有する秘密鍵313と対応する公開鍵311と、選択情報312と、ノード1に送信する。当該選択情報312は、例として、選択形式のアンケートの態様をとってよく、選挙における候補者名の態様をとってよい。 First, the client 3 transmits to the node 1 the public key 311 corresponding to the private key 313 held by the client 3, and the selection information 312. The selection information 312 may take the form of a multiple-choice questionnaire, for example, or the names of candidates in an election.
次に、ノード1は、選択情報312に基づくトランザクションをブロックチェーン20における最新の未決定ブロック21に格納する。このとき、ノード1は、好ましくは、クライアント3から送信された公開鍵311に基づき当該トランザクションを暗号化した上で、当該未決定ブロック21に当該トランザクションを格納する。 Next, node 1 stores the transaction based on the selection information 312 in the latest pending block 21 in the blockchain 20. At this time, node 1 preferably encrypts the transaction based on the public key 311 sent from client 3, and then stores the transaction in the pending block 21.
秘匿手段104は、ブロックチェーン20に基づきブロックチェーン20のスナップショット20sを取得する。その後、秘匿手段104は、上記準同型暗号に基づきスナップショット20sを暗号化することでスナップショット20seを生成し、スナップショット20seをサーバ4に送信する。 The concealment means 104 obtains a snapshot 20s of the blockchain 20 based on the blockchain 20. The concealment means 104 then generates a snapshot 20se by encrypting the snapshot 20s based on the homomorphic encryption, and transmits the snapshot 20se to the server 4.
次に、要求手段301は、選択情報312に基づくトランザクションに基づきリクエスト310を決定し、当該リクエスト310をサーバ4に送信する。当該リクエスト310は、例として、選択情報312に基づき決定可能な統計データ全般である。当該統計データは、例として、獲得票数(被選択数)が最大である上記候補者等の情報を指す。 Next, the request means 301 determines a request 310 based on a transaction based on the selection information 312, and transmits the request 310 to the server 4. The request 310 is, for example, general statistical data that can be determined based on the selection information 312. The statistical data refers, for example, to information on the candidate with the largest number of votes (number of candidates selected).
次に、計算手段401は、秘匿手段104により送信されたスナップショット20seと、要求手段301により送信されたリクエスト310と、に基づき秘密計算を行う。 Next, the calculation means 401 performs a secure calculation based on the snapshot 20se sent by the concealment means 104 and the request 310 sent by the request means 301.
計算手段401は、当該秘密計算の結果に基づき要求手段301により送信されたリクエスト310と対応するレスポンス410を決定し、当該リクエスト310と対応するクライアント3にレスポンス410を返却する。 The calculation means 401 determines a response 410 corresponding to the request 310 sent by the request means 301 based on the result of the secret calculation, and returns the response 410 to the client 3 corresponding to the request 310.
このとき、レスポンス410は、例として、獲得票数が最大である上記候補者を示す。また、このとき、計算手段401は、秘密鍵413に基づきレスポンス410を平文とする電子署名412を生成してよい。 At this time, the response 410 indicates, as an example, the candidate who received the largest number of votes. In addition, at this time, the calculation means 401 may generate a digital signature 412 using the response 410 as plain text based on the private key 413.
最後に、クライアント3は、サーバ4から送信された公開鍵411に基づき電子署名412の検証を行うことで、当該返却されたレスポンス410の妥当性を確認し、当該レスポンス410を秘密鍵313に基づき復号化する。 Finally, the client 3 verifies the digital signature 412 based on the public key 411 sent from the server 4 to confirm the validity of the returned response 410, and decrypts the response 410 based on the private key 313.
なお、実施例1・実施例2を含む本発明の一実施形態における秘密計算は、クライアント3側が電子署名412の検証結果に基づき、当該秘密計算に用いられたトランザクションを生成したノード1を特定可能である。このとき、特定されたノード1に対して、例として、クライアント3からインセンティブを供与するための情報処理が実現され得る。 In addition, in the secure computation in one embodiment of the present invention including Examples 1 and 2, the client 3 can identify the node 1 that generated the transaction used in the secure computation based on the verification result of the electronic signature 412. At this time, information processing can be realized for granting an incentive from the client 3 to the identified node 1, for example.
本発明によれば、ブロックチェーンの少なくとも一部のブロックに基づく秘密計算/準同型暗号を実現することで、ブロックチェーンに基づく情報処理において、改竄耐性と、秘匿性と、を担保することができる。 According to the present invention, by realizing secure computation/homomorphic encryption based on at least a portion of the blocks of a blockchain, it is possible to ensure tamper resistance and confidentiality in information processing based on the blockchain.
0 :情報処理システム
1 :ノード
2 :ブロックチェーンネットワーク
3 :クライアント
4 :サーバ
11 :演算デバイス
12 :主記憶デバイス
13 :補助記憶デバイス
14 :入力デバイス
15 :出力デバイス
16 :通信デバイス
20 :ブロックチェーン
20s :スナップショット
20se :スナップショット
21 :未決定ブロック
104 :秘匿手段
301 :要求手段
310 :リクエスト
311 :公開鍵
312 :選択情報
313 :秘密鍵
401 :計算手段
410 :レスポンス
411 :公開鍵
412 :電子署名
413 :秘密鍵
0: Information processing system 1: Node 2: Blockchain network 3: Client 4: Server 11: Computing device 12: Primary memory device 13: Secondary memory device 14: Input device 15: Output device 16: Communication device 20: Blockchain 20s: Snapshot 20se: Snapshot 21: Pending block 104: Concealment means 301: Request means 310: Request 311: Public key 312: Selection information 313: Private key 401: Calculation means 410: Response 411: Public key 412: Digital signature 413: Private key
Claims (7)
前記ブロックチェーンネットワークは、プライベートネットワークに収容され相互接続された前記ノードによって構成され、
前記ノードは、秘匿手段を有し、
前記クライアントは、要求手段を有し、
前記サーバは、計算手段を有し、
前記秘匿手段は、前記ブロックチェーンネットワークに格納されるブロックチェーンにおける少なくとも1つのブロックと対応するスナップショットに対し準同型暗号に基づく暗号化を行った上で前記スナップショットを前記サーバに格納し、
前記要求手段は、前記ブロックチェーンにおける前記ブロックに格納されるトランザクションに基づく秘密計算のリクエストを決定し、前記リクエストを前記サーバに送信し、
前記計算手段は、前記リクエストの受信を転機として、前記暗号化が行われた前記スナップショットに基づく秘密計算を行い、前記秘密計算の結果に基づき前記リクエストと対応するレスポンスを決定し、前記レスポンスを前記クライアントに返却する
情報処理システム。 An information processing system including nodes constituting a blockchain network, a client outside the blockchain network, and a server outside the blockchain network,
The blockchain network is composed of the nodes housed and interconnected in a private network,
The node has a concealment means,
The client has a requesting means,
The server has a computing means;
The concealment means encrypts a snapshot corresponding to at least one block in the blockchain stored in the blockchain network based on homomorphic encryption and then stores the snapshot in the server;
The request means determines a request for secure computation based on a transaction stored in the block in the blockchain and transmits the request to the server;
The computing means, upon receipt of the request, performs a secret computation based on the encrypted snapshot, determines a response corresponding to the request based on a result of the secret computation, and returns the response to the client.
前記ブロックチェーンネットワークは、プライベートネットワークに収容され相互接続された前記ノードによって構成され、
前記秘匿ステップは、前記ブロックチェーンネットワークに格納されるブロックチェーンにおける少なくとも1つのブロックと対応するスナップショットに対し準同型暗号に基づく暗号化を行った上で前記スナップショットを前記サーバに格納し、
前記要求ステップは、前記ブロックチェーンにおける前記ブロックに格納されるトランザクションに基づく秘密計算のリクエストを決定し、前記リクエストを前記サーバに送信し、
前記計算ステップは、前記リクエストの受信を転機として、前記暗号化が行われた前記スナップショットに基づく秘密計算を行い、前記秘密計算の結果に基づき前記リクエストと対応するレスポンスを決定し、前記レスポンスを前記クライアントに返却する
情報処理方法。 An information processing method for causing a node constituting a blockchain network to execute a concealment step, causing a client outside the blockchain network to execute a request step, and causing a server outside the blockchain network to execute a calculation step,
The blockchain network is composed of the nodes housed and interconnected in a private network,
The concealment step encrypts a snapshot corresponding to at least one block in the blockchain stored in the blockchain network based on homomorphic encryption, and then stores the snapshot in the server;
The request step includes determining a request for secure computation based on a transaction stored in the block in the blockchain and transmitting the request to the server;
The information processing method, wherein the calculation step, upon receipt of the request, performs a secure calculation based on the encrypted snapshot, determines a response corresponding to the request based on a result of the secure calculation, and returns the response to the client.
ブロックチェーンネットワークを構成し秘匿手段を有するノード、前記ブロックチェーンネットワーク外の要求手段を有するクライアント、又は、前記ブロックチェーンネットワーク外の計算手段を有するサーバとして機能させる情報処理プログラムであって、
前記ブロックチェーンネットワークは、プライベートネットワークに収容され相互接続された前記ノードによって構成され、
前記秘匿手段は、前記ブロックチェーンネットワークに格納されるブロックチェーンにおける少なくとも1つのブロックと対応するスナップショットに対し準同型暗号に基づく暗号化を行った上で前記スナップショットを前記サーバに格納し、
前記要求手段は、前記ブロックチェーンにおける前記ブロックに格納されるトランザクションに基づく秘密計算のリクエストを決定し、前記リクエストを前記サーバに送信し、
前記計算手段は、前記リクエストの受信を転機として、前記暗号化が行われた前記スナップショットに基づく秘密計算を行い、前記秘密計算の結果に基づき前記リクエストと対応するレスポンスを決定し、前記レスポンスを前記クライアントに返却する
情報処理プログラム。 Computer,
An information processing program that functions as a node that configures a blockchain network and has a concealment means, a client that has a request means outside the blockchain network, or a server that has a calculation means outside the blockchain network,
The blockchain network is composed of the nodes housed and interconnected in a private network,
The concealment means encrypts a snapshot corresponding to at least one block in the blockchain stored in the blockchain network based on homomorphic encryption and then stores the snapshot in the server;
The request means determines a request for secure computation based on a transaction stored in the block in the blockchain and transmits the request to the server;
The information processing program, wherein the calculation means, upon receipt of the request, performs a secure calculation based on the encrypted snapshot, determines a response corresponding to the request based on a result of the secure calculation, and returns the response to the client.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020045995A JP7560708B2 (en) | 2020-03-17 | 2020-03-17 | Information processing system, information processing method, information processing program, secure computation system, secure computation method, and secure computation program |
| PCT/JP2020/024944 WO2021186754A1 (en) | 2020-03-17 | 2020-06-25 | Information processing system, information processing method, information processing program, secret sharing system, secret sharing method, secret sharing program, secure computation system, secure computation method, and secure computation program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020045995A JP7560708B2 (en) | 2020-03-17 | 2020-03-17 | Information processing system, information processing method, information processing program, secure computation system, secure computation method, and secure computation program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021148850A JP2021148850A (en) | 2021-09-27 |
| JP7560708B2 true JP7560708B2 (en) | 2024-10-03 |
Family
ID=77851287
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020045995A Active JP7560708B2 (en) | 2020-03-17 | 2020-03-17 | Information processing system, information processing method, information processing program, secure computation system, secure computation method, and secure computation program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7560708B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116599696B (en) * | 2023-04-13 | 2024-01-02 | 京信数据科技有限公司 | Dual hidden inquiry unit based on homomorphic encryption |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020021048A (en) | 2018-08-03 | 2020-02-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Data distribution method, authentication server and data structure |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| ES2872101T3 (en) * | 2019-04-26 | 2021-11-02 | Advanced New Technologies Co Ltd | Distributed key management for trusted runtime environments |
-
2020
- 2020-03-17 JP JP2020045995A patent/JP7560708B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020021048A (en) | 2018-08-03 | 2020-02-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Data distribution method, authentication server and data structure |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021148850A (en) | 2021-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111566649B (en) | Use public sidechains to verify the integrity of data stored in consortium blockchains | |
| US11360963B2 (en) | Tracking and verification of physical assets | |
| EP3669280B1 (en) | Shared blockchain data storage | |
| US11048690B2 (en) | Contribution of multiparty data aggregation using distributed ledger technology | |
| US12034867B2 (en) | Blockchain with random committee selection | |
| CN110797099B (en) | A method and system for sharing medical data based on blockchain | |
| US20210091960A1 (en) | Tracking and verification of physical assets | |
| JP7705207B2 (en) | Key regeneration in blockchain networks via OPRF | |
| CN116249999B (en) | Consensus services for blockchain networks | |
| CN116361823A (en) | Selective Audit Processing of Blockchains for Privacy Preservation | |
| CN112084255A (en) | Efficient validation of machine learning applications | |
| EP3659319B1 (en) | Improved anti-replay device based on memory space interchange | |
| CN112215608A (en) | Data processing method and apparatus | |
| US12401507B2 (en) | Future asset reclamation via blockchain | |
| US11924348B2 (en) | Honest behavior enforcement via blockchain | |
| US11658824B2 (en) | Plagiarism detection from encrypted documents | |
| CN111630545B (en) | Managing transaction requests in ledger system | |
| JP7762485B2 (en) | Privacy protection status reference | |
| CN111656386B (en) | Manage transaction requests in the ledger system | |
| US20230245112A1 (en) | Non-interactive token certification and verification | |
| JP2019153181A (en) | Management program | |
| WO2023126313A1 (en) | Htlc with proof of elapsed time | |
| JP7560708B2 (en) | Information processing system, information processing method, information processing program, secure computation system, secure computation method, and secure computation program | |
| CN110704451A (en) | Method and device for ownership registration and proof based on blockchain | |
| CN113491090B (en) | Trusted platform based on blockchain |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221222 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240116 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240315 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240514 |
|
| 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: 20240813 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240827 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7560708 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |