JP2014130412A - Data management method and data management device - Google Patents

Data management method and data management device Download PDF

Info

Publication number
JP2014130412A
JP2014130412A JP2012286629A JP2012286629A JP2014130412A JP 2014130412 A JP2014130412 A JP 2014130412A JP 2012286629 A JP2012286629 A JP 2012286629A JP 2012286629 A JP2012286629 A JP 2012286629A JP 2014130412 A JP2014130412 A JP 2014130412A
Authority
JP
Japan
Prior art keywords
data
address
distributed
primary key
data management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012286629A
Other languages
Japanese (ja)
Other versions
JP5948238B2 (en
Inventor
Akihiko Sugimoto
暁彦 杉本
Hisao Sakazaki
尚生 坂崎
Yoshihiro Igarashi
由裕 五十嵐
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 JP2012286629A priority Critical patent/JP5948238B2/en
Publication of JP2014130412A publication Critical patent/JP2014130412A/en
Application granted granted Critical
Publication of JP5948238B2 publication Critical patent/JP5948238B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent reconstruction of distributed data to original data even if a third party performs invalid access to a distributed information storage section.SOLUTION: A data management device (104_1) includes a storage section for storing distributed data. When the data management device 104_1 receives a registration request of a set of a main key and data from a network, it calculates a plurality of hash values from the main key, divides the data to create distributed data, creates a plurality of data pairs of the hash values and the distributed data, irreversibly converts the hash values to the addresses in the storage section, and stores, at the address, the distributed data pairing up with the address.

Description

本発明は、データの管理方法およびこれを実施するデータ管理装置に関する。   The present invention relates to a data management method and a data management apparatus for implementing the method.

一般的に、情報システムでは人や物、またはそれらに関連する情報(以下、個人情報と呼ぶ)は安全に管理されることが望ましい。例えば、保険会社から会員の保険情報が漏えいした場合、会員のプライバシーは侵害される可能性がある。仮に会員の会員番号などが漏えいした場合、なりすましなどの被害を受ける可能性もある。   In general, in an information system, it is desirable to safely manage people and things, or information related to them (hereinafter referred to as personal information). For example, if a member's insurance information is leaked from an insurance company, the privacy of the member may be violated. If a member's membership number is leaked, there is a possibility of spoofing.

個人情報を情報システムにて管理する場合、情報システムが人や物等の管理対象を一意に特定できるようにするため、識別子(以下、IDと呼ぶ)を管理対象に割り当ることが一般的である。例えば、運転免許保有者の情報を管理するために、運転免許保有者それぞれに唯一無二の運転免許証番号が割り当てられ、前記運転免許証番号を用いて前記運転免許保有者に関わる個人情報の操作を行う。そのため、個人情報を安全に管理しつつ、IDを検索するための主キーとして、個人情報を管理可能なデータ管理技術が必要となる。   When managing personal information in an information system, it is common to assign an identifier (hereinafter referred to as an ID) to a management target so that the information system can uniquely identify a management target such as a person or an object. is there. For example, in order to manage the information of the driver license holder, each driver license holder is assigned a unique driver license number, and using the driver license number, personal information relating to the driver license holder Perform the operation. Therefore, a data management technique capable of managing personal information as a main key for searching for IDs while managing personal information safely is required.

データの安全管理に関わる技術として、例えば、文書データを暗号化技術により暗号化データに変換し、インデックスと暗号化データを対応付けてデータベースで管理する技術が提案されている(例えば、特許文献1参照)。   As a technique related to data safety management, for example, a technique has been proposed in which document data is converted into encrypted data by an encryption technique, and an index and the encrypted data are associated with each other and managed in a database (for example, Patent Document 1). reference).

しかし、特許文献1に開示された技術では、文書データを暗号化するための暗号鍵が安全に管理される必要があり、暗号鍵の管理は複雑かつ困難な課題であるため、暗号鍵の管理が不要な技術が提案されている(例えば、特許文献2参照)。この技術によれば、文書データをしきい値型秘密分散法により秘密分散データとし、秘密分散データそれぞれに文書IDを対応付けて各分散データ格納装置の分散情報格納部にて管理する。   However, in the technique disclosed in Patent Document 1, the encryption key for encrypting the document data needs to be managed safely, and the management of the encryption key is a complicated and difficult problem. Has been proposed (see, for example, Patent Document 2). According to this technique, document data is converted into secret shared data by the threshold-type secret sharing method, and the document ID is associated with each secret shared data and managed by the distributed information storage unit of each distributed data storage device.

特開2007−52698号公報JP 2007-52698 A 特開2009−180912号公報JP 2009-180912 A

特許文献2に開示された技術によれば、文書データは秘密分散データに変換されるため、秘密分散データ単体からは文書データを復元できないが、第三者による分散情報格納部への不正アクセスなどにより文書IDが取得されと、その文書IDから全ての秘密分散データを収集することで、文書データを復元される危険性がある。   According to the technique disclosed in Patent Document 2, since document data is converted into secret shared data, the document data cannot be restored from the secret shared data alone, but unauthorized access to the distributed information storage unit by a third party, etc. When the document ID is acquired by this, there is a risk that the document data is restored by collecting all secret sharing data from the document ID.

本発明は、このような事情に鑑みてなされたものであり、第三者による分散情報格納部への不正アクセスがあっても、分散データから元のデータへの復元を困難にするデータ管理方法およびデータ管理装置を提供することを目的とする。   The present invention has been made in view of such circumstances, and a data management method that makes it difficult to restore the distributed data to the original data even if there is an unauthorized access to the distributed information storage unit by a third party And it aims at providing a data management device.

本発明の代表的な一例は、以下の通りである。すなわち、本発明は、ネットワークに接続されるデータ管理装置における主キーとデータの組を管理するデータ管理方法である。前記データ管理装置は、分散データを記憶する記憶部を有する。そして、前記データ管理装置により、前記ネットワークから主キーとデータの組の登録要求を受信すると、前記主キーから複数のハッシュ値を計算し、前記データを分割して分散データを生成し、前記ハッシュ値と前記分散データの複数のデータ対を生成する処理と、前記ハッシュ値から前記記憶部におけるアドレスへ不可逆な変換を行い、該アドレスに、該アドレスと対になる前記分散データを格納する処理とを実施する、ことを特徴とする。   A typical example of the present invention is as follows. That is, the present invention is a data management method for managing a set of a primary key and data in a data management apparatus connected to a network. The data management device has a storage unit for storing distributed data. When the data management device receives a registration request of a primary key and data set from the network, it calculates a plurality of hash values from the primary key, divides the data to generate distributed data, and the hash A process of generating a plurality of data pairs of a value and the distributed data, a process of performing irreversible conversion from the hash value to an address in the storage unit, and storing the distributed data paired with the address at the address; It is characterized by implementing.

本発明によれば、第三者による分散情報格納部への不正アクセスがあっても、分散データから元のデータへの復元を困難にすることができる。   According to the present invention, even if there is an unauthorized access to the distributed information storage unit by a third party, it is possible to make it difficult to restore the distributed data to the original data.

本実施例におけるID管理システムの構成図の例である。It is an example of the block diagram of the ID management system in a present Example. 本実施例におけるクライアント装置101の構成図の例である。It is an example of the block diagram of the client apparatus 101 in a present Example. 本実施例における分散管理装置102の構成図の例である。It is an example of a block diagram of the dispersion | distribution management apparatus 102 in a present Example. 本実施例におけるデータ管理装置104_1乃至104_nの構成図の例である。It is an example of a block diagram of the data management apparatus 104_1 thru | or 104_n in a present Example. 本実施例におけるクライアント装置101、分散管理装置102、データ管理装置104_1乃至104_nのハードウェア構成図の例である。It is an example of a hardware block diagram of the client device 101, the distributed management device 102, and the data management devices 104_1 to 104_n in the present embodiment. 本実施例におけるID登録処理のシーケンス図の例である。It is an example of the sequence diagram of ID registration processing in a present Example. 本実施例におけるID登録処理の中で送受信されるメッセージの例である。It is an example of the message transmitted / received in the ID registration process in a present Example. 本実施例における難読化と秘密分散化の例である。It is an example of obfuscation and secret sharing in a present Example. 本実施例におけるハッシュ値生成604の例である。It is an example of the hash value generation 604 in a present Example. 本実施例における分散管理装置102の記憶部315のデータ管理装置情報記憶領域316とハッシュ関数記憶領域317の構成例である。This is a configuration example of the data management device information storage area 316 and the hash function storage area 317 of the storage unit 315 of the distributed management apparatus 102 in this embodiment. 本実施例におけるデータ管理装置104_1、104_2、・・・、104_nの中からデータ追加を行うデータ管理装置を決定する処理を説明する図である。It is a figure explaining the process which determines the data management apparatus which adds data from data management apparatus 104_1, 104_2, ..., 104_n in a present Example. 本実施例におけるメタ情報1201の例である。It is an example of the meta information 1201 in a present Example. 本実施例におけるID登録時のデータ管理装置104_1の記憶部413の例である。It is an example of the memory | storage part 413 of the data management apparatus 104_1 at the time of ID registration in a present Example. 本実施例におけるID変換処理のシーケンス図の例である。It is an example of the sequence diagram of ID conversion processing in a present Example. 本実施例におけるID変換処理の中で送受信されるメッセージの例である。It is an example of the message transmitted / received in the ID conversion process in a present Example. 本実施例におけるID変換時のデータ管理装置104_1の記憶部413の例である。It is an example of the memory | storage part 413 of the data management apparatus 104_1 at the time of ID conversion in a present Example. 本実施例における秘密分散復元1409と可読化1410の例である。This is an example of secret sharing restoration 1409 and readable 1410 in this embodiment. 本実施例におけるID削除処理のシーケンス図の例である。It is an example of the sequence diagram of ID deletion process in a present Example. 本実施例におけるID削除処理の中で送受信されるメッセージの例である。It is an example of the message transmitted / received in the ID deletion process in a present Example. 本実施例におけるID削除時のデータ管理装置104_1の記憶部413の例である。It is an example of the memory | storage part 413 of the data management apparatus 104_1 at the time of ID deletion in a present Example.

以下、図面を用いて本発明の実施の形態について説明する。なお、これにより本発明が限定されるものではない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that the present invention is not limited thereby.

本実施例では、特定のIDから特定のIDへと変換を可能とするID管理システムの例を説明する。   In the present embodiment, an example of an ID management system that enables conversion from a specific ID to a specific ID will be described.

図1は、本実施例におけるID管理システムの構成例を示す図である。ID管理システムは、クライアント装置101と接続された分散管理装置102が、ネットワーク103を介して、複数のデータ管理装置104_1乃至104_nのそれぞれと相互に通信可能に構成されている。ユーザは、クライアント装置101を介してID管理システムの機能を利用する。クライアント装置101と分散管理装置102は1個に限定されず、実施形態によって複数の場合もある。また、クライアント装置101と分散管理装置102は直接接続されている必要はなく、実施形態によってはネットワーク、あるいはゲートウェイ装置などを介して接続される場合もある。ネットワーク103は、例えば、一般的に公開されない閉じたイントラネットワークである。   FIG. 1 is a diagram illustrating a configuration example of an ID management system in the present embodiment. The ID management system is configured such that a distributed management apparatus 102 connected to a client apparatus 101 can communicate with each of a plurality of data management apparatuses 104_1 to 104_n via a network 103. The user uses the function of the ID management system via the client device 101. The client apparatus 101 and the distributed management apparatus 102 are not limited to one, and there may be a plurality of cases depending on the embodiment. Further, the client apparatus 101 and the distributed management apparatus 102 do not need to be directly connected, and may be connected via a network or a gateway apparatus depending on the embodiment. The network 103 is, for example, a closed intra network that is not open to the public.

図2は、本実施例におけるクライアント装置101の構成図の例である。クライアント装置101は、制御部201と、入出力部205と、送受信部206を有する。制御部201は、ID登録要求部202、ID変換要求部203、ID削除要求部204から構成されている。ID登録要求部202は、入出力部205を介してユーザからID登録要求を受け付け、送受信部206を介して分散管理装置102にID登録要求メッセージを送信し、また、送受信部206を介して分散管理装置102からID登録応答メッセージを受信し、入出力部205を介してユーザにID登録結果を通知する処理部である。ID変換要求部203は、入出力部205を介してユーザからID変換要求を受け付け、送受信部206を介して分散管理装置102にID変換要求メッセージを送信し、また、送受信部206を介して分散管理装置102からID変換応答メッセージを受信し、入出力部205を介してユーザにID変換結果を通知する処理部である。ID削除要求部204は、入出力部205を介してユーザからID削除要求を受け付け、送受信部206を介して分散管理装置101にID削除要求メッセージを送信し、また、送受信部206を介して分散管理装置102からID削除応答メッセージを受信し、入出力部205を介してユーザにID削除結果を通知する処理部である。入出力部205は、キーボード等のインタフェースを介してユーザからの入力を制御し、モニタ等のインタフェースを介してユーザへの出力を制御する。送受信部206は、ネットワーク103を介して情報の送受信を行う。 図3は、本実施例における分散管理装置102の構成図の例である。分散管理装置102は、制御部301と、記憶部315と、送受信部318を有する。制御部301は、データ管理装置情報管理部302、ID登録処理部303、ID変換処理部304、ID削除処理部305、難読化部306、可読化部307、秘密分散化部308、秘密分散復元部309、ハッシュ値生成部310、データ管理装置決定部311、データ追加要求部312、データ参照要求部313、データ更新要求部315、データ削除要求部316から構成されている。   FIG. 2 is an example of a configuration diagram of the client apparatus 101 in the present embodiment. The client device 101 includes a control unit 201, an input / output unit 205, and a transmission / reception unit 206. The control unit 201 includes an ID registration request unit 202, an ID conversion request unit 203, and an ID deletion request unit 204. The ID registration request unit 202 receives an ID registration request from the user via the input / output unit 205, transmits an ID registration request message to the distributed management apparatus 102 via the transmission / reception unit 206, and distributes via the transmission / reception unit 206. A processing unit that receives an ID registration response message from the management apparatus 102 and notifies the user of the ID registration result via the input / output unit 205. The ID conversion request unit 203 receives an ID conversion request from the user via the input / output unit 205, transmits an ID conversion request message to the distributed management apparatus 102 via the transmission / reception unit 206, and distributes via the transmission / reception unit 206. It is a processing unit that receives an ID conversion response message from the management apparatus 102 and notifies the user of the ID conversion result via the input / output unit 205. The ID deletion request unit 204 receives an ID deletion request from the user via the input / output unit 205, transmits an ID deletion request message to the distributed management apparatus 101 via the transmission / reception unit 206, and distributes via the transmission / reception unit 206. The processing unit receives an ID deletion response message from the management apparatus 102 and notifies the user of the ID deletion result via the input / output unit 205. The input / output unit 205 controls input from the user via an interface such as a keyboard, and controls output to the user via an interface such as a monitor. The transmission / reception unit 206 transmits / receives information via the network 103. FIG. 3 is an example of a configuration diagram of the distributed management apparatus 102 in the present embodiment. The distributed management apparatus 102 includes a control unit 301, a storage unit 315, and a transmission / reception unit 318. The control unit 301 includes a data management device information management unit 302, an ID registration processing unit 303, an ID conversion processing unit 304, an ID deletion processing unit 305, an obfuscation unit 306, a readable unit 307, a secret distribution unit 308, and a secret distribution restoration. 309, a hash value generation unit 310, a data management device determination unit 311, a data addition request unit 312, a data reference request unit 313, a data update request unit 315, and a data deletion request unit 316.

データ管理装置情報管理部302は、送受信部318を介してデータ管理装置104_1乃至104_nと相互通信し、データ管理装置情報記憶領域316に格納されているデータ管理装置104_1乃至104_nの接続情報(ノードID、IPアドレス、ポート番号等)の同期をとる処理部である。ノードIDはデータ管理装置104_1乃至104_nに割り当てられた唯一無二の番号であり、その形式は限定しない。ID登録処理部303は、送受信部318を介してクライアント装置101からID登録要求メッセージを受信し、ID登録処理を行い、送受信部318を介してクライアント装置101にID登録応答メッセージを送信する処理部である。ID変換処理部304は、送受信部318を介してクライアント装置101からID変換要求メッセージを受信し、ID変換処理を行い、送受信部318を介してクライアント装置101にID変換応答メッセージを送信する処理部である。ID削除処理部305は、送受信部318を介してクライアント装置101からID削除要求メッセージを受信し、ID削除処理を行い、送受信部318を介してクライアント装置101にID削除応答メッセージを送信する処理部である。難読化部306は、制御部301内の他処理部から主キー、あるいはデータを受け付け、その主キー、あるいはデータから難読化中間値を生成し、これを返す処理部である。なお、主キーとは、データ記憶領域から、ある一組のデータセット(レコード)を一意に識別するための情報である。可読化部307は、制御部301内の他処理部から難読化中間値を受け付け、その難読化中間値から主キー、あるいはデータへ可読化し、これを返す処理部である。秘密分散化部308は、制御部301内の他処理部から難読化中間値を受け付け、その難読化中間値から秘密分散主キー、あるいは秘密分散データを生成し、これを返す処理部である。秘密分散復元部309は、制御部301内の他処理部から秘密分散主キー、あるいは秘密分散データを受け付け、その秘密分散主キー、あるいは秘密分散データから難読化中間値を復元し、これを返す処理部である。ハッシュ値生成部310は、制御部301内の他処理部からデータを受け付け、そのデータから複数のハッシュ値を計算し、これを返す処理部である。データ管理装置決定部311は、制御部301内の他処理部からハッシュ値を受け付け、そのハッシュ値から、データ管理装置104_1乃至104_nのうちデータ処理を行うデータ管理装置を決定し、データ管理装置情報記憶領域316を参照することで、決定したデータ管理装置の接続情報を返す処理部である。データ追加要求部312は、制御部301内の他処理部から秘密分散データとハッシュ値を受け付け、送受信部318を介してデータ管理装置決定部311により決定されたデータ管理装置へデータ追加要求メッセージを送信し、また、送受信部318を介して、決定されたデータ管理装置からデータ追加応答メッセージを受信し、データ追加結果を返す処理部である。データ参照要求部313は、制御部301内の他処理部から秘密分散データとハッシュ値を受け付け、送受信部318を介してデータ管理装置決定部311により決定されたデータ管理装置へデータ参照要求メッセージを送信し、また、送受信部318を介して、決定されたデータ管理装置からデータ参照応答メッセージを受信し、データ参照結果を返す処理部である。データ削除要求部314は、制御部301内の他処理部から秘密分散データとハッシュ値を受け付け、送受信部318を介してデータ管理装置決定部311により決定されたデータ管理装置へデータ削除要求メッセージを送信し、また、送受信部318を介して、決定されたデータ管理装置からデータ削除応答メッセージを受信し、データ削除結果を返す処理部である。   The data management device information management unit 302 communicates with the data management devices 104_1 to 104_n via the transmission / reception unit 318, and connection information (node ID) of the data management devices 104_1 to 104_n stored in the data management device information storage area 316. , IP address, port number, etc.). The node ID is a unique number assigned to the data management apparatuses 104_1 to 104_n, and the format is not limited. The ID registration processing unit 303 receives an ID registration request message from the client device 101 via the transmission / reception unit 318, performs ID registration processing, and transmits an ID registration response message to the client device 101 via the transmission / reception unit 318. It is. The ID conversion processing unit 304 receives an ID conversion request message from the client device 101 via the transmission / reception unit 318, performs ID conversion processing, and transmits an ID conversion response message to the client device 101 via the transmission / reception unit 318. It is. The ID deletion processing unit 305 receives an ID deletion request message from the client device 101 via the transmission / reception unit 318, performs ID deletion processing, and transmits an ID deletion response message to the client device 101 via the transmission / reception unit 318. It is. The obfuscation unit 306 is a processing unit that accepts a primary key or data from another processing unit in the control unit 301, generates an obfuscation intermediate value from the primary key or data, and returns this. The primary key is information for uniquely identifying a set of data sets (records) from the data storage area. The readable section 307 is a processing section that receives an obfuscated intermediate value from another processing section in the control section 301, makes the obfuscated intermediate value readable to a primary key or data, and returns this. The secret sharing unit 308 is a processing unit that receives an obfuscated intermediate value from another processing unit in the control unit 301, generates a secret sharing main key or secret sharing data from the obfuscated intermediate value, and returns this. The secret sharing restoration unit 309 receives the secret sharing primary key or secret sharing data from the other processing unit in the control unit 301, restores the obfuscation intermediate value from the secret sharing primary key or secret sharing data, and returns this It is a processing unit. The hash value generation unit 310 is a processing unit that receives data from other processing units in the control unit 301, calculates a plurality of hash values from the data, and returns the calculated hash values. The data management device determination unit 311 receives a hash value from another processing unit in the control unit 301, determines a data management device that performs data processing among the data management devices 104_1 to 104_n from the hash value, and stores data management device information A processing unit that returns connection information of the determined data management apparatus by referring to the storage area 316. The data addition request unit 312 receives secret sharing data and hash values from other processing units in the control unit 301, and sends a data addition request message to the data management device determined by the data management device determination unit 311 via the transmission / reception unit 318. This is a processing unit that transmits and receives a data addition response message from the determined data management apparatus via the transmission / reception unit 318 and returns a data addition result. The data reference request unit 313 receives secret sharing data and hash values from other processing units in the control unit 301, and sends a data reference request message to the data management device determined by the data management device determination unit 311 via the transmission / reception unit 318. It is a processing unit that transmits and receives a data reference response message from the determined data management apparatus via the transmission / reception unit 318 and returns a data reference result. The data deletion request unit 314 receives secret sharing data and hash values from other processing units in the control unit 301, and sends a data deletion request message to the data management device determined by the data management device determination unit 311 via the transmission / reception unit 318. This is a processing unit that transmits and receives a data deletion response message from the determined data management apparatus via the transmission / reception unit 318 and returns a data deletion result.

記憶部315は、データ管理装置情報記憶領域316、ハッシュ関数記憶領域317から構成されている。データ管理装置情報記憶領域316は、データ管理装置104_1乃至104_nの接続情報を記憶する領域である。接続情報はデータ管理装置情報管理部302により同期をとることで、データ管理装置104_1乃至104_nと同じ値が共有される。ハッシュ関数記憶領域317は、ハッシュ値生成部310で利用する複数のハッシュ関数を記憶する領域である。ハッシュ関数は不可逆性が保証された関数であれば良く、ハッシュ関数の数は秘密分散化部308で行う分割数と一致する。また、分割数(即ち、ハッシュ関数の数)は2以上の整数であれば良い。このハッシュ関数には項目番号が割り振られているとする。   The storage unit 315 includes a data management device information storage area 316 and a hash function storage area 317. The data management device information storage area 316 is an area for storing connection information of the data management devices 104_1 to 104_n. The connection information is synchronized by the data management device information management unit 302, so that the same value as the data management devices 104_1 to 104_n is shared. The hash function storage area 317 is an area for storing a plurality of hash functions used by the hash value generation unit 310. The hash function may be a function that guarantees irreversibility, and the number of hash functions matches the number of divisions performed by the secret sharing unit 308. Further, the division number (that is, the number of hash functions) may be an integer of 2 or more. It is assumed that an item number is assigned to this hash function.

送受信部318は、ネットワーク103を介して情報の送受信を行う。   The transmission / reception unit 318 transmits / receives information via the network 103.

図4は、本実施例におけるデータ管理装置104_1乃至104_nの構成図の例である。データ管理装置104_1乃至104_nは、制御部401と、記憶部413と、送受信部418を有する。制御部401は、データ管理装置情報管理部402、データ追加処理部403、データ参照処理部404、データ削除処理部405、インデックス生成部406、空アドレス取得部407、メタ情報生成部408、先頭アドレス格納処理部409、先頭アドレス取得処理部410、データ格納処理部411、データ取得処理部412から構成されている。   FIG. 4 is an example of a configuration diagram of the data management devices 104_1 to 104_n in the present embodiment. The data management devices 104_1 to 104_n include a control unit 401, a storage unit 413, and a transmission / reception unit 418. The control unit 401 includes a data management device information management unit 402, a data addition processing unit 403, a data reference processing unit 404, a data deletion processing unit 405, an index generation unit 406, an empty address acquisition unit 407, a meta information generation unit 408, and a head address. The storage processing unit 409, the head address acquisition processing unit 410, the data storage processing unit 411, and the data acquisition processing unit 412 are configured.

データ管理装置情報管理部402は、送受信部418を介して分散管理装置102と相互通信し、データ管理装置情報記憶領域414に格納されているデータ管理装置104_1乃至104_nの接続情報の同期をとる処理部である。データ追加処理部403は、送受信部418を介して分散管理装置102からデータ追加要求メッセージを受信し、データ追加処理を行い、送受信部418を介して分散管理装置102にデータ追加応答メッセージを送信する処理部である。データ参照処理部404は、送受信部418を介して分散管理装置102からデータ参照要求メッセージを受信し、データ参照処理を行い、送受信部418を介して分散管理装置102にデータ参照応答メッセージを送信する処理部である。データ削除処理部405は、送受信部418を介して分散管理装置102からデータ削除要求メッセージを受信し、データ削除処理を行い、送受信部418を介して分散管理装置102にデータ削除応答メッセージを送信する処理部である。インデックス生成部406は、制御部401内の他処理部からハッシュ値を受け付け、そのハッシュ値からインデックスを生成し、インデックスを返す処理部である。空アドレス取得部407は、データ管理情報記憶領域415を参照し、データ記憶領域417内の空き領域のアドレスを返す処理部である。メタ情報生成部408は、制御部401内の他処理部から秘密分散データ、ハッシュ値を受け付け、その秘密分散データ、ハッシュ値からメタ情報を生成し、これを返す処理部である。先頭アドレス格納処理部411は、制御部401内の他処理部からインデックス、アドレスを受け付け、先頭アドレス記憶領域416内の該当インデックス位置に受け付けたアドレスを書き込む処理部である。先頭アドレス取得処理部410は、制御部401内の他処理部からインデックスを受け付け、先頭アドレス記憶領域416内の該当インデックス位置からアドレスを読み込む処理部である。データ格納処理部411は、アドレス、メタ情報、秘密分散情報を受け付け、データ記憶領域417内の該当アドレスに受け付けたメタ情報、および秘密分散情報を書き込む処理部である。データ取得処理部412は、アドレスを受け付け、データ記憶領域417内の該当アドレスのメタ情報、および秘密分散情報を読み込み、読み込んだメタ情報、および秘密分散情報を返す処理部である。   The data management device information management unit 402 communicates with the distributed management device 102 via the transmission / reception unit 418 to synchronize the connection information of the data management devices 104_1 to 104_n stored in the data management device information storage area 414. Part. The data addition processing unit 403 receives a data addition request message from the distributed management apparatus 102 via the transmission / reception unit 418, performs data addition processing, and transmits a data addition response message to the distribution management apparatus 102 via the transmission / reception unit 418. It is a processing unit. The data reference processing unit 404 receives a data reference request message from the distributed management apparatus 102 via the transmission / reception unit 418, performs data reference processing, and transmits a data reference response message to the distribution management apparatus 102 via the transmission / reception unit 418. It is a processing unit. The data deletion processing unit 405 receives a data deletion request message from the distributed management apparatus 102 via the transmission / reception unit 418, performs data deletion processing, and transmits a data deletion response message to the distribution management apparatus 102 via the transmission / reception unit 418. It is a processing unit. The index generation unit 406 is a processing unit that receives a hash value from another processing unit in the control unit 401, generates an index from the hash value, and returns the index. The empty address acquisition unit 407 is a processing unit that refers to the data management information storage area 415 and returns the address of the empty area in the data storage area 417. The meta information generation unit 408 is a processing unit that receives secret sharing data and hash values from other processing units in the control unit 401, generates meta information from the secret sharing data and hash values, and returns the meta information. The start address storage processing unit 411 is a processing unit that receives an index and an address from other processing units in the control unit 401 and writes the received address at the corresponding index position in the start address storage area 416. The start address acquisition processing unit 410 is a processing unit that receives an index from another processing unit in the control unit 401 and reads an address from the corresponding index position in the start address storage area 416. The data storage processing unit 411 is a processing unit that receives an address, meta information, and secret sharing information and writes the received meta information and secret sharing information at a corresponding address in the data storage area 417. The data acquisition processing unit 412 is a processing unit that receives an address, reads meta information and secret sharing information of the corresponding address in the data storage area 417, and returns the read meta information and secret sharing information.

記憶部413は、データ管理装置情報記憶領域414、データ管理情報記憶領域415、先頭アドレス記憶領域416、データ記憶領域417から構成されている。データ管理装置情報記憶領域414は、データ管理装置104_1乃至104_nの接続情報を記憶する領域である。接続情報はデータ管理装置情報管理部402により同期をとることで、分散管理装置102と同じ値が共有される。データ管理情報記憶領域415は、データ記憶領域417内の、空き領域情報を記憶する領域である。先頭アドレス記憶領域416は、アドレスを記憶する領域である。先頭アドレス記憶領域416はインデックス配列構造を有しており、インデックスが定める位置にアドレスが格納される。データ記憶領域417は、メタ情報と秘密分散データを記憶する領域である。データ記憶領域417は指定されたアドレスにデータを格納する。   The storage unit 413 includes a data management device information storage area 414, a data management information storage area 415, a head address storage area 416, and a data storage area 417. The data management device information storage area 414 is an area for storing connection information of the data management devices 104_1 to 104_n. The connection information is synchronized by the data management device information management unit 402 so that the same value as that of the distributed management device 102 is shared. The data management information storage area 415 is an area for storing free area information in the data storage area 417. The start address storage area 416 is an area for storing addresses. The start address storage area 416 has an index arrangement structure, and an address is stored at a position determined by the index. The data storage area 417 is an area for storing meta information and secret sharing data. The data storage area 417 stores data at a specified address.

送受信部418は、ネットワーク103を介して情報の送受信を行う。   The transmission / reception unit 418 transmits / receives information via the network 103.

図5は、本実施例におけるクライアント装置101、分散管理装置102、データ管理装置104_1乃至104_nのハードウェア構成図の例である。各装置は一般的なコンピュータ501により実現でき、図5に示すように、CPU502、メモリ503、外部記憶装置504、送受信装置505、入力装置506、出力装置507を有する。これらは、BUS(バス)により接続されている。上述した各装置の処理部はプログラムにより実現され、外部記憶装置504に記憶されている。CPU502は、外部記憶装置504から必要なプログラムをメモリ503にロードし実行する。また、分散管理装置102、データ管理装置104_1乃至104_nの記憶部315、413は、メモリ503や外部記憶装置504により実現される。各装置の送受信部206、318、418は、送受信装置505により実現される。クライアント装置101の入出力部205は、入力装置506、出力装置507により実現される。   FIG. 5 is an example of a hardware configuration diagram of the client device 101, the distributed management device 102, and the data management devices 104_1 to 104_n in the present embodiment. Each device can be realized by a general computer 501 and includes a CPU 502, a memory 503, an external storage device 504, a transmission / reception device 505, an input device 506, and an output device 507 as shown in FIG. These are connected by BUS (bus). The processing unit of each device described above is realized by a program and stored in the external storage device 504. The CPU 502 loads a necessary program from the external storage device 504 to the memory 503 and executes it. The storage units 315 and 413 of the distributed management device 102 and the data management devices 104_1 to 104_n are realized by the memory 503 and the external storage device 504. The transmission / reception units 206, 318, and 418 of each device are realized by the transmission / reception device 505. The input / output unit 205 of the client device 101 is realized by an input device 506 and an output device 507.

図6から図13を用いて、ID登録処理を行う際に、クライアント装置101、分散管理装置102、データ管理装置104_1が実行する一連の処理を説明する。ここでは、ID”123456789”からID”ABCDEHGHI”への変換を可能とするため、ID”123456789”を主キーとし、ID”ABCDEHGHI”をデータとしてID管理システムに登録する例を示す。逆方向への変換を可能とするためには、本処理のID”123456789”とID”ABCDEHGHI”を入れ替えた処理を行えば良い。   A series of processes executed by the client apparatus 101, the distributed management apparatus 102, and the data management apparatus 104_1 when performing the ID registration process will be described with reference to FIGS. In this example, in order to enable conversion from ID “123456789” to ID “ABCDEHGHI”, ID “123456789” is used as a primary key and ID “ABCDEHGHI” is registered as data in the ID management system. In order to enable conversion in the reverse direction, a process in which ID “123456789” and ID “ABCDEHGHI” in this process are exchanged may be performed.

図6は、本実施例におけるID登録処理のシーケンス図の例である。最初にクライアント装置101は、分散管理装置102にID登録要求メッセージ601を送信する。   FIG. 6 is an example of a sequence diagram of ID registration processing in the present embodiment. First, the client apparatus 101 transmits an ID registration request message 601 to the distributed management apparatus 102.

図7は、本実施例におけるID登録処理の中で送受信されるメッセージの例である。図7に示すように、ID登録要求メッセージ601は主キー701、データ702の2つのパラメータを含む。図6の例では、ID”123456789”が主キー701、ID”ABCDEHGHI”がデータ702である。   FIG. 7 is an example of messages transmitted and received during the ID registration process in this embodiment. As shown in FIG. 7, the ID registration request message 601 includes two parameters, a primary key 701 and data 702. In the example of FIG. 6, ID “123456789” is the primary key 701 and ID “ABCDEHGHI” is data 702.

図6に戻って説明を続ける。次に分散管理装置102は、主キー701、およびデータ702それぞれに対して難読化602、および秘密分散化603を行う。主キー701を難読化602、および秘密分散化603したものが秘密分散主キー704に、データ702を難読化602、および秘密分散化603したものが秘密分散データ705になる。   Returning to FIG. 6, the description will be continued. Next, the distribution management apparatus 102 performs obfuscation 602 and secret sharing 603 on the primary key 701 and the data 702, respectively. The key 701 obfuscated 602 and secret shared 603 is the secret shared main key 704, and the data 702 obfuscated 602 and secret shared 603 is the secret shared data 705.

図8は、本実施例における難読化と秘密分散化の例である。難読化602では、まず乱数生成器により事前に規定された長さの乱数801を生成し、対象となるデータ(主キー701、あるいはデータ702)と乱数801の排他的論理和を計算し、この計算結果と乱数801を結合し、難読化中間値802を生成する。図8の例では、主キー701“123456789”と乱数801“2or203ru2”との排他的論理和を取ることで、“xo389j238”を生成し、これを乱数801“2or203ru2”と結合することで難読化中間値802“xo389j2382or203ru2”を生成している。秘密分散化603では、分割数の数だけ難読化中間値802を分割することで、秘密分散したデータ(秘密分散主キー704、あるいは秘密分散データ705)を生成する。図8の例では、難読化中間値802“xo389j2382or203ru2”を6分割することで、秘密分散主キー704“xo3 704_1”、“89j 704_2”、“238 704_3”、“2or 704_4”、“203704_5”、“ru2 704_6”を生成している。同様に、本実施例では、ID”ABCDEHGHI”を難読化602、および秘密分散化603することで、秘密分散データ705_1“r68”、 705_2“02w”、705_3“m2z”、705_4“lwq”、705_5“mnv”、705_6“cdr”を得る。秘密分散化603における分割数はシステムの設計者が要件にあわせて設計し、事前に定めておく数である。本実施例では、分割数を6としているが、分割数は6に限定されず、2以上の整数であれば任意の値で良い。また、難読化602を実施せず、主キー701、およびデータ702を平文のまま分割し、秘密分散化しても良いが、例えば、秘密分散主キー704_1、および秘密分散データ705_1から主キー701、およびデータ702の一部分を読み取られる危険性がある。難読化602は部分的に主キー701、およびデータ702を読み取られる危険を防ぐ効果がある。   FIG. 8 is an example of obfuscation and secret sharing in this embodiment. In the obfuscation 602, first, a random number 801 having a predetermined length is generated by a random number generator, and an exclusive OR of the target data (primary key 701 or data 702) and the random number 801 is calculated. The calculation result and the random number 801 are combined to generate an obfuscated intermediate value 802. In the example of FIG. 8, the exclusive OR of the primary key 701 “123456789” and the random number 801 “2or203ru2” is taken to generate “xo389j238”, which is obfuscated by combining it with the random number 801 “2or203ru2”. The intermediate value 802 “xo389j2382or203ru2” is generated. In the secret sharing 603, secret-distributed data (secret sharing main key 704 or secret sharing data 705) is generated by dividing the obfuscation intermediate value 802 by the number of divisions. In the example of FIG. 8, the obfuscated intermediate value 802 “xo389j2382 or 203ru2” is divided into six, so that the secret sharing primary keys 704 “xo3 704_1”, “89j 704_2”, “238 704_3”, “2or 704_4”, “203704_5”, “Ru2 704 — 6” is generated. Similarly, in this embodiment, the ID “ABCDEHGHI” is obfuscated 602 and secret-distributed 603, so that secret-sharing data 705_1 “r68”, 705_2 “02w”, 705_3 “m2z”, 705_4 “lwq”, 705_5 “Mnv”, 705 — 6 “cdr” is obtained. The number of divisions in the secret sharing 603 is a number designed in advance by the system designer according to the requirements. In this embodiment, the number of divisions is 6. However, the number of divisions is not limited to 6, and may be any value as long as it is an integer of 2 or more. In addition, the primary key 701 and the data 702 may be divided in plain text and secretly distributed without performing the obfuscation 602. For example, the secret key 704_1 and the secret shared data 705_1 to the primary key 701, There is a risk that a part of the data 702 may be read. Obfuscation 602 has an effect of partially preventing the danger of reading the primary key 701 and the data 702.

図6に戻って説明を続ける。次に分散管理装置102はハッシュ値生成604を行う。図9は、本実施例におけるハッシュ値生成604の例である。ハッシュ値生成604では、分散管理装置102はまずハッシュ関数記憶領域317から6個のハッシュ関数902を取得し、主キー901から6個のハッシュ関数902を用いて、6個のハッシュ値703_1、703_2、・・・、703_6を生成する。図9の例では、主キー701“123456789”からハッシュ値703_1“1584”などが生成されている。ハッシュ関数902の数は秘密分散化603における分割数と一致する。本実施例では、秘密分散化603の分割数が6であるため、ハッシュ関数902の数は6個となっている。   Returning to FIG. 6, the description will be continued. Next, the distribution management apparatus 102 performs hash value generation 604. FIG. 9 is an example of the hash value generation 604 in the present embodiment. In the hash value generation 604, the distribution management apparatus 102 first acquires six hash functions 902 from the hash function storage area 317, and uses the six hash functions 902 from the primary key 901 to use the six hash values 703_1 and 703_2. , 703_6 are generated. In the example of FIG. 9, the hash value 703_1 “1584” and the like are generated from the primary key 701 “123456789”. The number of hash functions 902 matches the number of divisions in the secret sharing 603. In this embodiment, since the number of divisions of the secret sharing 603 is 6, the number of hash functions 902 is 6.

図10は、本実施例における分散管理装置102の記憶部315のデータ管理装置情報記憶領域316とハッシュ関数記憶領域317の構成例である。ハッシュ関数記憶領域317には、ハッシュ関数902_1、902_2、・・・、906_6のそれぞれが項番と対応付けられて格納されている。ハッシュ関数は一方向性を有する関数のため、ハッシュ値703_1、703_2、・・・、703_6のいずれのハッシュ値からも主キー701を推定することは出来ない。   FIG. 10 is a configuration example of the data management device information storage area 316 and the hash function storage area 317 of the storage unit 315 of the distributed management apparatus 102 in this embodiment. In the hash function storage area 317, hash functions 902_1, 902_2,..., 906_6 are stored in association with item numbers. Since the hash function is a one-way function, the primary key 701 cannot be estimated from any hash value of the hash values 703_1, 703_2, ..., 703_6.

図6に戻って説明を続ける。分散管理装置102は、6個の秘密分散主キー704_1、704_2、・・・、704_6と6個の秘密分散データ705_1、705_2、・・・、705_6を分割した先頭から順に選択し、さらにハッシュ関数の項番順にハッシュ値703_1、703_2、・・・、703_6を選択することで、秘密分散主キーとハッシュ値と秘密分散データとをそれぞれ対応付けて6個の組に分ける。そして、分散管理装置102は、各組に対して、以降のデータ管理装置決定605からデータ追加応答メッセージ612まで行う。本実施例では、分割数を6としているため、6個の組に分けられ、データ管理装置決定605からデータ追加応答メッセージ612までが6回繰り返されることとなる。   Returning to FIG. 6, the description will be continued. The distributed management apparatus 102 selects six secret sharing primary keys 704_1, 704_2,..., 704_6 and six secret sharing data 705_1, 705_2,. The hash values 703_1, 703_2,..., 703_6 are selected in the order of the item numbers, and the secret sharing primary key, the hash value, and the secret sharing data are associated with each other and divided into six sets. Then, the distributed management apparatus 102 performs from the subsequent data management apparatus determination 605 to the data addition response message 612 for each group. In this embodiment, since the number of divisions is 6, it is divided into 6 groups, and the data management device determination 605 to the data addition response message 612 are repeated 6 times.

分散管理装置102は、データ管理装置決定605を行う。   The distributed management apparatus 102 performs data management apparatus determination 605.

図11は、本実施例におけるデータ管理装置104_1、104_2、・・・、104_nの中からデータ追加を行うデータ管理装置を決定する処理を説明する図である。データ管理装置決定605では、データ管理装置情報記憶領域316からノードID1001_1、1002_2、・・・と接続情報1002_1、1002_2、・・・を取得し、ノードIDがハッシュ値以上で最も小さいデータ管理装置を担当者と決定する。ハッシュ値がどのノードIDよりも大きい場合は、最も小さいノードIDを持つデータ管理装置を担当者と決定する。図11の例では、 ハッシュ値703_1“1584”はノードID1001_1“1152”以上ノードID1001_2“2084”未満なので、データ管理装置104_1が担当者に決定されている。   FIG. 11 is a diagram for explaining processing for determining a data management device to which data is added from the data management devices 104_1, 104_2,..., 104_n in the present embodiment. In the data management device determination 605, node IDs 1001_1, 1002_2,... And connection information 1002_1, 1002_2,... Are obtained from the data management device information storage area 316, and the data management device having the smallest node ID equal to or greater than the hash value is obtained. Decide with the person in charge. If the hash value is larger than any node ID, the data management device having the smallest node ID is determined as the person in charge. In the example of FIG. 11, since the hash value 703_1 “1584” is equal to or greater than the node ID 1001_1 “1152” and less than the node ID 1001_2 “2084”, the data management device 104_1 is determined as the person in charge.

図6に戻って説明を続ける。次に分散管理装置102は担当者として決定したデータ管理装置104_1にデータ追加要求メッセージ606を送信する。データ追加要求メッセージ606の例は図7に示す。データ追加要求メッセージ606は、図7に示すように、ハッシュ値703_1、秘密分散主キー704_1、秘密分散データ705_1の3つのパラメータを含む。   Returning to FIG. 6, the description will be continued. Next, the distributed management apparatus 102 transmits a data addition request message 606 to the data management apparatus 104_1 determined as the person in charge. An example of the data addition request message 606 is shown in FIG. As shown in FIG. 7, the data addition request message 606 includes three parameters: a hash value 703_1, a secret sharing main key 704_1, and secret sharing data 705_1.

次にデータ管理装置104_1はインデックス生成607を行う。インデックスとは、先頭アドレス記憶領域に配列構造で記憶される先頭アドレスの配列の添え字を意味する。先頭アドレスの意味は後述する。インデックス生成607では、ハッシュ値をインデックスの最大値で割った余りを計算し、その余りをインデックスとする。本実施例では、インデックスの最大値を“100”とし、ハッシュ値703_1“1584”からはインデックス“84”が生成される。インデックスの最大値はシステム稼働前に決定される定数である。   Next, the data management apparatus 104_1 performs index generation 607. An index means a subscript of an array of start addresses stored in an array structure in the start address storage area. The meaning of the head address will be described later. In the index generation 607, a remainder obtained by dividing the hash value by the maximum value of the index is calculated, and the remainder is used as an index. In this embodiment, the maximum value of the index is “100”, and the index “84” is generated from the hash value 703 — 1 “1584”. The maximum value of the index is a constant determined before system operation.

次にデータ管理装置104_1は空アドレス取得608を行う。空アドレス取得608では、データ管理情報記憶領域415を参照し、空き領域である追記アドレス1301を取得する。追記アドレスとは、データ記憶領域において新規にレコードを追記する場所を意味する。データ管理情報記憶領域415の例は図13に示す。図13は、本実施例におけるID登録前のデータ管理装置104_1の記憶部413の例である。図13の例では、アドレス “133289”から始まる領域9023byte分の空き領域があるため、“133289”を追記アドレス1301_1としている。   Next, the data management apparatus 104_1 performs empty address acquisition 608. In empty address acquisition 608, the data management information storage area 415 is referred to, and an additional write address 1301 that is an empty area is acquired. The additional write address means a place where a new record is added in the data storage area. An example of the data management information storage area 415 is shown in FIG. FIG. 13 is an example of the storage unit 413 of the data management apparatus 104_1 before ID registration in the present embodiment. In the example of FIG. 13, since there is an empty area for 9023 bytes starting from the address “133289”, “133289” is set as the additional address 1301_1.

図6に戻って説明を続ける。次にデータ管理装置104_1はメタ情報生成609を行う。メタ情報とは、データ管理装置104_1に記憶するハッシュ値、秘密分散主キー、秘密分散データに関連する情報のことであり、データ管理装置104_1が内部の処理において利用する中間的な情報である。   Returning to FIG. 6, the description will be continued. Next, the data management apparatus 104_1 performs meta information generation 609. The meta information is information related to the hash value, secret sharing primary key, and secret sharing data stored in the data management device 104_1, and is intermediate information used by the data management device 104_1 in internal processing.

図12は、本実施例におけるメタ情報1201の例である。メタ情報生成609では、秘密分散主キーと秘密分散データのデータサイズをそれぞれ秘密分散主キー長1203、秘密分散データ長1204とし、“null”アドレスを次アドレス1202として、ハッシュ値703_1、次アドレス1202、秘密分散主キー長1203、秘密分散データ長1204を1つのデータ列として結合することでメタ情報1201を生成する。図12の例では、“1584”、“null”、“3” (“xo3”の文字列長)、“3” (“r68”の文字列長)がメタ情報1201となる。次アドレス1202については後述する。   FIG. 12 is an example of the meta information 1201 in the present embodiment. In the meta information generation 609, the data size of the secret sharing primary key and secret sharing data is set to the secret sharing primary key length 1203 and the secret sharing data length 1204, the “null” address is set to the next address 1202, the hash value 703_1, and the next address 1202 respectively. The meta information 1201 is generated by combining the secret sharing main key length 1203 and the secret sharing data length 1204 as one data string. In the example of FIG. 12, “1584”, “null”, “3” (character string length of “xo3”), and “3” (character string length of “r68”) are the meta information 1201. The next address 1202 will be described later.

図6に戻って説明を続ける。次にデータ管理装置104_1は先頭アドレス格納610を行う。先頭アドレス格納610では、先頭アドレス記憶領域416のインデックス位置おけるアドレスの有無により条件分岐し、2通りの処理を行う。アドレスが存在しない場合、該インデックス位置に追記アドレス1301_1を先頭アドレスとして書き込む。既にアドレスが存在する場合、インデックス位置に存在する先頭アドレスを読み込む。先頭アドレス記憶領域416の例を図13に示す。図13の例では、インデックス“84”に既に先頭アドレスが存在するため、該インデックス位置から先頭アドレス1302“90238”を読み込んでいる。   Returning to FIG. 6, the description will be continued. Next, the data management device 104_1 performs the head address storage 610. In the start address storage 610, conditional branching is performed depending on the presence or absence of an address at the index position of the start address storage area 416, and two types of processing are performed. If the address does not exist, the additional address 1301_1 is written as the head address at the index position. When the address already exists, the head address existing at the index position is read. An example of the head address storage area 416 is shown in FIG. In the example of FIG. 13, since the head address already exists in the index “84”, the head address 1302 “90238” is read from the index position.

図6に戻って説明を続ける。次にデータ管理装置104_1はデータ格納611を行う。本実施例では、データ記憶領域417にメタ情報1201と秘密分散主キー704_1、秘密分散データ705_1を1つのレコードとして記憶する。データ記憶領域417の例を図13に示す。データ記憶領域417では、インデックス生成607により同値のインデックスを持つレコードをリンク構造で記憶する。よって、先頭アドレスとは、該リンク構造の先頭となるレコードのアドレスを意味し、次アドレスは該リンク構造において次のレコードのアドレスを意味する。データ格納611では、該リンク構造を実現する為、第一にデータ記憶領域417の追記アドレス1301_1にメタ情報1201(ハッシュ値703_1、次アドレス1202、秘密分散主キー長1203、秘密分散データ長1204)と秘密分散主キー704_1、秘密分散データ705_1を1レコードとして書き込む。第二に、先頭アドレス格納610において、先頭アドレスを書き込んだ場合はデータ格納611を終了し、以降の第三、第四の処理は行わない。第三に、先頭アドレス1302に該当するレコードを読み込み、レコードのリンク構造を辿って末端のレコードを探索する。末端のレコードの探索としては、先頭アドレスから順にレコード内の次アドレス1202が指すレコードを参照していき、次アドレス1202が“null”となっているものがリンク構造の末端のレコードとなる。第四に、末端のレコードの次アドレス1202に追記アドレス1301_1を書き込む。図13の例では、追記アドレス1301_1“133289”にメタ情報(“1584”、“null”、“3”、“3”)と秘密分散主キー704_1(“xo3”)、秘密分散データ705_1(“r68”)を書き込み、先頭アドレス1302“90238”のメタ情報内の次アドレス1303が“null”なので、 “133289”に書き換えている。このようなリンク構造を取ることで、インデックスが衝突した場合に対応することが可能となる。本実施例では、インデックスの最大値を”100”としたため、ハッシュ値”1584”と”3584”は同じインデックスをとる。そのため、リンク構造を取り、メタ情報1202内にハッシュ値を有しておけば、ハッシュ値に対して一意にレコードを特定することが可能となる。また、秘密分散主キーをレコード内に有しているのは、ハッシュ値の衝突に対応するためである。その詳細について、ID変換処理の例の説明において、詳細に記述する。   Returning to FIG. 6, the description will be continued. Next, the data management device 104_1 performs data storage 611. In this embodiment, the meta information 1201, the secret sharing primary key 704_1, and the secret sharing data 705_1 are stored as one record in the data storage area 417. An example of the data storage area 417 is shown in FIG. In the data storage area 417, records having the same index are stored in a link structure by the index generation 607. Therefore, the head address means the address of the record that is the head of the link structure, and the next address means the address of the next record in the link structure. In the data storage 611, in order to realize the link structure, first, meta information 1201 (a hash value 703_1, a next address 1202, a secret sharing main key length 1203, a secret sharing data length 1204) is added to the additional write address 1301_1 of the data storage area 417. And secret sharing main key 704_1 and secret sharing data 705_1 are written as one record. Second, when the head address is written in the head address storage 610, the data storage 611 is terminated, and the subsequent third and fourth processes are not performed. Third, the record corresponding to the head address 1302 is read, and the end record is searched by following the link structure of the record. As a search for the end record, the record indicated by the next address 1202 in the record is referred to in order from the top address, and the record having the next address 1202 of “null” becomes the end record of the link structure. Fourth, the additional address 1301_1 is written to the next address 1202 of the end record. In the example of FIG. 13, meta information (“1584”, “null”, “3”, “3”), a secret sharing primary key 704_1 (“xo3”), secret sharing data 705_1 (“ r68 "), and the next address 1303 in the meta information of the head address 1302" 90238 "is" null ", so it is rewritten to" 133289 ". By adopting such a link structure, it is possible to cope with a case where indexes collide. In this embodiment, since the maximum index value is “100”, the hash values “1584” and “3584” have the same index. Therefore, if a link structure is taken and a hash value is included in the meta information 1202, a record can be uniquely specified for the hash value. The reason why the secret sharing primary key is included in the record is to cope with collision of hash values. Details thereof will be described in detail in the description of the example of the ID conversion processing.

図6に戻って説明を続ける。次にデータ管理装置104_1は分散管理装置102にデータ追加応答メッセージ612を送信する。データ追加応答メッセージ612の例は図7に示す。データ追加応答メッセージ612はデータ登録結果707のパラメータから構成されている。   Returning to FIG. 6, the description will be continued. Next, the data management apparatus 104_1 transmits a data addition response message 612 to the distributed management apparatus 102. An example of the data addition response message 612 is shown in FIG. The data addition response message 612 is composed of parameters of the data registration result 707.

図6に戻って説明を続ける。次に分散管理装置102はクライアント装置101にID登録応答メッセージ613を送信する。ID登録応答メッセージ613の例は図7に示す。ID登録応答メッセージ613はID登録結果706のパラメータから構成されている。   Returning to FIG. 6, the description will be continued. Next, the distributed management apparatus 102 transmits an ID registration response message 613 to the client apparatus 101. An example of the ID registration response message 613 is shown in FIG. The ID registration response message 613 is composed of parameters of the ID registration result 706.

このような方法でデータを記憶することにより、1レコードに格納される情報がハッシュ値と秘密分散主キー、秘密分散データと関連するメタ情報のみとなり、レコード内の情報から対応する他の秘密分散主キー、秘密分散データが格納されたレコード特定することは不可能となる。前述したように、ハッシュ関数は一方向性のある関数のため、ハッシュ値から主キーを特定することも不可能である。よって、本構造により、主キーが既知の場合のみ、主キーからハッシュ値を計算し、対応する秘密分散データが格納されたレコードを特定することが可能となる。   By storing data in this way, the information stored in one record is only the hash value, secret sharing primary key, and meta information related to the secret sharing data, and other secret sharing corresponding from the information in the record. It is impossible to specify the record in which the primary key and secret sharing data are stored. As described above, since the hash function is a one-way function, it is impossible to specify the primary key from the hash value. Therefore, according to this structure, only when the primary key is known, it is possible to calculate a hash value from the primary key and specify a record in which the corresponding secret shared data is stored.

以上が、ID登録処理を行う際に、クライアント装置101、分散管理装置102、データ管理装置104_1が実行する一連の処理である。本実施例では、IDからIDへの変換を例としたが、IDにドメイン情報を付加したものとIDにドメイン情報を付加したものの変換としても良い。   The above is a series of processes executed by the client apparatus 101, the distributed management apparatus 102, and the data management apparatus 104_1 when performing the ID registration process. In the present embodiment, conversion from ID to ID is taken as an example, but conversion may be made by adding domain information to ID and adding domain information to ID.

図14から図17を用いて、ID変換処理を行う際に、クライアント装置101、分散管理装置102、データ管理装置104_1が実行する一連の処理の例について説明する。ここでは、ID”123456789”を主キーとして、対応するデータをID管理システムから取得する例を示す。   An example of a series of processes executed by the client apparatus 101, the distributed management apparatus 102, and the data management apparatus 104_1 when performing the ID conversion process will be described with reference to FIGS. Here, an example is shown in which the corresponding data is acquired from the ID management system using ID “123456789” as the primary key.

図14は、本実施例におけるID変換処理のシーケンス図の例である。最初にクライアント装置101は分散管理装置102にID変換要求メッセージ1401を送信する。ID変換要求メッセージ1401の例は図15に示す。図15は、本実施例におけるID変換処理の中で送受信されるメッセージの例である。ID変換要求メッセージ1401は主キー1501のパラメータを含む。   FIG. 14 is an example of a sequence diagram of ID conversion processing in the present embodiment. First, the client apparatus 101 transmits an ID conversion request message 1401 to the distributed management apparatus 102. An example of the ID conversion request message 1401 is shown in FIG. FIG. 15 is an example of messages transmitted and received during the ID conversion process in the present embodiment. The ID conversion request message 1401 includes the parameters of the primary key 1501.

図14に戻って説明を続ける。次に分散管理装置102はハッシュ値生成1402を行う。本処理は前記ID登録処理時のハッシュ値生成604と同様であり、本実施例では、主キー1501“123456789”からハッシュ値1502“1584”などを取得される。分散管理装置102は、各ハッシュ値に対して、以降のデータ管理装置決定1403からデータ参照応答メッセージ1408まで行う。本実施例では、分割数を6としているため、データ管理装置決定1403からデータ参照応答メッセージ1408までが6回繰り返されることとなる。次に分散管理装置102はデータ管理装置決定1403を行う。本処理は前記ID登録処理時のデータ管理装置決定605と同様である。次に分散管理装置102は、決定したデータ管理装置104_1にデータ参照要求メッセージ1404を送信する。データ参照要求メッセージ1404の例は図15に示す。データ参照要求メッセージ1404はハッシュ値1502のパラメータを含む。   Returning to FIG. 14, the description will be continued. Next, the distribution management apparatus 102 performs hash value generation 1402. This process is the same as the hash value generation 604 at the time of the ID registration process. In this embodiment, the hash value 1502 “1584” and the like are acquired from the primary key 1501 “123456789”. The distributed management apparatus 102 performs the subsequent data management apparatus determination 1403 to the data reference response message 1408 for each hash value. In this embodiment, since the number of divisions is 6, the process from the data management device determination 1403 to the data reference response message 1408 is repeated 6 times. Next, the distributed management apparatus 102 performs data management apparatus determination 1403. This process is the same as the data management apparatus determination 605 at the time of the ID registration process. Next, the distributed management apparatus 102 transmits a data reference request message 1404 to the determined data management apparatus 104_1. An example of the data reference request message 1404 is shown in FIG. The data reference request message 1404 includes a parameter having a hash value 1502.

次にデータ管理装置104_1はインデックス生成1405を行う。本処理は前記ID登録処理時のインデックス生成607と同様である。本実施例では、ハッシュ値1502”1584”からインデックス”84”が生成される。次にデータ管理装置104_1は先頭アドレス取得1406を行う。先頭アドレス取得1406では、先頭アドレス記憶領域416のインデックス位置の先頭アドレス1601を読み込む。先頭アドレス取得1406の例は図16に示す。図16は、本実施例におけるID変換時のデータ管理装置104_1の記憶部413の例である。図16の例では、先頭アドレス記憶領域416のインデックス“84”から先頭アドレス1601“90238”を読み込んでいる。   Next, the data management apparatus 104_1 performs index generation 1405. This process is the same as the index generation 607 during the ID registration process. In this embodiment, the index “84” is generated from the hash value 1502 “1584”. Next, the data management apparatus 104_1 performs the start address acquisition 1406. In the start address acquisition 1406, the start address 1601 of the index position in the start address storage area 416 is read. An example of the start address acquisition 1406 is shown in FIG. FIG. 16 is an example of the storage unit 413 of the data management apparatus 104_1 at the time of ID conversion in the present embodiment. In the example of FIG. 16, the head address 1601 “90238” is read from the index “84” of the head address storage area 416.

図14に戻って説明を続ける。次にデータ管理装置104_1はデータ取得1407を行う。データ取得1407では、データ管理装置104_1はデータ記憶領域417の先頭アドレス1601が指すレコードから順にリンク構造を辿り、与えられたハッシュ値1502とレコード中のハッシュ値1602_1、1602_2、・・・が一致するレコードを探索し、同レコードの秘密分散主キーと秘密分散データを取得する。ハッシュ値は衝突する可能性があるため、与えられたハッシュ値1502と一致するハッシュ値を持つレコードが複数存在する可能性があるが、ここでは一致するものは全て取得する。データ取得1407の例を図16に示す。図16の例では、先頭アドレス1601“90238”から始め、次アドレス1603_1“133289”、次アドレス1603_2“209384”と順にリンク構造を辿ってレコードを参照し、ハッシュ値が “1584”と一致するレコードから(秘密分散主キー長、秘密分散データ長)=(“xo3”,“r68”)(“9ji”,“q30”)を取得する。   Returning to FIG. 14, the description will be continued. Next, the data management apparatus 104_1 performs data acquisition 1407. In the data acquisition 1407, the data management apparatus 104_1 follows the link structure in order from the record indicated by the head address 1601 of the data storage area 417, and the given hash value 1502 matches the hash values 1602_1, 1602_2,. Search the record, and acquire the secret sharing primary key and secret sharing data of the record. Since hash values may collide, there may be a plurality of records having a hash value that matches a given hash value 1502, but here all of the records that match are acquired. An example of data acquisition 1407 is shown in FIG. In the example of FIG. 16, a record that starts from the head address 1601 “90238”, follows the link structure in order of the next address 1603_1 “133289”, the next address 1603_2 “209384”, and has a hash value that matches “1584” (Secret sharing main key length, secret sharing data length) = (“xo3”, “r68”) (“9ji”, “q30”).

図14に戻って説明を続ける。次にデータ管理装置104_1は分散管理装置102にデータ参照応答メッセージ1408を送信する。データ参照応答メッセージ1408の例を図15に示す。データ参照応答メッセージ1408はデータ参照結果1505と秘密分散主キー1506_1、1506_2、・・・と秘密分散データ1507_1、1507_2、・・・のパラメータを含む。   Returning to FIG. 14, the description will be continued. Next, the data management apparatus 104_1 transmits a data reference response message 1408 to the distributed management apparatus 102. An example of the data reference response message 1408 is shown in FIG. The data reference response message 1408 includes a data reference result 1505, secret sharing primary keys 1506_1, 1506_2,..., And secret sharing data 1507_1, 1507_2,.

図14に戻って説明を続ける。次に分散管理装置102は受け取ったデータ参照応答メッセージ1408から秘密分散主キーを1つずつ選択し、全ての組み合わせに対して秘密分散復元1409と可読化1410を行う。そして、分散管理装置102は、復元した主キーが最初に与えられた主キー1501と一致する組み合わせを正しい組み合わせと判断する。本実施例では、分散管理装置102は6個のデータ参照応答メッセージ1408から秘密分散主キーとして(“xo3”or“9ji”)、(“89j”)、(“238”)、(“2or”)、(“203”)、(“ru2”)を受け取り、(“xo3”“89j”“238”“2or”“203”“ru2”)と(“9ji”“89j”“238”“2or”“203”“ru2”)の2個の組み合わせに対して、秘密分散復元1409と可読化1410を行い、復元した主キーがID変換要求メッセージ1401に含まれる主キーと一致することから前者の組み合わせが正しいと判断する。   Returning to FIG. 14, the description will be continued. Next, the distribution management apparatus 102 selects secret sharing primary keys one by one from the received data reference response message 1408, and performs secret sharing restoration 1409 and readable 1410 for all combinations. Then, the distributed management apparatus 102 determines that the combination in which the restored primary key matches the primary key 1501 given first is the correct combination. In the present embodiment, the distribution management apparatus 102 uses (“xo3” or “9ji”), (“89j”), (“238”), (“2or”) as secret sharing primary keys from six data reference response messages 1408. ), (“203”), (“ru2”) and (“xo3” “89j” “238” “2or” “203” “ru2”) and (“9ji” “89j” “238” “2or” “203” “ru2”) is subjected to secret sharing restoration 1409 and readable 1410, and since the restored primary key matches the primary key included in the ID conversion request message 1401, the former combination Is determined to be correct.

具体的には、まず秘密分散復元1409では、分散管理装置102は、取得した秘密分散主キーをハッシュ関数の項目番号順に並べ、結合する。秘密分散復元1409の例を図17に示す。図17は本実施例における秘密分散復元1409と可読化1410の例である。図17の例では、分散管理装置102は、取得した秘密分散主キー1701_1“xo3”、1701_2“89j”、1701_3“238”、1701_4“2or”、1701_5“203”、1701_6“ru2”を結合し、難読化中間値1702“xo389j2382or203ru2”を生成する。   Specifically, first, in the secret sharing restoration 1409, the distribution management apparatus 102 arranges and combines the acquired secret sharing primary keys in the order of the item numbers of the hash function. An example of the secret sharing restoration 1409 is shown in FIG. FIG. 17 shows an example of secret sharing restoration 1409 and readable 1410 in this embodiment. In the example of FIG. 17, the distribution management apparatus 102 combines the acquired secret sharing primary keys 1701_1 “xo3”, 1701_2 “89j”, 1701_3 “238”, 1701_4 “2or”, 1701_5 “203”, and 1701_6 “ru2”. The obfuscated intermediate value 1702 “xo389j2382 or 203ru2” is generated.

図14に戻って説明を続ける。可読化1410では、分散管理装置102は難読化中間値1702の末尾から乱数1703を取得し、難読化中間値1702の乱数以外の部分と乱数1703の排他的論理和を計算することで復元主キー1704を生成する。図17の例では、難読化中間値1702“xo389j2382or203ru2”から乱数1703“2or203ru2”を取得し、“xo389j238”と乱数1703“2or203ru2”の排他的論理和を計算することで、復元主キー1704“123456789”を生成している。   Returning to FIG. 14, the description will be continued. In the readable 1410, the distribution management apparatus 102 acquires the random number 1703 from the end of the obfuscated intermediate value 1702, and calculates the exclusive OR of the part other than the random number of the obfuscated intermediate value 1702 and the random number 1703. 1704 is generated. In the example of FIG. 17, the random number 1703 “2or203ru2” is acquired from the obfuscated intermediate value 1702 “xo389j2382or203ru2”, and the exclusive OR of “xo389j238” and the random number 1703 “2or203ru2” is calculated, thereby restoring the primary key 1704 “123456789”. ”Is generated.

次に分散管理装置102は、ID変換要求メッセージ1401に含まれる主キーと一致する組み合わせが存在する場合、該組み合わせに従って、秘密分散データを選択し、秘密分散復元1409と可読化14101507を行い、データ1504を取得する。ID変換要求メッセージ1401に含まれる主キーと一致する組み合わせが存在しない場合、分散管理装置102はID変換結果1503を“False”とする。   Next, when there is a combination that matches the primary key included in the ID conversion request message 1401, the distribution management apparatus 102 selects secret shared data according to the combination, performs secret distribution restoration 1409, and readable 14101507. 1504 is acquired. If there is no combination that matches the primary key included in the ID conversion request message 1401, the distributed management apparatus 102 sets the ID conversion result 1503 to “False”.

次に分散管理装置102はクライアント装置101にID変換応答メッセージ1411を送信する。ID変換応答メッセージ1411の例を図15に示す。ID変換応答メッセージ1411はID変換結果1503とデータ1504のパラメータを含む。   Next, the distributed management apparatus 102 transmits an ID conversion response message 1411 to the client apparatus 101. An example of the ID conversion response message 1411 is shown in FIG. The ID conversion response message 1411 includes an ID conversion result 1503 and data 1504 parameters.

以上が、ID変換処理する際に、クライアント装置101、分散管理装置102、データ管理装置104_1が実行する一連の処理である。秘密分散復元1409から可読化1410にかけて、秘密分散主キーの全組み合わせに対して処理を行うのは、ハッシュ値の衝突問題を解決するためである。一般的に、ハッシュ関数は、ごく低確率ではあるが異なる値から同一のハッシュ値を得ることがある。そのため、ハッシュ値の衝突問題に対応しなかった場合、主キーから無関係のレコードを取得してしまう恐れがある。本実施例では、レコード中に秘密分散主キーを格納し、参照時に秘密分散主キーを復元してみることで、主キーに対応するレコードを一意に特定し、ハッシュ値の衝突問題を解決している。この処理は一見非効率的に見えるが、ハッシュ関数は本来、衝突が十分に小さくなるように設計するものであり、適切な設計がなされていれば、秘密分散主キー1506の組み合わせが生まれることは稀であり、計算効率として問題にならない。   The above is a series of processes executed by the client apparatus 101, the distributed management apparatus 102, and the data management apparatus 104_1 when performing the ID conversion process. The reason for performing processing for all combinations of secret sharing primary keys from secret sharing restoration 1409 to readable 1410 is to solve the hash value collision problem. In general, the hash function may obtain the same hash value from different values with a very low probability. Therefore, if the hash value collision problem is not dealt with, there is a possibility that an irrelevant record is acquired from the primary key. In this embodiment, the secret sharing primary key is stored in the record, and the secret sharing primary key is restored at the time of reference, so that the record corresponding to the primary key is uniquely identified, and the hash value collision problem is solved. ing. Although this process appears to be inefficient at first glance, the hash function is originally designed so that the collision is sufficiently small, and if the appropriate design is made, the combination of the secret sharing primary key 1506 will not be born. It is rare and does not pose a problem as calculation efficiency.

図18から図20を用いて、ID削除処理を行う際に、クライアント装置101、分散管理装置102、データ管理装置104_1が実行する一連の処理の例について説明する。ここでは、ID”123456789”を主キーとし、ID”ABCDEHGHI”をデータとするレコードを削除する例を示す。   An example of a series of processes executed by the client apparatus 101, the distributed management apparatus 102, and the data management apparatus 104_1 when performing the ID deletion process will be described with reference to FIGS. Here, an example of deleting a record having ID “123456789” as a primary key and ID “ABCDEHGHI” as data is shown.

図18は、本実施例におけるID削除処理のシーケンス図の例である。最初にクライアント装置101は分散管理装置102にID削除要求メッセージ1801を送信する。ID削除要求メッセージ1801の例を図19に示す。図19は、本実施例におけるID削除処理の中で送受信されるメッセージの例である。ID削除要求メッセージ1801は主キー1901、データ1902のパラメータから構成されている。   FIG. 18 is an example of a sequence diagram of ID deletion processing in the present embodiment. First, the client apparatus 101 transmits an ID deletion request message 1801 to the distributed management apparatus 102. An example of the ID deletion request message 1801 is shown in FIG. FIG. 19 is an example of messages transmitted and received during the ID deletion process in this embodiment. The ID deletion request message 1801 includes a primary key 1901 and data 1902 parameters.

図18に戻って説明を続ける。次に分散管理装置102は主キー1901を用いて、IDの変換処理を行う。そのため、ハッシュ値生成1802から可読化1810までは、ID変換処理に必要な工程であり、ID変換処理時のハッシュ値生成1402から可読化1410と同様である。この処理により、分散管理装置102はハッシュ値1903を生成し、図15のデータ参照応答メッセージに示すように、秘密分散主キーおよび秘密分散データが格納されているレコードのアドレス1904を取得する。本実施例では、ハッシュ値1903”1584”などが生成され、アドレス1904”133289”を取得する。   Returning to FIG. 18, the description will be continued. Next, the distributed management apparatus 102 uses the primary key 1901 to perform ID conversion processing. Therefore, the process from the hash value generation 1802 to the readable 1810 is a process necessary for the ID conversion process, and is the same as the hash value generation 1402 to the readable 1410 during the ID conversion process. By this processing, the distribution management apparatus 102 generates a hash value 1903 and acquires the address 1904 of the record in which the secret sharing primary key and the secret sharing data are stored as shown in the data reference response message of FIG. In this embodiment, a hash value 1903 “1584” or the like is generated, and an address 1904 “133289” is acquired.

次に分散管理装置102はデータ管理装置104_1にデータ削除要求メッセージ1811を送信する。データ削除要求メッセージ1811の例を図19に示す。データ削除要求メッセージ1811はハッシュ値1903、アドレス1904のパラメータから構成されている。   Next, the distributed management apparatus 102 transmits a data deletion request message 1811 to the data management apparatus 104_1. An example of the data deletion request message 1811 is shown in FIG. The data deletion request message 1811 includes parameters of a hash value 1903 and an address 1904.

図18に戻って説明を続ける。次にデータ管理装置104_1はインデックス生成1812を行う。本処理は前記ID登録処理時のインデックス生成607と同様である。次にデータ管理装置104_1は先頭アドレス取得1813を行う。本処理は前記ID変換処理時の先頭アドレス取得1406と同様である。次にデータ管理装置104_1はデータ削除1814を行う。データ削除1814の例を図20に示す。図20は、本実施例におけるID削除時のデータ管理装置104_1の記憶部413の例である。データ削除1812では、第一に、データ記憶領域417のアドレス1904が指すレコードを参照し、次アドレス2003_2を取得し、同レコードを削除する。第二に、データ記憶領域417の先頭アドレス2001が指すレコードから順にリンク構造を辿り、与えられたアドレス1904とレコード中の次アドレス2003_2が一致するレコードを探索し、次アドレス2003_1を次アドレス2003_2に置き換える。第三に、与えられたアドレス1904が先頭アドレス2001と一致した場合、先頭アドレス記憶領域416の先頭アドレス2001を次アドレス2003_2に置き換える。図18の例では、アドレス1904”133289”が与えられるため、次アドレス2003_2”209384”を取得して、当該レコードを削除する。第二に、リンク構造を先頭アドレス2001”90238”から辿り、次アドレス2003_1が”133289”となるレコードを探索し、同レコードの次アドレス2003_1を次アドレス2003_2”209384”に置き換える。第三の処理は、先頭アドレス2001”90238”は与えられたアドレス1904”133289”と一致しないため、行わない。   Returning to FIG. 18, the description will be continued. Next, the data management apparatus 104_1 performs index generation 1812. This process is the same as the index generation 607 during the ID registration process. Next, the data management apparatus 104_1 performs start address acquisition 1813. This process is the same as the start address acquisition 1406 during the ID conversion process. Next, the data management apparatus 104_1 performs data deletion 1814. An example of data deletion 1814 is shown in FIG. FIG. 20 is an example of the storage unit 413 of the data management device 104_1 when deleting an ID in this embodiment. In the data deletion 1812, first, the record indicated by the address 1904 in the data storage area 417 is referred to, the next address 2003_2 is acquired, and the record is deleted. Second, the link structure is sequentially traced from the record pointed to by the start address 2001 of the data storage area 417, a record in which the given address 1904 matches the next address 2003_2 in the record is searched, and the next address 2003_1 is changed to the next address 2003_2. replace. Third, if the given address 1904 matches the start address 2001, the start address 2001 in the start address storage area 416 is replaced with the next address 2003_2. In the example of FIG. 18, since the address 1904 “133289” is given, the next address 2003_2 “209384” is acquired and the record is deleted. Second, the link structure is traced from the head address 2001 “90238”, a record in which the next address 2003_1 is “133289” is searched, and the next address 2003_1 of the same record is replaced with the next address 2003_2 “209384”. The third process is not performed because the start address 2001 “90238” does not match the given address 1904 “133289”.

図18に戻って説明を続ける。次にデータ管理装置104_1は分散管理装置102にデータ削除応答メッセージ1815を送信する。データ削除応答メッセージ1815の例を図19に示す。データ削除応答メッセージ1815はデータ削除結果1906のパラメータを含む。   Returning to FIG. 18, the description will be continued. Next, the data management apparatus 104_1 transmits a data deletion response message 1815 to the distributed management apparatus 102. An example of the data deletion response message 1815 is shown in FIG. The data deletion response message 1815 includes the parameter of the data deletion result 1906.

図18に戻って説明を続ける。次に分散管理装置102はクライアント装置101にID削除応答メッセージ1816を送信する。ID削除応答メッセージ1816の例を図19に示す。ID削除応答メッセージ1816はID削除結果1905のパラメータを含む。   Returning to FIG. 18, the description will be continued. Next, the distributed management apparatus 102 transmits an ID deletion response message 1816 to the client apparatus 101. An example of the ID deletion response message 1816 is shown in FIG. The ID deletion response message 1816 includes a parameter of the ID deletion result 1905.

以上が、ID削除処理を行う際に、クライアント装置101、分散管理装置102、データ管理装置104_1が実行する一連の処理である。   The above is a series of processes executed by the client apparatus 101, the distributed management apparatus 102, and the data management apparatus 104_1 when performing the ID deletion process.

以上本発明の一実施例について説明した。上記実施例によれば、第三者による分散情報格納部への不正アクセスがあっても、主キーを取得することができないため、分散データから元のデータへの復元を困難にすることができる。したがって、主キーを知っている利用者だけがデータを参照可能となる。   The embodiment of the present invention has been described above. According to the above embodiment, even if there is an unauthorized access to the distributed information storage unit by a third party, the primary key cannot be obtained, so that it is difficult to restore the distributed data to the original data. . Therefore, only the user who knows the primary key can refer to the data.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。   In addition, this invention is not limited to an above-described Example, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。   Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.

また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えても良い。   Further, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

101・・・クライアント装置、102・・・分散管理装置、103・・・ネットワーク、104_1、104_n・・・データ管理装置、201、301、401・・・制御部、315、413・・・記憶部、205・・・入出力部、206、318、418・・・送受信部、501・・・コンピュータ、502・・・CPU、503・・・メモリ、504・・・外部記憶装置、505・・・送受信装置、506・・・出力装置、507・・・入力装置。 DESCRIPTION OF SYMBOLS 101 ... Client apparatus, 102 ... Distributed management apparatus, 103 ... Network, 104_1, 104_n ... Data management apparatus, 201, 301, 401 ... Control part, 315, 413 ... Storage part 205, I / O unit, 206, 318, 418 ... Transmission / reception unit, 501 ... Computer, 502 ... CPU, 503 ... Memory, 504 ... External storage device, 505 ... Transmission / reception device, 506... Output device, 507... Input device.

Claims (14)

ネットワークと接続されるデータ管理装置における主キーとデータの組を管理するデータ管理方法であって、
前記データ管理装置は、分散データを記憶する記憶部を有し、
前記データ管理装置により、
前記ネットワークから主キーとデータの組の登録要求を受信すると、前記主キーから複数のハッシュ値を計算し、前記データを分割して分散データを生成し、前記ハッシュ値と前記分散データの複数のデータ対を生成する処理と、
前記ハッシュ値から前記記憶部におけるアドレスへ不可逆な変換を行い、該アドレスに、該アドレスと対になる前記分散データを格納する処理とを実施する、
ことを特徴とするデータ管理方法。
A data management method for managing a set of primary keys and data in a data management device connected to a network,
The data management device has a storage unit for storing distributed data,
By the data management device,
When receiving a registration request of a primary key and data set from the network, a plurality of hash values are calculated from the primary key, the data is divided to generate distributed data, and a plurality of hash values and the distributed data are generated. Processing to generate data pairs;
Performing irreversible conversion from the hash value to an address in the storage unit, and storing the distributed data paired with the address at the address;
A data management method characterized by the above.
前記データ管理装置により、
前記ネットワークから主キーに対応するデータの参照要求を受信すると、前記主キーから複数のハッシュ値を計算する処理と、
前記ハッシュ値から前記記憶部におけるアドレスへ不可逆な変換を行い、該アドレスに存在する前記分散データを取得する処理と、
前記取得した分散データを結合してデータを復元し、該データをネットワークに送信する処理とを実施する、
ことを特徴とする請求項1に記載のデータ管理方法。
By the data management device,
When receiving a reference request for data corresponding to a primary key from the network, a process of calculating a plurality of hash values from the primary key;
A process of performing irreversible conversion from the hash value to an address in the storage unit, and obtaining the distributed data existing at the address;
Performing the process of combining the acquired distributed data to restore the data and transmitting the data to the network;
The data management method according to claim 1, wherein:
前記データ管理装置により、
乱数生成器により乱数を生成し、前記乱数と前記データとの排他的論理和を計算して難読化中間値を生成し、前記難読化中間値と前記乱数を結合して結合データを生成し、該結合データを分割して分散データを生成する処理を実施する、
ことを特徴とする請求項2に記載のデータ管理方法。
By the data management device,
A random number is generated by a random number generator, an exclusive OR of the random number and the data is calculated to generate an obfuscated intermediate value, and the obfuscated intermediate value and the random number are combined to generate combined data, A process of dividing the combined data to generate distributed data;
The data management method according to claim 2, wherein:
前記データ管理装置により、
前記分散データを結合して結合データを生成し、該結合データから難読化中間値と乱数を取得し、前記難読化中間値と前記乱数との排他的論理和を計算してデータを復元する処理を実施する、
ことを特徴とする請求項3に記載のデータ管理方法。
By the data management device,
A process of generating combined data by combining the distributed data, obtaining an obfuscated intermediate value and a random number from the combined data, calculating an exclusive OR of the obfuscated intermediate value and the random number, and restoring the data Carry out the
The data management method according to claim 3, wherein:
前記記憶部は、指定されたアドレスに分散データを記憶するデータ記憶領域と、インデックス配列構造によりリンク構造の分散データの先頭アドレスを記憶する先頭アドレス記憶領域を有し、
前記データ管理装置により、
前記データ記憶領域の空き領域を指すアドレスの中から任意のアドレスを選択し、前記データ記憶領域の前記アドレスに分散データ、ハッシュ値を記憶し、剰余計算を用いて前記ハッシュ値からインデックスを計算し、前記先頭アドレス記憶領域の前記インデックスから先頭アドレスを取得し、前記先頭アドレスから順に辿ることでリンク構造の末端に前記アドレスを格納する処理を実施する、
ことを特徴とする請求項2に記載のデータ管理方法。
The storage unit has a data storage area for storing distributed data at a specified address, and a start address storage area for storing a start address of distributed data having a link structure by an index array structure,
By the data management device,
Select an arbitrary address from addresses indicating free areas in the data storage area, store distributed data and hash values at the addresses in the data storage area, and calculate an index from the hash values using remainder calculation The first address is obtained from the index of the first address storage area, and the address is stored at the end of the link structure by sequentially tracing from the first address.
The data management method according to claim 2, wherein:
前記データ管理装置により、
剰余計算を用いてハッシュ値からインデックスを計算し、前記先頭アドレス記憶領域の前記インデックスが指す位置から先頭アドレスを取得し、前記先頭アドレスから順にリンク構造を辿り、前記ハッシュ値が前記データ記憶領域に記憶されたハッシュ値と一致した分散データを取得する処理を実施する、
ことを特徴とする請求項5に記載のデータ管理方法。
By the data management device,
An index is calculated from a hash value using a remainder calculation, a head address is obtained from a position indicated by the index in the head address storage area, a link structure is sequentially traced from the head address, and the hash value is stored in the data storage area. Implement the process to obtain the distributed data that matches the stored hash value,
The data management method according to claim 5, wherein:
前記データ管理装置により、
主キーを分割して分散主キーを生成する処理と、
前記データ記憶領域に前記分散主キー、前記分散データ、ハッシュ値を格納する処理とを実施する、
ことを特徴とする請求項6に記載のデータ管理方法。
By the data management device,
Processing to split the primary key to generate a distributed primary key;
Performing the process of storing the distributed primary key, the distributed data, and a hash value in the data storage area;
The data management method according to claim 6.
前記データ管理装置により、
複数の分散主キーの全ての組み合わせに対して、分散主キーを結合して主キーを復元し、前記主キーと前記参照要求に含まれる主キーと一致する組み合わせを判別し、前記組み合わせにより分散データを結合してデータを復元する処理を実施する、
ことを特徴とする請求項7に記載のデータ管理方法。
By the data management device,
For all combinations of a plurality of distributed primary keys, the primary key is restored by combining the distributed primary keys, a combination that matches the primary key and the primary key included in the reference request is determined, and distributed by the combination Perform processing to combine data and restore data,
The data management method according to claim 7, wherein:
前記データ管理装置により、
乱数生成器により乱数を生成し、前記乱数と前記主キーとの排他的論理和を計算して難読化主キーを生成し、前記難読化主キーと前記乱数を結合して主キーを生成し、前記主キーを分割して分散主キーを生成する処理を実施する、
ことを特徴とする請求項8に記載のデータ管理方法。
By the data management device,
A random number is generated by a random number generator, an exclusive OR of the random number and the primary key is calculated to generate an obfuscated primary key, and the obfuscated primary key and the random number are combined to generate a primary key , Executing a process of generating a distributed primary key by dividing the primary key;
The data management method according to claim 8, wherein:
前記データ管理装置により、
前記分散主キーを結合して主キーを生成し、前記主キーから難読化主キーと乱数を取得し、前記難読化主キーと前記乱数との排他的論理和を計算して主キーを復元する処理を実施する、
ことを特徴とする請求項9に記載のデータ管理方法。
By the data management device,
Combine the distributed primary keys to generate a primary key, obtain an obfuscated primary key and a random number from the primary key, and calculate an exclusive OR of the obfuscated primary key and the random number to restore the primary key Execute the process to
The data management method according to claim 9.
ネットワークと接続されるデータ管理装置であって、
制御部と、分散データを記憶する記憶部とを有し、
前記制御部は、
前記ネットワークから主キーとデータの組の登録要求を受信すると、前記主キーから複数のハッシュ値を計算し、前記データを分割して分散データを生成し、前記ハッシュ値と前記分散データの複数のデータ対を生成し、
前記ハッシュ値から前記記憶部におけるアドレスへ不可逆な変換を行い、該アドレスに、該アドレスと対になる前記分散データを記憶する、
ことを特徴とするデータ管理装置。
A data management device connected to a network,
A control unit and a storage unit for storing distributed data;
The controller is
When receiving a registration request of a primary key and data set from the network, a plurality of hash values are calculated from the primary key, the data is divided to generate distributed data, and a plurality of hash values and the distributed data are generated. Generate data pairs,
Performing irreversible conversion from the hash value to an address in the storage unit, and storing the distributed data paired with the address in the address;
A data management apparatus characterized by that.
前記制御部は、
前記ネットワークから主キーに対応するデータの参照要求を受信すると、前記主キーから複数のハッシュ値を計算し、
前記ハッシュ値から前記記憶部におけるアドレスへ不可逆な変換を行い、該アドレスに存在する前記分散データを取得し、
複数の前記分散データを結合してデータを復元し、該データをネットワークに送信する、
ことを特徴とする請求項11に記載のデータ管理装置。
The controller is
When receiving a reference request for data corresponding to the primary key from the network, a plurality of hash values are calculated from the primary key,
Performs irreversible conversion from the hash value to the address in the storage unit, and obtains the distributed data existing at the address,
Combining the plurality of distributed data to restore the data and sending the data to the network;
The data management apparatus according to claim 11.
前記データ管理装置は、さらに乱数を生成する乱数生成器を有し、
前記制御部は、
前記乱数生成器により生成した乱数と前記データとの排他的論理和を計算して難読化中間値を生成し、前記難読化中間値と前記乱数を結合して結合データを生成し、該結合データを分割して分散データを生成する、
ことを特徴とする請求項12に記載のデータ管理装置。
The data management device further includes a random number generator for generating a random number,
The controller is
An exclusive OR of the random number generated by the random number generator and the data is calculated to generate an obfuscated intermediate value, and the obfuscated intermediate value and the random number are combined to generate combined data, the combined data To generate distributed data,
The data management apparatus according to claim 12, wherein:
前記制御部は、
前記分散データを結合して結合データを生成し、該結合データから難読化中間値と乱数を取得し、前記難読化中間値と前記乱数との排他的論理和を計算してデータを復元する、
ことを特徴とする請求項13に記載のデータ管理管理装置。
The controller is
Combining the distributed data to generate combined data, obtaining an obfuscated intermediate value and a random number from the combined data, calculating an exclusive OR of the obfuscated intermediate value and the random number, and restoring the data;
The data management management device according to claim 13.
JP2012286629A 2012-12-28 2012-12-28 Data management method and data management apparatus Active JP5948238B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012286629A JP5948238B2 (en) 2012-12-28 2012-12-28 Data management method and data management apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012286629A JP5948238B2 (en) 2012-12-28 2012-12-28 Data management method and data management apparatus

Publications (2)

Publication Number Publication Date
JP2014130412A true JP2014130412A (en) 2014-07-10
JP5948238B2 JP5948238B2 (en) 2016-07-06

Family

ID=51408768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012286629A Active JP5948238B2 (en) 2012-12-28 2012-12-28 Data management method and data management apparatus

Country Status (1)

Country Link
JP (1) JP5948238B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095612A (en) * 2014-11-13 2016-05-26 エヌ・ティ・ティ・コミュニケーションズ株式会社 Data protection device, data protection method, and data protection program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165216A (en) * 2018-08-02 2019-01-08 杭州启博科技有限公司 A kind of generation method and system, storage medium of Redis distributed data base major key id

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004350147A (en) * 2003-05-23 2004-12-09 Nippon Telegr & Teleph Corp <Ntt> Data utilization limit system, data utilization limiting method, data utilization limiting program and recording medium with the program recorded thereon
JP2007025903A (en) * 2005-07-13 2007-02-01 Fujitsu Ltd Radio tag, reader/writer, encoding system and encoding method
JP2010128670A (en) * 2008-11-26 2010-06-10 Hitachi Ltd Database management method, database management program, and database management apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004350147A (en) * 2003-05-23 2004-12-09 Nippon Telegr & Teleph Corp <Ntt> Data utilization limit system, data utilization limiting method, data utilization limiting program and recording medium with the program recorded thereon
JP2007025903A (en) * 2005-07-13 2007-02-01 Fujitsu Ltd Radio tag, reader/writer, encoding system and encoding method
JP2010128670A (en) * 2008-11-26 2010-06-10 Hitachi Ltd Database management method, database management program, and database management apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095612A (en) * 2014-11-13 2016-05-26 エヌ・ティ・ティ・コミュニケーションズ株式会社 Data protection device, data protection method, and data protection program

Also Published As

Publication number Publication date
JP5948238B2 (en) 2016-07-06

Similar Documents

Publication Publication Date Title
JP6547079B1 (en) Registration / authorization method, device and system
JP6941183B2 (en) Data tokenization
CN110337649B (en) Method and system for dynamic symmetric searchable encryption with imperceptible search patterns
US10785033B2 (en) Method for storing an object on a plurality of storage nodes
JP6180177B2 (en) Encrypted data inquiry method and system capable of protecting privacy
US10361840B2 (en) Server apparatus, search system, terminal apparatus, search method, non-transitory computer readable medium storing server program, and non-transitory computer readable medium storing terminal program
JP6543743B1 (en) Management program
US20200034545A1 (en) Information provision device, information provision system, information provision method, and program
JP6770075B2 (en) Encrypted message search method, message sending / receiving system, terminal, program
AU2018391625B2 (en) Re-encrypting data on a hash chain
CN109845183A (en) For from client device to the method for cloud storage system storing data block
KR20200085095A (en) Electronic apparatus and method for managing data based on block chain
CN112532650A (en) Block chain-based multi-backup safe deletion method and system
Sivakumar et al. Securing data and reducing the time traffic using AES encryption with dual cloud
WO2017033843A1 (en) Searchable cryptograph processing system
JP2019146088A (en) Computer system, connection device, and data processing method
WO2014141802A1 (en) Information processing device, information processing system, information processing method, and program
CN112202555B (en) Information processing method, device and equipment for generating random number based on information attribute
JP5948238B2 (en) Data management method and data management apparatus
JP2006189925A (en) Private information management system, private information management program, and private information protection method
US20220114276A1 (en) Controlling a data network with respect to a use of a distributed database
CN113342802A (en) Method and device for storing block chain data
WO2022137668A1 (en) Data file encoding transmision/reception system, and data file encoding transmission/reception method
CN105208017A (en) Memory information acquisition method
CN111292082B (en) Public key management method, device and equipment in block chain type account book

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160328

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: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R151 Written notification of patent or utility model registration

Ref document number: 5948238

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151