JP6685968B2 - Data management system, data management method, and data management program - Google Patents
Data management system, data management method, and data management program Download PDFInfo
- Publication number
- JP6685968B2 JP6685968B2 JP2017096380A JP2017096380A JP6685968B2 JP 6685968 B2 JP6685968 B2 JP 6685968B2 JP 2017096380 A JP2017096380 A JP 2017096380A JP 2017096380 A JP2017096380 A JP 2017096380A JP 6685968 B2 JP6685968 B2 JP 6685968B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- hash
- user data
- user
- data
- 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
Images
Description
本発明は、個人情報を管理するためのシステム、方法及びプログラムに関する。 The present invention relates to a system, method and program for managing personal information.
従来、個人情報の選択的な開示方法が研究されている。例えば、非特許文献1では、プライバシポリシをより簡単に解釈するための枠組みとしてプライバシポリシマネージャーが提案されている。
また、例えば、非特許文献2及び3では、ブロックチェーンを使用して匿名化された検証可能な情報を格納するシステムが提示されている。
2. Description of the Related Art Heretofore, a method of selectively disclosing personal information has been studied. For example, Non-Patent
Further, for example, Non-Patent
しかしながら、ブロックチェーンは、いわゆるトラストレスなシステムとみなされている。すなわち、多数の参加者を含むパブリック・ブロックチェーンでは、共謀又は多数意見の改ざんの可能性があり、限られた数の参加者を含むプライベート・ブロックチェーンであっても、共謀のリスクがある。
また、パブリック・ブロックチェーンは、全ての参加者が非常に大きなハッシュチェーンを維持するため、スケーラブルではない。さらに、全てのユーザの情報を単一のブロックチェーンに維持するためには、リソースを多く消費するため、状況によっては効率が十分ではなかった。
However, blockchain is regarded as a so-called trustless system. That is, in a public blockchain including a large number of participants, there is a possibility of conspiracy or falsification of majority opinion, and even in a private blockchain including a limited number of participants, there is a risk of conspiracy.
Also, the public blockchain is not scalable as all participants maintain a very large hashchain. Furthermore, maintaining the information of all users in a single blockchain is resource-intensive, which is not efficient in some situations.
本発明は、ユーザデータの依存関係に基づいて、開示範囲を効率的に限定して検証できるデータ管理システム、データ管理方法及びデータ管理プログラムを提供することを目的とする。 An object of the present invention is to provide a data management system, a data management method, and a data management program that can efficiently limit and disclose the disclosure range based on user data dependency relationships.
本発明に係るデータ管理システムは、ユーザデータが格納されたリーフノードに対して、当該リーフノードのハッシュ値及び電子署名を含むハッシュノードを生成するハッシュノード生成部と、第1のユーザデータと依存関係のある第2のユーザデータと共に、前記第1のユーザデータに対応する前記ハッシュノードを指すポインタを新たなリーフノードに格納するリーフノード生成部と、を備える。 The data management system according to the present invention is dependent on a leaf node storing user data, a hash node generating unit that generates a hash node including a hash value of the leaf node and a digital signature, and first user data. A leaf node generation unit that stores a pointer to the hash node corresponding to the first user data in a new leaf node together with related second user data.
前記データ管理システムは、複数の前記ハッシュノードに格納された前記ハッシュ値を連結したデータのハッシュ値、及び電子署名を含む上位ノードを設け、多段階の木構造を生成する上位ノード生成部を備えてもよい。 The data management system includes an upper node generating unit that generates a multi-level tree structure by providing an upper node that includes a hash value of data that is obtained by connecting the hash values stored in the plurality of hash nodes and a digital signature. May be.
前記ハッシュ値は、ユーザ毎に設定される乱数を用いた一方向性ハッシュ関数により算出されてもよい。 The hash value may be calculated by a one-way hash function using a random number set for each user.
本発明に係るデータ管理方法は、ユーザデータが格納されたリーフノードに対して、当該リーフノードのハッシュ値及び電子署名を含むハッシュノードを生成するハッシュノード生成ステップと、第1のユーザデータと依存関係のある第2のユーザデータと共に、前記第1のユーザデータに対応する前記ハッシュノードを指すポインタを新たなリーフノードに格納するリーフノード生成ステップと、をコンピュータが実行する。 A data management method according to the present invention, for a leaf node in which user data is stored, a hash node generating step of generating a hash node including a hash value of the leaf node and a digital signature; The computer executes a leaf node generation step of storing a pointer pointing to the hash node corresponding to the first user data in a new leaf node together with the related second user data.
本発明に係るデータ管理プログラムは、ユーザデータが格納されたリーフノードに対して、当該リーフノードのハッシュ値及び電子署名を含むハッシュノードを生成するハッシュノード生成ステップと、第1のユーザデータと依存関係のある第2のユーザデータと共に、前記第1のユーザデータに対応する前記ハッシュノードを指すポインタを新たなリーフノードに格納するリーフノード生成ステップと、をコンピュータに実行させるためのものである。 A data management program according to the present invention, for a leaf node storing user data, a hash node generating step of generating a hash node including a hash value of the leaf node and a digital signature; And a leaf node generation step of storing a pointer pointing to the hash node corresponding to the first user data in a new leaf node together with the related second user data.
本発明によれば、ユーザデータの依存関係に基づいて、開示範囲を効率的に限定して検証できる。 According to the present invention, the disclosure range can be efficiently limited and verified based on the dependency relationship of user data.
以下、本発明の実施形態の一例について説明する。
本実施形態に係るデータ管理システム1は、VI(Verifiable Information)グラフを管理することにより、ユーザデータを選択的に開示し、これらのユーザデータの検証を可能にする。
Hereinafter, an example of the embodiment of the present invention will be described.
The
図1は、本実施形態に係るデータ管理システム1の機能構成を示すブロック図である。
データ管理システム1は、複数の情報処理装置(コンピュータ)により実装される。例えば、データ所有者であるユーザの端末2において、制御部10は、記憶部20に格納されたソフトウェア(データ管理プログラム)を実行することにより、以下の各部として機能する。
制御部10は、ハッシュノード生成部11と、リーフノード生成部12と、上位ノード生成部13と、を備える。
FIG. 1 is a block diagram showing a functional configuration of a
The
The
ハッシュノード生成部11は、ユーザデータが格納されたリーフノードに対して、このリーフノードのハッシュ値及び電子署名を含むハッシュノードを生成する。
すなわち、リーフノードの上位に、ユーザデータ及び電子署名を検証可能なハッシュノードが生成される。
The hash
That is, a hash node capable of verifying user data and a digital signature is generated above the leaf node.
リーフノード生成部12は、第1のユーザデータと依存関係のある第2のユーザデータと共に、第1のユーザデータに対応するハッシュノードを指すポインタを新たなリーフノードに格納する。
すなわち、新たなリーフノードは、既存のリーフノードの上位にあるハッシュノードを指すポインタを含み、ユーザデータ及びポインタを含む新たなリーフノード全体のハッシュ値が新たなハッシュノードに格納される。
The leaf
That is, the new leaf node includes a pointer that points to a hash node above the existing leaf node, and the hash value of the entire new leaf node including the user data and the pointer is stored in the new hash node.
上位ノード生成部13は、複数のハッシュノードに格納されたハッシュ値を連結したデータのハッシュ値、及び電子署名を含む上位ノードを設け、多段階の木構造を生成する。
これにより、ルートノードを頂点とする木構造のうち、リーフノードからはハッシュノードに対して依存関係のポインタが付加されたVIグラフが生成される。
The upper
As a result, in the tree structure having the root node as the apex, the leaf node generates a VI graph in which the dependency pointer is added to the hash node.
生成されたVIグラフのうち、ユーザデータが格納されたリーフノードを除く上位ノードのデータは、メタデータプロバイダの管理サーバ3に格納され、検証者に提供される。
ここで、リーフノードより上位のノードに格納されるハッシュ値は、ユーザ毎に設定される乱数を用いた一方向性ハッシュ関数により算出される。これらのハッシュ値は、要求されたユーザデータの検証、及び対応する電子署名の検証に利用される。
Data of upper nodes of the generated VI graph excluding the leaf node in which the user data is stored is stored in the
Here, the hash value stored in the node higher than the leaf node is calculated by a one-way hash function using a random number set for each user. These hash values are used to verify the requested user data and the corresponding digital signature.
図2は、本実施形態に係るVIグラフの構造を示す図である。
VIグラフでは、木構造における各ブランチを独立して検証可能であり、検証者が要求しないブランチ内のユーザデータが秘匿される。
VIグラフは、例えば、4レベル(ルートレベル、グループレベル、ハッシュレベル、データレベル)の深さを持つ。実際のユーザデータは、4番目のレベルであるリーフノードに格納される。
FIG. 2 is a diagram showing the structure of the VI graph according to this embodiment.
In the VI graph, each branch in the tree structure can be independently verified, and the user data in the branch not requested by the verifier is hidden.
The VI graph has a depth of 4 levels (root level, group level, hash level, data level), for example. The actual user data is stored in the leaf node, which is the fourth level.
VIグラフは、検証可能性と選択的な情報リリースを目的としており、ルートノードからの高速検索を目的とするバイナリハッシュツリー等よりも一般化された木構造を有している。つまり、非リーフノードは、2つより多い複数の子ブランチ(下位ノード)を持つことができる。 The VI graph is for verifiability and selective information release, and has a tree structure more generalized than a binary hash tree or the like for high-speed search from the root node. That is, a non-leaf node can have more than two child branches (lower nodes).
VIグラフの生成及び管理に関係するエンティティは、次の4種類であり、各エンティティが有する情報処理装置によりデータ処理が行われる。
(a)データの所有者であるユーザ。
(b)運転免許証を発行する公安委員会等、ユーザデータを証明する組織エンティティ。
(c)VIグラフの少なくとも一部を保持し、検証のために提供するメタデータプロバイダ。
(d)VIグラフで管理される情報を検証するサービスプロバイダ等の検証者組織。
There are four types of entities related to VI graph generation and management, and data processing is performed by an information processing device included in each entity.
(A) A user who is the owner of the data.
(B) An organizational entity that certifies user data, such as a Public Safety Commission that issues a driver's license.
(C) A metadata provider that holds at least a part of the VI graph and provides it for verification.
(D) A verifier organization such as a service provider that verifies information managed by the VI graph.
各ユーザは、自身のユーザデータを管理する個人用のVIグラフを持ち、VIグラフの一部は、1つ以上のメタデータプロバイダによって管理される。なお、ユーザデータの種類によっては、関連する情報発行当局によって承認されなくてもよく、この場合、組織エンティティは不要である。 Each user has a personal VI graph that manages his or her user data, some of which are managed by one or more metadata providers. Note that depending on the type of user data, it may not be approved by the relevant information issuing authority, and in this case, the organizational entity is unnecessary.
ここで、ハッシュレベルとデータレベルとの間には、依存関係(ポインタ)が存在する。図2の例では、1対1、1対多、多対1の依存関係が示されている。
このポインタは、新たなリーフノードが生成される際に、過去のハッシュノードに対して設けられる。すなわち、図2で例示した左から右へ向かう時系列では、リーフノードから自身よりも左のハッシュノードに対してポインタが設けられる。
Here, there is a dependency relationship (pointer) between the hash level and the data level. In the example of FIG. 2, one-to-one, one-to-many, and many-to-one dependency relationships are shown.
This pointer is provided for a past hash node when a new leaf node is created. That is, in the time series from left to right illustrated in FIG. 2, a pointer is provided from the leaf node to the hash node to the left of itself.
図3は、本実施形態に係るVIグラフの各レベルでのノードに格納される情報を示す図である。 FIG. 3 is a diagram showing information stored in nodes at each level of the VI graph according to this embodiment.
[データレベル]
リーフノードL0,・・・,L9は、例えば、国民識別情報、住所、運転免許証等の個々のユーザデータL_iを含む。さらに、各リーフノードは、依存関係を示す後述のポインタを含んでもよい。
[Data level]
The leaf nodes L0, ..., L9 include individual user data L_i such as national identification information, an address, and a driver's license. Furthermore, each leaf node may include a pointer, which will be described later, indicating a dependency relationship.
[ハッシュレベル]
ハッシュノードD0,・・・,D9は、ユーザデータL_iに対して暗号的に安全な一方向性ハッシュ関数hにより計算されたハッシュ値h(L_i,r_u)を含む。ここで、r_uは、ユーザ毎に異なるランダム値である。これにより、同一のデータであっても、ユーザが異なればハッシュ値も異なる。したがって、ハッシュ値の間に関連性がないため、ユーザデータは、ハッシュ値からは類推されず秘匿される。
[Hash level]
The hash nodes D0, ..., D9 include the hash value h (L_i, r_u) calculated by the cryptographically secure one-way hash function h for the user data L_i. Here, r_u is a random value different for each user. As a result, even if the same data is used, the hash value will be different if the user is different. Therefore, since there is no relation between the hash values, the user data is hidden by analogy with the hash values.
各ハッシュノードは、対応するユーザデータのハッシュ値に加えて、このハッシュ値に対するユーザの電子署名sig_u(h(L_i,r_u))を含む。ハッシュノードは、さらに、ユーザデータに対応する組織エンティティの署名sig_o(h(L_i,r_u)を含んでもよい。例えば、リーフノードL5がユーザの現在の住所を表す場合、ハッシュノードD5には、L5のハッシュ値、ユーザの電子署名、及び組織エンティティとしての自治体の電子署名が含まれる。 Each hash node includes, in addition to the hash value of the corresponding user data, the electronic signature sig_u (h (L_i, r_u)) of the user for this hash value. The hash node may further include the signature sig_o (h (L_i, r_u) of the organizational entity corresponding to the user data. For example, if leaf node L5 represents the current address of the user, hash node D5 may include L5. , The user's digital signature, and the digital signature of the municipality as an organizational entity.
[グループレベル]
グループノードG0,・・・,G2は、ユーザによって定義され、例えば、データ種別による意味的なグルーピング、あるいは検証時のプライバシ保護のために情報群を分割する目的で設けられる。各グループノードには、直下の子ノードに格納されているハッシュ値を連結したデータのハッシュ値が含まれている。また、各グループノードには、ユーザの電子署名も含まれる。
[Group level]
The group nodes G0, ..., G2 are defined by the user and are provided for the purpose of dividing an information group for semantic grouping according to data type or privacy protection at the time of verification. Each group node contains a hash value of data obtained by concatenating the hash values stored in the child nodes immediately below. In addition, each group node also includes the electronic signature of the user.
[ルートレベル]
ルートノードRは、グループノードと同様に、直下の子ノードに格納されているハッシュ値を連結したデータのハッシュ値を含む。また、ルートノードには、ユーザに固有のランダム値r_u、ユーザの電子署名、及びVIグラフを維持管理するメタデータプロバイダの電子署名が含まれる。
[Root level]
Similar to the group node, the root node R includes a hash value of data obtained by concatenating the hash values stored in the child nodes immediately below. In addition, the root node includes a random value r_u unique to the user, the electronic signature of the user, and the electronic signature of the metadata provider that maintains and manages the VI graph.
図4は、本実施形態に係るリーフノードとハッシュノードとの関係を示す図である。
ユーザデータ間の依存関係は、データレベルのリーフノードからハッシュレベルのハッシュノードへ向かう一方向性ポインタにより定義される。
リーフノードには、ユーザデータと共に、1又は複数のポインタが格納されてよく、それぞれのポインタは、過去のハッシュノード(Dx及びDy)を指し示す。リーフノードの上位にあるハッシュノードDには、これらのポインタ及びユーザデータを含む全体のハッシュ値が格納される。
FIG. 4 is a diagram showing the relationship between leaf nodes and hash nodes according to this embodiment.
The dependency between user data is defined by a unidirectional pointer from a data level leaf node to a hash level hash node.
One or more pointers may be stored in the leaf node together with the user data, and each pointer points to a past hash node (Dx and Dy). The hash node D above the leaf node stores the entire hash value including these pointers and user data.
ポインタで示される依存関係は、関連データを検索するために用いられる。ポインタは、新しいユーザデータをVIグラフに追加する際に定義され、その後は変更されない。例えば、国C1の国籍を持つユーザが国C2の就労許可を取得してC2に居住している場合、就労許可のデータと共に、リーフノードには市民権のために署名されたハッシュノードへのポインタが含まれる。これは、ビザが特定の国籍に依存している意味的な依存関係を示す。
また、例えば、転居後の現在の住所を示すリーフノードには、転居前の住所を示すハッシュノードへのポインタが含まれ、ユーザの過去の住所情報が必要に応じて順に検索される。
The dependency indicated by the pointer is used to retrieve the related data. The pointer is defined when adding new user data to the VI graph and does not change thereafter. For example, if a user with nationality of country C1 obtains a work permit in country C2 and resides in C2, the leaf node is accompanied by a pointer to a hash node signed for citizenship, along with the work permit data. Is included. This indicates a semantic dependency where the visa depends on a particular nationality.
Further, for example, the leaf node indicating the current address after relocation includes a pointer to the hash node indicating the address before relocation, and the past address information of the user is sequentially searched as needed.
依存関係の定義は、ユーザの判断によるが、対応するハッシュノードの署名機関である組織エンティティは、ユーザにより指定された依存関係が無関係と判断した場合に拒絶してもよいし、逆に、特定の依存関係の設定をユーザに要求してもよい。依存関係は、1対1、1対多、多対1、多対多のいずれでもよく、さらに、グループを跨ってもよい。全ての依存関係は、過去へのポインタで表される。 The definition of the dependency is at the user's discretion, but the organizational entity that is the signing authority of the corresponding hash node may reject it if it determines that the dependency specified by the user is irrelevant, or vice versa. The user may be requested to set the dependency relationship of. The dependency may be any of one-to-one, one-to-many, many-to-one, and many-to-many, and further may span groups. All dependencies are represented by pointers to the past.
次に、データ管理システム1におけるVIグラフの維持管理の手法について説明する。
VIグラフの一部は、メタデータプロバイダだけでなく、ユーザによっても格納される。複数のメタデータプロバイダが存在する場合、信頼性を保証するために、VIグラフを複数のメタデータプロバイダに格納してErasure Codingを行ってもよい。
ユーザは、ルートノード以外の全てのノードを保存し、メタデータプロバイダは、リーフノードを除く全てのノードを保存する。これにより、ユーザは、個人情報等の機密性の高いユーザデータのコピーを公開することなく、検証者組織は、メタデータプロバイダによって格納されたVIグラフの一部又は全部を検証できる。
Next, a method of maintaining and managing the VI graph in the
Some of the VI graphs are stored by the user as well as the metadata provider. When there are multiple metadata providers, the VI graph may be stored in the multiple metadata providers and Erase Coding may be performed to ensure reliability.
The user saves all nodes except the root node and the metadata provider saves all nodes except leaf nodes. This allows the verifier organization to verify some or all of the VI graph stored by the metadata provider without the user having to publish a copy of highly confidential user data, such as personal information.
[追加操作]
ユーザは、追加操作により、データレベルのリーフノードを、空のグラフ又は既存のグラフに追加できる。いずれの場合も、ユーザは、既に公開鍵及び秘密鍵のペアを生成しているものとする。
[Additional operation]
The add operation allows the user to add a data level leaf node to an empty graph or an existing graph. In either case, it is assumed that the user has already generated the public key / private key pair.
図5は、本実施形態に係る空のVIグラフへの追加操作を示すシーケンス図である。
ステップS1(初期化ステップ)において、ユーザは、初期処理としてランダム値を生成する。
ステップS2(データ生成ステップ)において、ユーザは、ユーザデータのハッシュ値を計算し、電子署名を付加する。
FIG. 5 is a sequence diagram showing an adding operation to an empty VI graph according to this embodiment.
In step S1 (initialization step), the user generates a random value as an initial process.
In step S2 (data generation step), the user calculates a hash value of user data and adds a digital signature.
ステップS3(署名取得ステップ)において、ユーザは、組織エンティティへ署名を要求し、リーフノードに対する電子署名を取得する。 In step S3 (signature acquisition step), the user requests the organizational entity for a signature and acquires the electronic signature for the leaf node.
ステップS4(グラフ生成ステップ)において、ユーザは、グループノードに格納されるハッシュ値を計算し、電子署名を付加する。さらに、ユーザは、ルートノードに格納されるハッシュ値を計算し、電子署名を付加する。また、ユーザは、メタデータプロバイダに対して、ランダム値を公開する。 In step S4 (graph generation step), the user calculates a hash value stored in the group node and adds a digital signature. Further, the user calculates a hash value stored in the root node and adds a digital signature. The user also publishes the random value to the metadata provider.
ステップS5(公開ステップ)において、ユーザは、メタデータプロバイダへ署名を要求し、ルートノードに対する電子署名を取得する。その後、ユーザは、生成したVIグラフをメタデータプロバイダに対して公開する。 In step S5 (publication step), the user requests the metadata provider for a signature and obtains an electronic signature for the root node. After that, the user publishes the generated VI graph to the metadata provider.
図6は、本実施形態に係る既存のVIグラフへの追加操作を示すシーケンス図である。
ステップS11(データ生成ステップ)において、ユーザは、ユーザデータの依存関係を定義し、リーフノードを生成する。さらに、ユーザは、リーフノードのハッシュ値を計算し、電子署名を付加する。
FIG. 6 is a sequence diagram showing an adding operation to an existing VI graph according to this embodiment.
In step S11 (data generation step), the user defines the dependency relationship of the user data and generates a leaf node. Further, the user calculates the hash value of the leaf node and adds the digital signature.
ステップS12(署名取得ステップ)において、ユーザは、組織エンティティへ署名を要求し、リーフノードに対する電子署名を取得する。 In step S12 (signature acquisition step), the user requests the organizational entity for a signature and acquires the electronic signature for the leaf node.
以下、リーフノードが新たなグループに追加されるか、既存のグループに追加されるかによって、ステップS13a〜S14a、又はステップS13b〜S14bが実行される。 Hereinafter, steps S13a to S14a or steps S13b to S14b are executed depending on whether the leaf node is added to a new group or an existing group.
ステップS13a(グループ生成ステップ)において、ユーザは、グループノードに格納されるハッシュ値を計算し、電子署名を付加する。さらに、ユーザは、ルートノードに格納されるハッシュ値を更新する。 In step S13a (group generation step), the user calculates a hash value stored in the group node and adds a digital signature. Further, the user updates the hash value stored in the root node.
ステップS14a(検証ステップ)において、メタデータプロバイダは、更新されたルートノードのハッシュ値を検証し、ルートノードに対して電子署名を付加する。 In step S14a (verification step), the metadata provider verifies the updated hash value of the root node and adds an electronic signature to the root node.
ステップS13b(グループ更新ステップ)において、ユーザは、グループノードに格納されるハッシュ値を更新し、電子署名を付加する。さらに、ユーザは、ルートノードに格納されるハッシュ値を更新する。 In step S13b (group updating step), the user updates the hash value stored in the group node and adds a digital signature. Further, the user updates the hash value stored in the root node.
ステップS14b(検証ステップ)において、メタデータプロバイダは、更新されたグループノードのハッシュ値、及びルートノードのハッシュ値を検証し、ルートノードに対して電子署名を付加する。 In step S14b (verification step), the metadata provider verifies the updated hash value of the group node and the hash value of the root node, and adds an electronic signature to the root node.
ステップS15(公開ステップ)において、ユーザは、メタデータプロバイダから、ルートノードに対する電子署名を取得する。その後、ユーザは、更新したVIグラフをメタデータプロバイダに対して公開する。 In step S15 (publication step), the user acquires an electronic signature for the root node from the metadata provider. The user then publishes the updated VI graph to the metadata provider.
[削除操作]
ユーザは、削除操作により、ローカルストレージからリーフノードのみを削除できる。これにより、対応するハッシュノードは削除されないが、元のユーザデータは復元できない。残されたハッシュノードは、対応するユーザデータを開示することなく、他のノードの検証に利用される。
ここで、検証のプロセス中に組織エンティティによる電子署名を削除することにより、検証者は、ハッシュ値のみから元のユーザデータを推測することもできなくなる。
[Delete operation]
The user can delete only the leaf node from the local storage by the delete operation. As a result, the corresponding hash node is not deleted, but the original user data cannot be restored. The remaining hash node is used for verification of other nodes without disclosing the corresponding user data.
Here, deleting the electronic signature by the organizational entity during the verification process also prevents the verifier from inferring the original user data from the hash value alone.
[移動操作]
ユーザは、移動操作により、リーフノード及び対応するハッシュノードを、あるグループから別のグループへ移動できる。移動操作は、削除操作の後に追加操作を加えたものだが、移動するノードはグラフから削除されないので、グループ間の依存関係が発生する場合がある。
[Move operation]
The user can move the leaf node and the corresponding hash node from one group to another group by the move operation. The move operation is the delete operation followed by the add operation, but since the moving node is not deleted from the graph, a dependency between groups may occur.
グループノードG_kの下位から既存のリーフノードL_kを削除するには、ユーザは、G_kに含まれるハッシュ値がL_kのハッシュ値と、他のハッシュノードに含まれるハッシュ値とを連結したデータのハッシュ値であることを、メタデータプロバイダに証明する必要がある。このことが検証されると、G_kのハッシュ値は、連結データからL_kのハッシュ値を除いたデータに対するハッシュ値に更新され、ユーザによって電子署名が付加される。 In order to delete the existing leaf node L_k from the lower order of the group node G_k, the user has to connect the hash value of the hash value L_k included in G_k and the hash value included in another hash node to the hash value of the data. Must be proved to the metadata provider. When this is verified, the hash value of G_k is updated to the hash value for the data obtained by removing the hash value of L_k from the concatenated data, and the electronic signature is added by the user.
この後、グラフへの追加操作によって移動操作は完結するが、移動するハッシュノードには、既に必要な電子署名が付加されているため、前述した既存のグラフへの追加操作のうち、署名取得ステップが省略される。 After that, the move operation is completed by the add operation to the graph, but since the moving hash node already has the necessary digital signature, the signature acquisition step among the add operations to the existing graph described above. Is omitted.
図7は、本実施形態に係る検証者組織による検証処理を示す図である。
まず、サービスプロバイダ等の検証者組織は、ユーザ及びメタデータプロバイダのそれぞれから、以下の2つのデータセットを取得する。
FIG. 7 is a diagram showing a verification process by the verifier organization according to the present embodiment.
First, a verifier organization such as a service provider acquires the following two data sets from each of the user and the metadata provider.
(ユーザから)
・検証対象である要求ユーザデータ
・要求ユーザデータに対応する電子署名付きのハッシュノード
・要求ユーザデータに対応するハッシュノードと同一グループに属するハッシュノード
・要求ユーザデータを配下に持たない電子署名付きのグループノード
(From user)
・ Required user data to be verified ・ Hash node with digital signature corresponding to the required user data ・ Hash node belonging to the same group as the hash node corresponding to the required user data ・ Digital signature with no required user data under it Group node
(メタデータプロバイダから)
・ユーザに固有のランダム値
・要求ユーザデータに対応する電子署名付きのハッシュノード
・要求ユーザデータの上位にある電子署名付きのグループノード
・電子署名付きのルートノード
(From metadata provider)
-A random value unique to the user-A hash node with a digital signature corresponding to the requested user data-A group node with a digital signature above the requested user data-A root node with a digital signature
ステップS21において、検証者組織は、ユーザから提供された要求ユーザデータのハッシュ値を計算し、このハッシュ値がユーザ及びメタデータプロバイダの双方から得たものと一致するか否か、さらに、これらに対する電子署名が正しいか否かを確認する。また、検証者組織は、この段階で依存関係を確認する。 In step S21, the verifier organization calculates a hash value of the requested user data provided by the user, determines whether or not this hash value matches that obtained from both the user and the metadata provider, and Check whether the digital signature is correct. The verifier organization also confirms the dependency relationship at this stage.
ステップS22において、検証者組織は、ユーザから提供された他の全てのハッシュノードの情報を連結した後、グループノードに相当するハッシュ値を計算し、これらのハッシュ値及び電子署名がメタデータプロバイダから得たものと一致するか否かを確認する。 In step S22, the verifier organization concatenates the information of all the other hash nodes provided by the user, then calculates the hash value corresponding to the group node, and the hash value and the electronic signature are obtained from the metadata provider. Check if it matches the one obtained.
ステップS23において、検証者組織は、ユーザから提供された他の全てのグループノードの情報を連結した後、ルートノードに相当するハッシュ値を計算し、このハッシュ値及び電子署名がメタデータプロバイダから得たものと一致するか否かを確認する。 In step S23, the verifier organization calculates the hash value corresponding to the root node after concatenating the information of all other group nodes provided by the user, and obtains this hash value and the electronic signature from the metadata provider. Check whether it matches the one
ここで、データレベルのユーザデータを検証するためには、同一グループの他のハッシュレベルの情報をユーザが提供する必要がある。したがって、検証処理の効率化のためには、グループに属するハッシュノードの数が少ないこと、すなわちグループの数が多いことが望ましい。 Here, in order to verify the user data at the data level, it is necessary for the user to provide other hash level information of the same group. Therefore, in order to improve the efficiency of the verification process, it is desirable that the number of hash nodes belonging to the group is small, that is, the number of groups is large.
本実施形態によれば、データ管理システム1は、リーフノードとハッシュノードとの依存関係を含むVIグラフを管理する。したがって、データ管理システム1は、ブロックチェーンに基づく手法に比べて、記憶容量を抑制し、かつ、高速な処理を可能としつつ、ユーザデータの依存関係に基づいて、開示範囲を効率的に限定して検証できる。
According to this embodiment, the
また、データ管理システム1は、グループノード及びルートノードを設け、多段階の木構造を構築することにより、意味的なまとまりを持ったデータ群を構成し、ユーザデータの選択的な開示と検証とを効率化できる。
Further, the
また、データ管理システム1は、ユーザに固有のランダム値を用いたハッシュ関数により、同一のユーザデータに対しても、ユーザ間でハッシュ値を異ならせ、ユーザデータの秘匿性を高めることができる。
Further, the
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. In addition, the effects described in the present embodiment are merely enumeration of the most suitable effects resulting from the present invention, and the effects according to the present invention are not limited to those described in the present embodiment.
データ管理システム1によるデータ管理方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
The data management method by the
1 データ管理システム
2 端末
3 管理サーバ
10 制御部
11 ハッシュノード生成部
12 リーフノード生成部
13 上位ノード生成部
20 記憶部
1
Claims (5)
第1のユーザデータと依存関係のある第2のユーザデータと共に、前記第1のユーザデータに対応する前記ハッシュノードを指すポインタを新たなリーフノードに格納するリーフノード生成部と、を備えるデータ管理システム。 For a leaf node in which user data is stored, a hash node generation unit that generates a hash node including the hash value and electronic signature of the leaf node,
A leaf node generation unit that stores, in a new leaf node, a pointer that points to the hash node corresponding to the first user data, together with second user data that has a dependency relationship with the first user data. system.
第1のユーザデータと依存関係のある第2のユーザデータと共に、前記第1のユーザデータに対応する前記ハッシュノードを指すポインタを新たなリーフノードに格納するリーフノード生成ステップと、をコンピュータが実行するデータ管理方法。 For a leaf node in which user data is stored, a hash node generating step of generating a hash node including a hash value of the leaf node and a digital signature,
The computer executes a leaf node generation step of storing, in a new leaf node, a pointer pointing to the hash node corresponding to the first user data, together with the second user data having a dependency relationship with the first user data. Data management method.
第1のユーザデータと依存関係のある第2のユーザデータと共に、前記第1のユーザデータに対応する前記ハッシュノードを指すポインタを新たなリーフノードに格納するリーフノード生成ステップと、をコンピュータに実行させるためのデータ管理プログラム。 For a leaf node in which user data is stored, a hash node generating step of generating a hash node including a hash value of the leaf node and a digital signature,
A leaf node generating step of storing, in a new leaf node, a pointer pointing to the hash node corresponding to the first user data, together with the second user data having a dependency relationship with the first user data; Data management program for
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017096380A JP6685968B2 (en) | 2017-05-15 | 2017-05-15 | Data management system, data management method, and data management program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017096380A JP6685968B2 (en) | 2017-05-15 | 2017-05-15 | Data management system, data management method, and data management program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018195907A JP2018195907A (en) | 2018-12-06 |
| JP6685968B2 true JP6685968B2 (en) | 2020-04-22 |
Family
ID=64569077
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017096380A Active JP6685968B2 (en) | 2017-05-15 | 2017-05-15 | Data management system, data management method, and data management program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6685968B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7075382B2 (en) * | 2019-09-12 | 2022-05-25 | Kddi株式会社 | Signature system, signature method and signature program |
| JP7381881B2 (en) | 2020-02-21 | 2023-11-16 | 富士通株式会社 | Management program, management device and management method |
| WO2024057411A1 (en) * | 2022-09-13 | 2024-03-21 | 日本電気株式会社 | Memory update device, information processing system, memory update method, and computer-readable medium |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9767469B2 (en) * | 2013-07-16 | 2017-09-19 | Fujitsu Limited | Customer-centric energy usage data sharing |
| US9530010B2 (en) * | 2013-11-07 | 2016-12-27 | Fujitsu Limited | Energy usage data management |
| CN106415532B (en) * | 2014-06-04 | 2019-12-20 | 株式会社日立制作所 | Diagnosis and treatment data retrieval system |
| EP3259873B1 (en) * | 2015-02-20 | 2018-12-12 | Telefonaktiebolaget LM Ericsson (publ) | Method of providing a hash value for a piece of data, electronic device and computer program |
-
2017
- 2017-05-15 JP JP2017096380A patent/JP6685968B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018195907A (en) | 2018-12-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7612683B2 (en) | How to use blockchain | |
| JP6865851B2 (en) | Blockchain World State Markle Patricia Tri Tree Subtree Construction | |
| JP6690066B2 (en) | Validating the integrity of data stored on the consortium blockchain using the public sidechain | |
| JP7047133B2 (en) | Indexing and restoration of coded blockchain data | |
| JP2025124806A (en) | Cryptographic method and system for secure extraction of data from a blockchain | |
| CN110321735B (en) | Business processing method, system and storage medium based on zero-knowledge proof | |
| JP7774053B2 (en) | Merkle Proof Entity | |
| KR102404284B1 (en) | Systems and methods for creating digital marks | |
| JP2022509105A (en) | Systems and methods implemented by computers that enable access to data stored on the blockchain | |
| CN104978239B (en) | A method, device and system for realizing dynamic update of multiple backup data | |
| JP6856769B2 (en) | Managing household scores using smart contracts within the blockchain network | |
| WO2019114097A1 (en) | Blockchain-based distributed storage method | |
| CN108012582A (en) | block chain system and authority management method thereof | |
| CN110334153B (en) | Authorization method, system, device and device in blockchain ledger | |
| CN107426165A (en) | Bidirectional secure cloud storage data integrity detection method supporting key updating | |
| US11210404B2 (en) | Blockchain-based state verifications of software component vulnerability database for software products | |
| US20200084041A1 (en) | Automated Blockchain Protocol Update | |
| CN110852693A (en) | Electronic license management system based on block chain | |
| CN113994324A (en) | Block chain system with efficient world state data structure | |
| Mishra et al. | Enabling efficient deduplication and secure decentralized public auditing for cloud storage: A redactable blockchain approach | |
| JP6685968B2 (en) | Data management system, data management method, and data management program | |
| CN117043772A (en) | Blockchain data separation | |
| CN114175011A (en) | Block chain system with efficient world state data structure | |
| Davies | Enhanced scalability and privacy for blockchain data using Merklized transactions | |
| CN116599971B (en) | Digital asset data storage and application method, system, equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190627 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200228 |
|
| 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: 20200317 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200401 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6685968 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |