JP6592301B2 - Anonymization device, search device, method and program - Google Patents

Anonymization device, search device, method and program Download PDF

Info

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
Application number
JP2015158205A
Other languages
Japanese (ja)
Other versions
JP2017037180A (en
Inventor
バス オニバン
バス オニバン
清本 晋作
晋作 清本
渡辺 龍
龍 渡辺
正 柳原
正 柳原
毅 遠山
毅 遠山
隆文 西山
隆文 西山
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.)
KDDI Corp
Toyota Motor Corp
Original Assignee
KDDI Corp
Toyota Motor Corp
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 KDDI Corp, Toyota Motor Corp filed Critical KDDI Corp
Priority to JP2015158205A priority Critical patent/JP6592301B2/en
Publication of JP2017037180A publication Critical patent/JP2017037180A/en
Application granted granted Critical
Publication of JP6592301B2 publication Critical patent/JP6592301B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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.

米国特許第7864952号明細書US Pat. No. 7,864,952

Goyal,Vipul,et al.“Attribute−based encryption for fine−grained access control of encrypted data.” Proceedings of the 13th ACM conference on Computer and communications security. ACM,2006.Goyal, Vipul, et al. “Attributes-based encryption for fine-grained access control of encrypted data.” Proceedings of the 13th ACM conference on commuter and commuter. ACM, 2006. D.X.Song,D.Wagner,A.Perrig. “Practical Techniques for Searches on Encrypted Data” Security and Privacy,IEEE,2000.D. X. Song, D.C. Wagner, A.M. Perrig. “Practical Techniques for Searches on Encrypted Data” Security and Privacy, IEEE, 2000.

しかしながら、特許文献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.

本発明の一実施形態に係る匿名化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the anonymization apparatus which concerns on one Embodiment of this invention. 本発明の一実施形態に係る匿名化装置によって作成される索引の例を示す図である。It is a figure which shows the example of the index produced by the anonymization apparatus which concerns on one Embodiment of this invention. 本発明の一実施形態に係る匿名化装置の暗号化処理の例を示すフローチャートである。It is a flowchart which shows the example of the encryption process of the anonymization apparatus which concerns on one Embodiment of this invention. 本発明の一実施形態に係る検索装置の構成を示すブロック図である。It is a block diagram which shows the structure of the search device which concerns on one Embodiment of this invention. 本発明の一実施形態に係る検索装置の検索処理の例を示すフローチャートである。It is a flowchart which shows the example of the search process of the search device which concerns on one Embodiment of this invention.

以下、本発明の実施形態について、図を参照しながら説明する。   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 anonymization device 10 according to an embodiment of the present invention.
The anonymization device 10 includes a dividing unit 11, an index creating unit 12, and a first encryption unit 13, and anonymizes data.
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 unit 11 divides the ID included in the data into a plurality of sections based on the hierarchical structure of the ID. For example, the vehicle identification number is divided into sections such as a vehicle type, a generation, and a manufacturing number that can serve as a search key.

第1暗号化手段13は、複数の区間を、それぞれ互いに異なる暗号鍵を用いて暗号化して、暗号化検索キーに置換する。   The first encryption unit 13 encrypts the plurality of sections using mutually different encryption keys, and replaces the sections with encrypted search keys.

具体的には、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 unit 11 divides the ID into the section A and the section B, and the first encryption unit 13 encrypts the section A. An encrypted search key EKA is generated using the key KA, and an encrypted search key EKB is generated in the section B using an encryption key KB different from the encryption key KA. The first encryption unit 13 may associate the encryption key with the section.
The first encryption unit 13 encrypts data using a different encryption key for each data user to whom data is provided. For example, in the above case, the first encryption unit 13 uses the encryption key KA1 and the encryption key KB1 for the data provided to the data user U1, and uses the encryption key KA1 and the encryption key KB1 for the data provided to the data user U2. KA2 and encryption key KB2 are used.

暗号方式は、一般的なものであってよく、例えば、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 first encryption unit 13 may generate a hash value for a plurality of sections by a keyed hash function using different keys.

索引作成手段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 first encryption unit 13 replaces nodes in the hierarchy of the trie tree 100 corresponding to a plurality of sections with the encrypted search key.

図2は、本発明の一実施形態に係る匿名化装置10によって作成される索引の例を示す図である。図2が示す例は、大量のデータに対しても高速に検索可能とするために、トライ木100で索引を作成する例である。この例では、与えられたIDは文字単位に分割され、文字単位の索引が構築される。図2において、最上位ノードであるルートノード101の○は空の文字列を表し、「§」はリーフノードを表す。   FIG. 2 is a diagram illustrating an example of an index created by the anonymization device 10 according to an embodiment of the present invention. The example shown in FIG. 2 is an example in which an index is created by the trie tree 100 so that a large amount of data can be searched at high speed. In this example, the given ID is divided into character units, and a character unit index is constructed. In FIG. 2, “o” of the root node 101 which is the highest node represents an empty character string, and “§” represents a leaf node.

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 anonymization device 10 divides “APPLE” into “A”, “P”, “P”, “L”, and “E”, and sets “APRON” as “ Similarly, the other IDs are divided into character units for “A”, “P”, “R”, “O”, and “N”. In this example, since the start of the character string is either “A” or “B”, “A” and “B” are registered as nodes in the hierarchy HA immediately below the root node 101 of the index. .

次に、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 anonymization device 10 , “P” under “A”, “A” and “I” under “B” are registered in the hierarchy HB as the next nodes. Thereafter, the anonymization device 10 repeats the registration of the node in the lower hierarchy (hierarchy HC, hierarchy HD, hierarchy HE,...) Until all characters of the ID are processed.
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 anonymization device 10 may be a single node for portions where no other branch exists, such as “PLE” and “RON” in the example of FIG. That is, the anonymization device 10 may change the node hierarchy of A->P->P->L-> E to the node hierarchy of A->P-> PLE.

最後に、匿名化装置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 anonymization device 10 regards nodes in the same hierarchy as the same section, and associates each hierarchy with each section. That is, the anonymization device 10 associates the hierarchy HA including “A” and “B” immediately below the root node 101 with the section A, and adds the next hierarchy HB including “P”, “A”, and “I”. Correspond to section B. Similarly, the anonymization apparatus 10 associates the next hierarchy HC with the section C, associates the next hierarchy HD with the section D, associates the next hierarchy HE with the section E, and converts the hierarchy HE from the hierarchy HA to the hierarchy HE. Correspond to section A to section E. The anonymization device 10 creates such a trie tree 100.

匿名化装置10は、階層HAから階層HEのそれぞれのノードを、階層ごとに異なる暗号鍵を用いて暗号化する。すなわち、匿名化装置10は、階層HAに対しては暗号鍵KAで暗号化することで暗号化検索キーEA1、EB1を生成し、階層HBに対しては暗号鍵KBで暗号化することで暗号化検索キーEP2、EA2、EI2を生成して、各ノードの値を置換する。   The anonymization device 10 encrypts each node from the hierarchy HA to the hierarchy HE using a different encryption key for each hierarchy. That is, the anonymization device 10 generates encrypted search keys EA1 and EB1 by encrypting the layer HA with the encryption key KA, and encrypts the layer HB by encrypting with the encryption key KB. Generated search keys EP2, EA2, and EI2 and replace the value of each node.

このとき、暗号化検索キー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 anonymization device 10 records and stores the encryption keys used for encryption in the hierarchical order.

匿名化装置10は、複数のデータ利用者に同じデータを渡す場合に、異なる暗号鍵で同じデータを暗号化する。すなわち、匿名化装置10は、図2の例において同じデータを2人のデータ利用者へ提供する場合に、5つの暗号鍵の列を2つ、計10個の暗号鍵を用いて暗号化する。   The anonymization device 10 encrypts the same data with different encryption keys when passing the same data to a plurality of data users. That is, when the anonymization device 10 provides the same data to two data users in the example of FIG. 2, the anonymization device 10 encrypts two columns of five encryption keys using a total of ten encryption keys. .

暗号化の後に、暗号化された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 anonymization device 10 allows the data user to search the entire section of the ID included in the data, the anonymization device 10 provides the encryption key of the entire section so that only a part of the ID can be searched. In such a case, only the encryption keys corresponding to some sections are provided. For example, in the example of FIG. 2, the anonymization device 10 provides the encryption key KA to the encryption key KE when searching for all the delimiters for the delimiter | A | B | C | D | E | , The encryption key KA, the encryption key KB, and the encryption key KC are provided when it is desired to permit the search only in the section C.
As described above, the anonymization device 10 limits the range in which the data user can be searched by limiting the provision of the encryption key.

図3は、本発明の一実施形態に係る匿名化装置10の暗号化処理の例を示すフローチャートである。匿名化装置10は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、制御部(例えば、CPU)が、OSの下で所定のソフトウェアに従い実行する処理である。   FIG. 3 is a flowchart showing an example of the encryption process of the anonymization device 10 according to an embodiment of the present invention. The anonymization device 10 includes hardware included in a computer and its peripheral devices, and software that controls the hardware. The following processing is executed by the control unit (for example, CPU) according to predetermined software under the OS. It is processing to do.

ステップ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 trie tree 100 from hierarchy 1 to hierarchy n corresponding to the sections 1 to n divided in step S102.

ステップ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 trie tree 100 generated in step S103 with n encryption keys and replaces the encrypted search key with the encryption search key. More specifically, the CPU encrypts the nodes of each hierarchy of the trie tree 100 using the encryption keys 1 to n different from each other and the corresponding hierarchy 1 to hierarchy n, and uses the encrypted search key as the node. A trie tree 100 is generated. Thereafter, the CPU ends the process.

[検索装置]
匿名化装置10によって匿名化されたデータが提供される検索装置20について説明する。
[Search device]
The search device 20 provided with data anonymized by the anonymization device 10 will be described.

図4は、本発明の一実施形態に係る検索装置20の構成を示すブロック図である。
検索装置20は、入力手段21と、第2暗号化手段22と、検索手段23とを備え、匿名化装置10により匿名化されたデータを検索する。
FIG. 4 is a block diagram showing the configuration of the search device 20 according to an embodiment of the present invention.
The search device 20 includes an input unit 21, a second encryption unit 22, and a search unit 23, and searches for anonymized data by the anonymization device 10.

入力手段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 input unit 21 receives a character string corresponding to each of a plurality of sections constituting the ID as a search key.

第2暗号化手段22は、検索キーを、対応する区間の暗号鍵で暗号化し、暗号化検索キーを生成する。具体的には、第2暗号化手段22は、匿名化装置10から提供された暗号鍵であって、入力手段21によって受け付けられた検索キーに対応する区間に用いられた暗号鍵により、検索キーを暗号化し、暗号化検索キーを生成する。   The second encryption unit 22 encrypts the search key with the encryption key of the corresponding section, and generates an encrypted search key. Specifically, the second encryption unit 22 is an encryption key provided from the anonymization device 10, and uses the encryption key used in the section corresponding to the search key received by the input unit 21, as a search key. Is encrypted and an encrypted search key is generated.

検索手段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 search unit 23 corresponds to the encryption key in the section constituting the encrypted ID included in the provided data by the encrypted search key generated by the second encryption unit 22. Search for an interval.
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 search unit 23 may search using a hierarchical index (for example, the trie tree 100) created by the anonymization device 10. When the anonymization device 10 searches using the trie tree 100, the anonymization device 10 searches for a hierarchy corresponding to the ID section.

例えば、図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 search device 20 accepts a search key “BAG” as a query, and sequentially encrypts with the encryption key corresponding to the hierarchy among the provided encryption keys.
That is, the search device 20 encrypts “B” with the encryption key KA, “A” with the encryption key KB, and “G” with the encryption key KC, and creates the trie tree created by the anonymization device 10 with the encrypted search key. Search for 100 (see FIG. 2).
Next, the search device 20 detects that the hierarchy HA matches “B”, the hierarchy HB “A”, and the hierarchy HC “G”, and returns the search result to the data user. The search device 20 returns TRUE / FALSE (FALSE) when searching for whether or not there exists (Boolean), and returns the number of the corresponding part in the case of the number of cases.

図5は、本発明の一実施形態に係る検索装置20の検索処理の例を示すフローチャートである。検索装置20は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、制御部(例えば、CPU)が、OSの下で所定のソフトウェアに従い実行する処理である。   FIG. 5 is a flowchart showing an example of search processing of the search device 20 according to an embodiment of the present invention. The search device 20 is configured by hardware included in a computer and its peripheral devices and software that controls the hardware, and the following processing is executed by the control unit (for example, CPU) according to predetermined software under the OS. It is processing.

ステップ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 trie tree 100 using the encrypted search key generated in step S202. More specifically, the CPU searches the hierarchy corresponding to the section constituting the encrypted ID by using the generated encrypted search key.

ステップ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 anonymization device 10 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 10 enables a search for a section having a different ID for each data user, while concealing an ID directly included in the data and directly associated with an individual.
Furthermore, since the anonymization device 10 creates an index in which the ID sections are hierarchized, the set of sections can be searched at high speed.
Furthermore, since the anonymization device 10 uses a different encryption key even if it is a data user who is permitted to search in the same section, the data including the encrypted ID provided to the data user is different from the data user. It is not searched by the encryption key.
Furthermore, since the anonymization device 10 performs encryption that cannot be decrypted, confidentiality is improved.
The search device 20 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.

さらに、匿名化装置10は、例えば、あるデータ利用者に対しては先頭の一定区間のみの暗号鍵を提供し、別のデータ利用者には全区間の検索を可能にするために全区間の暗号鍵を提供するようにして、データ利用者のアクセスをコントロールする。
また、検索装置20は、匿名化装置10によって作成されたトライ木100によって、検索したいIDの有無をO(l)で高速に検索できる(Oはランダウの記号、lは検索キーの文字列の長さ)。
Furthermore, the anonymization device 10 provides, for example, an encryption key for only a certain fixed section to a certain data user, and allows all data sections to be searched for another data user. Control access of data users by providing encryption keys.
Further, the search device 20 can quickly search for the presence or absence of an ID to be searched with O (l) using the trie tree 100 created by the anonymization device 10 (O is a Landau symbol, and l is a character string of a search key). length).

以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。   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 anonymization device 10 enables a data user to search for a store or search for a time while keeping an individual specified by a store code and a time secret.

匿名化装置10による一連の処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。また、当該プログラムは、コンピュータ読み取り可能な記録媒体(例えば、CD−ROMのようなリムーバブルメディア等)に記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。   A series of processing by the anonymization device 10 can also be performed by software. When a series of processing is performed by software, a program constituting the software is installed in a general-purpose computer or the like. The program may be recorded on a computer-readable recording medium (for example, a removable medium such as a CD-ROM) and distributed to the user, or may be downloaded to the user's computer via a network. May be distributed.

10 匿名化装置
11 分割手段
12 索引作成手段
13 第1暗号化手段
20 検索装置
21 入力手段
22 第2暗号化手段
23 検索手段
DESCRIPTION OF SYMBOLS 10 Anonymization apparatus 11 Dividing means 12 Index preparation means 13 1st encryption means 20 Search apparatus 21 Input means 22 2nd encryption means 23 Search means

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暗号化手段は、前記データが提供されるデータ利用者ごとに異なる暗号鍵を用いて暗号化する、
請求項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.
前記第1暗号化手段は、不可逆の暗号化を行う、請求項1から3のいずれか一項に記載の匿名化装置。   The anonymization device according to claim 1, wherein the first encryption unit performs irreversible encryption. 請求項1から4のいずれか一項に記載の匿名化装置により匿名化されたデータを検索する検索装置であって、
前記複数の区間の少なくともいずれかを検索するために検索キーの入力を受け付ける入力手段と、
前記検索キーを、対応する区間の暗号鍵で暗号化し、前記暗号化検索キーを生成する第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:
請求項1に記載の匿名化装置が実行する方法であって、
前記分割手段が、前記データに含まれる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.
コンピュータに、請求項6に記載の各ステップを実行させるためのプログラム。
The program for making a computer perform each step of Claim 6.
JP2015158205A 2015-08-10 2015-08-10 Anonymization device, search device, method and program Expired - Fee Related JP6592301B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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