JP5443236B2 - Distributed database system - Google Patents
Distributed database system Download PDFInfo
- Publication number
- JP5443236B2 JP5443236B2 JP2010076536A JP2010076536A JP5443236B2 JP 5443236 B2 JP5443236 B2 JP 5443236B2 JP 2010076536 A JP2010076536 A JP 2010076536A JP 2010076536 A JP2010076536 A JP 2010076536A JP 5443236 B2 JP5443236 B2 JP 5443236B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage unit
- unit
- information
- search
- 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.)
- Expired - Fee Related
Links
- 244000205754 Colocasia esculenta Species 0.000 description 25
- 235000006481 Colocasia esculenta Nutrition 0.000 description 25
- 230000006870 function Effects 0.000 description 11
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000003672 processing method Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データを分散して管理する分散型データベース(以下、「DB」と称する。)の処理技術に係り、特に、セキュリティに改良を施した分散型DB処理装置、処理方法及び処理プログラムに関する。 The present invention relates to a processing technology for a distributed database (hereinafter referred to as “DB”) that manages data in a distributed manner, and more particularly to a distributed DB processing device, processing method, and processing program with improved security. .
従来から、取り扱うデータを所定の基準で分割し、複数箇所に分散して記憶することにより、データ管理を行う分散型DBシステムが存在する。このような分散型DBシステムは、管理すべきデータ量が膨大になる場合などに用いられることが多い。 2. Description of the Related Art Conventionally, there is a distributed DB system that performs data management by dividing data to be handled according to a predetermined standard and distributing and storing the data at a plurality of locations. Such a distributed DB system is often used when the amount of data to be managed is enormous.
たとえば、一つの会社全体のデータ量が多いため、単一のサーバで処理するには、処理負担が過大となる場合がある。このような場合には、会社の支店や支社がそれぞれ通常必要とするデータに分割し、各支店や支社が管理するサーバに分散して管理させる。これにより、各サーバの処理負担を軽減できる。また、このように分散管理を行うことにより、通常時は、各サーバは、他のサーバへアクセスする必要がなくなるので、通信負荷とコストの軽減にもつながる。 For example, since the amount of data for one company is large, the processing load may be excessive for processing with a single server. In such a case, it is divided into data normally required by the branch offices and branch offices of the company, and distributed to servers managed by the branch offices and branch offices. Thereby, the processing burden of each server can be reduced. Also, by performing distributed management in this way, each server does not need to access other servers during normal times, leading to a reduction in communication load and cost.
ところで、近年の個人情報保護の要請から、個人情報を管理するDBからの情報漏洩を防止する必要性が高まっている。これに対処するために、上記の分散型DBのしくみが利用できる。たとえば、特許文献1には、個人情報を、基本データ項目と、属性データ項目とに分割して格納し、特定のコードで関連付けることにより検索する記録方法が提案されている。 By the way, the necessity of preventing information leakage from a DB managing personal information is increasing due to the recent demand for personal information protection. To deal with this, the above distributed DB mechanism can be used. For example, Patent Document 1 proposes a recording method in which personal information is stored by being divided into basic data items and attribute data items and associated with a specific code.
しかし、個人情報の漏洩は、例えば、システムの外部からの侵入によって発生する場合ばかりではない。システムの内部の人間が、社内のネットワークから情報を盗み取る場合もある。かかる場合にも、個人情報が分散管理されている場合には、住所のみ、年齢のみといったように、情報の一部のみが漏洩しても、個人が特定できなければ、あまり問題は生じない。 However, leakage of personal information is not only caused by intrusion from the outside of the system, for example. Sometimes people inside the system steal information from the corporate network. Even in such a case, when the personal information is distributed and managed, even if only a part of the information leaks, such as only the address and only the age, there is not much problem if the individual cannot be specified.
もっとも、特許文献1の発明は、システムの利用権限を有する者が、分散管理された特定の個人情報を検索して結合しようとする場合、同一人の個人情報が内部のネットワークの経路上に、ほぼ同時に(短時間にまとまって)流れることになる。このため、個人情報の漏洩は限定的である。 However, in the invention of Patent Document 1, when a person who has the authority to use the system tries to search and combine specific personal information distributed and managed, the personal information of the same person is on the path of the internal network. It will flow almost simultaneously (in short time). For this reason, leakage of personal information is limited.
そこで、本発明は、個人情報の漏洩防止を拡充することを課題とする。 Therefore, an object of the present invention is to enhance the prevention of leakage of personal information.
上記の課題を解決するために、本発明の分散型データベースシステムは、
複数の属性のデータ(例えば、氏名、住所、年齢というデータ)から構成される複数の情報(例えば、個人情報)を前記属性毎に分割する分割手段(例えば、図1の分割部341等)と、
前記分割手段によって分割された各データに対して第1アルゴリズムに基づいてユニークな第1キーを割り当てる第1割当手段(例えば、図1の第1の付与部342)と、
前記第1割当手段によって割り当てられた各第1キーとこれらに各々対応するデータとが一対でランダムな位置に記憶される第1記憶部(例えば、図1の第1の記憶部110)と、
前記複数の情報に対して第2アルゴリズムに基づいてユニークな第2キーを割り当てる第2割当手段(例えば、図1の第2の付与部344)と、
前記複数の情報を暗号化する暗号化手段(例えば、図1の暗号化部332)と、
前記第2割当手段によって割り当てられた第2キーと前記暗号化手段によって暗号化済みのデータとが一対で記憶される第2記憶部(例えば、図1の第2の記憶部120)と、
前記第1及び第2キーと前記第1及び第2アルゴリズムと前記情報を構成するデータ間の紐付情報とが記憶されている第3記憶部(例えば、図1のルール記憶部320)と、
を備える。
In order to solve the above problems, the distributed database system of the present invention is
A dividing unit (for example, the dividing unit 341 in FIG. 1) that divides a plurality of pieces of information (for example, personal information) composed of data of a plurality of attributes (for example, data such as name, address, and age) for each attribute; ,
A first assigning unit (for example, the first assigning unit 342 in FIG. 1) that assigns a unique first key to each data divided by the dividing unit based on a first algorithm;
A first storage unit (for example, the first storage unit 110 in FIG. 1) in which each first key assigned by the first assigning means and data corresponding to each of the first keys is stored in a random position;
A second assigning unit (for example, the second assigning unit 344 in FIG. 1) that assigns a unique second key to the plurality of pieces of information based on a second algorithm;
An encryption means for encrypting the plurality of pieces of information (for example, the encryption unit 332 in FIG. 1);
A second storage unit (for example, the second storage unit 120 in FIG. 1) that stores a pair of the second key allocated by the second allocation unit and the data encrypted by the encryption unit;
A third storage unit (for example, the rule storage unit 320 in FIG. 1) in which the first and second keys, the first and second algorithms, and association information between the data constituting the information are stored;
Is provided.
本発明によれば、第1〜第3記憶部の全ての記憶内容が漏えいしない限り、「複数の情報」が復元されることがなく、また、典型的には、データのいずれかの属性から当該データに係る他の属性のデータを検索することが可能となる。 According to the present invention, the “plurality of information” is not restored unless all the stored contents of the first to third storage units are leaked, and typically, from any attribute of the data It becomes possible to search data of other attributes related to the data.
仮に、第1記憶部に記憶されているデータ、すなわち、暗号化前の情報を構成するデータが漏洩したとしても、それは、単に、名前だけだったり、住所だけだったり、年齢だけだったりするだけので、個人情報自体が特定されることはない。 Even if the data stored in the first storage unit, that is, the data that constitutes the information before encryption is leaked, it is only the name, the address, or the age. Therefore, personal information itself is not specified.
また、第2記憶部に記憶されているデータが漏洩したとしても、それは、暗号化済みのデータであるため復号化が困難であるし、仮に復号化されたとしても、その結果得られるものは、単に、名前だけだったり、住所だけだったり、年齢だけだったりするだけので、やはり、個人情報自体が特定されることはない。 Moreover, even if the data stored in the second storage unit is leaked, it is difficult to decrypt because it is encrypted data. Even if it is decrypted, what is obtained as a result is Because it is just the name, the address, and the age, the personal information itself is not specified.
さらに、第3記憶部の記憶内容が漏洩したとしても、それは、単に、紐付情報だったり、アルゴリズムだったりするだけなので、個人情報自体が特定されることはない。 Furthermore, even if the storage content of the third storage unit is leaked, it is merely association information or an algorithm, so that the personal information itself is not specified.
ここで重要な点は、第1記憶部に暗号化前のデータを記憶している点である。これにより、典型的には、特定の名前データから、その人の住所データ・年齢データをすぐに検索可能となる。その理由は、特定の名前データに基づいて第3記憶部を参照すれば、その名前データに割り当てられている第1キーが特定でき、かつ、当該第1キーに対応する住所データ・年齢データを特定できるからである。 The important point here is that the data before encryption is stored in the first storage unit. Thus, typically, the address data and age data of the person can be immediately searched from specific name data. The reason is that if the third storage unit is referred to based on specific name data, the first key assigned to the name data can be specified, and the address data / age data corresponding to the first key can be specified. This is because it can be identified.
また、本発明のDB処理装置は、分割されたデータを分散記憶する第1の記憶部と、前記第1の記憶部に記憶されたデータを暗号化して分散記憶する第2の記憶部と、入力部若しくは通信ネットワークを介して入力された検索要求が、分割されたデータの結合が必要か否かを判定する要求判定部と、前記要求判定部が、分割されたデータの結合が必要でないと判定した場合に、前記第1の記憶部からデータを検索する第1の検索部と、前記要求判定部が、分割されたデータの結合が必要と判定した場合に、前記第2の記憶部からデータを検索する第2の検索部と、を有することを特徴とする。 In addition, the DB processing apparatus of the present invention includes a first storage unit that distributes and stores the divided data, a second storage unit that encrypts and stores the data stored in the first storage unit, and A request determination unit that determines whether a search request input via an input unit or a communication network needs to combine divided data, and the request determination unit does not need to combine divided data When the determination is made, when the first search unit that searches for data from the first storage unit and the request determination unit determine that it is necessary to combine the divided data, the second storage unit And a second search unit for searching for data.
なお、本DB処理装置の動作に対応する分散型DB処理方法、及び、当該処理方法をコンピュータに実行させる処理プログラムも、本発明に含まれる。 Note that a distributed DB processing method corresponding to the operation of the DB processing apparatus and a processing program for causing a computer to execute the processing method are also included in the present invention.
他の態様は、分割されたデータを、結合させるための結合情報(紐付情報)を記憶する結合情報記憶部を有することを特徴とする。
以上のような態様では、結合情報を、データとは別に管理しておくことにより、結合できる複数のデータが漏洩しても、それを結合することができない。
Another aspect is characterized by having a combined information storage unit that stores combined information (linking information) for combining the divided data.
In the above aspect, by managing the combination information separately from the data, even if a plurality of data that can be combined leaks, it cannot be combined.
他の態様は、前記第1の記憶部に記憶されたデータに基づいて、これに対応する前記第2の記憶部に記憶されたデータを探索するための探索情報を記憶する探索情報記憶部を有することを特徴とする。 According to another aspect, the search information storage unit stores search information for searching for data stored in the second storage unit corresponding to the data stored in the first storage unit. It is characterized by having.
以上のような態様では、探索情報を、データとは別に記憶しておくことにより、第1の記憶部に記憶されたデータから、第2の記憶部に記憶されたデータの探索ができず、第2の記憶部に記憶されたデータの結合もできない。 In the above aspect, by storing the search information separately from the data, the data stored in the second storage unit cannot be searched from the data stored in the first storage unit, The data stored in the second storage unit cannot be combined.
以上のように、本発明によれば、分割されたデータが結合できるような形での情報の漏洩を防止できるとともに、分割されたままでのデータの検索を容易とする分散型DB処理装置、分散型DB処理方法及び処理プログラムを提供することができる。 As described above, according to the present invention, it is possible to prevent the leakage of information in such a form that the divided data can be combined, and to facilitate the search of the data while being divided, A type DB processing method and a processing program can be provided.
なお、分散型データベースシステム内に記憶されているデータを読み出す場合には、暗号化済みのデータを読み出すとよい。こうすると、分散型データベースシステム内で暗号化されていない生データが盗難されることを防止できるし、ハッカーなどによってデータの読み出しログが解析されたとしても、その解析結果からは特定されるものは暗号化済みのデータであって、生データが特定されることはない。 In addition, when data stored in the distributed database system is read, it is preferable to read encrypted data. In this way, raw data that is not encrypted in the distributed database system can be prevented from being stolen, and even if the data read log is analyzed by a hacker or the like, what is identified from the analysis result is The encrypted data is not specified as raw data.
1…分散型DB処理装置
100…データベース(DB)
110…第1の記憶部
120…第2の記憶部
200…関連情報記憶部
210…探索情報記憶部
220…結合情報記憶部
300…データベースマネージメントシステム(DBMS)
301…認証部
302…認証情報記憶部
303…判定部
310…関連付情報生成部
311…探索情報生成部
312…結合情報生成部
320…ルール記憶部
321…分割ルール記憶部
322…探索ルール記憶部
322…結合ルール記憶部
330…暗号処理部
331…暗号化部
332…復号化部
340…登録処理部
341…分割部
342…第1の付与部
343…複製部
344…第2の付与部
345…格納部
350…検索処理部
351…要求判定部
352…第1の検索部
353…探索部
354…第2の検索部
355…結合部
400…入力部
500…出力部
1 ... Distributed DB processing apparatus 100 ... Database (DB)
110 ... first storage unit 120 ... second storage unit 200 ... related information storage unit 210 ... search information storage unit 220 ... combined information storage unit 300 ... database management system (DBMS)
301 ... Authentication unit 302 ... Authentication information storage unit 303 ... Determination unit 310 ... Associated information generation unit 311 ... Search information generation unit 312 ... Combined information generation unit 320 ... Rule storage unit 321 ... Split rule storage unit 322 ... Search rule storage unit 322 ... Combining rule storage unit 330 ... Encryption processing unit 331 ... Encryption unit 332 ... Decryption unit 340 ... Registration processing unit 341 ... Dividing unit 342 ... First assigning unit 343 ... Duplicating unit 344 ... Second assigning unit 345 ... Storage unit 350 ... search processing unit 351 ... request determination unit 352 ... first search unit 353 ... search unit 354 ... second search unit 355 ... combination unit 400 ... input unit 500 ... output unit
以下、本発明の実施形態について、図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[1.実施形態の構成]
[1−1.全体構成]
[1. Configuration of Embodiment]
[1-1. overall structure]
図1は、本実施形態の各機能を仮想的にブロック化した機能ブロック図である。なお、たとえば、所定のプログラムで動作するコンピュータ若しくは電子回路によって、以下に説明するような機能を実現することができる。かかる機能を実現する方法、そのためのプログラム及びプログラムを記録した記録媒体も、本発明の一態様である。 FIG. 1 is a functional block diagram in which each function of the present embodiment is virtually blocked. Note that, for example, the functions described below can be realized by a computer or an electronic circuit that operates according to a predetermined program. A method for realizing such a function, a program therefor, and a recording medium on which the program is recorded are also one embodiment of the present invention.
図1に示すように、本実施形態の分散型DB処理装置1は、以下説明する、データベース(以下、「DB」と称する)100、関連付情報記憶部200、データベースマネージメントシステム(以下、「DBMS」と称する。)300、入力部400、出力部500に大別される。 As shown in FIG. 1, a distributed database processing apparatus 1 of this embodiment includes a database (hereinafter referred to as “DB”) 100, an associated information storage unit 200, a database management system (hereinafter referred to as “DBMS”), which will be described below. 3), 300, the input unit 400, and the output unit 500.
[1−2.DB] [1-2. DB]
DB100は、本実施形態の取り扱うデータを記憶した構成部である。このDB100において扱われるデータは、所定の基準(分割ルール)に従って分割したデータである。そして、DB100は、分割したデータを、下記のように分散して記憶している。 The DB 100 is a component that stores data handled by the present embodiment. Data handled in the DB 100 is data divided according to a predetermined standard (division rule). The DB 100 stores the divided data in a distributed manner as described below.
たとえば、データとして個人情報を用いる場合を説明する。この個人情報には、氏名、住所、年齢のテキストデータが含まれているものとする。この場合に、複数人の個人情報を、氏名、住所、年齢に分割し、これらを、第1の記憶部110を構成する記憶部A、B、Cに分散記憶させる。なお、第1の記憶部110に記憶されたデータは、暗号化がされていないデータである。また、記憶対象のデータは、テキストデータに限定されるものではない。 For example, a case where personal information is used as data will be described. This personal information includes text data of name, address, and age. In this case, the personal information of a plurality of persons is divided into name, address, and age, and these are distributed and stored in the storage units A, B, and C constituting the first storage unit 110. Note that the data stored in the first storage unit 110 is unencrypted data. The data to be stored is not limited to text data.
図4は、図1に示す第1の記憶部110へのデータの記憶例を示す図である。図4(a)には、複数人の氏名とこれらに各々割り当てられているユニークな第1の識別情報(key1)とが一対で記憶部Aに記憶されている状態を示している。例えば、氏名「鈴木太郎」に対して、Key1「010」の如くである。第1の識別情報は、所定のアルゴリズムに基づいて割り当てている。 FIG. 4 is a diagram illustrating an example of data storage in the first storage unit 110 illustrated in FIG. 1. FIG. 4A shows a state in which a plurality of names and unique first identification information (key1) assigned to them are stored in the storage unit A as a pair. For example, for the name “Taro Suzuki”, Key1 is “010”. The first identification information is assigned based on a predetermined algorithm.
つまり、本実施形態の分散型データベースシステムは、まず、例えば氏名、住所、年齢という複数の属性のデータデータから構成される複数の個人情報を前記属性毎に分割して、それらの各データに対して所定のアルゴリズムに基づいてユニークなkey1(第1キー)を割り当てている。 That is, the distributed database system of the present embodiment first divides a plurality of pieces of personal information composed of data data of a plurality of attributes such as name, address, and age for each attribute, and for each of those data A unique key 1 (first key) is assigned based on a predetermined algorithm.
氏名「鈴木太郎」に係る住所及び年齢のKey1には、氏名「鈴木太郎」に割り当てられたkey1「010」と同じkey1の割り当てを行ってもよい。つまり、「鈴木太郎」という氏名にも、「鈴木太郎」の住所にも、「鈴木太郎」の年齢にも、「010」というkey1を割り当ててもよい。 The same key 1 as the key 1 “010” assigned to the name “Taro Suzuki” may be assigned to the address and age Key 1 associated with the name “Taro Suzuki”. In other words, key1 “010” may be assigned to the name “Taro Suzuki”, the address of “Taro Suzuki”, and the age of “Taro Suzuki”.
或いは、氏名「鈴木太郎」に係る住所及び年齢のKey1には、氏名「鈴木太郎」に割り当てられたkey1「010」とは別のkey1を割り当ててもよい。ただし、この場合には、key1相互間の対応関係を記憶しておく必要がある。この場合の記憶先は、DBMS300又はDB100の外部である関連付情報記憶部200などとすればよい。 Alternatively, a key 1 different from the key 1 “010” assigned to the name “Taro Suzuki” may be assigned to the address and age Key 1 associated with the name “Taro Suzuki”. However, in this case, it is necessary to store the correspondence between the keys1. The storage destination in this case may be the association information storage unit 200 that is external to the DBMS 300 or the DB 100.
同様に、図4(b)、図4(c)に示すように、それぞれ、記憶部Bには住所とこれらに対応するkey1とが記憶され、記憶部Cには年齢とこれらに対応するkey1とが記憶される。本実施形態では、各々のデータが、第1の記憶部110のランダムな位置に記憶される。図4でいえば、「鈴木太郎」という氏名が記憶部Aの1行目に記憶されているが、「鈴木太郎」の住所及び年齢は、記憶部B及びCの任意の行に記憶されることになる。 Similarly, as shown in FIGS. 4B and 4C, the address and key1 corresponding to the address are stored in the storage unit B, and the age and key1 corresponding to these are stored in the storage unit C, respectively. Is memorized. In the present embodiment, each piece of data is stored at a random position in the first storage unit 110. In FIG. 4, the name “Taro Suzuki” is stored in the first row of the storage unit A, but the address and age of “Taro Suzuki” are stored in any row of the storage units B and C. It will be.
図5は、図1に示す記憶部Aに記憶されている各データと記憶部A’に記憶されている各データとの関係を示す図である。図5(a)には、図4(a)と同じものを示している。図5(b)には、図5(a)に示すデータと図5(c)に示すデータとの記憶位置を紐付ける探索情報を示している。ここで、探索情報の「1」列目には記憶部Aに係るKey1が記憶され、かつ、探索情報の「2」列目には記憶部A’に係るKey1が記憶されている。 FIG. 5 is a diagram showing a relationship between each data stored in the storage unit A shown in FIG. 1 and each data stored in the storage unit A ′. FIG. 5A shows the same thing as FIG. FIG. 5B shows search information that links the storage positions of the data shown in FIG. 5A and the data shown in FIG. Here, Key1 related to the storage unit A is stored in the “1” column of the search information, and Key1 related to the storage unit A ′ is stored in the “2” column of the search information.
図5(c)には、図5(a)に示すデータが、暗号化され、かつ、図5(b)に示す探索情報に従って記憶位置が決定された状態で、記憶部A’に係るKey1と別途所定のアルゴリズムによって割り当てられたKey2とともに、記憶部A’に記憶されている状態を示している。 FIG. 5C shows the Key1 associated with the storage unit A ′ in a state where the data shown in FIG. 5A is encrypted and the storage position is determined according to the search information shown in FIG. A state stored in the storage unit A ′ together with Key2 assigned by a predetermined algorithm is shown.
なお、本実施形態では、図5(a)に示す各データの位置と図5(c)に示す各データの位置とが異なっている。例えば、「鈴木太郎」というデータが、図5(a)では1行目に示されているのに対して、図5(c)では2行目に示されている。しかし、これは例示であって、図5(a)に示す各データの位置と図5(c)に示す各データの位置とが同じであってもよい。 In the present embodiment, the position of each data shown in FIG. 5A is different from the position of each data shown in FIG. For example, the data “Taro Suzuki” is shown in the first line in FIG. 5A, whereas it is shown in the second line in FIG. 5C. However, this is an example, and the position of each data shown in FIG. 5A may be the same as the position of each data shown in FIG.
つまり、第1の記憶部110に対しては、一人の個人情報を構成する氏名・住所・年齢という一組のデータを、ランダムに記憶することが必須であったが、第2の記憶部120に対しては、第1の記憶部110のデータ全体を暗号化しただけで、各々のデータの位置は変更して記憶してもよいし、変更せずに記憶してもよい。もっというと、第2の記憶部120に記憶されるデータは、暗号化されているのだから、第1の記憶部110に記憶済みのデータ単位で暗号化することは必須ではなく、例えば、暗号化前の個人情報全体を一単位で暗号化してもよいし、一人の個人情報を構成する氏名・住所・年齢という一組のデータ単位で暗号化してもよいし、或いは、氏名・住所を一単位で暗号化してもよい。この際、例えば、一組のデータ単位で記憶位置的に一まとめとして暗号化してもよい。こうすると、データの早期読み出しが実現できるというメリットがある。 That is, for the first storage unit 110, it was indispensable to randomly store a set of data such as name, address, and age constituting one person's personal information, but the second storage unit 120 In contrast, the entire data in the first storage unit 110 may be encrypted, and the position of each data may be changed and stored, or may be stored without being changed. More specifically, since the data stored in the second storage unit 120 is encrypted, it is not essential to encrypt the data stored in the first storage unit 110. The entire personal information before conversion may be encrypted in one unit, or may be encrypted in one set of data units of name, address, and age constituting one person's personal information, or one name and address may be encrypted. You may encrypt by a unit. At this time, for example, the data may be encrypted as a set in a storage unit by a set of data units. In this way, there is an advantage that early reading of data can be realized.
つぎに、暗号化の手法について説明する。例えば、氏名「鈴木太郎」を暗号化する場合には、氏名「鈴木太郎」に対して割り当てられているKey1を読み出す。このKey1は「010」であるから、これに基づいて、図5(b)に示す探索情報の1列目を参照して、対応する2列目のKeyを読み出す。探索情報から読み出したKeyは「015」であり、これが記憶部A’に係るKey1となる。 Next, an encryption method will be described. For example, when the name “Taro Suzuki” is encrypted, Key1 assigned to the name “Taro Suzuki” is read. Since this Key1 is “010”, based on this, the first column of the search information shown in FIG. The key read from the search information is “015”, which is the key 1 related to the storage unit A ′.
また、所定のアルゴリズムによってKey「015」には、ユニークなKey2が割り当てられる。ここでは、Key2は「009」となる。さらに、暗号化対象である氏名「鈴木太郎」というテキストデータ自体が暗号化される。そして、記憶部A’に係るKey1「015」と、これに対応するKey2「009」と暗号化された氏名「鈴木太郎」とが一組で、記憶部A’に記憶される。 Further, a unique key 2 is assigned to the key “015” by a predetermined algorithm. Here, Key2 is “009”. Furthermore, the text data itself “Taro Suzuki”, which is the object of encryption, is encrypted. Then, Key1 “015” related to the storage unit A ′, the corresponding Key2 “009”, and the encrypted name “Taro Suzuki” are stored in the storage unit A ′ as a set.
同様に、記憶部B、記憶部Cにそれぞれ記憶されているデータも、所定の探索情報に従って暗号化されたのちに、さらに、記憶部B’、記憶部C’に記憶される。 Similarly, the data stored in the storage unit B and the storage unit C are encrypted according to predetermined search information and then stored in the storage unit B ′ and the storage unit C ′.
なお、key1及びkey2の割り当ては、既述のように、所定のアルゴリズムによって行われる。本実施形態では、当該アルゴリズム、探索情報については、DBMS300又はDB100の外部である関連付情報記憶部200に置くようにしている。 The assignment of key1 and key2 is performed by a predetermined algorithm as described above. In the present embodiment, the algorithm and search information are placed in the associated information storage unit 200 that is external to the DBMS 300 or the DB 100.
図6は、記憶部A’と記憶部B’と記憶部C’とに各々格納されたデータの関係図である。図6(a)には記憶部A’へのデータの記憶例を示している。図6(b)には記憶部B’へのデータの記憶例を示している。図6(c)には記憶部C’へのデータの記憶例を示している。図6(d)には記憶部A’と記憶部B’と記憶部C’のKey2を相互に紐付ける探索情報例を示している。 FIG. 6 is a relationship diagram of data stored in the storage unit A ′, the storage unit B ′, and the storage unit C ′. FIG. 6A shows an example of storing data in the storage unit A ′. FIG. 6B shows an example of storing data in the storage unit B ′. FIG. 6C shows an example of storing data in the storage unit C ′. FIG. 6D shows an example of search information that links the storage units A ′, B ′, and Key2 of the storage unit C ′ to each other.
図6(d)に示すように、探索情報の1列目には記憶部A’に係るKey2が記憶され、探索情報の2列目には記憶部B’に係るKey2が記憶され、探索情報の3列目には記憶部C’に係るKey2が記憶されている。ここでは、同じ列に記憶されている各key2が、同一人の各個人情報に割り当てられている。 As shown in FIG. 6D, Key2 related to the storage unit A ′ is stored in the first column of the search information, and Key2 related to the storage unit B ′ is stored in the second column of the search information. In the third column, Key2 related to the storage unit C ′ is stored. Here, each key 2 stored in the same column is assigned to each personal information of the same person.
例えば、図6内に矢印で示すように、探索情報4行目を見ると、1列目に「009」が、2列目に「012」が、1列目に「005」が、記憶されている。図6(a)を見ると、1列目に係るkey2「009」は「鈴木太郎」という名前に割り当てられている。2列目に係るkey2「012」は「鈴木太郎」の「住所」に割り当てられている。3列目に係るkey2「005」は「鈴木太郎」の「年齢」に割り当てられている。 For example, as shown by the arrow in FIG. 6, when the fourth row of search information is viewed, “009” is stored in the first column, “012” is stored in the second column, and “005” is stored in the first column. ing. As shown in FIG. 6A, the key 2 “009” in the first column is assigned to the name “Taro Suzuki”. Key2 “012” in the second column is assigned to “Address” of “Taro Suzuki”. Key2 “005” in the third column is assigned to “Age” of “Taro Suzuki”.
したがって、「鈴木太郎」の個人情報を検索する場合には、まず、図5(a)に示す記憶部Aを参照して、「鈴木太郎」に係る記憶部Aのkey1が「010」であることを特定する。つぎに、記憶部AのKey1「010」に基づいて、図5(b)に示す検索情報を参照して、記憶部AのKey1「010」に対応する、記憶部A’のkey1が「015」であることを特定する。 Therefore, when searching for personal information of “Taro Suzuki”, first, referring to the storage unit A shown in FIG. 5A, the key 1 of the storage unit A related to “Taro Suzuki” is “010”. Identify that. Next, based on the Key1 “010” of the storage unit A, the search information shown in FIG. 5B is referred to, and the key1 of the storage unit A ′ corresponding to the Key1 “010” of the storage unit A is “015”. ”.
つぎに、記憶部A’のkey1「015」に基づいて、図6(a)に示す記憶部A’を参照して、これに対応するkey2「009」を特定する。その後、記憶部A’に係るkey2「009」に基づいて、図6(d)に示す探索情報を参照して、対応する記憶部B’及び記憶部C’に係るKey2を読み出す。この結果、これらのkey2に基づいて、記憶部B’及び記憶部C’を参照することによって、「鈴木太郎」の「住所」及び「年齢」を読み出すことができる。 Next, based on the key 1 “015” of the storage unit A ′, the storage unit A ′ shown in FIG. 6A is referred to, and the corresponding key 2 “009” is specified. Thereafter, based on the key2 “009” related to the storage unit A ′, the search information shown in FIG. 6D is referred to, and the Key2 related to the corresponding storage unit B ′ and storage unit C ′ is read out. As a result, the “address” and “age” of “Taro Suzuki” can be read by referring to the storage unit B ′ and the storage unit C ′ based on these keys 2.
なお、ここでは、「鈴木太郎」に係る記憶部Aのkey1が「010」に基づいて、「鈴木太郎」の「住所」及び「年齢」を読み出す例を示したが、同様に、「鈴木太郎」の「住所」又は「年齢」に基づいて、他の個人情報を読み出すこともできる。 Here, an example is shown in which “address” and “age” of “Taro Suzuki” are read based on “010” in the key 1 of the storage unit A related to “Taro Suzuki”. Other personal information can also be read based on “address” or “age” of “”.
なお、図5及び図6では、2つのKeyを用いる例を示したが、keyの数は例示である。また、識別情報、探索情報及び探索ルールは、第1の記憶部110のデータと、第2の記憶部120のデータとを関連付けることができる情報であれば、上記の例には限定されず、どのようなものであってもよい。ここで重要なのは、本実施形態では、既述のように、keyとアルゴリズムとをDBMS300又はDB100の外部である関連付情報記憶部200に置くことである。 5 and 6 show an example in which two keys are used, the number of keys is merely an example. In addition, the identification information, the search information, and the search rule are not limited to the above example as long as the data can be associated with the data in the first storage unit 110 and the data in the second storage unit 120. Any thing is acceptable. What is important here is that in this embodiment, as described above, the key and the algorithm are placed in the associated information storage unit 200 outside the DBMS 300 or the DB 100.
また、第2の記憶部120における分散されたデータを、どのように結合させるかについては、第2の記憶部120の各データに付与された第2の識別情報と、この第2の識別情報に基づいて、対応する情報を結合するための結合情報及び結合ルールとによって、あらかじめ決定されている。 Further, as to how the dispersed data in the second storage unit 120 are combined, the second identification information given to each data in the second storage unit 120 and the second identification information. Based on the combination information and the combination rule for combining the corresponding information.
[1−3.関連付情報記憶部] [1-3. Associated information storage unit]
関連付情報記憶部200は、探索情報記憶部210、結合情報記憶部220を有している。探索情報記憶部210は、上記のように、第1の記憶部110のデータと、第2の記憶部120のデータとを関連付ける探索情報を記憶した構成部である。結合情報記憶部220は、上記のように、第2の記憶部120において分散されたデータを、関連付ける結合情報を記憶した構成部である。なお、上記の例では、探索情報、結合情報として、乱数表を用いている。 The association information storage unit 200 includes a search information storage unit 210 and a combined information storage unit 220. As described above, the search information storage unit 210 is a configuration unit that stores search information for associating data in the first storage unit 110 and data in the second storage unit 120. As described above, the combined information storage unit 220 is a configuration unit that stores the combined information for associating the data distributed in the second storage unit 120. In the above example, a random number table is used as search information and combination information.
[1−4.DBMS] [1-4. DBMS]
DBMS300は、DB100に対するアクセスを統合的に管理する構成部である。本実施形態のDBMS300は、下記のような構成部を備えることにより、利用者の認証、データの分割、格納、検索、探索及び結合等の処理を行う。このために、DBMS300は、認証部301、関連付情報生成部310、ルール記憶部320、暗号処理部330、登録処理部340、検索処理部350等を有している。 The DBMS 300 is a component that manages access to the DB 100 in an integrated manner. The DBMS 300 according to the present embodiment includes the following components to perform processing such as user authentication, data division, storage, search, search, and combination. For this purpose, the DBMS 300 includes an authentication unit 301, an associated information generation unit 310, a rule storage unit 320, an encryption processing unit 330, a registration processing unit 340, a search processing unit 350, and the like.
認証部301は、入力部400から入力された認証情報に基づいて、DB100の正当な利用者を認証する構成部である。認証部301は、認証情報記憶部302と判定部303等を有している。認証情報記憶部302は、正当な利用者の認証情報をあらかじめ記憶する手段である。判定部303は、入力部400から入力された認証情報と、認証情報記憶部302に記憶された認証情報とが一致するか否かを判定する手段である。なお、認証情報としては、ID、パスワード等が一般的であるが、現在及び将来において利用可能なあらゆる認証情報が含まれる。 The authentication unit 301 is a configuration unit that authenticates a valid user of the DB 100 based on the authentication information input from the input unit 400. The authentication unit 301 includes an authentication information storage unit 302, a determination unit 303, and the like. The authentication information storage unit 302 is a means for storing in advance authentication information of a legitimate user. The determination unit 303 is a unit that determines whether the authentication information input from the input unit 400 matches the authentication information stored in the authentication information storage unit 302. The authentication information is generally an ID, a password, etc., but includes any authentication information that can be used at present and in the future.
関連付情報生成部310は、探索情報生成部311、結合情報生成部312を有している。探索情報生成部311は、探索情報を生成する構成部である。結合情報記憶部312は、結合情報を生成する構成部である。なお、上記の例では、探索情報、結合情報として、乱数表を用いている。乱数表の生成は、周知技術であり、現在又は将来において適用可能なあらゆる手法を用いることができる。 The association information generation unit 310 includes a search information generation unit 311 and a combined information generation unit 312. The search information generation unit 311 is a configuration unit that generates search information. The combined information storage unit 312 is a component that generates combined information. In the above example, a random number table is used as search information and combination information. The generation of the random number table is a well-known technique, and any method applicable at present or in the future can be used.
ルール記憶部320は、分割ルール記憶部321、探索ルール記憶部322、結合ルール記憶部323等を有している。分割ルール記憶部321は、データを分割するためのルールを記憶した構成部である。分割ルールとしては、上記の個人情報の例では、氏名、住所、年齢といった、それぞれが意味を持つデータに分割するルールが考えられる。但し、本発明は、これに限定されない。 The rule storage unit 320 includes a division rule storage unit 321, a search rule storage unit 322, a combination rule storage unit 323, and the like. The division rule storage unit 321 is a configuration unit that stores a rule for dividing data. As the division rule, in the example of the personal information described above, a rule that divides the data into meaning data such as name, address, and age can be considered. However, the present invention is not limited to this.
探索ルール記憶部322は、上記のように、第1の記憶部110のデータと、第2の記憶部120のデータとを関連付けるための探索ルールを記憶した構成部である。結合ルール記憶部323は、上記のように、第2の記憶部120において分散されたデータを、関連付けるための結合ルールを記憶した構成部である。 As described above, the search rule storage unit 322 is a configuration unit that stores a search rule for associating data in the first storage unit 110 with data in the second storage unit 120. As described above, the combination rule storage unit 323 is a configuration unit that stores a combination rule for associating data distributed in the second storage unit 120.
暗号処理部330は、暗号化部331、復号化部332等を有している。暗号化部331は、第2の記憶部120に記憶されるデータを暗号化する構成部である。復号化部332は、第2の記憶部120に記憶されたデータの復号化の復号化を行う構成部である。暗号化、復号化については、在又は将来において適用可能なあらゆる手法を用いることができる。 The encryption processing unit 330 includes an encryption unit 331, a decryption unit 332, and the like. The encryption unit 331 is a configuration unit that encrypts data stored in the second storage unit 120. The decryption unit 332 is a configuration unit that decrypts the data stored in the second storage unit 120. For encryption and decryption, any method that can be applied in the present or future can be used.
登録処理部340は、分割部341、第1の付与部342、複製部343、第2の付与部344、格納部345等を有している。分割部341は、入力されたデータを、分割ルールに基づいて、分割する構成部である。第1の付与部342は、分割された各データに、第1の識別情報を付与する構成部である。第1の識別情報の付与の例は、上記の通りであるが、本発明はこれには限定されない。 The registration processing unit 340 includes a dividing unit 341, a first adding unit 342, a duplicating unit 343, a second adding unit 344, a storing unit 345, and the like. The dividing unit 341 is a component that divides input data based on a division rule. The 1st provision part 342 is a structure part which provides 1st identification information to each divided | segmented data. An example of giving the first identification information is as described above, but the present invention is not limited to this.
複製部343は、分割されたデータを複製する構成部である。第2の付与部344は、複製された各データに、第2の識別情報を付与する構成部である。第2の識別情報の付与の例は、上記の通りであるが、本発明はこれには限定されない。格納部345は、分割されて第1の識別情報が付与されたデータを、第1の記憶部110に分散して格納し、複製されて第2の識別情報が付与されたデータを、第2の記憶部120に分散して格納する構成部である。 The duplication unit 343 is a component that duplicates the divided data. The 2nd provision part 344 is a structure part which provides 2nd identification information to each replicated data. An example of providing the second identification information is as described above, but the present invention is not limited to this. The storage unit 345 stores the data that has been divided and provided with the first identification information in a distributed manner in the first storage unit 110, and the data that has been duplicated and provided with the second identification information is stored in the second storage unit 345. The storage unit 120 stores the information in a distributed manner.
検索処理部350は、要求判定部351、第1の検索部352、探索部353、第2の検索部354、結合部355等を有している。要求判定部351は、入力された検索要求が、分割されたデータの結合を必要とするものか否かを判定する構成部である。たとえば、特定の地域に居住している人の人数を求める検索要求の場合には、住所のデータのみを検索すればよく、データの結合は必要がない。一方、ある氏名の人の住所、年齢を求める検索要求の場合には、氏名、住所、年齢のデータを結合させる必要がある。 The search processing unit 350 includes a request determination unit 351, a first search unit 352, a search unit 353, a second search unit 354, a combining unit 355, and the like. The request determination unit 351 is a configuration unit that determines whether or not an input search request requires a combination of divided data. For example, in the case of a search request for the number of people living in a specific area, only the address data need be searched, and no data combination is required. On the other hand, in the case of a search request for obtaining the address and age of a person with a name, it is necessary to combine the data of name, address, and age.
第1の検索部352は、要求判定部351による判定結果に従い、検索要求に含まれる検索条件に応じて、第1の記憶部110に格納されたデータを検索する構成部である。探索部353は、要求判定部351による判定結果に従い、探索情報及び探索ルールに基づいて、第1の記憶部110に格納されたデータに対応する第2の記憶部120に格納されたデータを探索する構成部である。さらに、第2の検索部354は、探索部353によって探索されたデータに対応するデータを、結合情報及び結合ルールに基づいて、第2の記憶部120から検索する構成部である。結合部355は、第2の検索部354によって検索されたデータを結合する構成部である。 The first search unit 352 is a configuration unit that searches the data stored in the first storage unit 110 in accordance with the search condition included in the search request according to the determination result by the request determination unit 351. The search unit 353 searches for data stored in the second storage unit 120 corresponding to the data stored in the first storage unit 110, based on the search information and the search rules, according to the determination result by the request determination unit 351. It is the component which performs. Furthermore, the second search unit 354 is a component that searches the second storage unit 120 for data corresponding to the data searched by the search unit 353 based on the combination information and the combination rule. The combining unit 355 is a component that combines the data searched by the second search unit 354.
なお、DBMS300は、一般的なDBMSと同様に、入力部400から入力された要求に従って、DB100のデータの更新、削除等の処理を行うことができる。その他、データの一貫性、同時実行制御等、一般的なDBMSが有する機能については、周知技術であるため、説明を省略する。 Note that the DBMS 300 can perform processing such as update and deletion of data in the DB 100 in accordance with a request input from the input unit 400, as in a general DBMS. Other functions such as data consistency and concurrent execution control that are included in a general DBMS are well-known techniques and will not be described.
[1−4.入力部] [1-4. Input section]
入力部400は、利用者(プログラマ、管理者、一般ユーザ等、システムを利用する者を広く含む)が、分散型DB処理装置1に、種々の情報を入力して操作するための構成部である。この入力部400としては、キーボード、マウス、タッチパネル等、現在又は将来において利用可能なあらゆる入力装置を用いることができる。この入力部400によって、利用者は、データ、検索要求(検索条件等を含む)等を入力することができ、これに応じて、DBMS300が処理を行う。 The input unit 400 is a configuration unit that allows users (including programmers, managers, general users, etc., who use the system widely) to input and operate various types of information in the distributed database processing apparatus 1. is there. As the input unit 400, any input device that can be used now or in the future, such as a keyboard, a mouse, and a touch panel, can be used. The input unit 400 allows the user to input data, a search request (including search conditions, etc.), and the DBMS 300 performs processing in response to this.
[1−5.出力部] [1-5. Output section]
出力部500は、分散型DB処理装置1におけるDB100の入力画面、検索結果等を、種々の態様で出力することにより、ユーザにより視認可能とする手段である。この出力部500としては、ディスプレイ、プリンタ等、現在又は将来において利用可能なあらゆる出力装置を用いることができる。 The output unit 500 is a means that allows the user to visually recognize the input screen, search results, and the like of the DB 100 in the distributed DB processing apparatus 1 in various ways. As the output unit 500, any output device that can be used now or in the future, such as a display and a printer, can be used.
なお、上記のDB100、関連付情報記憶部200、認証情報記憶部311、ルール記憶部320等の記憶部としては、コンピュータの各種メモリ、ハードディスク等、現在又は将来において利用可能なあらゆる記憶媒体が利用可能である。上記の説明では、各記憶部及びDBを概念的に区別したものであり、その一部若しくは全部を共通の記憶媒体において実現してもよいし、通信経路(バス、通信ネットワーク等を含む)を介して接続された別個の記憶媒体によって実現してもよい。これは、記憶部A〜C、A’〜C’についても同様である。 As the storage unit such as the DB 100, the associated information storage unit 200, the authentication information storage unit 311, and the rule storage unit 320, any storage medium that can be used at present or in the future, such as various types of computer memory or hard disk, is used. Is possible. In the above description, each storage unit and DB are conceptually distinguished, and a part or all of them may be realized in a common storage medium, and communication paths (including buses, communication networks, etc.) are included. You may implement | achieve by the separate storage medium connected via the. The same applies to the storage units A to C and A 'to C'.
また、DBMS300は、プログラムによって動作するCPU、メモリその他の周辺回路により構成される制御部によって実現されるものである。この制御部は、入力部400及び出力部500との間での情報の入出力機能、演算機能等、一般的なコンピュータが備える機能を有している。 The DBMS 300 is realized by a control unit configured by a CPU that operates according to a program, a memory, and other peripheral circuits. This control unit has functions provided in a general computer such as an input / output function of information and an arithmetic function between the input unit 400 and the output unit 500.
また、DBMS300は、一般的には、オペレーティングシステム及びアプリケーションプログラム間で動作するミドルウェアの一種として機能する。但し、上記の各部は、オペレーションシステム及びアプリケーションプログラムの機能の一部を含んでいるか、その機能と連携して動作する機能の場合もあるが、厳密に区別して示すことは困難であるため、説明は省略する。 The DBMS 300 generally functions as a kind of middleware that operates between an operating system and application programs. However, each of the above-mentioned units may include a part of the functions of the operation system and application program, or may be a function that operates in cooperation with the function. Is omitted.
さらに、入力部400、出力部500に関しても、遠隔に配置され、通信ネットワークを介して接続された構成としてもよい。 Further, the input unit 400 and the output unit 500 may be configured to be remotely arranged and connected via a communication network.
[2.実施形態の作用]
以上のような本実施形態による処理の流れを、図2、図3を参照して説明する。
[2. Operation of the embodiment]
The processing flow according to the present embodiment as described above will be described with reference to FIGS.
[2−1.データ登録処理] [2-1. Data registration process]
まず、データを分散して記憶するデータ登録処理について、図2のフローチャート、図4、図6の説明図に従って説明する。すなわち、利用者は、入力部400を用いて、認証情報を入力する(ステップ01)。判定部303は、入力された認証情報が、認証情報記憶部302に記憶された認証情報と一致するか否かを判定する(ステップ02)。判定部303によって、認証情報が一致しないと判定された場合には、正当な利用者ではないとして、それ以降の処理進むことはできない(ステップ02のNO)。 First, data registration processing for storing data in a distributed manner will be described with reference to the flowchart of FIG. 2 and the explanatory diagrams of FIGS. That is, the user inputs authentication information using the input unit 400 (step 01). The determination unit 303 determines whether or not the input authentication information matches the authentication information stored in the authentication information storage unit 302 (step 02). If the determination unit 303 determines that the authentication information does not match, it is determined that the user is not a valid user, and the subsequent processing cannot proceed (NO in step 02).
認証情報が一致すると判定された場合には、正当な利用者として認証される(ステップ02のYES)。この利用者が、入力部400を用いて、個人情報を入力する(ステップ03)。分割部341は、入力された個人情報を、分割ルールに従って分割する(ステップ04)。上記の例では、個人情報が、氏名、住所、年齢に分割される。 If it is determined that the authentication information matches, the user is authenticated as a valid user (YES in step 02). This user inputs personal information using the input unit 400 (step 03). The dividing unit 341 divides the input personal information according to the division rule (step 04). In the above example, personal information is divided into name, address, and age.
また、複製部343は、分割された各データを複製する(ステップ05)。このとき、暗号化部331が、分割された各データを暗号化する(ステップ06)。そして、第1の付与部342が、探索情報及び結合ルールに従って、分割された各データと複製された各データに、第1の識別情報を付与する(ステップ07)。上記の例では、乱数表に基づいて、それぞれにキー(key1)が付与される(図4参照)。なお、探索情報は、あらかじめ探索情報生成部311によって生成され、探索情報記憶部210に記憶されていてもよいし、第1の識別情報の付与の際に、探索情報生成部311によって生成して、その後、探索情報記憶部310に記憶しておいてもよい。 Further, the duplicating unit 343 duplicates each divided data (step 05). At this time, the encryption unit 331 encrypts each divided data (step 06). And the 1st provision part 342 assign | provides 1st identification information to each divided | segmented data and each replicated data according to search information and a coupling rule (step 07). In the above example, a key (key1) is assigned to each based on the random number table (see FIG. 4). Note that the search information may be generated in advance by the search information generation unit 311 and stored in the search information storage unit 210, or may be generated by the search information generation unit 311 when the first identification information is given. Thereafter, it may be stored in the search information storage unit 310.
第2の付与部344は、探索情報及び探索ルールに従って、複製され、暗号化されたた各データに、第2の識別情報を付与する(ステップ08)。上記の例では、氏名、住所、年齢が複製、暗号化され、乱数表に基づいて、それぞれにキー(key2)が付与される(図6参照)。なお、結合情報は、あらかじめ結合情報生成部312によって生成され、結合情報記憶部220に記憶されていてもよいし、第2の識別情報の付与の際に、結合情報生成部312によって生成して、その後、結合情報記憶部320に記憶しておいてもよい。 The second assigning unit 344 assigns the second identification information to each replicated and encrypted data according to the search information and the search rule (step 08). In the above example, the name, address, and age are copied and encrypted, and a key (key2) is assigned to each based on the random number table (see FIG. 6). Note that the combined information may be generated in advance by the combined information generation unit 312 and stored in the combined information storage unit 220, or may be generated by the combined information generation unit 312 when the second identification information is given. Thereafter, the information may be stored in the combined information storage unit 320.
格納部345は、分割部341によって分割され、第1の識別情報が付与された各データを、第1の記憶部110に分散して格納する(ステップ09)。上記の例では、記憶部A、B、Cに、それぞれ氏名、住所、年齢が格納される。さらに、格納部345は、暗号化され、第2の識別情報が付与された各データを、第2の記憶部120に分散して格納する(ステップ10)。上記の例では、記憶部A’、B’、C’に、それそれ暗号化された氏名、住所、年齢が格納される。 The storage unit 345 stores the data divided by the dividing unit 341 and provided with the first identification information in a distributed manner in the first storage unit 110 (step 09). In the above example, names, addresses, and ages are stored in the storage units A, B, and C, respectively. Further, the storage unit 345 stores the encrypted data to which the second identification information is added in a distributed manner in the second storage unit 120 (step 10). In the above example, the encrypted names, addresses, and ages are stored in the storage units A ′, B ′, and C ′.
[2−2.データ検索処理] [2-2. Data search processing]
次に、データを検索する処理について、図3のフローチャート、図5、図6の説明図に従って説明する。まず、上記と同様に、利用者の認証を行う(ステップ11、12)。次に、利用者は、入力部400を用いて、検索要求を入力する(ステップ13)。要求判定部351は、検索要求が、分割された各データのみを対象とするか、分割された各データの結合を必要とするかを判定する(ステップ14)。 Next, processing for retrieving data will be described with reference to the flowchart of FIG. 3 and the explanatory diagrams of FIGS. First, in the same manner as described above, user authentication is performed (steps 11 and 12). Next, the user uses the input unit 400 to input a search request (step 13). The request determination unit 351 determines whether the search request is for only the divided data or needs to combine the divided data (step 14).
検索要求は、分割された各データのみを対象とする検索条件を含む場合には、要求判定部351は、結合不要と判定する(ステップ15のNO)。たとえば、検索要求が、氏名だけ、住所だけ、年齢だけといった場合がこれに該当する。すると、第1の検索部352が、第1の記憶部110(記憶部A、B、C)のいずれかから、そのデータのみを検索する(ステップ21)。 When the search request includes a search condition for only the divided data, the request determination unit 351 determines that the connection is unnecessary (NO in step 15). For example, this is the case when the search request is only the name, only the address, and only the age. Then, the first search unit 352 searches only the data from one of the first storage units 110 (storage units A, B, and C) (step 21).
この場合には、他データとの結合の必要はないので、検索結果は、そのまま出力部500に出力される(ステップ20)。なお、同姓の人の人数、同じ区に居住する人の人数といったように、第1の記憶部110をそれぞれに単独で検索すれば済むような検索条件の場合にも、同様に対応できる。 In this case, since it is not necessary to combine with other data, the search result is output to the output unit 500 as it is (step 20). It should be noted that the same can be applied to a search condition in which the first storage unit 110 only needs to be searched independently, such as the number of people with the same surname and the number of people living in the same ward.
一方、検索要求が、分割された各データの結合を必要とする場合には、要求判定部351は、結合必要と判定する(ステップ15のYES)。たとえば、特定の氏名とその人の住所といったように、分散されたデータを結合して、個人を特定できるようなものとする要求である場合がこれに該当する。 On the other hand, if the search request requires combining of the divided data, the request determination unit 351 determines that combining is necessary (YES in step 15). For example, this is the case where the request is such that a specific name and the address of the person can be used to identify the individual by combining the distributed data.
かかる場合には、探索部353が、入力された検索条件と、探索情報及び探索ルールに従って、第1の記憶部110のデータに対応する第2の記憶部120のデータを探索する(ステップ16)。たとえば、氏名から住所を検索する場合には、第1の記憶部110の氏名に付与された対応する第2の記憶部120の氏名を探索する。上記の例では、乱数表から、氏名(鈴木太郎)に付与されたキー(010)に対応するキー(015)を判定し、これに対応するデータを探索する(図5参照)。 In such a case, the search unit 353 searches for data in the second storage unit 120 corresponding to the data in the first storage unit 110 according to the input search condition, search information, and search rule (step 16). . For example, when searching for an address from the name, the name of the corresponding second storage unit 120 assigned to the name of the first storage unit 110 is searched. In the above example, the key (015) corresponding to the key (010) assigned to the name (Taro Suzuki) is determined from the random number table, and data corresponding to this is searched (see FIG. 5).
次に、第2の検索部354が、結合情報及び結合ルールに従って、探索されたデータに結合すべきデータを、第2の記憶部120から検索する(ステップ17)。上記の例では、乱数表から、暗号化された氏名(鈴木太郎)に付与されたキー(009)に対応するキー(012,005)を判定し、これに対応するデータを検索する(図6参照)。 Next, the second search unit 354 searches the second storage unit 120 for data to be combined with the searched data in accordance with the combination information and the combination rule (step 17). In the above example, the key (012,005) corresponding to the key (009) assigned to the encrypted name (Taro Suzuki) is determined from the random number table, and data corresponding to this is searched (FIG. 6). reference).
そして、復号化部332が、検索された各データを復号化する(ステップ18)。さらに、結合部355が、復号化されたデータを結合する(ステップ19)。結合された検索結果は、出力部500に出力される(ステップ20)。 Then, the decryption unit 332 decrypts each retrieved data (step 18). Further, the combining unit 355 combines the decrypted data (step 19). The combined search result is output to the output unit 500 (step 20).
[3.実施形態の効果] [3. Effects of the embodiment]
以上のような本実施形態(本発明)の効果は、次の通りである。すなわち、本実施形態によれば、分割された各データを、単独で検索した場合には、暗号化等がなされていないために、処理負担が軽く、高速に検索することができる。この場合に、もしデータが内部の経路(たとえば、図1のX)から漏洩しても、個人を特定できないので、問題は少ない。 The effects of the present embodiment (the present invention) as described above are as follows. In other words, according to the present embodiment, when each divided data is searched independently, the processing load is light and the search can be performed at high speed because encryption is not performed. In this case, even if the data leaks from the internal route (for example, X in FIG. 1), the individual cannot be specified, so there are few problems.
一方、分割された各データを結合させて検索する場合には、暗号化されたデータのみが経路を流れる。このため、同時間に内部の経路(たとえば、図1のY)を流通する複数のデータが漏洩したとしても、内容を秘匿することができる。 On the other hand, when searching by combining the divided data, only the encrypted data flows through the path. For this reason, even if a plurality of data flowing through the internal route (for example, Y in FIG. 1) leaks at the same time, the contents can be concealed.
[4.他の実施形態] [4. Other Embodiments]
本発明は、上記のような実施形態に限定されるものではない。たとえば、本発明は、特定の1台のコンピュータによって実現されるものには限定されない。複数のサーバ装置により構成したり、各機能ブロックに応じて複数台のコンピュータで処理を分散したりすることにより、複数台が連繋して処理を行うシステムとして構成することもできる。 The present invention is not limited to the embodiment as described above. For example, the present invention is not limited to that realized by a specific single computer. By configuring with a plurality of server devices or distributing the processing with a plurality of computers according to each functional block, it is also possible to configure a system in which a plurality of devices are connected to perform processing.
上記の実施形態では、第1の記憶部及び第2の記憶部において、データをそれぞれ3つに分散させていたが、この分散数についても、2つ以上であれば、どのような数でもよい。第1の記憶部と第2の記憶部で分散数が異なっていてもよい。 In the above embodiment, the first storage unit and the second storage unit each distribute data to three. However, the number of distributions may be any number as long as it is two or more. . The number of distributions may be different between the first storage unit and the second storage unit.
本発明が取り扱うデータについても、特定のものには限定されない。上記で例示したデータはその一例に過ぎず、分散管理されるデータに広く適用可能である。個人情報として、どのようなデータを含めるかも自由であり、分割の単位、数についても自由である。本発明は、個人情報の漏洩防止に有効であるが、使用するデータは、個人情報には限定されない。 The data handled by the present invention is not limited to specific data. The data illustrated above is only one example, and can be widely applied to data that is distributed and managed. What kind of data can be included as personal information is free, and the division unit and number are also free. The present invention is effective for preventing leakage of personal information, but the data used is not limited to personal information.
Claims (5)
前記分割手段によって分割された各データに対して第1アルゴリズムに基づいてユニークな第1キーを割り当てる第1割当手段と、
前記第1割当手段によって割り当てられた各第1キーとこれらに各々対応するデータとが一対でランダムな位置に記憶される第1記憶部と、
前記複数の情報に対して第2アルゴリズムに基づいてユニークな第2キーを割り当てる第2割当手段と、
前記複数の情報を暗号化する暗号化手段と、
前記第2割当手段によって割り当てられた第2キーと前記暗号化手段によって暗号化済みのデータとが一対でランダムな位置に記憶される第2記憶部と、
前記第1及び第2キーと前記第1及び第2アルゴリズムと前記情報を構成するデータ間の紐付情報とが記憶されている第3記憶部と、
を備える、分散型データベースシステム。 Dividing means for dividing a plurality of pieces of information composed of data of a plurality of attributes for each of the attributes;
First assigning means for assigning a unique first key to each data divided by the dividing means based on a first algorithm;
A first storage unit in which each first key assigned by the first assigning means and data corresponding to each of the first keys are stored in a random position;
Second assigning means for assigning a unique second key to the plurality of information based on a second algorithm;
Encryption means for encrypting the plurality of information;
A second storage unit in which the second key assigned by the second assigning unit and the data encrypted by the encrypting unit are stored in a pair at random positions;
A third storage unit in which the first and second keys, the first and second algorithms, and association information between data constituting the information are stored;
A distributed database system comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010076536A JP5443236B2 (en) | 2010-03-30 | 2010-03-30 | Distributed database system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010076536A JP5443236B2 (en) | 2010-03-30 | 2010-03-30 | Distributed database system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011209974A JP2011209974A (en) | 2011-10-20 |
| JP5443236B2 true JP5443236B2 (en) | 2014-03-19 |
Family
ID=44940966
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010076536A Expired - Fee Related JP5443236B2 (en) | 2010-03-30 | 2010-03-30 | Distributed database system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5443236B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5456726B2 (en) * | 2011-06-30 | 2014-04-02 | ヤフー株式会社 | Information management apparatus and method |
| JP6250497B2 (en) * | 2014-03-13 | 2017-12-20 | 株式会社日立製作所 | Information management system |
| JP2016014941A (en) * | 2014-07-01 | 2016-01-28 | 株式会社システック | Retort processing order system |
| KR101936273B1 (en) * | 2016-08-23 | 2019-01-08 | 주식회사 한컴시큐어 | Database encryption apparatus for encryption scheduling optimized for large database and operating method thereof |
| JP6979562B2 (en) | 2017-03-31 | 2021-12-15 | パナソニックIpマネジメント株式会社 | Energy database system |
| JP7128335B1 (en) | 2021-09-16 | 2022-08-30 | 株式会社グリーン・シップ | Guidance Notification System, Guidance Notification Method, and Guidance Notification Program |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4616562B2 (en) * | 2004-01-26 | 2011-01-19 | 株式会社リコー | Information management system |
| JP4669289B2 (en) * | 2005-01-07 | 2011-04-13 | 日本放送協会 | Confidential information management system and confidential information management method |
| JP2006215843A (en) * | 2005-02-04 | 2006-08-17 | E Safe:Kk | Personal information management system and method, personal information management program, and storage medium storing the program |
| WO2006123429A1 (en) * | 2005-05-20 | 2006-11-23 | Fujitsu Limited | Information search method, device, program, and recording medium containing the program |
| JP4708177B2 (en) * | 2005-12-09 | 2011-06-22 | 財団法人エヌエイチケイエンジニアリングサービス | Database management method and personal information management system |
-
2010
- 2010-03-30 JP JP2010076536A patent/JP5443236B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011209974A (en) | 2011-10-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3640339B2 (en) | System for retrieving electronic data file and method for maintaining the same | |
| US20200119904A1 (en) | Tamper-proof privileged user access system logs | |
| US7827403B2 (en) | Method and apparatus for encrypting and decrypting data in a database table | |
| JP5963936B2 (en) | Server device, secret search program, recording medium, and secret search system | |
| JP7235668B2 (en) | REGISTRATION METHOD, COMPUTER AND PROGRAM | |
| CA2287871C (en) | Secure document management system | |
| CN113141610B (en) | Device theft protection by associating a device identifier with a user identifier | |
| US20100325732A1 (en) | Managing Keys for Encrypted Shared Documents | |
| US20030210790A1 (en) | Optimizing costs associated with managing encrypted data | |
| JP5443236B2 (en) | Distributed database system | |
| US11256662B2 (en) | Distributed ledger system | |
| JP2008250369A (en) | Management method of secrete data file, management system and proxy server therefor | |
| CN105516059B (en) | A kind of resource access control method and device | |
| CN107409129B (en) | Use the authorization in accesses control list and the distributed system of group | |
| JP6250497B2 (en) | Information management system | |
| US20210234693A1 (en) | Intelligent decryption based on user and data profiling | |
| JP6729013B2 (en) | Information processing system, information processing apparatus, and program | |
| CN110914826A (en) | System and method for distributed data mapping | |
| US8140861B2 (en) | Method and system for content-based encrypted access to a database | |
| CN114253660B (en) | System and method for authorizing a user data processor to access a container of user data | |
| KR102211937B1 (en) | A System of the Role-based Data Protection by using of the Off-Chain Ledger on the Blockchain Network | |
| JP2005284703A (en) | Medical information distribution system, information access control method thereof, and computer program | |
| Voitovych et al. | Multilayer Access for Database Protection | |
| WO2015162688A1 (en) | Data processing system and data processing method | |
| Zhang et al. | Towards a secure distribute storage system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20111025 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20111025 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121002 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130917 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130919 |
|
| 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: 20131217 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131219 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5443236 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |