JP2021001991A - Anonymous data management system and anonymous data management method - Google Patents

Anonymous data management system and anonymous data management method Download PDF

Info

Publication number
JP2021001991A
JP2021001991A JP2019116149A JP2019116149A JP2021001991A JP 2021001991 A JP2021001991 A JP 2021001991A JP 2019116149 A JP2019116149 A JP 2019116149A JP 2019116149 A JP2019116149 A JP 2019116149A JP 2021001991 A JP2021001991 A JP 2021001991A
Authority
JP
Japan
Prior art keywords
analysis processing
analysis
processing function
smart contract
key
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
Application number
JP2019116149A
Other languages
Japanese (ja)
Inventor
開帆 福地
Kaiho Fukuchi
開帆 福地
健 長沼
Takeshi Naganuma
健 長沼
丈利 境
Taketoshi Sakai
丈利 境
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019116149A priority Critical patent/JP2021001991A/en
Publication of JP2021001991A publication Critical patent/JP2021001991A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

To provide an anonymous data management system capable of allowing external organizations to use personal information while minimizing the possibility of leakage of personal information.SOLUTION: The anonymous data management system has an analysis processing server 100 that includes: a storage unit 101 that holds customer data 125 of financial institutions; and a processing unit 104. The processing unit 104 executes: a series of processing of transmitting a key generation request which includes an analytical processing function delivered from the verifier device to a key generation device to acquire a public key and a private key from a key generation device; a series of processing of generating analysis execution result by giving customer data 125 as an argument to the analytical processing function; a series of processing of generating a certificate based on the private key, the analytical processing function, analysis execution result, and the argument; and a series of processing of replying to the verifier device with the analytical processing function, the certificate, and the public key as verification information.SELECTED DRAWING: Figure 2

Description

本発明は、匿名データ管理システムおよび匿名データ管理方法に関するものであり、具体的には、個人情報の流出可能性を極小化したうえで、外部組織による個人情報の利活用を可能にする技術に関する。 The present invention relates to an anonymous data management system and an anonymous data management method, and more specifically, to a technique that enables an external organization to utilize personal information after minimizing the possibility of leakage of personal information. ..

例えば、「私は20歳以上だ」という命題が存在し、その検証者が当該命題の証明を証明者に求めたとする。その際、証明者が自信の運転免許証を検証者に提示すれば、確かに当該命題が真であることを証明できるが、生年月日や免許番号など証明者の情報が検証者に漏れてしまう。 For example, suppose there is a proposition "I am over 20 years old" and the verifier asks the certifier to prove the proposition. At that time, if the certifier presents his / her own driver's license to the verifier, it can be proved that the proposition is true, but the certifier's information such as date of birth and license number is leaked to the verifier. It ends up.

そこで、証明者(Prover)が検証者(verifier)に、自分の持っている命題が真であることを伝えるのに、真であること以外、何の知識も伝えることなく証明できるプロトコルとして、ゼロ知識証明(zero-knowliedge proof)の概念が存在する(非特許文献1参照)。 Therefore, the proofer (Prover) tells the verifier that the proposition he has is true, but as a protocol that can be proved without telling any knowledge other than being true, there is zero. There is a concept of zero-knowli edge proof (see Non-Patent Document 1).

そこで、このゼロ知識証明の概念を、命題「私は公開鍵Pkの秘密鍵を知っている」に適用した場合、検証者は乱数を生成し、これを公開鍵Pkで暗号鍵で暗号化して証明者に送信する。一方、暗号化された乱数を受信した証明者は、これを自身で保持する秘密鍵で復号化して当該変数を特定し、これを検証者に返信する。検証者は、証明者から受信した乱数と自身が証明者に送信した変数とが一致するか判定することで、上述の命題が正しいことを判断できる。この時、検証者は、上述の変数以外の情報(例:証明者に関する情報)を得ていない。 Therefore, when this concept of zero-knowledge proof is applied to the proposition "I know the private key of the public key Pk", the verifier generates a random number and encrypts it with the public key Pk with the encryption key. Send to certifier. On the other hand, the certifier who receives the encrypted random number decrypts it with the private key held by itself, identifies the variable, and returns it to the verifier. The verifier can determine that the above proposition is correct by determining whether the random number received from the prover matches the variable sent to the prover. At this time, the verifier has not obtained any information other than the above variables (eg, information about the prover).

このような秘匿計算に関連する従来技術としては、例えば、秘匿回路計算を用いて入力データを明かすことなく関数計算する場合の計算量削減を実現する秘匿関数計算方法(特許文献1参照)などが提案されている。 As a conventional technique related to such concealment calculation, for example, a concealment function calculation method (see Patent Document 1) that realizes a reduction in the amount of calculation when a function calculation is performed without revealing input data by using a concealment circuit calculation is used. Proposed.

特開2008−176193号公報Japanese Unexamined Patent Publication No. 2008-176193

Pinocchio: Nearly Practical Verifiable Computation [Bryan Parno et. al., Proceedings of the IEEE Symposium on Security and Privacy, May 2013]Pinocchio: Nearly Practical Verifiable Computation [Bryan Parno et. Al., Proceedings of the IEEE Symposium on Security and Privacy, May 2013]

金融機関は多くの個人情報(顧客情報)を保持している。そのため金融機関は、それら個人情報を、匿名性に関して十分な措置を講じた上で、監査対応や情報銀行の取り組みのために外部組織に提供することを検討している。 Financial institutions hold a lot of personal information (customer information). Therefore, financial institutions are considering providing such personal information to external organizations for auditing and information banking efforts after taking sufficient measures regarding anonymity.

例えば、金融機関が、業務の一部(例:ATM利用情報の分析など)を外部組織に委託するケースなど、金融機関が自身がもつ顧客情報を、顧客の同意のうえで他事業者に提供し、他事業者はサービス間の円滑な連携やマーケティングへそれら個人情報を活用する状況が想定されている。 For example, when a financial institution outsources part of its business (eg, analysis of ATM usage information) to an external organization, the financial institution provides its own customer information to other businesses with the consent of the customer. However, it is assumed that other businesses will utilize such personal information for smooth cooperation between services and marketing.

また、監査対応として、FATF(マネー・ロンダリング対策における国際協調を推進するため設立された国際的な組織)の求めるマネーロンダリング対策の厳格化に伴い、当該監査組織に対し、顧客の同意の上でその個人情報を提供する状況も想定されている。
いずれにしても、金融機関としては顧客の個人情報を生の形で外部組織に提供できない一方で、上述の外部組織は生に近い形の多くの情報を求めている。
In addition, as an audit response, with the tightening of money laundering measures required by FATF (an international organization established to promote international cooperation in money laundering measures), the customer's consent has been given to the audit organization. The situation of providing the personal information above is also assumed.
In any case, while financial institutions cannot provide personal information of customers to external organizations in a raw form, the above-mentioned external organizations require a lot of information in a form close to raw.

金融機関の立場からすれば、顧客の個人情報は機微情報であって、生の状態で外部組織に提供することは避けたいと考える。他方、外部組織の立場からすれば、より多くの、かつ本人のものである確証がある生の個人情報を得たいと考える。 From the financial institution's point of view, the personal information of customers is sensitive information, and we would like to avoid providing it to external organizations in the raw state. On the other hand, from the standpoint of an external organization, we would like to obtain more raw personal information that is confirmed to belong to the individual.

そこで、各顧客の個人情報を生の形で外部組織にそのまま渡す方式、匿名加工して渡す方式、および、情報を渡すことなく情報に対する処理結果のみを返す方式のいずれかが選択肢となっているが、いずれの方式であっても金融機関と外部組織の双方のニーズを満たす適宜なものにはなり得なかった。
そこで本発明の目的は、個人情報の流出可能性を極小化したうえで、外部組織による個人情報の利活用を可能にする技術を提供することにある。
Therefore, one of the options is to pass each customer's personal information in raw form to an external organization as it is, to pass it anonymously, or to return only the processing result for the information without passing the information. However, none of these methods could meet the needs of both financial institutions and external organizations.
Therefore, an object of the present invention is to provide a technique that enables an external organization to utilize personal information while minimizing the possibility of leakage of personal information.

上記課題を解決する本発明の匿名データ管理システムは、金融機関の顧客データを保持する記憶装置と、検証者装置から配信された分析処理関数を含む鍵生成依頼を、鍵生成装置に送信し、当該鍵生成装置から公開鍵および秘密鍵を取得する処理、前記分析処理関数に前記顧客データを引数として与えることで分析実行結果を生成する処理、前記秘密鍵、前記分析処理関数、前記分析実行結果、および前記引数に基づいて証明書を生成する処理、および前記分析処理関数、前記証明書、および前記公開鍵を検証用情報として前記検証者装置に返信する処理、を実行する演算装置と、を備える分析処理サーバを含むことを特徴とする。 The anonymous data management system of the present invention that solves the above problems transmits a key generation request including a storage device that holds customer data of a financial institution and an analysis processing function distributed from a verifier device to the key generation device. A process of acquiring a public key and a private key from the key generator, a process of generating an analysis execution result by giving the customer data as an argument to the analysis processing function, the private key, the analysis processing function, and the analysis execution result. , And a processing device that executes a process of generating a certificate based on the argument, and a process of returning the analysis processing function, the certificate, and the public key to the verifier device as verification information. It is characterized by including an analysis processing server provided.

また、本発明の匿名データ管理システムは、金融機関の顧客データを保持する記憶装置と、検証者装置であるブロックチェーンシステムのクライアントから配信された、分析処理関数たるスマートコントラクトをデプロイし、当該分析処理関数を含む鍵生成依頼を、鍵生成装置に送信し、当該鍵生成装置から公開鍵および秘密鍵を取得する処理、前記検証者装置からの前記スマートコントラクトの実行依頼に対応したトランザクションを受信し、前記スマートコントラクトに前記顧客データを引数として与えることで分析実行結果を生成する処理、前記秘密鍵、前記分析処理関数、前記分析実行結果、および前記引数に基づいて証明書を生成する処理、前記公開鍵と前記スマートコントラクトを紐付けて分散台帳におけるブロックチェーンに格納する処理、および前記スマートコントラクト、および前記公開鍵を検証用情報として前記検証者装置に返信する処理、を実行する演算装置と、を備える分析処理サーバを含むことを特徴とする。 In addition, the anonymous data management system of the present invention deploys a storage device that holds customer data of a financial institution and a smart contract that is an analysis processing function distributed from a client of a blockchain system that is a verifier device, and analyzes the data. A key generation request including a processing function is sent to the key generation device, a process of acquiring the public key and a private key from the key generation device, and a transaction corresponding to the execution request of the smart contract from the verifier device are received. , A process of generating an analysis execution result by giving the customer data as an argument to the smart contract, a process of generating a certificate based on the private key, the analysis processing function, the analysis execution result, and the argument. An arithmetic device that executes a process of associating a public key with the smart contract and storing it in a blockchain in a distributed ledger, and a process of returning the smart contract and the public key as verification information to the verifier device. It is characterized by including an analysis processing server including.

また、本発明の匿名データ管理方法は、情報処理装置が、金融機関の顧客データを保持する記憶装置を備えて、検証者装置から配信された分析処理関数を含む鍵生成依頼を、鍵生成装置に送信し、当該鍵生成装置から公開鍵および秘密鍵を取得する処理、前記分析処理関数に前記顧客データを引数として与えることで分析実行結果を生成する処理、前記秘密鍵、前記分析処理関数、前記分析実行結果、および前記引数に基づいて証明書を生成する処理、および前記分析処理関数、前記証明書、および前記公開鍵を検証用情報として前記検証者装置に返信する処理、を実行することを特徴とする。 Further, in the anonymous data management method of the present invention, the information processing device includes a storage device that holds customer data of a financial institution, and makes a key generation request including an analysis processing function distributed from the verifier device. Processing to acquire public key and private key from the key generator, processing to generate analysis execution result by giving the customer data as an argument to the analysis processing function, the private key, the analysis processing function, Executing the process of generating a certificate based on the analysis execution result and the argument, and the process of returning the analysis processing function, the certificate, and the public key to the verifier device as verification information. It is characterized by.

また、本発明の匿名データ管理方法は、情報処理装置が、金融機関の顧客データを保持する記憶装置を備えて、検証者装置であるブロックチェーンシステムのクライアントから配信された、分析処理関数たるスマートコントラクトをデプロイし、当該分析処理関数を
含む鍵生成依頼を、鍵生成装置に送信し、当該鍵生成装置から公開鍵および秘密鍵を取得する処理、前記検証者装置からの前記スマートコントラクトの実行依頼に対応したトランザクションを受信し、前記スマートコントラクトに前記顧客データを引数として与えることで分析実行結果を生成する処理、前記秘密鍵、前記分析処理関数、前記分析実行結果、および前記引数に基づいて証明書を生成する処理、前記公開鍵と前記スマートコントラクトを紐付けて分散台帳におけるブロックチェーンに格納する処理、および前記スマートコントラクト、および前記公開鍵を検証用情報として前記検証者装置に返信する処理、を実行することを特徴とする。
Further, in the anonymous data management method of the present invention, the information processing device is provided with a storage device for holding customer data of a financial institution, and is a smart analysis processing function delivered from a client of a blockchain system which is a verifier device. A process of deploying a contract, sending a key generation request including the analysis processing function to the key generation device, acquiring a public key and a private key from the key generation device, and an execution request of the smart contract from the verifier device. A process for generating an analysis execution result by receiving the transaction corresponding to the above and giving the customer data as an argument to the smart contract, the private key, the analysis processing function, the analysis execution result, and proof based on the argument. A process of generating a document, a process of linking the public key and the smart contract and storing them in a blockchain in a distributed ledger, and a process of returning the smart contract and the public key to the verifier device as verification information. It is characterized by executing.

本発明によれば、個人情報の流出可能性を極小化したうえで、外部組織による個人情報の利活用が可能となる。 According to the present invention, it is possible for an external organization to utilize personal information while minimizing the possibility of leakage of personal information.

本実施形態の匿名データ管理システムを含むネットワーク構成図である。It is a network block diagram including the anonymous data management system of this embodiment. 本実施形態における分析処理サーバのハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the analysis processing server in this embodiment. 本実施形態の顧客DBのデータ構成例を示す図である。It is a figure which shows the data structure example of the customer DB of this embodiment. 本実施形態の不都合処理リストのデータ構成例を示す図である。It is a figure which shows the data structure example of the inconvenience processing list of this embodiment. 本実施形態の宛先情報リストのデータ構成例を示す図である。It is a figure which shows the data structure example of the destination information list of this embodiment. 本実施形態における匿名データ管理方法のフロー例を示す図である。It is a figure which shows the flow example of the anonymous data management method in this embodiment. 本実施形態における画面例を示す図である。It is a figure which shows the screen example in this embodiment. 他実施形態の匿名データ管理システムを含むネットワーク構成例を示す図である。It is a figure which shows the example of the network configuration including the anonymous data management system of another embodiment. 他実施形態の分析処理サーバのハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the analysis processing server of another embodiment. 他実施形態における匿名データ管理方法のフロー例を示す図である。It is a figure which shows the flow example of the anonymous data management method in another embodiment.

−−−ネットワーク構成−−− --- Network configuration ---

以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の匿名データ管理システム10を含むネットワーク構成図である。図1に示す匿名データ管理システム10は、個人情報の流出可能性を極小化したうえで、外部組織による個人情報の利活用を可能にするコンピュータシステムである。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a network configuration diagram including the anonymous data management system 10 of the present embodiment. The anonymous data management system 10 shown in FIG. 1 is a computer system that enables an external organization to utilize personal information while minimizing the possibility of leakage of personal information.

本実施形態の匿名データ管理システム10は、分析処理サーバ100、CRS生成用サーバ150、およびゼロ知識証明処理サーバ200のうち、少なくとも分析処理サーバ100を含んで構成される。こうした分析処理サーバ100、CRS生成用サーバ150、およびゼロ知識証明処理サーバ200は、例えば、セキュアなネットワーク1を介して通信可能に接続されている。 The anonymous data management system 10 of the present embodiment includes at least the analysis processing server 100 among the analysis processing server 100, the CRS generation server 150, and the zero-knowledge proof processing server 200. Such an analysis processing server 100, a CRS generation server 150, and a zero-knowledge proof processing server 200 are communicably connected via, for example, a secure network 1.

分析処理サーバ100は、例えば、金融機関が管理、運営するサーバ装置である。金融機関は、分析処理サーバ100において当該金融機関における顧客の情報を蓄積し、この情報の利活用を図るべき検討している事業者である。 The analysis processing server 100 is, for example, a server device managed and operated by a financial institution. The financial institution is a business operator that accumulates customer information in the financial institution in the analysis processing server 100 and is considering utilizing this information.

一方、ゼロ知識証明処理サーバ200は、上述の金融機関に対して、その顧客の情報をリソースとした所定の分析処理を依頼することを考える事業者が運営するサーバ装置である。この事業者の一例としては、上述の金融機関の業務委託先、監査組織、情報銀行の連携企業、などを想定できる。こうした事業者の運用するゼロ知識証明処理サーバ200は、分析処理関数を上述の金融機関の分析処理サーバ100に配信し、分析処理を要求することになる。 On the other hand, the zero-knowledge proof processing server 200 is a server device operated by a business operator who considers requesting the above-mentioned financial institution for a predetermined analysis process using the customer's information as a resource. As an example of this business operator, the above-mentioned business consignees of financial institutions, audit organizations, affiliated companies of information banks, etc. can be assumed. The zero-knowledge proof processing server 200 operated by such a business operator distributes the analysis processing function to the analysis processing server 100 of the above-mentioned financial institution and requests the analysis processing.

他方、CRS生成用サーバ150は、Common Reference Stringモデルに従って、分析
処理関数から、Verification Keyたる公開鍵、およびEvaluation Keyたる秘密鍵、を生成するサーバ装置である。このCRS生成用サーバ150は、例えば、認証局のような信頼しうる第三者機関によって管理、運営されているものを想定する。
−−−ハードウェア構成−−−
また、図2において、匿名データ管理システム10を主として構成する分析処理サーバ100のハードウェア構成を示す。
本実施形態の分析処理サーバ100は、記憶装置101、メモリ103、演算装置104、および通信装置105を備える。
そのうち記憶装置101は、SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される。
また、メモリ103は、RAMなど揮発性記憶素子で構成される。
On the other hand, the CRS generation server 150 is a server device that generates a public key as a Verification Key and a private key as an Evaluation Key from an analysis processing function according to the Common Reference String model. It is assumed that the CRS generation server 150 is managed and operated by a reliable third party such as a certificate authority.
--- Hardware configuration ---
Further, FIG. 2 shows the hardware configuration of the analysis processing server 100 that mainly constitutes the anonymous data management system 10.
The analysis processing server 100 of the present embodiment includes a storage device 101, a memory 103, an arithmetic device 104, and a communication device 105.
Among them, the storage device 101 is composed of an appropriate non-volatile storage element such as an SSD (Solid State Drive) or a hard disk drive.
Further, the memory 103 is composed of a volatile storage element such as a RAM.

また、演算装置104は、記憶装置101に保持されるプログラム102をメモリ103に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUである。 Further, the arithmetic unit 104 is a CPU that executes the program 102 held in the storage device 101 by reading it into the memory 103 to perform overall control of the apparatus itself, and also performs various determinations, arithmetic operations, and control processes.

また、通信装置105は、ネットワーク1と接続して、CRS生成用サーバ150やゼロ知識証明処理サーバ200など他装置との通信処理を担うネットワークインターフェイスカードである。 Further, the communication device 105 is a network interface card that is connected to the network 1 and is responsible for communication processing with other devices such as the CRS generation server 150 and the zero-knowledge proof processing server 200.

なお、特に図示しないが、ユーザからのキー入力や音声入力を受け付けるキーボードやマウスといった入力装置、処理データの表示を行うディスプレイ等の出力装置、を更に備えるとしてもよい。 Although not particularly shown, an input device such as a keyboard or mouse that accepts key input or voice input from the user, and an output device such as a display that displays processing data may be further provided.

また、記憶装置101内には、本実施形態の匿名データ管理システムを構成する情報処理装置として必要な機能を実装する為のプログラム102に加えて、顧客DB125、不都合処理リスト126、および宛先情報リスト127が少なくとも記憶されている。
−−−データ構造例−−−
続いて、本実施形態の匿名データ管理システム10のうち、例えば、分析処理サーバ100が用いる情報類について説明する。
Further, in the storage device 101, in addition to the program 102 for implementing the functions required as the information processing device constituting the anonymous data management system of the present embodiment, the customer DB 125, the inconvenience processing list 126, and the destination information list. 127 is at least remembered.
--- Data structure example ---
Subsequently, among the anonymous data management systems 10 of the present embodiment, for example, the information used by the analysis processing server 100 will be described.

図3に、本実施形態における顧客DB125の一例を示す。顧客DB125は、 を蓄積したデータベースである。そのデータ構造は、顧客を一意に特定するIDをキーとして、当該顧客の氏名、性別、年齢、住所、連絡先、および口座情報、などといった、金融機関が顧客に関して管理する一般的なデータから成るレコードの集合体である。 FIG. 3 shows an example of the customer DB 125 in this embodiment. The customer DB 125 is a database that stores. The data structure consists of general data managed by a financial institution regarding a customer, such as the customer's name, gender, age, address, contact information, and account information, using an ID that uniquely identifies the customer as a key. A collection of records.

また図4に、本実施形態の不都合処理リスト126の構成例を示す。不都合処理リスト126は、上述の金融機関において、分析処理関数が実行する処理として不都合な処理のリストである。 Further, FIG. 4 shows a configuration example of the inconvenience processing list 126 of the present embodiment. The inconvenient processing list 126 is a list of inconvenient processing as the processing executed by the analysis processing function in the above-mentioned financial institution.

なお、不都合な処理とは、例えば、金融機関の基幹システム(例:勘定系)へのアクセスを行う処理、顧客DB125から全ての顧客の全ての項目の値を抽出する処理、といったものを想定できるが、金融機関ごとのポリシーによって種々に想定できる。 It should be noted that the inconvenient process can be assumed to be, for example, a process of accessing the core system (example: accounting system) of a financial institution, a process of extracting the values of all items of all customers from the customer DB 125, and the like. However, various assumptions can be made depending on the policies of each financial institution.

こうした不都合処理リスト126におけるデータ構造は、上述の不都合な各処理に対応するコードないしパラメータ、といったデータから成るレコードの集合体である。 The data structure in such an inconvenient processing list 126 is a collection of records composed of data such as codes or parameters corresponding to each of the above-mentioned inconvenient processing.

また図5に、本実施形態の宛先情報リスト127のデータ構成例を示す。本実施形態の
宛先情報リスト127は、分析処理においてアクセスすべきデータリソースの宛先情報を格納したテーブルである。
Further, FIG. 5 shows an example of data configuration of the destination information list 127 of the present embodiment. The destination information list 127 of the present embodiment is a table that stores the destination information of the data resource to be accessed in the analysis process.

こうした宛先情報リスト127におけるデータ構造は、分析処理を示するコードに対し、当該コードが示す処理でアクセスすべきDBなどデータリソースのアドレスから成るレコードの集合体である。
−−−フロー例−−−
The data structure in the destination information list 127 is a collection of records composed of addresses of data resources such as a DB to be accessed in the process indicated by the code with respect to the code indicating the analysis process.
--- Flow example ---

以下、本実施形態における匿名データ管理方法の実際手順について図に基づき説明する。以下で説明する匿名データ管理方法に対応する各種動作は、匿名データ管理システム10を構成する、分析処理サーバ100、CRS生成用サーバ150、およびゼロ知識証明処理サーバ200といった各情報処理装置が、それぞれにメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。 Hereinafter, the actual procedure of the anonymous data management method in the present embodiment will be described with reference to the figure. Various operations corresponding to the anonymous data management method described below are performed by each information processing device such as the analysis processing server 100, the CRS generation server 150, and the zero-knowledge proof processing server 200 constituting the anonymous data management system 10. It is realized by a program that reads and executes in memory. The program is composed of code for performing various operations described below.

図6は、本実施形態における匿名データ管理方法のフロー例を示す図である。この場合まず、分析処理サーバ100は、検証者装置たるゼロ知識証明処理サーバ200から配信された分析処理関数を、分析要求として受信する(s10)。 FIG. 6 is a diagram showing a flow example of the anonymous data management method in the present embodiment. In this case, first, the analysis processing server 100 receives the analysis processing function distributed from the zero-knowledge proof processing server 200, which is the verifier device, as an analysis request (s10).

分析処理関数の具体的例としては、例えば、特定地区に居住し特定取引を高頻度で行う顧客の年齢構成を分析するもの、特定の氏名および住所の顧客の有無と当該顧客の取引傾向を抽出するもの、など様々なものを想定できる。 Specific examples of the analysis processing function include analyzing the age composition of customers who live in a specific area and frequently perform specific transactions, and extract the presence or absence of customers with specific names and addresses and the transaction tendency of the customers. You can imagine various things such as things to do.

続いて、分析処理サーバ100は、上述のゼロ知識証明処理サーバ200から受信した分析処理関数が含むコードを、不都合処理リスト126が示す各コードに照合して、不都合な処理の有無を判定する(s11)。 Subsequently, the analysis processing server 100 collates the code included in the analysis processing function received from the above-mentioned zero-knowledge proof processing server 200 with each code shown in the inconvenient processing list 126, and determines the presence or absence of inconvenient processing ( s11).

この判定の結果、上述の分析処理関数が不都合な処理を含む場合(s11:Y)、分析処理サーバ100は、例えば、分析要求に対応出来ない旨を示す所定のメッセージ(図7の画面700)をゼロ知識証明処理サーバ200に返信し(s12)、処理を終了する。
一方、上述の判定の結果、上述の分析処理関数が不都合な処理を含まない場合(s11:N)、分析処理サーバ100は、処理をs13に遷移させる。
As a result of this determination, when the above-mentioned analysis processing function includes inconvenient processing (s11: Y), the analysis processing server 100 indicates, for example, a predetermined message indicating that it cannot respond to the analysis request (screen 700 in FIG. 7). Is returned to the zero-knowledge proof processing server 200 (s12), and the processing is terminated.
On the other hand, as a result of the above determination, when the above analysis processing function does not include inconvenient processing (s11: N), the analysis processing server 100 shifts the processing to s13.

続いて、分析処理サーバ100は、上述の判定にて分析処理関数が不都合な処理を含まない場合において、上述の分析処理関数が含む分析処理の情報たるコード等を、宛先情報リスト127に照合して、当該分析処理において規定すべきデータリソースの宛先情報(例えば、データベースのアドレスなど)を特定する(s13)。 Subsequently, the analysis processing server 100 collates the code or the like of the analysis processing included in the above-mentioned analysis processing function with the destination information list 127 when the analysis processing function does not include the inconvenient processing in the above-mentioned determination. Therefore, the destination information (for example, database address) of the data resource to be specified in the analysis process is specified (s13).

また、分析処理サーバ100は、上述のs13で特定した宛先情報を、当該し、当該宛先情報を分析処理関数に設定する(s14)。具体的には、分析処理関数における該当コードの引数部分(当初は空欄か無意味な文字列等が記載されている)に、宛先情報たるデータベースのURLなどを記載する。
続いて、分析処理サーバ100は、s10で得た分析処理関数を含む鍵生成依頼を、鍵生成装置たるCRS生成用サーバ150に送信する(s15)。
Further, the analysis processing server 100 applies the destination information specified in s13 described above, and sets the destination information in the analysis processing function (s14). Specifically, the URL of the database, which is the destination information, is described in the argument part of the corresponding code in the analysis processing function (initially blank or meaningless character string or the like is described).
Subsequently, the analysis processing server 100 transmits a key generation request including the analysis processing function obtained in s10 to the CRS generation server 150, which is a key generation device (s15).

一方、CRS生成用サーバ150は、分析処理サーバ100から送信されてきた鍵生成依頼に応じて、上述の分析処理関数に所定のアルゴリズム(予め規定のもの。既存技術)を適用することで、Verification Keyである公開鍵、およびEvaluation Keyである秘密鍵を生成し、これらを分析処理サーバ100に返信する。
他方、分析処理サーバ100は、上述のCRS生成用サーバ150から、公開鍵および
秘密鍵を受信し、これを記憶装置101に格納する(s16)。
On the other hand, the CRS generation server 150 verifies by applying a predetermined algorithm (predetermined, existing technology) to the above-mentioned analysis processing function in response to the key generation request transmitted from the analysis processing server 100. A public key which is a key and a private key which is an evaluation key are generated, and these are returned to the analysis processing server 100.
On the other hand, the analysis processing server 100 receives the public key and the private key from the CRS generation server 150 described above, and stores them in the storage device 101 (s16).

また、分析処理サーバ100は、s10で得ている分析処理関数に、記憶装置101で保持する顧客DB125の各データを引数として与えることで、分析実行結果を生成する(s17)。 Further, the analysis processing server 100 generates an analysis execution result by giving each data of the customer DB 125 held in the storage device 101 as an argument to the analysis processing function obtained in s10 (s17).

この分析実行結果としては、上述の分析処理関数の例で言えば、例えば、特定地区に居住し特定取引を高頻度で行う顧客の年齢構成として、「20代:10%、30代:40%、40代:5%、50代:5%、60代:20%、70代以上:10%」、といった結果や特定の氏名および住所の顧客の有無と当該顧客の取引傾向として、「該当顧客無し」或いは「顧客:7名該当、取引傾向:いずれも海外送金が高頻度」といったものが該当することになる。 As a result of executing this analysis, in the example of the above-mentioned analysis processing function, for example, as the age composition of customers who live in a specific area and frequently carry out specific transactions, "20s: 10%, 30s: 40%". , 40s: 5%, 50s: 5%, 60s: 20%, 70s and over: 10% "and the presence or absence of customers with a specific name and address and the transaction tendency of the customer," Applicable customers "None" or "Customers: 7 people, transaction tendency: High frequency of overseas remittances" is applicable.

続いて、分析処理サーバ100は、上述のCRS生成用サーバ150から得た秘密鍵、ゼロ知識証明処理サーバ200から得ている分析処理関数、s17にて生成した分析実行結果、およびs17で利用した引数(顧客DB125のデータ)に基づいて証明書を生成する(s18)。
また、分析処理サーバ100は、上述の証明書と分析処理関数および公開鍵とを、検証用情報として、ゼロ知識証明処理サーバ200に返信する(s19)。
Subsequently, the analysis processing server 100 used the secret key obtained from the above-mentioned CRS generation server 150, the analysis processing function obtained from the zero-knowledge proof processing server 200, the analysis execution result generated in s17, and s17. A certificate is generated based on an argument (data of customer DB 125) (s18).
Further, the analysis processing server 100 returns the above-mentioned certificate, analysis processing function, and public key to the zero-knowledge proof processing server 200 as verification information (s19).

一方、ゼロ知識証明処理サーバ200では、分析処理サーバ100から返信されてきた検証用情報を受信し、上述の金融機関において顧客DB125のデータを引数として利用し、分析処理関数を実行したことを、当該検証用情報に基づき検証することとなる。この検証の手法自体は、ゼロ知識証明における既存技術を適宜に適用するものとする。 On the other hand, the zero-knowledge proof processing server 200 receives the verification information returned from the analysis processing server 100, uses the data of the customer DB 125 as an argument at the above-mentioned financial institution, and executes the analysis processing function. It will be verified based on the verification information. This verification method itself shall appropriately apply the existing technology in zero-knowledge proof.

こうした検証の結果、上述の金融機関において顧客DB125のデータを引数として利用し、分析処理関数を実行したことが判明した場合、ゼロ知識証明処理サーバ200を運用する事業者等は、当該金融機関による分析処理結果を信頼し、適宜に活用することとなる。 As a result of such verification, if it is found that the above-mentioned financial institution uses the data of the customer DB 125 as an argument and executes the analysis processing function, the business operator or the like that operates the zero-knowledge proof processing server 200 is determined by the financial institution. The analysis processing results will be trusted and used as appropriate.

なお、上述の検証者装置すなわちゼロ知識証明処理サーバ200が、ブロックチェーンシステムにおけるクライアントであり、分析処理サーバ100がブロックチェーンシステムにおける分散台帳ノードである構成も想定可能である。 It is also possible to assume that the above-mentioned verifier device, that is, the zero-knowledge proof processing server 200 is a client in the blockchain system, and the analysis processing server 100 is a distributed ledger node in the blockchain system.

この場合、分析処理サーバ100は、分析処理関数の配信をゼロ知識証明処理サーバ200から受けるに際し、分析処理関数であるスマートコントラクトを、ゼロ知識証明処理サーバ200から受信してデプロイして、ゼロ知識証明処理サーバ200からのスマートコントラクトの実行依頼に対応したトランザクションを受信する。 In this case, when the analysis processing server 100 receives the distribution of the analysis processing function from the zero-knowledge proof processing server 200, the analysis processing server 100 receives the smart contract which is the analysis processing function from the zero-knowledge proof processing server 200 and deploys it to achieve zero knowledge. Receives the transaction corresponding to the execution request of the smart contract from the proof processing server 200.

また、分析処理サーバ100は、分析実行結果の生成に際し、トランザクションの受信に応じて、スマートコントラクトに顧客DBのデータを引数として与えて実行し、分析実行結果を生成する。 Further, when generating the analysis execution result, the analysis processing server 100 executes the smart contract by giving the data of the customer DB as an argument in response to the receipt of the transaction, and generates the analysis execution result.

また、分析処理サーバ100は、CRS生成用サーバ150から得ている公開鍵とスマートコントラクトとを紐付けて、自身の分散台帳におけるブロックチェーンに格納する。こうしたブロックチェーン技術を適用した形態について、更に以下に詳述する。
−−−他実施形態におけるネットワーク構成−−−
Further, the analysis processing server 100 associates the public key obtained from the CRS generation server 150 with the smart contract and stores it in the blockchain in its own distributed ledger. The form to which such blockchain technology is applied will be described in more detail below.
--- Network configuration in other embodiments ---

続いて、他実施形態における匿名データ管理システム10のネットワーク構成例について説明する。図8は、他実施形態の匿名データ管理システム10を含むネットワーク構成
例を示す図であり、図9は、他実施形態における分析処理サーバ100のハードウェア構成例を示す図である。
Subsequently, a network configuration example of the anonymous data management system 10 in another embodiment will be described. FIG. 8 is a diagram showing a network configuration example including the anonymous data management system 10 of the other embodiment, and FIG. 9 is a diagram showing a hardware configuration example of the analysis processing server 100 in the other embodiment.

図8に示す匿名データ管理システム10は、ゼロ知識証明処理サーバ200をクライアントノードとし、分析処理サーバ100を分散台帳ノードとした、ブロックチェーンシステムを構成している。 The anonymous data management system 10 shown in FIG. 8 constitutes a blockchain system in which the zero-knowledge proof processing server 200 is a client node and the analysis processing server 100 is a distributed ledger node.

この場合、分散台帳ノードである分析処理サーバ100は、クライアントノードであるゼロ知識証明処理サーバ200から配信された、分析処理関数たるスマートコントラクトをデプロイする。 In this case, the analysis processing server 100, which is a distributed ledger node, deploys a smart contract, which is an analysis processing function, distributed from the zero-knowledge proof processing server 200, which is a client node.

また、分析処理サーバ100は、当該分析処理関数を含む鍵生成依頼を、CRS生成用サーバ150に送信し、当該CRS生成用サーバ150から公開鍵および秘密鍵を取得する。 Further, the analysis processing server 100 transmits a key generation request including the analysis processing function to the CRS generation server 150, and acquires the public key and the private key from the CRS generation server 150.

また、分析処理サーバ100は、ゼロ知識証明処理サーバ200からのスマートコントラクトの実行依頼に対応したトランザクションを受信し、スマートコントラクトに顧客DB125のデータを引数として与えることで分析実行結果を生成する。 Further, the analysis processing server 100 receives the transaction corresponding to the execution request of the smart contract from the zero-knowledge proof processing server 200, and generates the analysis execution result by giving the data of the customer DB 125 to the smart contract as an argument.

また、分析処理サーバ100は、上述のCRSから得た秘密鍵、上述のスマートコントラクトたる分析処理関数、当該スマートコントラクトの実行で得る分析実行結果、および引数たる顧客DB125のデータ、に基づいて証明書を生成する。 Further, the analysis processing server 100 obtains a certificate based on the private key obtained from the above-mentioned CRS, the above-mentioned analysis processing function as a smart contract, the analysis execution result obtained by executing the smart contract, and the data of the customer DB 125 as an argument. To generate.

また、分析処理サーバ100は、CRS生成用サーバ150から得た公開鍵とスマートコントラクトとを紐付けて分散台帳110におけるブロックチェーンに格納する。この格納の処理は、通常のブロックチェーンシステムにおいて必要となる、他の分散台帳ノードとの合意形成は不要とする。なぜなら、ゼロ知識証明の概念により、分散台帳ノードたる分析処理サーバ100での処理結果の真正性を担保しているためである。
また、分析処理サーバ100は、上述のスマートコントラクトおよび公開鍵を検証用情報としてゼロ知識証明処理サーバ200に返信する。
Further, the analysis processing server 100 associates the public key obtained from the CRS generation server 150 with the smart contract and stores it in the blockchain in the distributed ledger 110. This storage process does not require consensus building with other distributed ledger nodes, which is required in a normal blockchain system. This is because the concept of zero-knowledge proof ensures the authenticity of the processing result in the analysis processing server 100 which is the distributed ledger node.
Further, the analysis processing server 100 returns the above-mentioned smart contract and public key to the zero-knowledge proof processing server 200 as verification information.

上述のように、分析処理サーバ100は、分散台帳ノードとして機能しうるため、記憶装置101において分散台帳110を保持し、この分散台帳110にてブロックチェーン115を管理している。 As described above, since the analysis processing server 100 can function as a distributed ledger node, the storage device 101 holds the distributed ledger 110, and the distributed ledger 110 manages the blockchain 115.

従来のブロックチェーンシステムにおいては、複数ノードを管理する必要が生じ、システム規模の拡大等に伴い管理コストが増加する、全ノード数に対して一定割合のノード数(51%等)での実行を必須とした場合、システム規模の拡大に伴うスケールアウトが期待出来ない、および乱数生成など、ノードごとに異なる処理結果を返す可能性のあるトランザクションは実行できない(実行結果が同一にならないため正当性検証は常に失敗する)、といった課題が存在する。 In a conventional blockchain system, it becomes necessary to manage multiple nodes, and the management cost increases as the system scale expands. Execution is performed with a fixed ratio of nodes (51%, etc.) to the total number of nodes. If it is required, scale-out cannot be expected due to the expansion of the system scale, and transactions that may return different processing results for each node, such as random number generation, cannot be executed (validity verification because the execution results are not the same). Always fails).

ところが、上述の実施形態を採用すれば、分散台帳ノードを大幅に低減し、最小構成としては1つの分散台帳ノードのみでブロックチェーンシステムを運用出来る。そのため、ノード管理にかかるコストを低減し、システム規模の拡大に伴うスケールアウトを期待出来る。また、乱数生成など、ノードごとに異なる処理結果を返す可能性のあるトランザクションであっても実行可能、といった効果を奏することになる。
−−−他実施形態における匿名データ管理方法のフロー例−−−
However, if the above-described embodiment is adopted, the number of distributed ledger nodes can be significantly reduced, and the blockchain system can be operated with only one distributed ledger node as the minimum configuration. Therefore, the cost for node management can be reduced, and scale-out can be expected as the system scale expands. In addition, even a transaction that may return different processing results for each node, such as random number generation, can be executed.
--- Example of flow of anonymous data management method in other embodiments ---

図10は、他実施形態における匿名データ管理方法のフロー例を示す図である。この場
合、分散台帳ノードたる分析処理サーバ100は、クライアントノードたるゼロ知識証明処理サーバ200から配信された、分析処理関数たるスマートコントラクトをデプロイする(s20)。
FIG. 10 is a diagram showing a flow example of an anonymous data management method in another embodiment. In this case, the analysis processing server 100, which is a distributed ledger node, deploys a smart contract, which is an analysis processing function, distributed from the zero-knowledge proof processing server 200, which is a client node (s20).

また、分散台帳ノードたる分析処理サーバ100は、s20でデプロイした分析処理関数を含む鍵生成依頼を、CRS生成用サーバ150に送信し、当該CRS生成用サーバ150から公開鍵および秘密鍵を取得する(s21)。 Further, the analysis processing server 100, which is a distributed ledger node, sends a key generation request including the analysis processing function deployed in s20 to the CRS generation server 150, and acquires the public key and the private key from the CRS generation server 150. (S21).

続いて、分散台帳ノードたる分析処理サーバ100は、ゼロ知識証明処理サーバ200からのスマートコントラクトの実行依頼に対応したトランザクションを受信する(s22)。 Subsequently, the analysis processing server 100, which is a distributed ledger node, receives the transaction corresponding to the execution request of the smart contract from the zero-knowledge proof processing server 200 (s22).

また、分散台帳ノードたる分析処理サーバ100は、スマートコントラクトに対し、顧客DB125のデータを引数として与えることで、分析実行結果を生成する(s23)。 Further, the analysis processing server 100, which is a distributed ledger node, generates an analysis execution result by giving the data of the customer DB 125 as an argument to the smart contract (s23).

続いて、分散台帳ノードたる分析処理サーバ100は、CRS生成用サーバ150から得ている秘密鍵、クライアントノードたるゼロ知識証明処理サーバ200から得ている分析処理関数、s23で生成した分析実行結果、および引数として利用した顧客DB125のデータ、に基づいて証明書を生成する(s24)。 Subsequently, the analysis processing server 100, which is a distributed ledger node, has a private key obtained from the CRS generation server 150, an analysis processing function obtained from the zero-knowledge proof processing server 200, which is a client node, and an analysis execution result generated by s23. A certificate is generated based on the data of the customer DB 125 used as an argument and the data (s24).

また、分散台帳ノードたる分析処理サーバ100は、CRS生成用サーバ150から得ている公開鍵とゼロ知識証明処理サーバ200から得てデプロイしたスマートコントクトとを紐付けて、分散台帳110におけるブロックチェーン115に格納する(s25)。 Further, the analysis processing server 100, which is a distributed ledger node, links the public key obtained from the CRS generation server 150 with the smart contract deployed obtained from the zero-knowledge proof processing server 200, and blocks the blockchain in the distributed ledger 110. It is stored in 115 (s25).

この際、既に述べたとおり、従来においてブロックチェーンシステムとは異なり、分散台帳ノード間での合意形成手続は不要である。なぜなら、ゼロ知識証明の概念により、分散台帳ノードたる分析処理サーバ100での処理結果の真正性を担保しているためである。 At this time, as already described, unlike the conventional blockchain system, no consensus building procedure is required between the distributed ledger nodes. This is because the concept of zero-knowledge proof ensures the authenticity of the processing result in the analysis processing server 100 which is the distributed ledger node.

続いて、分散台帳ノードたる分析処理サーバ100は、スマートコントラクトおよび公開鍵を検証用情報としてゼロ知識証明処理サーバ200に返信し(s26)、処理を終了する。 Subsequently, the analysis processing server 100, which is a distributed ledger node, returns the smart contract and the public key as verification information to the zero-knowledge proof processing server 200 (s26), and ends the processing.

従来のブロックチェーンシステムにおいては、複数ノードを管理する必要が生じ、システム規模の拡大等に伴い管理コストが増加する、全ノード数に対して一定割合のノード数(51%等)での実行を必須とした場合、システム規模の拡大に伴うスケールアウトが期待出来ない、および乱数生成など、ノードごとに異なる処理結果を返す可能性のあるトランザクションは実行できない(実行結果が同一にならないため正当性検証は常に失敗する)、といった課題が存在する。 In a conventional blockchain system, it becomes necessary to manage multiple nodes, and the management cost increases as the system scale expands. Execution is performed with a fixed ratio of nodes (51%, etc.) to the total number of nodes. If it is required, scale-out cannot be expected due to the expansion of the system scale, and transactions that may return different processing results for each node, such as random number generation, cannot be executed (validity verification because the execution results are not the same). Always fails).

ところが、上述の実施形態を採用すれば、分散台帳ノードを大幅に低減し、最小構成としては1つの分散台帳ノードのみでブロックチェーンシステムを運用出来る。そのため、ノード管理にかかるコストを低減し、システム規模の拡大に伴うスケールアウトを期待出来る。また、乱数生成など、ノードごとに異なる処理結果を返す可能性のあるトランザクションであっても実行可能、といった効果を奏することになる。 However, if the above-described embodiment is adopted, the number of distributed ledger nodes can be significantly reduced, and the blockchain system can be operated with only one distributed ledger node as the minimum configuration. Therefore, the cost for node management can be reduced, and scale-out can be expected as the system scale expands. In addition, even a transaction that may return different processing results for each node, such as random number generation, can be executed.

以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、個人情報の流出可能性を極小化したうえで、外部組織による個人情報の利活用が可能となる。
Although the best mode for carrying out the present invention has been specifically described above, the present invention is not limited to this, and various modifications can be made without departing from the gist thereof.
According to this embodiment, the possibility of leakage of personal information is minimized, and then the personal information can be utilized by an external organization.

本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の匿名データ管理システムにおいて、前記記憶装置は、前記分析処理関数が実行する処理として不都合な処理のリストを更に保持し、前記演算装置は、前記検証者装置から前記分析処理関数を受信し、当該分析処理関数が含むコードを、前記リストが示す各コードに照合して、前記不都合な処理の有無を判定し、前記分析処理関数が前記不都合な処理を含まない場合、前記鍵生成依頼から以降の処理を実行するものである、としてもよい。 The description herein reveals at least the following: That is, in the anonymous data management system of the present embodiment, the storage device further holds a list of processes that are inconvenient as the processes executed by the analysis processing function, and the arithmetic unit receives the analysis processing function from the verifier device. Is received, the code included in the analysis processing function is collated with each code shown in the list to determine the presence or absence of the inconvenient processing, and if the analysis processing function does not include the inconvenient processing, the key. It may be said that the subsequent processing is executed from the generation request.

これによれば、例えば、金融機関の基幹システム(例:勘定系)へのアクセスを行う処理、顧客DBから全ての顧客の全ての項目の値を抽出する処理、といった不都合な処理を分析処理関数が含むか的確に特定し、こうした分析処理関数の実行を事前に排除できる。すなわち、個人情報の流出可能性を極小化したうえで、外部組織による個人情報の利活用が可能となる。 According to this, for example, an analysis processing function analyzes inconvenient processes such as a process of accessing a core system of a financial institution (eg, a core banking system) and a process of extracting the values of all items of all customers from a customer DB. It is possible to accurately identify whether the analysis processing function is included and to eliminate the execution of such an analysis processing function in advance. That is, after minimizing the possibility of leakage of personal information, it is possible for an external organization to utilize the personal information.

また、本実施形態の匿名データ管理システムにおいて、前記記憶装置は、所定の分析処理ごとにアクセスすべきデータリソースの宛先情報リストを更に保持し、前記演算装置は、前記判定の結果、前記分析処理関数が前記不都合な処理を含まない場合、前記分析処理関数が含む分析処理の情報を、前記宛先情報リストに照合して、当該分析処理において規定すべきデータリソースの宛先情報を特定し、当該宛先情報を前記分析処理関数に設定する処理をさらに実行するものである、としてもよい。 Further, in the anonymous data management system of the present embodiment, the storage device further holds a destination information list of data resources to be accessed for each predetermined analysis process, and the calculation device further holds the destination information list of the data resource to be accessed for each predetermined analysis process, and the calculation device determines the result of the analysis process. When the function does not include the inconvenient processing, the analysis processing information included in the analysis processing function is collated with the destination information list to identify the destination information of the data resource to be specified in the analysis processing, and the destination is specified. The process of setting the information in the analysis processing function may be further executed.

これによれば、検証者側では知り得ない、金融機関でのデータベースのアドレス等に関して、分析処理関数中では記載せずとも、適宜な分析処理関数を最終的に生成し、これを実行可能とすることができる。 According to this, it is possible to finally generate an appropriate analysis processing function and execute it without describing it in the analysis processing function regarding the database address etc. at the financial institution, which the verifier cannot know. can do.

また、本実施形態の匿名データ管理システムにおいて、前記検証者装置がブロックチェーンシステムにおけるクライアントであり、前記分析処理サーバが前記ブロックチェーンシステムにおける分散台帳ノードである構成において、前記分析処理サーバの演算装置は、前記分析処理関数の配信を前記検証者装置から受けるに際し、前記分析処理関数であるスマートコントラクトを、前記検証者装置から受信してデプロイして、前記検証者装置からの前記スマートコントラクトの実行依頼に対応したトランザクションを受信し、前記分析実行結果の生成に際し、前記トランザクションの受信に応じて、前記スマートコントラクトを前記引数を与えて実行し、分析実行結果を生成し、前記公開鍵と前記スマートコントラクトを紐付けて分散台帳におけるブロックチェーンに格納するものである、としてもよい。 Further, in the anonymous data management system of the present embodiment, in a configuration in which the verifier device is a client in the blockchain system and the analysis processing server is a distributed ledger node in the blockchain system, the calculation device of the analysis processing server. When receiving the distribution of the analysis processing function from the verifier device, receives and deploys the smart contract which is the analysis processing function from the verifier device, and executes the smart contract from the verifier device. When the transaction corresponding to the request is received and the analysis execution result is generated, the smart contract is executed by giving the argument in response to the reception of the transaction, the analysis execution result is generated, and the public key and the smart are generated. It may be assumed that the contract is linked and stored in the blockchain in the distributed ledger.

これによれば、ブロックチェーンシステムにおける従来の課題、すなわち、複数ノードを管理する必要が生じ、システム規模の拡大等に伴い管理コストが増加する、全ノード数に対して一定割合のノード数(51%等)での実行を必須とした場合、システム規模の拡大に伴うスケールアウトが期待出来ない、および乱数生成など、ノードごとに異なる処理結果を返す可能性のあるトランザクションは実行できない(実行結果が同一にならないため
正当性検証は常に失敗する)、といった課題に対処して、分散台帳ノードを大幅に低減し
、最小構成としては1つの分散台帳ノードのみでブロックチェーンシステムを運用出来ることとなる。そのため、ノード管理にかかるコストを低減し、システム規模の拡大に伴うスケールアウトを期待出来る。また、乱数生成など、ノードごとに異なる処理結果を返す可能性のあるトランザクションであっても実行可能、といった効果を奏することになる。
According to this, the conventional problem in the blockchain system, that is, the need to manage a plurality of nodes arises, and the management cost increases with the expansion of the system scale, etc., and the number of nodes (51) is a fixed ratio to the total number of nodes. If execution at% etc. is mandatory, scale-out cannot be expected due to the expansion of the system scale, and transactions that may return different processing results for each node, such as random number generation, cannot be executed (execution results are By dealing with issues such as (validity verification always fails because they are not the same), the number of distributed ledger nodes can be significantly reduced, and the blockchain system can be operated with only one distributed ledger node as the minimum configuration. Therefore, the cost for node management can be reduced, and scale-out can be expected as the system scale expands. In addition, even a transaction that may return different processing results for each node, such as random number generation, can be executed.

また、本実施形態の匿名データ管理方法において、前記情報処理装置が、前記記憶装置において、前記分析処理関数が実行する処理として不都合な処理のリストを更に保持し、前記検証者装置から前記分析処理関数を受信し、当該分析処理関数が含むコードを、前記
リストが示す各コードに照合して、前記不都合な処理の有無を判定し、前記分析処理関数が前記不都合な処理を含まない場合、前記鍵生成依頼から以降の処理を実行する、としてもよい。
Further, in the anonymous data management method of the present embodiment, the information processing device further holds a list of processes that are inconvenient as processes executed by the analysis processing function in the storage device, and the analysis processing is performed by the verifier device. When the function is received, the code included in the analysis processing function is collated with each code shown in the list to determine the presence or absence of the inconvenient processing, and the analysis processing function does not include the inconvenient processing, the above. The subsequent processing may be executed from the key generation request.

また、本実施形態の匿名データ管理方法において、前記情報処理装置が、前記記憶装置において、所定の分析処理ごとにアクセスすべきデータリソースの宛先情報リストを更に保持し、前記判定の結果、前記分析処理関数が前記不都合な処理を含まない場合、前記分析処理関数が含む分析処理の情報を、前記宛先情報リストに照合して、当該分析処理において規定すべきデータリソースの宛先情報を特定し、当該宛先情報を前記分析処理関数に設定する処理をさらに実行する、としてもよい。 Further, in the anonymous data management method of the present embodiment, the information processing device further holds a destination information list of data resources to be accessed for each predetermined analysis process in the storage device, and as a result of the determination, the analysis When the processing function does not include the inconvenient processing, the analysis processing information included in the analysis processing function is collated with the destination information list to identify the destination information of the data resource to be specified in the analysis processing. The process of setting the destination information in the analysis processing function may be further executed.

また、本実施形態の匿名データ管理方法において、前記検証者装置がブロックチェーンシステムにおけるクライアントであり、前記分析処理サーバが前記ブロックチェーンシステムにおける分散台帳ノードである構成において、前記分析処理サーバが、前記分析処理関数の配信を前記検証者装置から受けるに際し、前記分析処理関数であるスマートコントラクトを、前記検証者装置から受信してデプロイして、前記検証者装置からの前記スマートコントラクトの実行依頼に対応したトランザクションを受信し、前記分析実行結果の生成に際し、前記トランザクションの受信に応じて、前記スマートコントラクトを前記引数を与えて実行し、分析実行結果を生成し、前記公開鍵と前記スマートコントラクトを紐付けて分散台帳におけるブロックチェーンに格納する、としてもよい。 Further, in the anonymous data management method of the present embodiment, in a configuration in which the verifier device is a client in the blockchain system and the analysis processing server is a distributed ledger node in the blockchain system, the analysis processing server is said. When receiving the distribution of the analysis processing function from the verifier device, the smart contract which is the analysis processing function is received from the verifier device and deployed to respond to the execution request of the smart contract from the verifier device. When the transaction is received and the analysis execution result is generated, the smart contract is executed by giving the argument in response to the reception of the transaction, the analysis execution result is generated, and the public key and the smart contract are linked. It may be attached and stored in the blockchain in the distributed ledger.

1 ネットワーク
10 匿名データ管理システム
100 分析処理サーバ
101 記憶装置
102 プログラム
103 メモリ
104 演算装置
105 通信装置
110 分散台帳
115 ブロックチェーン
125 顧客DB
126 不都合処理リスト
127 宛先情報リスト
150 CRS生成用サーバ
200 ゼロ知識証明処理サーバ
1 Network 10 Anonymous data management system 100 Analysis processing server 101 Storage device 102 Program 103 Memory 104 Arithmetic device 105 Communication device 110 Distributed ledger 115 Blockchain 125 Customer DB
126 Inconvenience processing list 127 Destination information list 150 CRS generation server 200 Zero-knowledge proof processing server

Claims (10)

金融機関の顧客データを保持する記憶装置と、
検証者装置から配信された分析処理関数を含む鍵生成依頼を、鍵生成装置に送信し、当該鍵生成装置から公開鍵および秘密鍵を取得する処理、前記分析処理関数に前記顧客データを引数として与えることで分析実行結果を生成する処理、前記秘密鍵、前記分析処理関数、前記分析実行結果、および前記引数に基づいて証明書を生成する処理、および前記分析処理関数、前記証明書、および前記公開鍵を検証用情報として前記検証者装置に返信する処理、を実行する演算装置と、
を備える分析処理サーバ、
を含むことを特徴とする匿名データ管理システム。
A storage device that holds customer data of financial institutions,
A process of sending a key generation request including an analysis processing function distributed from a verifier device to a key generation device and acquiring a public key and a private key from the key generation device, using the customer data as an argument to the analysis processing function. A process of generating an analysis execution result by giving, a process of generating a certificate based on the private key, the analysis processing function, the analysis execution result, and the argument, and the analysis processing function, the certificate, and the above. An arithmetic device that executes a process of returning the public key as verification information to the verifier device,
Analysis processing server, equipped with
An anonymous data management system characterized by including.
前記記憶装置は、
前記分析処理関数が実行する処理として不都合な処理のリストを更に保持し、
前記演算装置は、
前記検証者装置から前記分析処理関数を受信し、当該分析処理関数が含むコードを、前記リストが示す各コードに照合して、前記不都合な処理の有無を判定し、前記分析処理関数が前記不都合な処理を含まない場合、前記鍵生成依頼から以降の処理を実行するものである、
ことを特徴とする請求項1に記載の匿名データ管理システム。
The storage device is
Further, a list of inconvenient processes to be executed by the analysis process function is retained.
The arithmetic unit
The analysis processing function is received from the verifier device, the code included in the analysis processing function is collated with each code shown in the list, the presence or absence of the inconvenient processing is determined, and the analysis processing function performs the inconvenience. If no processing is included, the subsequent processing is executed from the key generation request.
The anonymous data management system according to claim 1.
前記記憶装置は、
所定の分析処理ごとにアクセスすべきデータリソースの宛先情報リストを更に保持し、
前記演算装置は、
前記判定の結果、前記分析処理関数が前記不都合な処理を含まない場合、前記分析処理関数が含む分析処理の情報を、前記宛先情報リストに照合して、当該分析処理において規定すべきデータリソースの宛先情報を特定し、当該宛先情報を前記分析処理関数に設定する処理をさらに実行するものである、
ことを特徴とする請求項2に記載の匿名データ管理システム。
The storage device is
Further holds a list of destination information of data resources to be accessed for each predetermined analysis process.
The arithmetic unit
As a result of the determination, when the analysis processing function does not include the inconvenient processing, the information of the analysis processing included in the analysis processing function is collated with the destination information list, and the data resource to be specified in the analysis processing. The process of specifying the destination information and setting the destination information in the analysis processing function is further executed.
2. The anonymous data management system according to claim 2.
前記検証者装置がブロックチェーンシステムにおけるクライアントであり、前記分析処理サーバが前記ブロックチェーンシステムにおける分散台帳ノードである構成において、
前記分析処理サーバの演算装置は、
前記分析処理関数の配信を前記検証者装置から受けるに際し、前記分析処理関数であるスマートコントラクトを、前記検証者装置から受信してデプロイして、前記検証者装置からの前記スマートコントラクトの実行依頼に対応したトランザクションを受信し、
前記分析実行結果の生成に際し、前記トランザクションの受信に応じて、前記スマートコントラクトを前記引数を与えて実行し、分析実行結果を生成し、
前記公開鍵と前記スマートコントラクトを紐付けて分散台帳におけるブロックチェーンに格納するものである、
ことを特徴とする請求項1に記載の匿名データ管理システム。
In a configuration in which the verifier device is a client in the blockchain system and the analysis processing server is a distributed ledger node in the blockchain system.
The arithmetic unit of the analysis processing server is
When receiving the distribution of the analysis processing function from the verifier device, the smart contract which is the analysis processing function is received from the verifier device and deployed, and the execution request of the smart contract from the verifier device is made. Receive the corresponding transaction and
When generating the analysis execution result, the smart contract is executed by giving the argument in response to the reception of the transaction, and the analysis execution result is generated.
The public key and the smart contract are linked and stored in the blockchain in the distributed ledger.
The anonymous data management system according to claim 1.
金融機関の顧客データを保持する記憶装置と、
検証者装置であるブロックチェーンシステムのクライアントから配信された、分析処理関数たるスマートコントラクトをデプロイし、当該分析処理関数を含む鍵生成依頼を、鍵生成装置に送信し、当該鍵生成装置から公開鍵および秘密鍵を取得する処理、前記検証者装置からの前記スマートコントラクトの実行依頼に対応したトランザクションを受信し、前記スマートコントラクトに前記顧客データを引数として与えることで分析実行結果を生成する処理、前記秘密鍵、前記分析処理関数、前記分析実行結果、および前記引数に基づいて証明書を生成する処理、前記公開鍵と前記スマートコントラクトを紐付けて分散台帳
におけるブロックチェーンに格納する処理、および前記スマートコントラクト、および前記公開鍵を検証用情報として前記検証者装置に返信する処理、を実行する演算装置と、
を備える分析処理サーバ、
を含むことを特徴とする匿名データ管理システム。
A storage device that holds customer data of financial institutions,
A smart contract, which is an analysis processing function, delivered from a client of the blockchain system, which is a verifier device, is deployed, a key generation request including the analysis processing function is sent to the key generation device, and the public key is sent from the key generation device. And the process of acquiring the private key, the process of receiving the transaction corresponding to the execution request of the smart contract from the verifier device, and the process of generating the analysis execution result by giving the customer data to the smart contract as an argument. The process of generating a certificate based on the private key, the analysis processing function, the analysis execution result, and the argument, the process of linking the public key and the smart contract and storing them in the blockchain in the distributed ledger, and the smart. An arithmetic device that executes a contract and a process of returning the public key as verification information to the verifier device.
Analysis processing server, equipped with
An anonymous data management system characterized by including.
情報処理装置が、
金融機関の顧客データを保持する記憶装置を備えて、
検証者装置から配信された分析処理関数を含む鍵生成依頼を、鍵生成装置に送信し、当該鍵生成装置から公開鍵および秘密鍵を取得する処理、前記分析処理関数に前記顧客データを引数として与えることで分析実行結果を生成する処理、前記秘密鍵、前記分析処理関数、前記分析実行結果、および前記引数に基づいて証明書を生成する処理、および前記分析処理関数、前記証明書、および前記公開鍵を検証用情報として前記検証者装置に返信する処理、
を実行することを特徴とする匿名データ管理方法。
Information processing device
Equipped with a storage device that holds customer data of financial institutions
A process of sending a key generation request including an analysis processing function distributed from a verifier device to a key generation device and acquiring a public key and a private key from the key generation device, using the customer data as an argument to the analysis processing function. A process of generating an analysis execution result by giving, a process of generating a certificate based on the private key, the analysis processing function, the analysis execution result, and the argument, and the analysis processing function, the certificate, and the above. Processing to return the public key to the verifier device as verification information,
An anonymous data management method characterized by performing.
前記情報処理装置が、
前記記憶装置において、前記分析処理関数が実行する処理として不都合な処理のリストを更に保持し、
前記検証者装置から前記分析処理関数を受信し、当該分析処理関数が含むコードを、前記リストが示す各コードに照合して、前記不都合な処理の有無を判定し、前記分析処理関数が前記不都合な処理を含まない場合、前記鍵生成依頼から以降の処理を実行する、
ことを特徴とする請求項6に記載の匿名データ管理方法。
The information processing device
In the storage device, a list of processes that are inconvenient as the processes executed by the analysis processing function is further retained.
The analysis processing function is received from the verifier device, the code included in the analysis processing function is collated with each code shown in the list, the presence or absence of the inconvenient processing is determined, and the analysis processing function performs the inconvenience. If no processing is included, the subsequent processing from the key generation request is executed.
The anonymous data management method according to claim 6, characterized in that.
前記情報処理装置が、
前記記憶装置において、所定の分析処理ごとにアクセスすべきデータリソースの宛先情報リストを更に保持し、
前記判定の結果、前記分析処理関数が前記不都合な処理を含まない場合、前記分析処理関数が含む分析処理の情報を、前記宛先情報リストに照合して、当該分析処理において規定すべきデータリソースの宛先情報を特定し、当該宛先情報を前記分析処理関数に設定する処理をさらに実行する、
ことを特徴とする請求項7に記載の匿名データ管理方法。
The information processing device
The storage device further holds a list of destination information of data resources to be accessed for each predetermined analysis process.
As a result of the determination, when the analysis processing function does not include the inconvenient processing, the information of the analysis processing included in the analysis processing function is collated with the destination information list, and the data resource to be specified in the analysis processing. Further executing the process of specifying the destination information and setting the destination information in the analysis processing function.
The anonymous data management method according to claim 7, characterized in that.
前記検証者装置がブロックチェーンシステムにおけるクライアントであり、前記分析処理サーバが前記ブロックチェーンシステムにおける分散台帳ノードである構成において、
前記分析処理サーバが、
前記分析処理関数の配信を前記検証者装置から受けるに際し、前記分析処理関数であるスマートコントラクトを、前記検証者装置から受信してデプロイして、前記検証者装置からの前記スマートコントラクトの実行依頼に対応したトランザクションを受信し、
前記分析実行結果の生成に際し、前記トランザクションの受信に応じて、前記スマートコントラクトを前記引数を与えて実行し、分析実行結果を生成し、
前記公開鍵と前記スマートコントラクトを紐付けて分散台帳におけるブロックチェーンに格納する、
ことを特徴とする請求項6に記載の匿名データ管理方法。
In a configuration in which the verifier device is a client in the blockchain system and the analysis processing server is a distributed ledger node in the blockchain system.
The analysis processing server
When receiving the distribution of the analysis processing function from the verifier device, the smart contract which is the analysis processing function is received from the verifier device and deployed, and the execution request of the smart contract from the verifier device is made. Receive the corresponding transaction and
When generating the analysis execution result, the smart contract is executed by giving the argument in response to the reception of the transaction, and the analysis execution result is generated.
The public key and the smart contract are linked and stored in the blockchain in the distributed ledger.
The anonymous data management method according to claim 6, characterized in that.
情報処理装置が、
金融機関の顧客データを保持する記憶装置を備えて、
検証者装置であるブロックチェーンシステムのクライアントから配信された、分析処理関数たるスマートコントラクトをデプロイし、当該分析処理関数を含む鍵生成依頼を、鍵生成装置に送信し、当該鍵生成装置から公開鍵および秘密鍵を取得する処理、前記検証者装置からの前記スマートコントラクトの実行依頼に対応したトランザクションを受信し、
前記スマートコントラクトに前記顧客データを引数として与えることで分析実行結果を生成する処理、前記秘密鍵、前記分析処理関数、前記分析実行結果、および前記引数に基づいて証明書を生成する処理、前記公開鍵と前記スマートコントラクトを紐付けて分散台帳におけるブロックチェーンに格納する処理、および前記スマートコントラクト、および前記公開鍵を検証用情報として前記検証者装置に返信する処理、
を実行することを特徴とする匿名データ管理方法。
Information processing device
Equipped with a storage device that holds customer data of financial institutions
A smart contract, which is an analysis processing function, delivered from a client of the blockchain system, which is a verifier device, is deployed, a key generation request including the analysis processing function is sent to the key generation device, and the public key is sent from the key generation device. And the process of acquiring the private key, receiving the transaction corresponding to the execution request of the smart contract from the verifier device,
A process of generating an analysis execution result by giving the customer data as an argument to the smart contract, a process of generating a certificate based on the private key, the analysis processing function, the analysis execution result, and the argument, the public A process of associating a key with the smart contract and storing it in a blockchain in a distributed ledger, and a process of returning the smart contract and the public key to the verifier device as verification information.
An anonymous data management method characterized by performing.
JP2019116149A 2019-06-24 2019-06-24 Anonymous data management system and anonymous data management method Pending JP2021001991A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019116149A JP2021001991A (en) 2019-06-24 2019-06-24 Anonymous data management system and anonymous data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019116149A JP2021001991A (en) 2019-06-24 2019-06-24 Anonymous data management system and anonymous data management method

Publications (1)

Publication Number Publication Date
JP2021001991A true JP2021001991A (en) 2021-01-07

Family

ID=73994167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019116149A Pending JP2021001991A (en) 2019-06-24 2019-06-24 Anonymous data management system and anonymous data management method

Country Status (1)

Country Link
JP (1) JP2021001991A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210264416A1 (en) * 2020-02-26 2021-08-26 Nice Ltd. System and method using zero knowledge proofs for alert sharing
WO2022249439A1 (en) * 2021-05-28 2022-12-01 富士通株式会社 Information processing system, information processing device, information processing program, and information processing method
WO2023058186A1 (en) * 2021-10-07 2023-04-13 富士通株式会社 Information processing program, information processing method, and information processing apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210264416A1 (en) * 2020-02-26 2021-08-26 Nice Ltd. System and method using zero knowledge proofs for alert sharing
US11514439B2 (en) * 2020-02-26 2022-11-29 Nice Ltd. System and method using zero knowledge proofs for alert sharing
US11928675B2 (en) 2020-02-26 2024-03-12 Nice Ltd. System and method using zero knowledge proofs for alert sharing
WO2022249439A1 (en) * 2021-05-28 2022-12-01 富士通株式会社 Information processing system, information processing device, information processing program, and information processing method
WO2023058186A1 (en) * 2021-10-07 2023-04-13 富士通株式会社 Information processing program, information processing method, and information processing apparatus

Similar Documents

Publication Publication Date Title
US11210661B2 (en) Method for providing payment gateway service using UTXO-based protocol and server using same
US11533164B2 (en) System and method for blockchain-based cross-entity authentication
JP6873270B2 (en) Handling of transaction activities based on smart contracts in the blockchain Caution Methods and devices for protecting data
US11025435B2 (en) System and method for blockchain-based cross-entity authentication
EP3788523B1 (en) System and method for blockchain-based cross-entity authentication
EP3520319B1 (en) Distributed electronic record and transaction history
WO2021000419A1 (en) System and method for blockchain-based cross-entity authentication
Mukta et al. Blockchain-based verifiable credential sharing with selective disclosure
US20210406877A1 (en) Digital Asset Custody Method and Apparatus and Storage Medium
US20190058595A1 (en) Platform for generating authenticated data objects
US11263632B2 (en) Information sharing methods, apparatuses, and devices
JP2021001991A (en) Anonymous data management system and anonymous data management method
US11310244B2 (en) Information sharing methods, apparatuses, and devices
CN112560072B (en) Key management method, device, medium and equipment based on block chain
US11514445B2 (en) Information sharing methods, apparatuses, and devices
JP7222436B2 (en) Security control method, information processing device and security control program
CN111402037A (en) User data processing method and device
CN111275461A (en) Data processing method and device and computer readable storage medium
WO2022208724A1 (en) Verification method, control method, information processing device, and verification program
Isern-Deyà et al. Micropayment scheme implementation on the android platform with performance evaluation