JP6592301B2 - Anonymization device, search device, method and program - Google Patents
Anonymization device, search device, method and program Download PDFInfo
- Publication number
- JP6592301B2 JP6592301B2 JP2015158205A JP2015158205A JP6592301B2 JP 6592301 B2 JP6592301 B2 JP 6592301B2 JP 2015158205 A JP2015158205 A JP 2015158205A JP 2015158205 A JP2015158205 A JP 2015158205A JP 6592301 B2 JP6592301 B2 JP 6592301B2
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- search
- data
- key
- encrypted
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、匿名化装置、検索装置、方法及びプログラムに関する。 The present invention relates to an anonymization device, a search device, a method, and a program.
近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスにおいては、情報を秘匿するため、暗号が利用される。例えば、次のような暗号方式を開示する文献が知られている。 In recent years, various services using computers have been provided. In many services, encryption is used to keep information secret. For example, documents that disclose the following encryption methods are known.
特許文献1の暗号方式は、Format Preserving Encryption(FPE)と呼ばれ、与えられた文字列の進数や文字列の長さ等の形式を維持したまま、ブロック暗号を実施する。
非特許文献1の暗号方式は、Attribute based Encryption(ABE)と呼ばれ、全体情報のうち、解読する人が所属するグループに従い、権限が与えられた情報のみを解読可能にする。
非特許文献2の暗号方式は、String Search Encryption(SSE)と呼ばれ、文字列をストリーム暗号によりビット単位で暗号化する。
The encryption method of Patent Document 1 is called Format Preserving Encryption (FPE), and implements block cipher while maintaining the format of a given character string, such as a decimal number and a character string length.
The encryption method of Non-Patent Document 1 is called Attribute based Encryption (ABE), and enables only the authorized information to be deciphered according to the group to which the deciphering person belongs among the entire information.
The encryption method of Non-Patent Document 2 is called String Search Encryption (SSE), and encrypts a character string bit by bit with stream encryption.
しかしながら、特許文献1の暗号方式は、復号が全情報に対して一括でのみ行えるものであり、部分的な復号を許容しない。このため、同一のデータが異なる事業者に提供された場合、すべての事業者が同一の内容を復号できてしまう。
非特許文献1の暗号方式は、開示する範囲に合わせ、開示するグループの数だけ多重に暗号化をするため、計算量が多く、復号に時間がかかる。
非特許文献2の暗号方式は、暗号化と復号のときにバイトごとにInitialization Vector(IV)と呼ばれる乱数を使用するので、データ利用者による暗号データの検索を許可するためにIVを固定して使用する必要がある場合には、第三者にIV及び鍵を特定されやすくなる。
However, the encryption method of Patent Document 1 can perform decryption only for all information at once, and does not allow partial decryption. For this reason, when the same data is provided to different businesses, all businesses can decrypt the same content.
Since the encryption method of Non-Patent Document 1 performs multiple encryptions according to the number of groups to be disclosed in accordance with the disclosed range, it requires a large amount of calculation and takes time to decrypt.
Since the encryption method of Non-Patent Document 2 uses a random number called Initialization Vector (IV) for each byte at the time of encryption and decryption, IV is fixed to permit retrieval of encrypted data by a data user. When it is necessary to use it, it becomes easy for a third party to specify the IV and the key.
本発明は、データに含まれる、個人に直接紐づくIDを秘匿しつつも、データ利用者ごとにIDの異なる区間の検索を可能とする匿名化装置、方法及びプログラムを提供することを目的とする。 An object of the present invention is to provide an anonymization device, a method, and a program that enable a search for a section with a different ID for each data user while concealing an ID included in data directly associated with an individual. To do.
具体的には、以下のような解決手段を提供する。
(1) データを匿名化する匿名化装置であって、前記データを複数の区間に分割する分割手段と、前記複数の区間を、それぞれ互いに異なる暗号鍵を用いて暗号化して、暗号化検索キーを生成する第1暗号化手段と、を備える匿名化装置。
Specifically, the following solutions are provided.
(1) An anonymizing device for anonymizing data, wherein the data is divided into a plurality of sections, and the plurality of sections are encrypted using mutually different encryption keys, and an encrypted search key An anonymizing device comprising: first encryption means for generating
(1)の匿名化装置は、IDの区間を、互いに異なる暗号鍵を用いて、暗号化検索キーに置換する。
暗号鍵のいずれかを提供されたデータ利用者は、検索キーを暗号鍵で暗号化することによりIDが秘匿された状態のままIDの特定の区間を検索できる。
したがって、匿名化装置は、データに含まれる、個人に直接紐づくIDを秘匿しつつも、データ利用者ごとにIDの異なる区間の検索を可能とする。
The anonymization device (1) replaces the ID section with an encrypted search key using different encryption keys.
A data user provided with one of the encryption keys can search for a specific section of the ID while the ID is kept secret by encrypting the search key with the encryption key.
Therefore, the anonymization device makes it possible to search for a section having a different ID for each data user, while concealing the ID directly included in the data and directly associated with the individual.
(2) 前記区間を階層化した索引を作成する索引作成手段をさらに備え、前記第1暗号化手段は、前記区間に対応する、前記索引の階層のノードを、前記暗号化検索キーに置換する、(1)に記載の匿名化装置。 (2) Further comprising index creating means for creating an index in which the section is hierarchized, wherein the first encryption means replaces a node in the index hierarchy corresponding to the section with the encrypted search key. The anonymization device according to (1).
(2)の匿名化装置は、IDの区間を階層化した索引を作成するので、区間の組を高速に検索できる。 Since the anonymization device (2) creates an index in which ID sections are hierarchized, it is possible to search a set of sections at high speed.
(3) 前記第1暗号化手段は、前記データが提供されるデータ利用者ごとに異なる暗号鍵を用いて暗号化する、(1)又は(2)に記載の匿名化装置。 (3) The anonymization device according to (1) or (2), wherein the first encryption unit encrypts data using a different encryption key for each data user to whom the data is provided.
(3)の匿名化装置は、たとえ同一区間の検索が許可されるデータ利用者であっても異なる暗号鍵を用いるのでデータ利用者に提供した暗号化したIDを含むデータは、別のデータ利用者の暗号鍵によって、検索されない。 Since the anonymization device of (3) uses a different encryption key even if it is a data user permitted to search in the same section, the data including the encrypted ID provided to the data user uses another data Is not searched by the encryption key of the user.
(4) 前記第1暗号化手段は、不可逆の暗号化を行う、(1)から(3)のいずれか一に記載の匿名化装置。 (4) The anonymization device according to any one of (1) to (3), wherein the first encryption unit performs irreversible encryption.
(4)の匿名化装置は、復号できない暗号化を行うので、秘匿性が高まる。 Since the anonymization device (4) performs encryption that cannot be decrypted, confidentiality is improved.
(5) (1)から(4)のいずれか一に記載の匿名化装置により匿名化されたデータを検索する検索装置であって、前記複数の区間の少なくともいずれかを検索するために検索キーの入力を受け付ける入力手段と、前記検索キーを、対応する区間の暗号鍵で暗号化し、前記暗号化検索キーを生成する第2暗号化手段と、前記暗号化検索キーにより、前記データを検索する検索手段と、を備える検索装置。 (5) A search device for searching for anonymized data by the anonymization device according to any one of (1) to (4), wherein a search key is used to search for at least one of the plurality of sections. The data is searched by the input means for receiving the input, the second encryption means for encrypting the search key with the encryption key of the corresponding section, and generating the encrypted search key, and the encrypted search key. And a search means.
(5)の検索装置は、受け付けた検索キーを暗号鍵で暗号化することにより、IDが秘匿された状態のままIDの特定の区間を検索できる。 The search device of (5) can search for a specific section of the ID while the ID is kept secret by encrypting the received search key with the encryption key.
(6) (1)に記載の匿名化装置が実行する方法であって、前記分割手段が、前記データを複数の区間に分割する分割ステップと、前記第1暗号化手段が、前記複数の区間を、それぞれ互いに異なる暗号鍵を用いて暗号化し、暗号化検索キーを生成する第1暗号化ステップと、を備える方法。 (6) A method executed by the anonymization device according to (1), wherein the dividing unit divides the data into a plurality of sections, and the first encryption unit includes the plurality of sections. And a first encryption step of generating an encrypted search key by encrypting each using different encryption keys.
(6)の方法は、(1)と同様に、データに含まれる、個人に直接紐づくIDを秘匿しつつも、データ利用者ごとにIDの異なる区間の検索を可能とする。 Similar to (1), the method (6) enables to search for sections with different IDs for each data user, while concealing IDs directly associated with individuals included in the data.
(7) コンピュータに、(6)に記載の各ステップを実行させるためのプログラム。 (7) A program for causing a computer to execute each step described in (6).
(7)のプログラムは、データに含まれる、個人に直接紐づくIDを秘匿しつつも、データ利用者ごとにIDの異なる区間の検索を可能とするように、コンピュータに機能させることができる。 The program of (7) allows the computer to function so as to enable searching for sections with different IDs for each data user, while concealing IDs included in the data and directly linked to individuals.
本発明によれば、データに含まれる、個人に直接紐づくIDを秘匿しつつも、データ利用者ごとにIDの異なる区間の検索を可能とすることができる。 According to the present invention, it is possible to search for a section having a different ID for each data user, while concealing the ID directly included in the data and directly associated with the individual.
以下、本発明の実施形態について、図を参照しながら説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[匿名化装置]
図1は、本発明の一実施形態に係る匿名化装置10の構成を示すブロック図である。
匿名化装置10は、分割手段11と、索引作成手段12と、第1暗号化手段13とを備え、データを匿名化する。
データは、例えば、車両や携帯機器から収集された、GPS(Global Positioning System)で測位された緯度経度を含む移動データや、ウェブでの購買履歴データ等であってよい。
個人から収集されるこのようなデータは、車両識別番号やクレジットカードの番号等の、個人を特定するIDを含む。
IDは、任意の階層構造を有してよい。例えば、車両識別番号は、車種や世代、製造番号等から構成され、クレジットカード番号は、先頭4桁に発行会社の情報が含まれている。
[Anonymization device]
FIG. 1 is a block diagram showing a configuration of an
The
The data may be, for example, movement data including latitude and longitude measured by GPS (Global Positioning System) collected from vehicles and portable devices, purchase history data on the web, and the like.
Such data collected from an individual includes an ID that identifies the individual, such as a vehicle identification number or a credit card number.
The ID may have an arbitrary hierarchical structure. For example, the vehicle identification number is composed of a vehicle type, generation, manufacturing number, and the like, and the credit card number includes information on the issuing company in the first four digits.
分割手段11は、データに含まれるIDをIDの階層構造に基づいて、複数の区間に分割する。例えば、車両識別番号は、検索キーとなりうる車種、世代、製造番号等の区間に分割される。
The dividing
第1暗号化手段13は、複数の区間を、それぞれ互いに異なる暗号鍵を用いて暗号化して、暗号化検索キーに置換する。
The
具体的には、IDが区間Aと、区間Bとから構成される場合、分割手段11は、IDを、区間Aと区間Bとに分割し、第1暗号化手段13は、区間Aに暗号鍵KAを用いて暗号化検索キーEKAを生成し、区間Bに、暗号鍵KAと異なる暗号鍵KBを用いて暗号化検索キーEKBを生成する。第1暗号化手段13は、暗号鍵と区間とを対応付けるとしてよい。
第1暗号化手段13は、データが提供されるデータ利用者ごとに異なる暗号鍵を用いて暗号化する。例えば上述の場合、第1暗号化手段13は、データ利用者U1に提供するデータに対して、暗号鍵KA1と暗号鍵KB1とを用い、データ利用者U2に提供するデータに対して、暗号鍵KA2と暗号鍵KB2とを用いる。
Specifically, when the ID is composed of the section A and the section B, the dividing
The
暗号方式は、一般的なものであってよく、例えば、64bitのものであればRC(Rivest Cipher)5、128bitのものであればAES(Advanced Encryption Standard)等であってよい。第1暗号化手段13は、ブロック暗号に基づく、区間ごとに異なる暗号鍵による暗号を連鎖的に施す。
暗号方式は、不可逆暗号でもよい。第1暗号化手段13は、複数の区間に対し、それぞれ互いに異なる鍵を用いた鍵つきハッシュ関数(Keyed hash function)により、ハッシュ値を生成してもよい。
The encryption method may be a general one, for example, RC (Rivest Cipher) 5 if 64 bits, and AES (Advanced Encryption Standard) if 128 bits. The 1st encryption means 13 performs the encryption by a different encryption key for every area based on block cipher.
The encryption method may be irreversible encryption. The
索引作成手段12は、分割手段11によって分割された区間を階層化した索引を作成する。具体的には、索引作成手段12は、IDの階層構造に基づいて、トライ木100(図2参照)を作成する。第1暗号化手段13は、複数の区間に対応する、トライ木100の階層のノードを、暗号化検索キーに置換する。
The index creating means 12 creates an index in which the sections divided by the dividing means 11 are hierarchized. Specifically, the index creating means 12 creates the trie tree 100 (see FIG. 2) based on the hierarchical structure of the ID. The
図2は、本発明の一実施形態に係る匿名化装置10によって作成される索引の例を示す図である。図2が示す例は、大量のデータに対しても高速に検索可能とするために、トライ木100で索引を作成する例である。この例では、与えられたIDは文字単位に分割され、文字単位の索引が構築される。図2において、最上位ノードであるルートノード101の○は空の文字列を表し、「§」はリーフノードを表す。
FIG. 2 is a diagram illustrating an example of an index created by the
IDとして、「APPLE」、「APRON」、「BAT」、「BAG」、「BIG」の5つが与えられたとする。図2に示すように、匿名化装置10は、「APPLE」を「A」と、「P」と、「P」と、「L」と、「E」とに分割し、「APRON」を「A」と、「P」と、「R」と、「O」と、「N」とに、他のIDもそれぞれ同様に文字単位に分割する。この例の場合、文字列の始まりは、「A」か「B」のいずれかであるため、索引のルートノード101の直下の階層HAに「A」と「B」とがノードとして登録される。
Assume that five IDs “APPLE”, “APRON”, “BAT”, “BAG”, and “BIG” are given as IDs. As shown in FIG. 2, the
次に、IDの2文字目は、1文字目が「A」の場合は「P」のみ、「B」の場合は「A」か「I」のいずれかであるため、匿名化装置10は、「A」の下には「P」、「B」の下には「A」及び「I」を、次のノードとして階層HBに登録する。以降、匿名化装置10は、IDそれぞれの全文字を処理し終えるまで下位階層(階層HC、階層HD、階層HE・・・)へのノードの登録を繰り返す。
なお、この処理方法では、文字列が長い場合にその長さ分だけの階層の木ができてしまい、処理上の効率が悪くなる。そこで、匿名化装置10は、例えば、図2の例で「PLE」や「RON」等のように、他の分岐が存在しない箇所についてはまとめて1つのノードとしてもよい。すなわち、匿名化装置10は、A−>P−>P−>L−>Eというノードの階層を、A−>P−>PLEというノードの階層にしてもよい。
Next, since the second character of the ID is only “P” when the first character is “A”, and “A” or “I” when the first character is “B”, the
In this processing method, when the character string is long, a tree having a length corresponding to the length of the character string is formed, and processing efficiency is deteriorated. Therefore, for example, the
最後に、匿名化装置10は、同一の階層にあるノードを同一の区間とみなして、各階層と各区間とを対応させる。すなわち、匿名化装置10は、ルートノード101の直下の「A」及び「B」を含む階層HAを区間Aに対応させ、次の「P」、「A」及び「I」を含む階層HBを区間Bに対応させる。同様にして、匿名化装置10は、次の階層HCを区間Cと対応させ、次の階層HDを区間Dと対応させ、次の階層HEを区間Eと対応させて、階層HAから階層HEを区間Aから区間Eと対応させる。匿名化装置10は、このようなトライ木100を作成する。
Finally, the
匿名化装置10は、階層HAから階層HEのそれぞれのノードを、階層ごとに異なる暗号鍵を用いて暗号化する。すなわち、匿名化装置10は、階層HAに対しては暗号鍵KAで暗号化することで暗号化検索キーEA1、EB1を生成し、階層HBに対しては暗号鍵KBで暗号化することで暗号化検索キーEP2、EA2、EI2を生成して、各ノードの値を置換する。
The
このとき、暗号化検索キーEA1の1や暗号化検索キーEP2の2は、IDが階層構造になっているため、最上位の階層から何番目の階層であるかを表す。匿名化装置10は、暗号化に用いた暗号鍵を、階層の順序のとおりに記録保存する。
At this time, 1 of the encrypted search key EA1 and 2 of the encrypted search key EP2 represent the number of hierarchies from the highest hierarchy because the ID has a hierarchical structure. The
匿名化装置10は、複数のデータ利用者に同じデータを渡す場合に、異なる暗号鍵で同じデータを暗号化する。すなわち、匿名化装置10は、図2の例において同じデータを2人のデータ利用者へ提供する場合に、5つの暗号鍵の列を2つ、計10個の暗号鍵を用いて暗号化する。
The
暗号化の後に、暗号化されたIDを含むデータは、データ利用者へ提供される。このとき、匿名化装置10は、データ利用者がデータに含まれるIDの全区間を検索できるようにさせる場合、全区間の暗号鍵を提供し、IDの一部のみの区間を検索できるようにする場合、一部の区間に該当する暗号鍵のみを提供する。例えば、図2の例では|A|B|C|D|E|という区切りに対し、匿名化装置10は、全区切りを検索させる場合に暗号鍵KA〜暗号鍵KEを提供し、A、B、Cの区間のみの検索を許可したい場合に暗号鍵KA、暗号鍵KB及び暗号鍵KCを提供する。
匿名化装置10は、このように、暗号鍵の提供を制限することにより、データ利用者の検索が可能な範囲を制限する。
After encryption, the data including the encrypted ID is provided to the data user. At this time, when the
As described above, the
図3は、本発明の一実施形態に係る匿名化装置10の暗号化処理の例を示すフローチャートである。匿名化装置10は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、制御部(例えば、CPU)が、OSの下で所定のソフトウェアに従い実行する処理である。
FIG. 3 is a flowchart showing an example of the encryption process of the
ステップS101において、CPU(分割手段11)は、個人を特定するIDを含むデータを取得する。 In step S101, the CPU (dividing unit 11) acquires data including an ID for identifying an individual.
ステップS102において、CPU(分割手段11)は、データに含まれるIDを階層構造に基づいて、区間1から区間nのn箇所に分割する。 In step S102, the CPU (dividing unit 11) divides the ID included in the data into n locations from section 1 to section n based on the hierarchical structure.
ステップS103において、CPU(索引作成手段12)は、ステップS102において分割した区間1から区間nに対応する階層1から階層nのトライ木100を生成する。
In step S103, the CPU (index creation means 12) generates a
ステップS104において、CPU(第1暗号化手段13)は、ステップS103において生成したトライ木100の各階層のノードを、n個の暗号鍵で暗号化して、暗号化検索キーに置換する。より具体的には、CPUは、それぞれ互いに異なる暗号鍵1から暗号鍵nを、対応する階層1から階層nに用いて、トライ木100の各階層のノードを暗号化し、暗号化検索キーをノードとするトライ木100を生成する。その後、CPUは、処理を終了する。
In step S104, the CPU (first encryption unit 13) encrypts the nodes in each hierarchy of the
[検索装置]
匿名化装置10によって匿名化されたデータが提供される検索装置20について説明する。
[Search device]
The
図4は、本発明の一実施形態に係る検索装置20の構成を示すブロック図である。
検索装置20は、入力手段21と、第2暗号化手段22と、検索手段23とを備え、匿名化装置10により匿名化されたデータを検索する。
FIG. 4 is a block diagram showing the configuration of the
The
入力手段21は、複数の区間の少なくともいずれかを検索するために検索キーの入力を受け付ける。具体的には、入力手段21は、IDを構成する複数の区間のそれぞれと対応する文字列を、検索キーとして受け付ける。
The input means 21 receives an input of a search key to search for at least one of a plurality of sections. Specifically, the
第2暗号化手段22は、検索キーを、対応する区間の暗号鍵で暗号化し、暗号化検索キーを生成する。具体的には、第2暗号化手段22は、匿名化装置10から提供された暗号鍵であって、入力手段21によって受け付けられた検索キーに対応する区間に用いられた暗号鍵により、検索キーを暗号化し、暗号化検索キーを生成する。
The
検索手段23は、暗号化検索キーにより、データを検索する。具体的には、検索手段23は、第2暗号化手段22によって生成された暗号化検索キーにより、提供されたデータに含まれる暗号化されたIDを構成する区間のうち、暗号鍵に対応する区間を、検索する。
検索手段23は、IDを構成する区間の最初の区間から検索しないで、検索キーに対応する区間のみを検索してもよい。
検索手段23は、匿名化装置10によって作成された、階層化した索引(例えば、トライ木100)により検索してよい。匿名化装置10は、トライ木100により検索する場合、IDの区間に対応する階層を検索する。
The search means 23 searches for data using the encrypted search key. Specifically, the
The search means 23 may search only the section corresponding to the search key without searching from the first section of the sections constituting the ID.
The
例えば、図2の例において、検索装置20は、クエリとして「BAG」という検索キーを受け付け、提供されている暗号鍵のうち階層に対応する暗号鍵で順に暗号化する。
すなわち、検索装置20は、「B」を暗号鍵KA、「A」を暗号鍵KB、「G」を暗号鍵KCによって暗号化し、暗号化検索キーにより、匿名化装置10によって作成されたトライ木100(図2参照)の検索を行う。
次に、検索装置20は、階層HAでは「B」、階層HBでは「A」、階層HCでは「G」と合致することを検出し、検索した結果をデータ利用者に返す。検索装置20は、有るか否か(Boolean)を検索する場合は真(TRUE)/偽(FALSE)を返し、件数の場合は該当する箇所の件数を返す。
For example, in the example of FIG. 2, the
That is, the
Next, the
図5は、本発明の一実施形態に係る検索装置20の検索処理の例を示すフローチャートである。検索装置20は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、制御部(例えば、CPU)が、OSの下で所定のソフトウェアに従い実行する処理である。
FIG. 5 is a flowchart showing an example of search processing of the
ステップS201において、CPU(入力手段21)は、検索キーを受け付ける。より具体的には、CPUは、IDを構成する複数の区間のそれぞれと対応する文字列を、検索キーとして受け付ける。 In step S201, the CPU (input means 21) accepts a search key. More specifically, the CPU accepts a character string corresponding to each of a plurality of sections constituting the ID as a search key.
ステップS202において、CPU(第2暗号化手段22)は、ステップS201において受け付けた検索キーを、暗号鍵で暗号化し、暗号化検索キーを生成する。より具体的には、CPUは、検索キーを、提供された暗号鍵であって検索キーに対応する区間に用いられた暗号鍵により、暗号化する。 In step S202, the CPU (second encryption unit 22) encrypts the search key received in step S201 with the encryption key to generate an encrypted search key. More specifically, the CPU encrypts the search key with the provided encryption key and the encryption key used for the section corresponding to the search key.
ステップS203において、CPU(検索手段23)は、ステップS202において生成された暗号化検索キーにより、トライ木100を検索する。より具体的には、CPUは、生成された暗号化検索キーにより、暗号化されたIDを構成する区間に対応する階層を、検索する。
In step S203, the CPU (search means 23) searches the
ステップS204において、CPU(検索手段23)は、検索できたか否かを判断する。この判断がYESの場合、CPUは、処理をステップS205に移し、この判断がNOの場合、CPUは、処理をステップS206に移す。 In step S204, the CPU (search means 23) determines whether or not the search has been completed. If this determination is YES, the CPU moves the process to step S205, and if this determination is NO, the CPU moves the process to step S206.
ステップS205において、CPU(検索手段23)は、検索できたことを示す真(TRUE)を出力する。その後、CPUは、処理を終了する。 In step S205, the CPU (search means 23) outputs true (TRUE) indicating that the search was successful. Thereafter, the CPU ends the process.
ステップS206において、CPU(検索手段23)は、検索できなかったことを示す偽(FALSE)を出力する。その後、CPUは、処理を終了する。 In step S206, the CPU (search means 23) outputs false (FALSE) indicating that the search could not be performed. Thereafter, the CPU ends the process.
本実施形態によれば、匿名化装置10は、IDの区間を、互いに異なる暗号鍵を用いて、暗号化検索キーに置換する。暗号鍵のいずれかを提供されたデータ利用者は、検索キーを暗号鍵で暗号化することによりIDが秘匿された状態のままIDの特定の区間を検索できる。したがって、匿名化装置10は、データに含まれる、個人に直接紐づくIDを秘匿しつつも、データ利用者ごとにIDの異なる区間の検索を可能とする。
さらに、匿名化装置10は、IDの区間を階層化した索引を作成するので、区間の組を高速に検索できる。
さらに、匿名化装置10は、たとえ同一区間の検索が許可されるデータ利用者であっても異なる暗号鍵を用いるのでデータ利用者に提供した暗号化したIDを含むデータは、別のデータ利用者の暗号鍵によって、検索されない。
さらに、匿名化装置10は、復号できない暗号化を行うので、秘匿性が高まる。
検索装置20は、受け付けた検索キーを暗号鍵で暗号化することにより、IDが秘匿された状態のままIDの特定の区間を検索できる。
According to the present embodiment, the
Furthermore, since the
Furthermore, since the
Furthermore, since the
The
さらに、匿名化装置10は、例えば、あるデータ利用者に対しては先頭の一定区間のみの暗号鍵を提供し、別のデータ利用者には全区間の検索を可能にするために全区間の暗号鍵を提供するようにして、データ利用者のアクセスをコントロールする。
また、検索装置20は、匿名化装置10によって作成されたトライ木100によって、検索したいIDの有無をO(l)で高速に検索できる(Oはランダウの記号、lは検索キーの文字列の長さ)。
Furthermore, the
Further, the
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。 As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. The effects described in the embodiments of the present invention are only the most preferable effects resulting from the present invention, and the effects of the present invention are limited to those described in the embodiments of the present invention. is not.
例えば、本実施形態において、IDとして車両識別番号やクレジットカードの番号としたが、これに限られない。例えば、購買履歴データ等のデータに、販売店コードと時刻とを含むような場合、販売店コードと時刻とを連結させてIDとみなしてもよい。匿名化装置10は、販売店コードと時刻とにより特定される個人を秘匿したまま、データ利用者による販売店の検索や、時刻の検索を可能とする。
For example, in the present embodiment, the vehicle identification number or credit card number is used as the ID, but the present invention is not limited to this. For example, when data such as purchase history data includes a store code and time, the store code and time may be concatenated and regarded as an ID. The
匿名化装置10による一連の処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。また、当該プログラムは、コンピュータ読み取り可能な記録媒体(例えば、CD−ROMのようなリムーバブルメディア等)に記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
A series of processing by the
10 匿名化装置
11 分割手段
12 索引作成手段
13 第1暗号化手段
20 検索装置
21 入力手段
22 第2暗号化手段
23 検索手段
DESCRIPTION OF
Claims (7)
前記データに含まれるIDを、当該IDを構成する階層構造に基づいて複数の区間に分割する分割手段と、
前記複数の区間を、それぞれ互いに異なる暗号鍵を用いて暗号化して、データ利用者が検索するための暗号化検索キーを生成する第1暗号化手段と、を備え、
データ利用者に対して、前記IDが複数の前記暗号化検索キーに置換されて秘匿化されたデータを、当該データ利用者ごとに許可された前記暗号化検索キーを生成するための前記暗号鍵の組み合わせと共に提供する匿名化装置。 An anonymization device that anonymizes data by encryption ,
Dividing means for dividing an ID included in the data into a plurality of sections based on a hierarchical structure constituting the ID ;
First encryption means for encrypting the plurality of sections using mutually different encryption keys and generating an encrypted search key for a data user to search ,
The encryption key for generating the encrypted search key that is permitted for each data user from the data user, wherein the ID is replaced with a plurality of the encrypted search keys to conceal the data. anonymizing device that provides with a combination of.
前記第1暗号化手段は、前記区間に対応する、前記索引の階層のノードを、前記暗号化検索キーに置換する、
請求項1に記載の匿名化装置。 Index creation means for creating an index in which the section is hierarchized based on the hierarchical structure ;
The first encryption means replaces a node of the index hierarchy corresponding to the section with the encrypted search key;
The anonymization device according to claim 1.
請求項1又は2に記載の匿名化装置。 The first encryption means encrypts using a different encryption key for each data user to whom the data is provided.
The anonymization apparatus of Claim 1 or 2.
前記複数の区間の少なくともいずれかを検索するために検索キーの入力を受け付ける入力手段と、
前記検索キーを、対応する区間の暗号鍵で暗号化し、前記暗号化検索キーを生成する第2暗号化手段と、
前記暗号化検索キーにより、前記データを検索する検索手段と、
を備える検索装置。 A search device that searches for anonymized data by the anonymization device according to any one of claims 1 to 4,
Input means for receiving an input of a search key to search for at least one of the plurality of sections;
A second encryption means for encrypting the search key with an encryption key of a corresponding section and generating the encrypted search key;
Search means for searching for the data by the encrypted search key;
A search device comprising:
前記分割手段が、前記データに含まれるIDを、当該IDを構成する階層構造に基づいて複数の区間に分割する分割ステップと、
前記第1暗号化手段が、前記複数の区間を、それぞれ互いに異なる暗号鍵を用いて暗号化して、データ利用者が検索するための暗号化検索キーを生成する第1暗号化ステップと、
を備え、
データ利用者に対して、前記IDが複数の前記暗号化検索キーに置換されて秘匿化されたデータを、当該データ利用者ごとに許可された前記暗号化検索キーを生成するための前記暗号鍵の組み合わせと共に提供する方法。 A method executed by the anonymization device according to claim 1,
A dividing step in which the dividing unit divides an ID included in the data into a plurality of sections based on a hierarchical structure constituting the ID ;
A first encryption step in which the first encryption means encrypts the plurality of sections using mutually different encryption keys to generate an encrypted search key for a data user to search ;
Equipped with a,
The encryption key for generating the encrypted search key that is permitted for each data user from the data user, wherein the ID is replaced with a plurality of the encrypted search keys to conceal the data. how to provide along with the combination of.
The program for making a computer perform each step of Claim 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015158205A JP6592301B2 (en) | 2015-08-10 | 2015-08-10 | Anonymization device, search device, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015158205A JP6592301B2 (en) | 2015-08-10 | 2015-08-10 | Anonymization device, search device, method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017037180A JP2017037180A (en) | 2017-02-16 |
JP6592301B2 true JP6592301B2 (en) | 2019-10-16 |
Family
ID=58049549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015158205A Expired - Fee Related JP6592301B2 (en) | 2015-08-10 | 2015-08-10 | Anonymization device, search device, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6592301B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112042150B (en) | 2018-05-08 | 2024-02-23 | 三菱电机株式会社 | Registration device, server device, concealment search system, concealment search method, and computer-readable recording medium |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3843405B2 (en) * | 1998-03-19 | 2006-11-08 | 株式会社日立情報システムズ | Personal information recording method, personal information recording system and recording medium |
JP3921892B2 (en) * | 1999-09-30 | 2007-05-30 | カシオ計算機株式会社 | Database management apparatus, database system, and recording medium |
JP2002108910A (en) * | 2000-09-27 | 2002-04-12 | Nec Soft Ltd | Enciphered filing system, enciphered file retrieving method and computer readable recording medium |
JP2007094539A (en) * | 2005-09-27 | 2007-04-12 | Mitsubishi Electric Corp | Information processor, information processing method, and information storage medium used therefor |
JP2007317075A (en) * | 2006-05-29 | 2007-12-06 | Hitachi Ltd | Apparatus and method for dividing personal information |
CN101593196B (en) * | 2008-05-30 | 2013-09-25 | 日电(中国)有限公司 | Method, device and system for rapidly searching ciphertext |
KR101989813B1 (en) * | 2012-06-29 | 2019-06-18 | 펜타시큐리티시스템 주식회사 | Generating and verifying the alternative data in a specified format |
-
2015
- 2015-08-10 JP JP2015158205A patent/JP6592301B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2017037180A (en) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mehmood et al. | Protection of big data privacy | |
JP6180177B2 (en) | Encrypted data inquiry method and system capable of protecting privacy | |
US9275250B2 (en) | Searchable encryption processing system | |
US8204213B2 (en) | System and method for performing a similarity measure of anonymized data | |
CN102891876B (en) | Distributed data encryption method and system under cloud computing environment | |
US10037433B2 (en) | Secure text retrieval | |
WO2022202284A1 (en) | Data sharing system, data sharing method, and data sharing program | |
JP6961324B2 (en) | Searchable cryptographic processing system | |
Rane et al. | Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data | |
CN110263570B (en) | Gene data desensitization method for realizing efficient similarity query and access control | |
WO2014141802A1 (en) | Information processing device, information processing system, information processing method, and program | |
Li et al. | CDPS: A cryptographic data publishing system | |
JP6592301B2 (en) | Anonymization device, search device, method and program | |
Yao et al. | Efficient and privacy-preserving search in multi-source personal health record clouds | |
US11157631B1 (en) | System and method for securely indexing, storing, and retrieving data within a computer network | |
JP2014528680A (en) | Method, system and apparatus for digital content transmission | |
Umapathy et al. | A novel symmetric cryptographic method to design block complexity for data security | |
JP2012247882A (en) | Matching system for information | |
Kumar et al. | Secure query processing over encrypted database through cryptdb | |
JP2006004301A (en) | Method of managing data, and information processing device | |
Lv et al. | RASK: Range spatial keyword queries on massive encrypted geo-textual data | |
JP7384740B2 (en) | Search system, search device, and search method | |
Souror et al. | Secure query processing for smart grid data using searchable symmetric encryption | |
Zhao et al. | [Retracted] A New Attribute Encryption Anonymity Algorithm in Cloud Computing Environment | |
Sharmila Begum et al. | Data analytic techniques with hardware-based encryption for high-profile dataset |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190328 |
|
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: 20190903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6592301 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |