JPWO2013121738A1 - 分散匿名化装置及び分散匿名化方法 - Google Patents
分散匿名化装置及び分散匿名化方法 Download PDFInfo
- Publication number
- JPWO2013121738A1 JPWO2013121738A1 JP2014500089A JP2014500089A JPWO2013121738A1 JP WO2013121738 A1 JPWO2013121738 A1 JP WO2013121738A1 JP 2014500089 A JP2014500089 A JP 2014500089A JP 2014500089 A JP2014500089 A JP 2014500089A JP WO2013121738 A1 JPWO2013121738 A1 JP WO2013121738A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- anonymization
- hospital
- anonymity
- group
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 238000004891 communication Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims description 57
- 239000006185 dispersion Substances 0.000 claims description 46
- 230000010354 integration Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 80
- 201000010099 disease Diseases 0.000 description 10
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
データを提供したいずれの事業者に対してもデータの匿名性を保てる分散匿名化装置及び分散匿名化方法を提供する。本発明の分散匿名化装置は、他装置と通信しながら匿名化処理を実行する分散匿名化装置であって、自装置が記憶するデータと他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれているか否かを、全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する判定手段と、判定手段の匿名性の判定結果に基づいて、データに対し匿名化処理を実行する匿名化手段と、を含む。
Description
本発明は、情報の匿名化、特に、分散して保持されている情報を結合する際の匿名化技術に関する。
年齢、性別、又は、住所等の個人情報を含むデータに関する統計データが、利用されている。データの公開の際、公開されたデータから個人が特定されないように、データの抽象化等を用いた匿名化技術が、知られている。匿名化とは、個人情報の集合に含まれる各レコードが、どの個人のデータかを特定できないようにデータを加工する技術である。
匿名化のよく知られた指標として、「k匿名性」が、ある。k匿名性は、各データが、k人未満に絞られないことを保証する指標である。
また、個人情報に含まれる属性のうち、その組合せを基に、個人を特定できる属性群は、「準識別子」と呼ばれる。
例えば、匿名化装置は、準識別子に含まれる属性値を汎化して、準識別子を共有するレコードをk個以上とする。このように匿名化装置は、データのk匿名性を保証する。
また、匿名化技術の中で、一つの装置に保持されたデータではなく、複数の装置に分散して保持されているデータを匿名化する技術は、特に、「分散匿名化」と言われる。
分散匿名化技術の例が、非特許文献1に開示されている。
非特許文献1の技術は、2つの事業者の間でデータを結合する際、まず、2つの事業者が、それぞれ保持する個人情報を抽象化する。そして、非特許文献1の技術は、抽象化後のデータを結合して、一つのグループを生成する。
非特許文献1に記載の技術は、データの結合において、2つの事業者間で抽象化したデータを通信しながら、互いのデータを開示せずに、トップダウン処理を用いてデータを匿名化する。
このように、非特許文献1に記載の技術は、2つの事業者が保持するデータから、k匿名性を満たした結合データを生成する。そして、非特許文献1に記載の技術は、k匿名性を満たした匿名化処理済みデータを、利用者に提供する。
このような仕組みを基に、非特許文献1の技術は、提供するデータにおける個人の特定を防ぐ。
Pawel Jurczyk, Li Xiong, "Distributed Anonymization: Achieving Privacy for Both Data Subjects and Data Providers, "Proceedings of the 23rd Annual IFIP WG 11.3Working Conference, Montreal, Canada, July 12−15, 2009on Data and Applications Security XXIII, pp. 191−207
しかし、非特許文献1に記載の技術において、各事業者は、自己が提供したデータと、匿名化処理済みのデータとの比較を基に、他の事業者に存在するデータを特定できる。そのため、非特許文献1に記載の技術は、データを提供した事業者に対して、必ずしも所定の匿名性が保たれているとは言えない。
その理由は、次のとおりである。データを提供した各事業者は、匿名化処理済みのデータにおいて、自己が提供したデータを特定できる。そのため、事業者は、自己のデータを削除して、定められた指標より、データの匿名性を低下できるからである。
このように、非特許文献1に記載の技術は、データの提供した事業者に対しての匿名性を確保できない問題点があった。
本発明の目的の一つは、上記課題を解決し、データを提供したいずれの事業者に対しても、データの匿名性の指標を保てる分散匿名化装置及び分散匿名化方法を提供することにある。
上記目的を達成するため、本発明における分散匿名化装置は、他装置と通信しながら匿名化処理を実行する分散匿名化装置であって、自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する判定手段と、前記判定手段の匿名性の判定結果に基づいて、データに対し匿名化処理を実行する匿名化手段と、を含む。
上記目的を達成するため、本発明における分散匿名化方法は、他装置と通信しながら匿名化処理を実行する分散匿名化方法であって、自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定し、前記匿名性の判定結果に基づいて、データに対し匿名化処理を実行する。
上記目的を達成するため、本発明におけるプログラムは、他装置と通信しながら匿名化処理を実行させるプログラムであって、自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する処理と、前記匿名性の判定結果に基づいて、データに対し匿名化処理を実行する処理とをコンピュータに実行させる。
本発明の効果の一例は、データを提供したいずれの事業者に対しても、データの匿名性を保てることである。
<第1実施形態>
まず、本発明の実施形態の理解を容易にするために、本発明の背景を説明する。
まず、本発明の実施形態の理解を容易にするために、本発明の背景を説明する。
図1は、本発明の背景を説明するための図である。
図1に示すように、本発明の背景として、データの提供機関である2つの事業者は、病院X及び病院Yとする。そして、病院X及び病院Yが、それぞれ自己が保持するデータを、データの利用機関である事業者Vに提供する場面を考える。この場面において、病院X及び病院Yは、それぞれ自己が保持するデータに対し、互いに通信しながら匿名化処理を施し、結合データにおける個人の匿名性を確保する。
匿名化処理の対象となるデータは、ユーザのID(Identifier:識別子)と、センシティブ情報と、準識別子とを含む。
センシティブ情報とは、個人を特定できる状態で、他人に知られたくない情報である。
準識別子とは、単一の情報では個人を特定できないが、他の情報との組み合わせを基に、個人を特定できる情報である。準識別子の値は、個人の特定を防ぐという観点からは、全てのレコードにおいて、統一した抽象化が望ましい。一方、結合データの利用という観点からは、準識別子の値は、個別的であり、具体的であることが望ましい。
匿名化処理は、「個人の特定を防ぐ」という目的と、「結合データの利用」という目的とを調和させる処理である。
匿名化処理は、トップダウン処理とボトムアップ処理がある。トップダウンの場合、「匿名化処理」は、「データの分割処理」を意味する。ボトムアップの場合、「匿名化処理」は、「データの統合処理」を意味する。
次に、本発明に関連する分散匿名化技術(以下、「関連する分散匿名化技術」という)について、具体的に説明する。
ここでは、例として、病院X及び病院Yが保持する個人情報は、「No.」、「年齢」及び「疾病コード」の情報とする。
「No.」は、ユーザのIDである。
個人の病気を特定できる「疾病コード」が、センシティブ情報とする。また、センシティブ情報は、公開されたデータの分析に用いるため、抽象化処理で変更をしたくない情報とする。
ここで、抽象化処理は、データの属性又は属性値を、より範囲の広い属性又は属性値のデータに変換する処理である。
また、属性とは、例えば、年齢、性別、住所の種別である。属性値とは、属性の具体的な内容又は値である。
例えば、抽象化対象データが具体的な値の場合、抽象化処理は、属性値を、その値を含む一定の数値範囲データ(曖昧なデータ)に変換する処理である。
また、センシティブ情報以外の個人情報は、準識別子とする。つまり、本例では、「年齢」が、準識別子である。
関連する分散匿名化技術は、匿名性が保たれているか否かを、予め定めたk匿名性の指標を満たすか否かを基に判定する。
繰り返しとなるが、k匿名性とは、準識別子の値が同じデータを、k個以上要求する指標である。
以降の説明において、要求される匿名化は、個人情報のテーブルの2匿名性とする。また、匿名化処理は、トップダウン処理とする。
図2は、本説明で用いる病院X及び病院Yが保持するデータを示す図である。
図2に示すように、病院Xは、ユーザIDが、user1〜user7である計7人の個人情報を保持する。また、病院Yは、ユーザIDが、user8〜user13である計6人の個人情報を保持する。
関連する分散匿名化技術は、図2に示すデータを、準識別子である「年齢」を基に、グループ化する。
関連する分散匿名化技術は、まず、病院X及び病院Yが保持するデータを、1つのグループとして、準識別子を曖昧な状態にする。
図3は、図2に示すデータが、関連する分散匿名化技術に基づいて、1つのグループにまとめられた状態を示す図である。
関連する分散匿名化技術は、図3に示す抽象化されたテーブルの個人情報(準識別子)を、匿名性を確認しながら、徐々に、具体化する。
関連する分散匿名化技術は、個人情報が特定されない安全な個人情報の分割点を決定する。
分割点とは、データを2つのグループに分ける点である。本実施形態の説明において分割点は、データを、「その値未満」のグループと、「その値以上」のグループとの2つのグループに分ける点とする。ただし、分割点は、これに限らず、例えば、「その値以下」のグループと、「その値を超える」のグループとの2つのグループに分ける点でも良い。
関連する分散匿名化技術は、分割点を、データを結合したときの中心となるレコードの「年齢」の値(以下、「中央値」という。)とする。
図4は、中央値を説明するための結合データを示す図である。図4は、図2に示す病院X及び病院Yが保持するデータを結合したデータである。
図4に示すように、結合データの中心のレコードは、「user5」のレコードである。
ここで、レコードとは、IDの「No.」と、「年齢」と、「疾病コード」とを含むデータである。
関連する分散匿名化技術は、「user5」のレコードにおける「年齢」の値である「23」を、分割点に決定する。
なお、図4は、説明を解りやすくするため、データを1つに集めた結合データを示した。しかし、本実施形態を含め、実際には、このような結合データは、生成されない。2つの病院は、MPC(Multi Party Computation)又はSMPC(Secure Multi Party Computation)に基づく通信を用いて、互いにデータを開示せずに、分割点を決定する(MPCについては、非特許文献1を参照)。
以下においても、本明細書及び図面における匿名化処理を説明する過程の結合データは、あくまで発明の理解を容易にするためのものである。本実施形態において、実際には、データは、各装置で分散して保持されている。
関連する分散匿名化技術は、決定した分割点(「年齢」の「23」)で、病院X及び病院Yがそれぞれ保持するデータを分割する。つまり、関連する分散匿名化技術は、病院X及び病院Yがそれぞれ保持するデータを、「年齢が23未満」のグループと、「年齢が23以上」のグループとに分割する。
図5は、図3に示すデータが、分割された状態を示す図である。
図5に示すように、「年齢」が「20〜24」のデータは、「20〜22」及び「23〜24」のグループに分割される。病院X及び病院Yが保持する全データに関して、6つのレコードが、「20〜22」のグループに属し、7つのレコードが、「23〜24」のグループに属する。準識別子を共有する各グループは、レコードが2つ以上存在するため、2匿名性を満たす。
関連する分散匿名化技術は、現在のデータが匿名性を満たすと判定すると、次の分割点を決定する。
例えば、関連する分散匿名化技術は、「年齢」が「20〜22」のグループと「23〜24」のグループのうち、値の差の幅が広い「20〜22」のグループを分割対象のグループと判定する。
図4を参照すると、「20〜22」のグループにおける中央値は、「20」である(user3及びuser8は、共に、「年齢」が「20」)。しかし、「20」ではグループを分割できないため、関連する分散匿名化技術は、「21」を分割点として決定する。
図6は、図5に示すデータが、さらに分割された状態を示す図である。
同様に、関連する分散匿名化技術は、「23〜24」のグループを分割する。
図7は、図6に示すデータが、「年齢」の「24」でさらに分割された状態を示す図である。
関連する分散匿名化技術は、データの分割がこれ以上できないと判定すると、匿名化処理済みの結合データを出力する。
図8は、関連する分散匿名化技術が、最終的に生成する匿名化処理済みの結合データを示す図である。
図8に示すように、関連する分散匿名化技術は、全てのグループが、2匿名性を満たすように匿名化する。
しかし、データを提供した各事業者は、自己が保持するデータと、匿名化処理済みデータとの比較を基に、他の事業者に存在する個人情報を特定できる場合がある。つまり、関連する分散匿名化技術が匿名した匿名化処理済みデータは、データを提供した各事業者に対して、必ずしも匿名性が保たれるとは言えない。
その理由は、次のとおりである。
データを提供した事業者(例えば、病院X及び病院Y)は、匿名化処理済みのデータの中で、自己が提供したデータを特定できる。事業者は、自己が提供したデータがあるグループから、自己が提供したデータを削除し、定められた指標よりもデータの匿名性を低下できるからである。
より具体的には、次のようになる。
病院Xは、図2における自己が保持するデータと、匿名化処理済みの図8に示す結合データとを比較する。そして、病院Xは、「年齢」が「21〜22」のグループに属するデータにおいて、「疾病コード」が「F」のデータが、自己が提供したデータと特定できる。そのため、病院Xは、「年齢」が「21〜22」のグループに属する病院Yのデータを、「疾病コード」が「E」の1つのデータと特定できる。
病院Yにおいても、同様のことが、言える。
そのため、病院X及び病院Yに対し、「年齢」が「21〜22」のグループは、2匿名性を満たしていない。
例えば、病院Xが、「user9」の「年齢」の「21」を知った場合、病院Xは、匿名化処理済みの結合データを基に、「user9」の「疾病コード」が「E」と特定できる。
以下に説明される本発明における第1実施形態は、上述の問題を解決する。
次に、図面を参照して本発明における第1の実施形態について説明する。
まず、図9を参照して、本発明の第1実施形態に係る分散匿名化装置10の機能構成の一例を説明する。
図9は、本発明における第1実施形態に係る分散匿名化装置10の構成の一例を示すブロック図である。
分散匿名化装置10は、例えば、図1における病院X及び病院Yが保持する装置である。
図9に示すように、分散匿名化装置10は、記憶部11と、初期グループ化部12と、匿名化部13と、判定部14とを含む。
本実施形態の説明は、図1に示すように、分散匿名化装置10が、病院X及び病院Yの2つの事業部が有する場合を例として、説明する。ただし、本実施形態の匿名化処理対象のデータを保持する事業者(装置)の数は、2つに限定されず、3つ以上でも良い。
また、病院X及び病院Yが保持する分散匿名化装置10は、特に区別はない。そのため、以下の本実施形態の説明は、病院Xが保持する分散匿名化装置10について説明する。なお、以下の説明は、病院Xと病院Yとを入れ替えれば、病院Yの分散匿名化装置10についての説明となる。
また、分散匿名化装置10が含む匿名化部13における匿名化処理は、特に制限はなく、既存の手法で良く、トップダウン処理でも、ボトムアップ処理でも良い。一例として、以下の本実施形態の説明は、匿名化部13の匿名化処理を、トップダウンとする。そのため、図9に示すように、匿名化部13は、分割点決定部131と分割実行部132とを含むとして説明する。
また、分散匿名化装置10の処理の開始の指示は、特に制限はない。例えば、分散匿名化装置10は、ユーザの指示を基に、病院Yが有する分散匿名化装置10と通信しながら、データの匿名化処理を開始しても良い。また、例えば、分散匿名化装置10は、ユーザが、初期グループ化部12に匿名化処理の開始指示を入力する態様でも良い。
記憶部11は、ユーザに関する属性情報であるユーザ属性情報を含むレコードの集合を記憶する。記憶部11は、例えば、図2の左側に示すデータ(病院Xのデータ)を記憶する。
初期グループ化部12は、開始指示の入力を基に、記憶部11から、データ(病院Xのデータ)を取得する。
初期グループ化部12は、記憶部11から取得したデータを、曖昧な状態にする。すなわち、初期グループ化部12は、取得したデータの準識別子の値を抽象化し、1つのグループにまとめる。この抽象化処理は、準識別子の値を、数値範囲のデータ(曖昧なデータ)に変換する処理である。抽象化処理後のグループにまとめられたデータは、全てのデータの準識別子の値が、1つの数値範囲に抽象化されたデータ(以下、「初期グループデータ」とも言う。)である。初期グループ化部12は、1つのグループにまとめたデータ(初期グループデータ)を匿名化部13に出力する。
匿名化部13は、初期グループ化部12からデータ(初期グループデータ)を受けると、データを匿名化する。本実施形態の匿名化処理は、トップダウン処理である。そのため、匿名化部13は、分割点決定部131及び分割実行部132を用いて、データを複数のグループに分割する。
分割点決定部131は、データの分割点を決定する。
分割点決定部131の分割点の決定方法は、特に限定されない。
例えば、分割点決定部131は、「他の事業者との間で互いにデータを開示しない方法に基づく通信」を用いて、分割点を決定しても良い。
例えば、分割点決定部131は、上述の通信を用いて、病院Yの分割点決定部131と通信し、結合データの中央値を分割点として、データを分割しても良い。(ただし、既に説明したとおり、本実施形態において、実際の結合データは、存在しない。)
また、例えば、分割点決定部131は、所定の準識別子の値の平均値を分割点として、データを分割しても良い。
また、例えば、分割点決定部131は、所定の準識別子の値の平均値を分割点として、データを分割しても良い。
また、例えば、分割点決定部131は、周知のヒューリスティック関数を用いて分割点を決定しても良い。
なお、「他の事業者との間で互いにデータを開示しない方法に基づく通信」とは、例えば、上述したMPC又はSMPCに基づく通信である。例えば、分割点決定部131は、MPCを用いて、複数の分散匿名化装置10の分割点決定部131との間で、互いの個人情報を一切出さずに分割点を計算できる。
なお、以降では、説明の便宜のため、分割点決定部131は、結合データの中央値を分割点とする。また、「他の事業者との間で互いにデータを開示しない方法に基づく通信」は、MPCを用いた通信とする。
分割点決定部131は、現在のデータ(初期状態では「初期グループデータ」、その後では後述の「判定部14から出力されたデータ」)及び決定した分割点を分割実行部132に出力する。
分割実行部132は、分割点決定部131が決定した分割点を基に、分割点決定部131から出力されたデータを分割する。分割実行部132は、分割したデータを判定部14に出力する。
判定部14は、MPCを用いた通信を基に、他の事業者(例えば、病院Y)と通信して、結合データの匿名性が、いずれの事業者に対しても保たれるか否かを判定する。
ここで、「いずれの事業者」とは、例えば、病院X及び病院Yである。
また、より具体的には、判定部14は、保持するデータ(記憶部11に格納されたデータ)と結合データとを基に、結合データの匿名性が保たれるか否かを判定する。
匿名性が保たれると判定した場合、判定部14は、匿名化部13の分割点決定部131に、データを出力し、そのデータの次の分割を指示する。
このように、判定部14が、結合データの匿名性が保たれると判定する限り、匿名化部13は、データを匿名化(ここでは、分割)する。すなわち、匿名化部13は、判定部14の匿名性の判定結果に基づいて、データの匿名化処理を繰り返す。
判定部14は、匿名性が保たれない(具体的には、k匿名を満たさない)グループがあると判定した場合、最後の分割をキャンセルした匿名化済みデータを外部に出力する。例えば、判定部14は、匿名化処理済みデータを、図1に示す事業者Vに出力する。
なお、判定部14が、最初の判定で、データが匿名性を満たないと判定した場合、初期グループ化部12が曖昧な状態にした初期グループデータが、匿名化済みデータとして、外部に出力される。
次に、図10を参照して、本発明の第1実施形態に係る分散匿名化装置10の動作について説明する。
図10は、第1実施形態の分散匿名化装置10の動作の一例を示すフローチャートである。
図10に示すように、分散匿名化装置10の初期グループ化部12は、記憶部11からデータを取得して、準識別子の値を抽象化して1つのグループ(初期グループデータ)を作成する(ステップS1)。
次に、分割点決定部131は、初期グループデータの分割点を決定する。
そして、分割実行部132は、分割点決定部131が決定した分割点でグループを分割する(ステップS2)。
次に、判定部14は、MPCを用いて、他の分散匿名化装置10と通信し、分割した後の結合データの匿名性が保たれるか否かを判定する。より具体的には、判定部14は、結合データにおいて、準識別子(例えば、「年齢」)の値が同一であるグループから、記憶部11が保持するデータ(例えば、「病院X」のデータ)に属するレコードを除く。そして、判定部14は、除いた後のグループに含まれるレコード数が、匿名性の指標(例えば、「2匿名性」)である閾値以上であるか否か(例えば、「2つ以上であるか否か」)を判定する。判定部14は、全てのグループの判定を基に、匿名性が保たれるか否かを判定する(ステップS3)。判定部14の判定処理のより詳細な説明は、後述する。
そして、判定部14は、いずれの事業者(例えば、「病院X」及び「病院Y」)の分散匿名化装置10に対しても、全てのグループのレコード数が閾値以上であるか否かを判定する(ステップS4)。
判定部14は、レコード数が閾値未満である(匿名性を保てない)グループが少なくとも1つ存在すると判定した場合(ステップS4、No)、分割実行部132の最後の分割をキャンセルする(ステップS8)。そして、判定部14は、分割をキャンセルしたデータを、匿名化処理済みのデータとして出力する。
一方、判定部14は、全装置に対して全てのグループのレコード数が閾値以上である(全てのグループが匿名性を保つ)と判定した場合(ステップS4、Yes)、匿名化部13に対し、匿名化部13に、データの匿名化(グループ分割)を指示する。指示を受けた匿名化部13は、再びデータを匿名化(グループに分割)する(ステップS5)。
ステップS5の続き、判定部14は、分割したグループにおいて、匿名性が保たれるか否かを判定する。より具体的には、判定部14は、結合データの分割したグループにおいて、記憶部11が記憶するレコードを引いたレコード数が、匿名性の指標である閾値以上であるか否かを判定する(ステップS6)。
そして、判定部14は、いずれの分散匿名化装置10に対しても、レコード数が閾値以上であるか否かを判定する(ステップS7)。
レコード数が閾値以上でないグループが存在する場合(ステップS7、No)、判定部14は、最後の分割をキャンセルする(ステップS8)。そして、判定部14は、分割をキャンセルしたデータを、匿名化処理済みのデータとして出力する。
一方、全装置において、分割したグループのレコード数が閾値以上であると判定した場合(ステップS7、Yes)、判定部14は、再び匿名化部13に対し、グループ分割を指示する。この指示を基に、匿名化部13は、再度、グループを分割する(ステップS5)。
なお、匿名化部13が分割対象のグループを決定するアルゴリズムは、特に制限はない。例えば、決定するアルゴリズムは、既存のアルゴリズムでも良い。例えば、匿名化部13は、準識別子の値の幅が広いグループを分割対象としても良い。あるいは、匿名化部13は、それ以外の方法を用いても良い。
また、判定部14は、最後の分割をキャンセルした後、データを外部に出力しないで、再度分割対象となるグループを判定してもよい。この場合、匿名化部13は、新たに分割対象となったグループを匿名化(分割)する。
次に、図11〜図13を参照して、図10の各ステップを、具体的に、例を用いて説明する。
説明の前提は、次のとおりである。
分散匿名化装置10は、病院X及び病院Yに保持される(図1参照)。事業部Zは、病院X及び病院Yから匿名化済みデータを取得する。また、病院X及び病院Yの分散匿名化装置10は、それぞれ、図2に示すデータを、記憶部11に保持する。すなわち、病院Xの分散匿名化装置10が保持するデータは、「user1」から「user7」に関するレコードである。病院Yの分散匿名化装置10が保持するデータは、「user8」から「user13」に関するレコードである。準識別子は、「年齢」の情報である。センシティブ情報は、「疾病コード」の情報である。また、要求される匿名性は、個人情報のテーブルが2匿名性を満たすとする。
図10のステップS1において、初期グループ化部12は、記憶部11から取得したデータに対し、図3に示す初期グループデータを作成する。
図10のステップS2において、匿名化部13は、例えば、図5に示すように、データを分割する。
図10のステップS3において、判定部14は、各グループが匿名性を満たすか否かを判定する。
以下、判定部14における、各グループが匿名性を満すか否かの判定について詳細に説明する。
まず、判定部14は、結合データに関し、準識別子の値が同一であるグループに含まれるレコードから、自己が保持するデータに含まれるレコードを除く。
図11は、判定部14の動作の一例を説明するために用いる、結合データを示す図である。
図11は、図5に示すデータに、各装置を保持する病院を示す情報(「病院」のデータ)を併せて結合したデータである。
なお、繰り返しになるが、例えば、図11に示すような結合データは、本実施形態の説明のための図である。図11に示す各装置を保持する病院を示す情報である「病院」のデータも、本実施形態の理解のためのデータであり、実際には存在しない。以降の説明でも、発明の理解を容易にするため結合データを参照して説明する。しかし、実際には、図2、図3、図5〜図7を参照して説明したように、各分散匿名化装置10は、それぞれがデータを保持する。つまり、データは、分散されて保持される。
判定部14は、例えば、「年齢」が「20〜22」のグループ(準識別子の値が同一であるグループ)から、自己が保持するデータに含まれるレコード(「病院」が「病院X」のレコード)を除く。具体的には、判定部14は、「年齢」が「20〜22」のグループから、「病院」が「病院X」であるuser1、user2、user3、user4のレコードを除く。判定部14は、4つのレコードを除いた後の「年齢」が「20〜22」のグループの匿名性を判定する。4つのレコードを除いた後の「年齢」が「20〜22」のグループのレコード数は、2つ(user8とuser9のレコード)である。そのため、判定部14は、2匿名性を満たす(レコード数が2つ以上である)と判定する。つまり、判定部14は、「年齢」が「20〜22」のグループが匿名性を保っていると判定する。
判定部14は、全てのグループにおいて、同様に判定する。図11の場合、判定部14は、「年齢」が「23〜24」のグループも、匿名性を保っていると判定する。
そして、図10のステップS4において、判定部14は、いずれの事業者に対しても、各グループが匿名性を満たすか否かを判定する。
判定部14は、全装置で全てのグループに属するレコード数が2以上である(全グループが匿名性を保っている)と判定すると(ステップS4、Yes)、匿名化部13に対しグループの分割を指示する。
図10のステップS5において、匿名化部13は、判定部14からの指示に応じて、分割点を決定し、決定した分割点でデータをグループに分割する。具体的には、匿名化部13は、例えば、既存のアルゴリズムを基に、「年齢」が「24」を分割点と決定し、図6に示すようにデータをグループに分割する。
図12は、判定部14の動作を説明するために用いる、結合データを示す図である。図12は、図11に示すデータの「年齢」が「23〜24」のグループを、さらに分割したデータである。
この場合、図10のステップS6において、判定部14は、「年齢」が「23」のグループから「病院X」のレコードを除いた残りのレコード数が2(user10とuser11のレコード)のため、2匿名性を満たすと判定する。一方、病院Yの分散匿名化装置10の判定部14は、「年齢」が「23」のグループから「病院Y」のレコードを除いた残りのレコード数が1(user5のレコード)のため、2匿名性を満たさないと判定する。
そのため、ステップS4において、判定部14は、「年齢」が「23」のグループが閾値未満と判定する。
病院Xの分散匿名化装置10の判定部14は、最後の分割をキャンセルした状態のデータを匿名化処理済みデータとして出力する(ステップS7、No)。
図13は、分散匿名化装置10が最終的に出力する匿名化処理済み結合データの一例を示す図である。(ただし、繰り返しになるが、実際には、分散匿名化装置10は、図13に示す結合データを出力するわけではない。)
図13に示すように、分散匿名化装置10(判定部14)は、データの提供先が外部に漏れず、個人が特定されないように、ユーザIDを削除した匿名化処理済みデータを出力する。
図13に示すように、分散匿名化装置10(判定部14)は、データの提供先が外部に漏れず、個人が特定されないように、ユーザIDを削除した匿名化処理済みデータを出力する。
以上説明したように、第1実施形態に係る分散匿名化装置10は、データを提供したいずれの事業者に対してもデータの匿名性を保てる。
その理由は、判定部14が、他の分散匿名化装置10と通信し、装置毎に自己が保持するデータを除いて、他の装置が保持するデータを対象として匿名性を判定するからである。
なお、本実施形態の説明は、匿名化部13の匿名化処理を、トップダウン処理として説明した。
しかし、匿名化部13は、ボトムアップの匿名化を処理しても良い。ボトムアップの場合、判定部14は、例えば、全てのグループにおいて、自己が保持するレコードを引いたレコード数が匿名性の指標である閾値以上と判定できるまで、ボトムアップの匿名化(データの統合)を処理する。そして、判定部14は、全てのグループが匿名性を満たすと判定すると、匿名化処理済みデータを出力する。
また、本実施形態において、判定部14は、k匿名性を指標として匿名性を判断した。
しかし、判定部14は、k匿名性に加え、l多様性を指標として判断しても良い。
l多様性とは、準識別子の値が同じデータにおいて、l通り以上のセンシティブ情報を要求する指標である。
l多様性を用いる場合、判定部14は、準識別子の値が同一であるグループから、一の種類の事業者(例えば、病院X)のレコードを除く。そして、判定部14は、除いたグループに含まれるセンシティブ情報の種類の数が、予め定められた多様性の指標である閾値以上であるか否かを判定する。
具体例として、図12のデータにおいて、結合データが3多様性を要求する場合を考える。
この場合、判定部14は、「年齢」が「20〜22」及び「23」のグループについて、センシティブ情報である「疾病コード」の種類がそれぞれ6(A、B、C、D、E、F)及び3(A、B、C)であるため3多様性を満たすと判定する。一方、「年齢」が「24」のグループは「疾病コード」の種類が2(C、D)であるため、判定部14は、3多様性を満たさないと判定する。
匿名化部13は、上述した判定部14の匿名性及び多様性の判定結果に基づいて、データの匿名化処理を繰り返えせば良い。
さらに、判定部14は、その他の指標(t−closenessなど)を満たすか否かを判定しても良い。
また、本実施形態の説明において、各グループが事業者である「病院X」及び「病院Y」の両方を含む例を、説明した。しかし、「病院X」又は「病院Y」のいずれかのみを含むグループが、生成されても良い。
例えば、図11において、「年齢」が「20〜22」のグループは、事業者(病院)が全部「病院Y」のグループでも良い。病院Xの匿名性を保つべき情報の不正利用者は、全てが病院Yのレコードである「20〜22」のグループにおいて、個人を一人も特定できない。つまり、全てが病院Yのレコードである「20〜22」のグループは、病院Xに対して匿名性が低下しない。
<第2実施形態>
次に、本発明の第2実施形態に係る分散匿名化装置20について説明する。
次に、本発明の第2実施形態に係る分散匿名化装置20について説明する。
分散匿名化装置20は、データを分割した場合のエントロピーを考慮して分割点を決める点で、分散匿名化装置10と異なる。
図14は、第2実施形態に係る分散匿名化装置20の構成の一例を示すブロック図である。
図14に示すように、分散匿名化装置20は、第1実施形態における分散匿名化装置10と比較して、匿名化部23を含む点で異なる。
匿名化部23は、匿名化部13と比較して、分割点決定部131に代えて分割点決定部231を含む点で異なる。
なお、他の構成は、分散匿名化装置10と同様に動作する。そのため、同じ符号を付し、詳細な説明を省略する。
分割点決定部231は、分割したときの各グループのエントロピーの値に基づいて分割点を決定する点で、分割点決定部131と異なる。
分割点決定部231は、エントロピーを基に、データの提供元の事業者(病院X及び病院Y)の偏りを判定し、分割後のグループに属するデータの分割点を決定する。
例えば、分割点決定部231は、エントロピーの計算に用いる式に特に制限はない。分割点決定部231は、分割後のグループにおけるエントロピーとして、以下の式を用いて計算しても良い。
エントロピー=Σ{−1×P(Class)×log(P(Class))}
ここで、「Class」を「病院X」又は「病院Y」で分類する場合、P(Class)は、それぞれ以下のようになる。
ここで、「Class」を「病院X」又は「病院Y」で分類する場合、P(Class)は、それぞれ以下のようになる。
P(病院X)=「分割後のグループ内での「病院X」の数」/「分割後のグループ内での「病院X」及び「病院Y」の数の合計」
P(病院Y)=「分割後のグループ内での「病院Y」の数」/「分割後のグループ内での「病院X」及び「病院Y」の数の合計」
この場合、分割点決定部231は、分割後のグループにおけるエントロピーを、以下のように計算する。
P(病院Y)=「分割後のグループ内での「病院Y」の数」/「分割後のグループ内での「病院X」及び「病院Y」の数の合計」
この場合、分割点決定部231は、分割後のグループにおけるエントロピーを、以下のように計算する。
エントロピー={−1×P(病院X)×log(P(病院X))}+{−1×P(病院Y)×log(P(病院Y))}
例えば、分割点決定部231は、上記のエントロピーを、適当な分割候補点における分割後の2つのグループ(分割点以上と未満の2つのグループ)について計算する。分割点決定部231は、分割候補点を、所定のルール(アルゴリズム)で決めれば良く、周知の手法を用いても良い。
例えば、分割点決定部231は、上記のエントロピーを、適当な分割候補点における分割後の2つのグループ(分割点以上と未満の2つのグループ)について計算する。分割点決定部231は、分割候補点を、所定のルール(アルゴリズム)で決めれば良く、周知の手法を用いても良い。
分割点決定部231は、分割候補点でデータを2つのグループに分割した場合の、2つのグループのエントロピーを足した値(和の値、以下、「S」とする)が最も大きくなる点を分割点として決定しても良い。
Sの値が大きい分割は、2つのグループ内におけるデータの混ざり(「病院X」と「病院Y」の混ざり)が大きく、データの偏りが少ない分割である。
また、分割点決定部231は、全分割候補点のうちで、分割後の2つのグループのいずれかが最大のエントロピーの値を取る分割候補点を、分割点として決定しても良い。
エントロピーを用いた分割点の決定方法は、上述の方法には限定されず、他の方法でも良い。
本実施形態の説明において、分割点決定部231は、分割候補点で分割した場合の2つのグループのエントロピーの和が最大となる点を分割点とする。
次に、第1実施形態における場合と同様の前提において、図15〜図18を参照して、図10のフローのステップS2とステップS5とを中心に、具体的に、例を用いて説明する。
図10のステップS2において、分割点決定部231は、エントロピーを考慮して分割点を決定し、決定した分割点でデータを分割する。
第1実施形態における分割点決定部131は、「年齢」の中央値である「23」を分割点に決定した。
本実施形態における分割点決定部231は、分割候補点で分割した場合の2つのグループのエントロピーの値の和が最大となるように、分割点を決定する。具体的には、分割点決定部231は、「年齢」の「22」を、分割点に決定する。
図15は、分割点を、中央値である「23」とした場合と、エントロピーの値の和が最大である「22」とした場合との比較を示す図である。
図15に示すように、例えば、「23」で分割した場合の「23未満のグループ」は、病院Xと病院Yのレコード数の比が4:2であり、やや病院Xに偏っている。一方、「22」で分割した場合の「22以上のグループ」は、病院Xと病院Yのレコード数の比が4:4であり偏りがない。図15は、全体的に見て、「23」で分割した場合よりも「22」で分割した場合の方が、偏りが少ないことを示す。
以下に、エントロピーの具体的な計算例を示す。
「年齢」の「23」で分割した場合のエントロピーは、以下のように計算される。
(1)「年齢」が「23」未満のグループについて
エントロピー={−1×(4/6)×log(4/6)}+{−1×(2/6)×log(2/6)}=0.2764
(2)「年齢」が「23」以上のグループについて
エントロピー={−1×(3/7)×log(3/7)}+{−1×(4/7)×log(4/7)}=0.2966
よって、「年齢」の「23」で分割した場合のエントロピーは、
(1)+(2)=0.5730となる。
エントロピー={−1×(4/6)×log(4/6)}+{−1×(2/6)×log(2/6)}=0.2764
(2)「年齢」が「23」以上のグループについて
エントロピー={−1×(3/7)×log(3/7)}+{−1×(4/7)×log(4/7)}=0.2966
よって、「年齢」の「23」で分割した場合のエントロピーは、
(1)+(2)=0.5730となる。
次に、「年齢」が「22」で分割した場合のエントロピーは以下のように計算される。
(3)「年齢」が「22」未満のグループについて
エントロピー={−1×(3/5)×log(3/5)}+{−1×(2/5)×log(2/5)}=0.2923
(4)「年齢」が「22」以上のグループについて
エントロピー={−1×(4/8)×log(4/8)}+{−1×(4/8)×log(4/8)}=0.3010
よって、「年齢」が「22」で分割した場合のエントロピーは、
(3)+(4)=0.5933となる。
エントロピー={−1×(3/5)×log(3/5)}+{−1×(2/5)×log(2/5)}=0.2923
(4)「年齢」が「22」以上のグループについて
エントロピー={−1×(4/8)×log(4/8)}+{−1×(4/8)×log(4/8)}=0.3010
よって、「年齢」が「22」で分割した場合のエントロピーは、
(3)+(4)=0.5933となる。
つまり、「22」で分割した場合のエントロピーの値は、「年齢」が「23」で分割した場合のエントロピーの値より大きい。
具体的な計算を省略するが、「22」で分割した場合のエントロピーの値は、他のどの点で分割した場合のエントロピーの値よりも大きい。
従って、分割点決定部231は、「年齢」の「22」を分割点に決定し、初期グループ化部12又は判定部14から出力されたデータと、決定した分割点とを、分割実行部132に出力する。
図16は、各病院のデータが、「年齢」の「22」で分割された状態を示す図である。
この場合、図10のステップS3において、判定部14は、いずれの事業者に対しても、各グループが匿名性を満たすと判定する。そして、処理は、ステップS5に進む。
図10のステップS5において、分割点決定部231は、新たに分割点を決定する。分割点決定部231は、最もエントロピーの和の値が大きくなる「年齢」の「24」を、分割点に決定する。
図17は、図16のデータが、「年齢」の「24」で、さらに分割された状態を示す図である。
そして、判定部14は、これ以上データを分割できないと判定し(又は、フローのとおり、分割点決定部231が、どこかで分割し、判定部14が、匿名性を満たさないため最後の分割をキャンセルして)、匿名化済みのデータを出力する。
図18は、分散匿名化装置20が最終的に出力する匿名化処理済み結合データの一例を示す図である。
図18に示すように、分散匿名化装置20が出力する匿名化処理済み結合データは、図13に示す分散匿名化装置10が出力する匿名化処理済み結合データよりも、多くのグループに分割されている。
以上説明したように、第2実施形態に係る分散匿名化装置20は、結合データを多くの適切なグループに分割できる。
その理由は、分割点決定部231が、エントロピーを考慮して、最もデータの偏りが少ない点を分割点に決定するからである。
なお、本実施形態の説明では、トップダウン処理の匿名化において、エントロピーを利用した例を説明した。しかし、分散匿名化装置20は、他の匿名化処理と組み合わせて、エントロピーを利用しても良い。
例えば、分割点決定部231は、データを分割する前に、分割後のグループの事業者の数の計算を基に、事業者に対する匿名性が高くなる分割ができるか否かを確認しても良い。事業者に対する匿名性が高くなる分割が可能と判定した場合、分割点決定部231は、エントロピーを利用した分割点の決定に優先して、事業者に対する匿名性が高くなる分割点を決定しても良い。
ここで、事業者に対する匿名性が高くなる分割とは、例えば、分割後のグループに含まれる事業者(病院)が単一となる分割である。また、分割点決定部231は、この処理に、MPCを利用してもよい。
事業者に対する匿名性が高くなる分割について、図15の例で説明する。
図15において、分割候補点は、「年齢」が「21」、「22」、「23」及び「24」である。分割点決定部231は、これらの分割候補点において、その分割点で分割した際に分割後のグループに属する「病院」が、「病院X」のみであるか、又は、「病院Y」のみであるかを判定する。
図15において、この条件を満たす分割候補点は、ない。しかし、例えば、図15のuser8が病院Yの患者であった場合、「年齢」の「20」で分割すると、「20未満のグループ」は、user1、user2、user3、user8であり、全データが病院Xのデータとなる。このような場合、「年齢」の「20」での分割は、病院X及び病院Yに対して、匿名性が高い。
具体的には、「20未満のグループ」は、グループに属する全データが病院Xのデータのため、病院Xに対して、匿名性を考慮する必要がない。また、「20未満のグループ」は、病院Yのデータがないため、病院Yに対して、匿名性が低下しない。
このように単一の病院のグループは、その病院や他の病院に対して匿名性を満たす分割のため、エントロピーを利用して分割点を決定する必要がない。従って、分割点決定部231は、エントロピーを利用した分割点の決定より優先して、事業者に対する匿名性が高くなる分割点を決定しても良い。
<第3実施形態>
次に、本発明の第3実施形態に係る分散匿名化装置30について説明する。
次に、本発明の第3実施形態に係る分散匿名化装置30について説明する。
分散匿名化装置30は、信頼性の低い複数の事業者が結託した場合においても匿名性を保つように動作する点で、第1及び第2実施形態の分散匿名化装置と異なる。すなわち、本実施形態において、3台以上の分散匿名化装置の通信が、前提である。
以下の説明では、病院X及び病院Yに加え、病院Wが存在するとする。
図19は、第3実施形態に係る分散匿名化装置30の構成の一例を示すブロック図である。
図19に示すように、分散匿名化装置30は、第1実施形態における分散匿名化装置10と比較して、匿名化部13に代えて匿名化部33を含み、判定部14に代えて判定部34を含む点で異なる。
匿名化部33は、匿名化部13における分割点決定部131に代えて分割点決定部331を含む。
記憶部11、初期グループ化部12、及び、分割実行部132は、第1及び第2実施形態と同様の構成であるため、詳細な説明を省略する。
なお、本実施形態の説明においても、2匿名性を要求するものとする。
分割点決定部331は、病院Y及び病院Wという2つの事業者が有する分散匿名化装置30と通信する点で、分割点決定部131と異なる。ただし、分割点決定部331は、第1実施形態における分割点決定部131と同様に、中央値を用いて分割点を決定するとする。
判定部34は、結合データのうち、三つ以上の装置が記憶するレコードが含まれるグループにおいて、二つ以上の装置が記憶するデータを一種として、匿名性を判定する。
次に図20を参照して、本発明の第3実施形態に係る分散匿名化装置30の動作について説明する。
図20は、第3実施形態に係る分散匿名化装置30の動作の一例を示すフローチャートである。
図20に示すように、分散匿名化装置30は、分散匿名化装置10の動作と比較して、ステップS3に代えてステップS9を、ステップS6に代えてステップS10を実行する点で異なる。
ステップS9において、判定部34は、基本的に、判定部14と同様に動作する。ただし、判定部34は、三つ以上の事業者(例えば、「病院X、病院Y及び病院W」)の装置が記憶するレコードを含むグループにおいて、二つ以上の事業者(例えば、「病院X」と「病院Y」)の装置を一種とする。そして、判定部34は、装置の種類毎(「病院X」と「病院Y」の組合せを一種、「病院W」を一種)に、匿名性を判定する。
すなわち、例えば、病院Xと病院Yの信頼性が低いと考えられる場合、判定部34は、病院Xと病院Yとが結託してそれぞれが保持するデータを共有しても、匿名性が保たれるか否かを判定する。なお、事業者の信頼性の高低は、例えば、結合データの利用機関である事業者V(図1参照)が、予め、分散匿名化装置30に設定しても良い。
ステップS10において、判定部34は、匿名化部33がステップS5で分割したグループについて、ステップS9と同様に、二つの装置を一種として匿名性を判定する。
次に、図21〜図26を参照して、図20の各ステップを、具体的に、例を用いて説明する。
図21は、第3実施形態の説明の用いる3つの病院のデータを示す図である。
図21に示すように、第3実施形態において、user14及びuser15のレコードを有する病院Wが、存在する。
図22は、分散匿名化装置30の動作を説明するために用いる、結合データを示す図である。
図22において、レコードの提供元の病院を示す情報が、説明の便宜のために、左の列に仮想的に与えられている。
図20のステップS1において、初期グループ化部12は、記憶部11から取得したデータの準識別子の値を抽象化し、1つのグループにまとめる。
図23は、1つのグループにまとめられた結合データを示す図である。
図23は、仮想的に結合グループで示すが、実際には各装置が保持するデータ毎に一つにまとめられる。具体的には、図21に示すデータは、全て、「年齢」が「20〜24」として一つにまとめられる。
図20のステップS2において、匿名化部33は、初期グループ化部12から入力されたデータを準識別子の値に基づいてグループに分割する。具体的には、分割点決定部331は、中央値を分割点として決定する。そして、分割実行部132が、分割する。
図24は、図23に示すデータを、中央値である「年齢」の「22」で、グループに分割した状態を示す図である。
図24に示すように、結合データは、「年齢が22未満」のグループと「年齢が22以上」のグループとに分割される。図24は、2つ以上の病院が結託した場合において、グループ毎に匿名性を満たす(OK)か、満たさないか(NG)かを表示している。
ここで、判定部34が、2つ以上の病院が結託した場合に、いずれの事業者に対しても、各グループが匿名性を満たすか否かを判定する処理について、詳細に説明する。
本実施形態の説明では、判定部34は、三つ以上の装置のデータが含まれるグループを、結託した場合の判定対象とする。また、病院Xと病院Yの信頼性が、低いとする。そのため、判定部34は、「病院X」及び「病院Y」のレコードを一種として、匿名性を満たすか否かを判定するものとする。
図20のステップS9において、判定部34は、二種類の装置を一種とした場合の匿名性を判定する。本実施形態の判定部34は、三つ以上の装置が含まれるグループを、結託した場合の判定対象とする。そのため、判定部34は、「年齢」が「20〜21」のグループ及び「22〜24」のグループにおいて、結託を考慮して匿名性を判定する。
すなわち、図24に示すように、各グループとも「病院X」と「病院Y」と「病院Z」の三種類のレコードが含まれているため、判定部34は、いずれのグループに対しても、結託を考慮して判定する。
信頼性が低い「病院X」と「病院Y」との結託を考慮して、判定部34は、いずれのグループからも「病院X」及び「病院Y」を一種としたレコードを除外する。図24の場合、いずれのグループも、「病院W」のレコードが1つとなり、2匿名性を満たさず、「NG」となる。従って、判定部34は、匿名性を満たさないグループが存在すると判定し(ステップS4、No)、分割をキャンセルする(ステップS8)。
なお、分割をキャンセルした後の処理は、採用したアルゴリズムに基づいて異なる。本実施形態の説明において、分散匿名化装置30は、再度、他の分割候補でグループを分割するとする。そのため、分散匿名化装置30は、ステップS2に戻る。そして、分割点決定部331は、中央値に最も近い値(中央値の次に中央のレコードに近いレコードの「年齢」の値)である「23」を、分割点に決定する。
図25は、図23に示すデータを、「年齢」の「23」で、グループに分割した状態を示す図である。
図25に示すように、「年齢」が「23」でグループに分割した場合、「年齢」が「20〜22」のグループが、三つ以上の装置(「病院X」と「病院Y」と「病院W」の装置)のデータを含むため、結託した場合の判定対象となる。
再び、図20のステップS9において、判定部34は、「年齢」が「20〜22」のグループから、「病院X」及び「病院Y」を一種としたレコードを除外する。この場合、「年齢」が「20〜22」のグループは、「病院W」のレコードが2つ残り、2匿名性を満たす。また、「年齢」が「23〜24」のグループは、「病院W」のレコードを含まない。従って、判定部34は、全てのグループが匿名性を満たすと判定する(ステップS4、Yes)。
次に、図20のステップS5において、分割点が決定され、ステップS10でステップS9と同様の処理が実行される。そして、適切な分割点がなくなった時点で、最終的な匿名化処理済みのデータが、出力される。
なお、これまでの説明では、「病院X」及び「病院Y」が結託した場合を考慮した。しかし、本実施形態において考慮する結託のパターンは、これに限定されない。
例えば、判定部34は、装置(事業者)の全ての組合せにおいて匿名性を満たす場合に、匿名性が保たれると判定しても良い。
具体的に、図25の場合において、判定部34は、「年齢」が「20〜22」及び「23〜24」の各グループにおいて、「病院X」及び「病院Y」の組合せと、「病院X」及び「病院W」の組合せと、「病院Y」及び「病院W」の組合せについて、レコードを除外して匿名性を判定しても良い。
なお、図25の場合、全ての組合せで匿名性を判定しても、判定部34は、2匿名性を満たすと判定する。
また、本実施形態において、分散匿名化装置30が、三つあり、二つの装置を一種とするケースについて説明した。しかし、本実施形態は、これに限定されない。すなわち、分散匿名化装置30は、三つ以上の複数であり、二つ以上の装置を一種としても良い。
以上説明したように、第3実施形態に係る分散匿名化装置30は、データを提供した複数の事業者が結託した場合でも、データの匿名性を保てる。
その理由は、判定部34が、複数の装置を一種類として匿名性を満たすか否かを判定するからである。
<第4実施形態>
次に、本発明の第4実施形態に係る分散匿名化装置40について説明する。
次に、本発明の第4実施形態に係る分散匿名化装置40について説明する。
分散匿名化装置40は、データの提供元である事業者(病院)に応じて、異なる匿名化レベルが設定される点で、これまでの分散匿名化装置と異なる。
図26は、第4実施形態に係る分散匿名化装置40の構成の一例を示すブロック図である。
図26に示すように、分散匿名化装置40は、分散匿名化装置10と比較して、設定部41を含む点で異なる。また、分散匿名化装置40は、判定部14に代わって、判定部44を含む点で異なる。記憶部11及び匿名化部13は、第1実施形態に係る分散匿名化装置10と同様の構成のため、詳細な説明を省略する。
設定部41は、記憶部11が記憶するデータに対し、他の分散匿名化装置40に応じた匿名性レベルの閾値を設定する。設定部41は、分散匿名化装置40に応じて異なる匿名性レベルを設定したデータを、初期グループ化部12に出力する。
本実施形態の設定部41は、図26に示すように、例えば、「装置に応じた匿名性レベルの設定する」指示を、外部から受け付けても良い。この場合、外部とは、図1における事業者Wでも良い。また、「装置に応じて匿名性レベルを設定する」とは、病院の信頼度に応じて病院が有する分散匿名化装置40毎に、匿名性レベルを設定することである。なお、分散匿名化装置40は、設定部41が外部からの設定指示の受信を契機に、匿名化処理を開始しても良い。
判定部44は、装置が同一のレコードを除いた場合のレコード数が、装置に応じた閾値以上であるか否かを判定する。
次に、図27を参照して、第4実施形態に係る分散匿名化装置40の動作について説明する。
図27は、第4実施形態に係る分散匿名化装置40の動作の一例を示すフローチャートである。
図27に示すように、分散匿名化装置40は、分散匿名化装置10の動作と比較して、ステップS11を含む点で異なる。また、分散匿名化装置40は、分散匿名化装置10の動作と比較して、ステップS3に代えてステップS12を、ステップS6に代えてステップS13を実行する点で異なる。
ステップS11において、設定部41は、記憶部11が記憶するデータに対し、装置に応じた匿名性レベルの閾値を設定する。
また、ステップS12及びステップS13において、判定部44は、各グループにおいて装置毎に、同一の装置が記憶するレコードを除いたレコード数が、装置に応じた閾値以上であるか否かを判定する。
次に、図28〜図33を参照して、図27の各ステップを、具体的に、例を用いて説明する。
図27のステップS11において、設定部41は、記憶部11からデータを取得する。本実施形態の説明において、記憶部11は、第3実施形態と同様に、図21に示すデータを記憶する。設定部41は、記憶部11が記憶するデータに対し、装置に応じた匿名性レベルの閾値を設定する。
図28は、装置に応じた匿名性レベルの閾値が設定されたデータの一例を示す図である。
図28に示すように、設定部41は、例えば、病院Xは信用度が高いので病院Xの匿名化レベルを「1」に、病院Yは普通の信用度なので病院Yの匿名化レベルを「2」に、また、病院Wは信用度が低いので病院Wの匿名化レベルを「3」に、設定する。
図29は、図28に示すデータが、結合された結合データを示す図である。なお、これまでと同様、分散匿名化装置40は、実際には、図29に示す結合されたデータを対象に処理をするのではなく、MPCなどの通信を用いて、各装置が保持するデータを対象に処理する。
図27のステップS1において、初期グループ化部12は、記憶部11から取得したデータの準識別子の値を抽象化し、1つのグループにまとめる。
図30は、1つのグループにまとめられた結合データを示す図である。
図27のステップS2において、匿名化部13は、分割点を決定してデータを複数のグループに分割する。
図31は、図30に示すデータが、準識別子の値に基づいて複数のグループに分割された状態の一例を示す図である。
図31に示すように、結合データは、「年齢」が「20〜21」及び「22〜24」の2つのグループに分割される。
ここで、判定部44が、各グループが装置に応じた匿名性レベルを満たすか否かを判定する処理について、詳細に説明する。
図27のステップS12において、判定部44は、装置が同一のレコードを除いた場合のレコード数が、装置に応じた閾値以上であるか否かを判定する。図31は、装置に対応する匿名性レベルを、グループ毎に満たす(OK)か、満たさないか(NG)かを表示している。
例えば、「年齢」が「20〜21」のグループは、「病院X」のレコードを除いた場合、「病院Y」の2つのレコードと「病院W」の1つのレコードとの計3つのレコードが残る。「病院X」の「匿名化レベル」は、「1」である。そのため、病院Xの分散匿名化装置40の判定部44は、匿名性を満たすと判定する。
同様に、「病院Y」を除いた場合、「年齢」が「20〜21」のグループは、「病院X」の3つのレコードと「病院W」の1つのレコードとの計4つのレコードが残る。「病院Y」の「匿名性レベル」は、「2」である。そのため、病院Yの分散匿名化装置40の判定部44は、匿名性を満たすと判定する。
また、「病院W」を除いた場合、「年齢」が「20〜21」のグループは、「病院X」の3つのレコードと「病院Y」の2つのレコードとの計5つのレコードが残る。「病院W」の「匿名性レベル」は、「3」と、高めに設定されている。しかし、残るレコードの数は、この閾値を満たす。そのため、病院Wの分散匿名化装置40の判定部44は、「年齢」が「20〜21」のグループの匿名性が保たれると判定する。
また、同様にして、判定部44は、「年齢」が「22〜24」のグループの匿名性が保たれると判定する。
図27のステップS5において、匿名化部13は、図31に示すデータをさらに分割する。
図32は、図31に示すデータが、さらに分割された状態の一例を示す図である。
図32に示す場合において、上述の処理と同様の処理し、判定部44は、全てのグループが、匿名性を満たすと判定する(ステップS7、Yes)。
再び、図27のステップS5において、匿名化部13は、さらに、グループを分割する。しかし、全てのグループにおいて、匿名性を満たすような分割点は、存在しない。そのため、判定部44は、処理を終了する。正確なフローの一例は、例えば、匿名化部13が、「年齢」の「21」でさらに分割する(ステップS5)。そして、判定部44は、「年齢」が「20」のグループは匿名性を満たすが、「21」のグループは満たさないと判定し(ステップS7、No)、最後の分割をキャンセルする(ステップS8)。
図33は、分散匿名化装置40が最終的に出力する匿名化処理済み結合データの一例を示す図である。
以上説明したように、第4実施形態に係る分散匿名化装置40は、データを提供した複数の事業者の信頼度に対応してデータの匿名性を保てる。
その理由は、設定部41が、記憶部11が記憶する結合データに対し、装置に応じた匿名性レベルの閾値を設定するからである。
なお、本実施形態の説明において、設定部41が、記憶部11の記憶するデータに匿名性レベルを設定するとして説明した。しかし、本実施形態は、これに限定されない。例えば、記憶部11は、事業者に応じた匿名性レベルが設定されたデータを記憶しても良い。この場合、設定部41は、含まれなくても良い。または、判定部44が、他の装置と通信する過程で、複数のグループに分割する前に、装置に応じて匿名性レベルを設定しても良い。
<第5実施形態>
次に、本発明の第5実施形態に係る分散匿名化装置50について説明する。
次に、本発明の第5実施形態に係る分散匿名化装置50について説明する。
分散匿名化装置50は、第2実施形態に係る分散匿名化装置20と同様にデータを分割した場合のエントロピーを考慮して分割点を決める。分散匿名化装置50は、分割点決定の際に、エントロピーの値に各装置の信頼度に応じた重みを付ける点で、分散匿名化装置20と異なる。
図34は、第5実施形態に係る分散匿名化装置50の構成の一例を示すブロック図である。
図34に示すように、分散匿名化装置50は、これまでの分散匿名化装置と比較して、匿名化部53を含む点で異なる。匿名化部53は、分割点決定部531を含む。
なお、他の構成は、分散匿名化装置20と同様に動作する。そのため、同様の構成には、同じ符号を付し、詳細な説明を省略する。
また、本実施形態の説明において、第2実施形態と同様、2つの病院(病院X及び病院Y)の分散匿名化装置50が、MPCの通信を用いて、匿名化を処理する。
分割点決定部531は、分割したときの各グループのエントロピーの値に基づいて分割点を決定する。ただし、分割点決定部531は、エントロピーの値を、各装置に信頼度に基づく重み付き関数を用いて算出する。例えば、分割点決定部531は、各装置の信頼度を考慮し、分割後のグループに属するデータに関し、事業者(病院X及び病院Y)の偏りがすくない点を分割点としても良い。
例えば、分割点決定部531は、分割後のグループにおけるエントロピーを、以下の式を用いて、計算しても良い。
エントロピー=Σ{−WClass×P(Class)×log(P(Class))}
ここで、エントロピーの式は、WClassを乗算する以外、第2実施形態に示した関数と同様の関数でも良い。また、上記のエントロピーの値に基づいた分割点の決定方法も、第2実施形態と同様でも良い。WClassは、Class毎の(例えば、病院X及び病院Yそれぞれの)信頼度に応じた重み係数である。
ここで、エントロピーの式は、WClassを乗算する以外、第2実施形態に示した関数と同様の関数でも良い。また、上記のエントロピーの値に基づいた分割点の決定方法も、第2実施形態と同様でも良い。WClassは、Class毎の(例えば、病院X及び病院Yそれぞれの)信頼度に応じた重み係数である。
本実施形態の説明において、分割点決定部531は、第2実施形態と同様に分割候補点で分割した場合の2つのグループのエントロピーの和の値が最大となる点を分割点とする。なお、本実施形態の説明において、信頼度は、第4実施形態と同様に、匿名性レベルとして、外部から設定部41を介して設定されるとする。
本実施形態の分散匿名化装置50の基本的な動作のフローチャートは、図27に示すフローチャートと同様である。そこで、図35〜図39を参照して、図27のフローチャートについて、これまでと異なる点を中心として、具体的に、例を用いて説明する。
まず、前提として、本実施形態の説明における記憶部11は、説明の便宜のため、これまでのデータとは異なる内容のデータを記憶するとする。
図35は、第5実施形態の記憶部11が記憶するデータを示す図である。
図35に示すように病院X及び病院Yの分散匿名化装置50(記憶部11)は、これまでと異なる内容のデータを記憶する。ただし、データの違いは、説明の便宜のためであり、本実施形態の本質的な部分に、影響しない。
図36は、図35に示すデータを結合した結合データを示す図である。
なお、図36は、これまでと同様に、仮想的なデータである。実際には、匿名化処理の途中で異なる装置間のデータが、結合されることはない。また、上述の通り、「病院」の欄のデータは、発明の理解を容易にするためのものであり、実際には存在しない。
図27のステップS11において、設定部41は、記憶部11が記憶するデータに対し、装置に応じた匿名性レベルの閾値を設定する。本実施形態の説明において、病院Xは、信頼度が低く、匿名性レベル「3」が設定されるとする。また、病院Yは、信頼度が普通であり、匿名性レベル「2」が設定されるとする。
図27のステップS1において、初期グループ化部12は、初期グループを作成する。
図37は、図36に示すデータが、初期グループ化された状態を示す図である。
図27のステップS2において、分割点決定部531は、重み付きエントロピーを考慮して分割点を決定し、決定した分割点でデータを分割する。分割候補点は、「年齢」が「21」、「22」、「23」、「24」及び「25」である。分割点決定部531は、分割候補点の全てについて、上述の式を用いてエントロピーを計算しても良い。例えば、分割点決定部531は、分割候補点で分割した場合の2つのグループのエントロピーの和の値が最大となる分割候補点を、分割点として決定しても良い。
以下に、エントロピー計算に関しての具体的な計算例を示す。
「年齢」が「21」で分割した場合のエントロピーは、以下のように計算される。なお、このとき、WClassは、各病院の匿名性レベルの値である。
(1)「年齢」が「21」未満のグループについて
エントロピー={−3×(2/4)×log(2/4)}+{−2×(2/4)×log(2/4)}=0.701374
(2)「年齢」が「21」以上のグループについて
エントロピー={−3×(4/11)×log(4/11)}+{−2×(7/11)×log(7/11)}=0.780302
よって、「年齢」が「21」で分割した場合のエントロピーは、
(1)+(2)=1.48168となる。
エントロピー={−3×(2/4)×log(2/4)}+{−2×(2/4)×log(2/4)}=0.701374
(2)「年齢」が「21」以上のグループについて
エントロピー={−3×(4/11)×log(4/11)}+{−2×(7/11)×log(7/11)}=0.780302
よって、「年齢」が「21」で分割した場合のエントロピーは、
(1)+(2)=1.48168となる。
以上のように、上述の分割候補点について重み付きでエントロピーを計算すると、各分割点候補の重み付きでエントロピーは、それぞれ順番に、「1.48168」、「1.48749」、「1.37100」、「1.46512」及び「1.48749」となる。
つまり、「年齢」の「22」又は「25」で分割した場合が、最もエントロピーの値が大きい。ここで一例として、分割点決定部531は、エントロピーの値が同じものが複数ある場合、年齢の若い値を分割点とする。そこで、分割点決定部531は、「年齢」の「22」を分割点に決定し、初期グループ化部12又は判定部14から出力されたデータと、決定した分割点とを分割実行部132に出力する。
図38は、図37に示すデータが、「年齢」の「22」で分割された状態を示す図である。
この場合、図10のステップS12において、判定部14は、いずれの病院に対しても、各グループが病院に応じた匿名性を満たすと判定する。そのため、処理は、ステップS5に進む。
具体的には、「年齢」が「20〜21」のグループは、病院Xのレコードを除くと病院Yのレコードが3つ残るため、病院Xの匿名性レベル「3」を満たす。また、「年齢」が「20〜21」のグループは、病院Yのレコードを除くと病院Xのレコードが2つ残るため、病院Yの匿名性レベル「2」を満たす。
図27のステップS5において、分割点決定部531は、新たに分割点を決定する。分割点決定部531は、現段階で最もエントロピーの和の値が大きくなる「年齢」の「25」を、分割点に決定する。
図39は、図38のデータが、「年齢」の「25」で、さらに分割された状態を示す図である。
ここで、本実施形態における分散匿名化装置50の効果を示すため、第2実施形態における分散匿名化装置20が、重み付きでないエントロピーを基に、図37に示すデータを分割する場合を考える。
図40は、図37に示すデータが、第2実施形態の分割点決定部231が決定した分割点で分割された状態を示す図である。
図40に示すように、重み付きでないエントロピーを基に分割点が決定された場合、「年齢」の「21」が、分割点に決定される。
以下に、重み無しのエントロピー計算に関しての、具体的な計算例を示す。
「年齢」が「21」で分割した場合のエントロピーは、以下のように計算される。
(1)「年齢」が「21」未満のグループについて
エントロピー={−1×(2/4)×log(2/4)}+{−1×(2/4)×log(2/4)}=0.30103
(2)「年齢」が「21」以上のグループについて
エントロピー={−1×(4/11)×log(4/11)}+{−1×(7/11)×log(7/11)}=0.28467
よって、「年齢」が「21」で分割した場合のエントロピーは、
(1)+(2)=0.58570となる。
エントロピー={−1×(2/4)×log(2/4)}+{−1×(2/4)×log(2/4)}=0.30103
(2)「年齢」が「21」以上のグループについて
エントロピー={−1×(4/11)×log(4/11)}+{−1×(7/11)×log(7/11)}=0.28467
よって、「年齢」が「21」で分割した場合のエントロピーは、
(1)+(2)=0.58570となる。
以上のように、上述の分割候補点の重み無しでのエントロピーを計算すると、各分割候補点の重み無しでのエントロピーは、それぞれ順番に、「0.58570」、「0.58457」、「0.54080」、「0.57478」及び「0.58457」となる。
従って、図40に示すように、結合データは、最もエントロピーの値が大きい「年齢」の「21」で分割される。この分割の場合、判定部44は、「年齢」が「20」のグループが、病院Xのレコードを除いた場合、病院Yのレコードが2つしか残らず、病院Xの匿名性レベル「3」を満たさないと判定する。したがって、この例において、分散匿名化装置50は、病院に応じた信頼度を考慮した重み付きエントロピーを用いて、より適切に、データを分割できる。
以上説明したように、第5実施形態に係る分散匿名化装置50は、匿名化対象のデータを、病院に応じた信頼度を考慮した適切なグループに分割できる。
その理由は、分割点決定部531が、重み付きエントロピーを用いて、信頼度を考慮した最もデータの偏りが少ない点を、分割点とするからである。
<第6実施形態>
次に、本発明の第6実施形態に係る分散匿名化装置60について説明する。
次に、本発明の第6実施形態に係る分散匿名化装置60について説明する。
図41は、第6実施形態に係る分散匿名化装置60の構成の一例を示すブロック図である。
図41に示すように、分散匿名化装置60は、匿名化部61と判定部62とを含む。分散匿名化装置60は、他の分散匿名化装置60と通信しながら、匿名化を処理する。
判定部62は、自装置が記憶するレコードと他の装置が記憶するレコードとを結合した結合データに関し、全ての装置に対してもデータの匿名性が保たれるか否かを、全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて、判定する。
匿名化部61は、判定部62の匿名性の判定結果に基づいて、データの匿名化処理を繰り返す。
図42は、第6実施形態の分散匿名化装置60の動作の一例を示すフローチャートである。ステップS1からステップS8の各動作は、第1実施形態における分散匿名化装置10の動作である図10に示す各動作と同様である。
以上説明したように、第6実施形態に係る分散匿名化装置60は、データを提供したいずれの事業者に対しても、データの匿名性を保てる。
<ハードウェア構成>
図43は、第1実施形態の分散匿名化装置10のハードウェア構成の一例を示すブロック図である。
図43は、第1実施形態の分散匿名化装置10のハードウェア構成の一例を示すブロック図である。
図43に示すように、分散匿名化装置10を構成する各部は、CPU(Central Processing Unit)1と、ネットワーク接続用の通信IF2(通信インターフェース2)と、メモリ3と、プログラムを格納するハードディスク等の記憶装置4と、入力装置5と、出力装置6とを含む、コンピュータ装置を用いて、実現される。ただし、分散匿名化装置10の構成は、図43に示すコンピュータ装置に限定されない。
例えば、病院X及び病院Yのデータは、通信IF2を介して記憶部11に格納されても良い。
CPU1は、オペレーティングシステムを動作させて、分散匿名化装置10の全体を制御する。また、CPU1は、例えば、ドライブ装置に装着された記録媒体からメモリ3にプログラムやデータを読み出し、これらにしたがって、各処理を実行する。
例えば、判定部14及び匿名化部13は、CPU1及びプログラムに基づき実現されても良い。
記憶装置4は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリであり、コンピュータプログラムをコンピュータで読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされても良い。
例えば、記憶部11は、記憶装置4を用いて実現されても良い。
入力装置5は、例えば、マウスやキーボードである。出力装置6は、例えば、ディスプレイである。
第2から第6の実施形態に係る分散匿名化装置20〜60も、CPUとプログラムを記憶した記憶装置とを含むコンピュータ装置を用いて、構成されてもよい。
なお、これまでに説明した各実施形態において利用するブロック図(図9、図14、図19、図26、図34及び図41)は、ハードウェア単位の構成ではなく、機能単位のブロックを示す。これらの機能ブロックは、ハードウェア及びソフトウェアの任意の組み合わせを用いて実現される。また、分散匿名化装置10を実現する構成は、特に限定されない。すなわち、分散匿名化装置10は、物理的に結合した一つの装置を用いて実現されても良いし、物理的に分離した二つ以上の装置を有線又は無線で接続し、これら複数の装置を用いて実現されても良い。
本発明のプログラムは、上記の各実施形態で説明した各動作を、コンピュータに実行させるプログラムであれば良い。
以上、実施形態を参照して本願発明を説明したが、本願発明は、上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2012年 2月17日に出願された日本出願特願2012−032993を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 CPU
2 通信IF
3 メモリ
4 記憶装置
5 入力装置
6 出力装置
10、20、30、40、50、60 分散匿名化装置
11 記憶部
12 初期グループ化部
13、23、33、53、61 匿名化部
14、34、44、62 判定部
41 設定部
131、231、331、531 分割点決定部
132 分割実行部
2 通信IF
3 メモリ
4 記憶装置
5 入力装置
6 出力装置
10、20、30、40、50、60 分散匿名化装置
11 記憶部
12 初期グループ化部
13、23、33、53、61 匿名化部
14、34、44、62 判定部
41 設定部
131、231、331、531 分割点決定部
132 分割実行部
Claims (14)
- 他装置と通信しながら匿名化処理を実行する分散匿名化装置であって、
自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する判定手段と、
前記判定手段の匿名性の判定結果に基づいて、データに対し匿名化処理を実行する匿名化手段と、
を含む分散匿名化装置。 - 前記データは、ユーザに関する属性情報であるユーザ属性情報についての1以上のレコードであって、当該データを記憶する記憶手段と、
をさらに含み、
前記判定手段は、
各装置の記憶手段が記憶するデータに関し、前記ユーザ属性情報のうちの準識別子の値が同一であるグループから、自装置の記憶手段が記憶するレコードを除いた場合における、当該グループに含まれるレコード数が、予め定められた匿名性の指標である閾値以上であるか否かの判定を基に、前記匿名性が保たれるか否かを判定する、
請求項1に記載の分散匿名化装置。 - 前記匿名化手段は、前記判定手段が、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて、前記全ての装置において前記レコード数が前記匿名性の指標である閾値以上であると判定する限りにおいて、データの分割処理である前記匿名化処理を実行する、
請求項2に記載の分散匿名化装置。 - 前記匿名化手段は、
前記記憶手段が記憶するデータの分割点を決定する分割点決定手段と、
前記分割点決定手段で決定した分割点で前記記憶手段が記憶するデータを分割する分割実行手段と
を含み、
前記分割決定手段及び前記分割実行手段を基に前記データの分割処理である匿名化処理を実行する、
請求項3に記載の分散匿名化装置。 - 前記分割点決定手段は、前記分割点を、分割したときの各グループのエントロピーの値に基づいて決定する、
請求項4に記載の分散匿名化装置。 - 前記分割点決定手段は、前記エントロピーの値を、各装置に信頼度に基づく重み付き関数を用いて算出する、
請求項5に記載の分散匿名化装置。 - 前記匿名化手段は、前記判定手段が、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて、前記全ての装置の少なくとも1つの装置において前記レコード数が前記匿名性の指標である閾値未満であると判定する限りにおいて、データの統合処理である前記匿名化処理を実行する、
請求項2に記載の分散匿名化装置。 - 前記全ての装置は、全部で三つ以上の装置である場合に、
前記判定手段は、前記グループのうち、当該グループに含まれるレコードを記憶する装置の数が三つ以上であるグループにおいて、二つの装置を一種として判定する、
請求項2〜7のいずれか1項に記載の分散匿名化装置。 - 前記判定手段は、装置に応じた閾値を基に、前記レコード数が、前記匿名性の指標である閾値以上であるか否かを判定する、
請求項2〜8のいずれか1項に記載の分散匿名化装置。 - 前記判定手段は、各装置の記憶手段が記憶するデータに関し、前記ユーザ属性情報のうちの準識別子の値が同一であるグループから、自装置の記憶手段が記憶するレコードを除いた場合における、当該グループに含まれるセンシティブ情報の種類の数が、予め定められた多様性の指標である閾値以上であるか否かについても判定し、
前記匿名化手段は、前記判定手段の匿名性及び多様性の判定結果に基づいて、データに対し匿名化処理を実行する、
請求項2〜9のいずれか1項に記載の分散匿名化装置。 - 前記全ての装置の間で互いにデータを開示しない方法に基づく通信は、MPCに基づく通信である、
請求項1〜10のいずれか1項に記載の分散匿名化装置。 - 前記判定手段の判定結果に基づいて、匿名化処理済みのデータを出力する出力手段、
を含む請求項1〜11に記載の分散匿名化装置。 - 他装置と通信しながら匿名化処理を実行する分散匿名化方法であって、
自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定し、
前記匿名性の判定結果に基づいて、データに対し匿名化処理を実行する、
分散匿名化方法。 - 他装置と通信しながら匿名化処理を実行させるプログラムであって、
自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する処理と、
前記匿名性の判定結果に基づいて、データに対し匿名化処理を実行する処理と
をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014500089A JPWO2013121738A1 (ja) | 2012-02-17 | 2013-02-06 | 分散匿名化装置及び分散匿名化方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012032993 | 2012-02-17 | ||
JP2012032993 | 2012-02-17 | ||
JP2014500089A JPWO2013121738A1 (ja) | 2012-02-17 | 2013-02-06 | 分散匿名化装置及び分散匿名化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2013121738A1 true JPWO2013121738A1 (ja) | 2015-05-11 |
Family
ID=48983875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014500089A Pending JPWO2013121738A1 (ja) | 2012-02-17 | 2013-02-06 | 分散匿名化装置及び分散匿名化方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2013121738A1 (ja) |
WO (1) | WO2013121738A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2014185043A1 (ja) * | 2013-05-15 | 2017-02-23 | 日本電気株式会社 | 情報処理装置、情報匿名化方法、及び、プログラム |
JP6632796B2 (ja) * | 2014-10-14 | 2020-01-22 | Kddi株式会社 | データベース評価装置、方法及びプログラム、並びにデータベース分割装置、方法及びプログラム |
EP3520014B1 (de) | 2016-11-28 | 2020-04-15 | Siemens Aktiengesellschaft | Verfahren und system zum anonymisieren von datenbeständen |
JP6715816B2 (ja) * | 2017-11-20 | 2020-07-01 | 株式会社日立製作所 | 匿名化データ評価システム及び方法、並びに匿名レベル判定サーバ |
US11106820B2 (en) * | 2018-03-19 | 2021-08-31 | International Business Machines Corporation | Data anonymization |
JP2021056435A (ja) | 2019-10-01 | 2021-04-08 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
JP7118198B1 (ja) * | 2021-03-26 | 2022-08-15 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 処理システム、処理方法及び処理プログラム |
-
2013
- 2013-02-06 WO PCT/JP2013/000636 patent/WO2013121738A1/ja active Application Filing
- 2013-02-06 JP JP2014500089A patent/JPWO2013121738A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2013121738A1 (ja) | 2013-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6065833B2 (ja) | 分散匿名化システム、分散匿名化装置及び分散匿名化方法 | |
JP6007969B2 (ja) | 匿名化装置及び匿名化方法 | |
WO2013121738A1 (ja) | 分散匿名化装置及び分散匿名化方法 | |
JP6015658B2 (ja) | 匿名化装置、及び、匿名化方法 | |
WO2013088681A1 (ja) | 匿名化装置、匿名化方法、並びにコンピュータ・プログラム | |
WO2016121493A1 (ja) | 匿名化処理装置、匿名化処理方法及びプログラム | |
EP3832559A1 (en) | Controlling access to de-identified data sets based on a risk of re-identification | |
JPWO2012176923A1 (ja) | 匿名化指標決定装置及び方法、並びに匿名化処理実行システム及び方法 | |
JP5782636B2 (ja) | 情報匿名化システム、情報損失判定方法、及び情報損失判定プログラム | |
JP2013200659A (ja) | 属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラム | |
US20140208437A1 (en) | Anonymization device, anonymization method and recording medium recording program therefor | |
JP5974858B2 (ja) | 匿名化処理方法及び装置 | |
JP2017228255A (ja) | 評価装置、評価方法及びプログラム | |
JP2019095885A (ja) | 匿名化データ評価システム及び方法、並びに匿名レベル判定サーバ | |
JPWO2014061275A1 (ja) | 情報処理装置及び情報処理方法 | |
JPWO2016203752A1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
Lines | Games People Play: Lessons on Performance Measure Gaming from New Zealand Comment on" Gaming New Zealand’s Emergency Department Target: How and Why Did It Vary Over Time and Between Organisations?" | |
WO2013183250A1 (ja) | 匿名化を行う情報処理装置及び匿名化方法 | |
Henriot et al. | Preventing iatrogenic HCV infection: A quantitative risk assessment based on observational data in an Egyptian hospital | |
JP6015661B2 (ja) | データ分割装置、データ分割システム、データ分割方法及びプログラム | |
US20170185735A1 (en) | Analyzing doctor-doctor, patient-doctor, and patient-patient social networks | |
JP6321559B2 (ja) | アクセス制御装置、アクセス制御方法及びアクセス制御プログラム | |
WO2016067566A1 (ja) | 情報処理装置、情報処理方法、及び、記録媒体 | |
Psarra et al. | Permissioned Blockchain Network for Proactive Access Control to Electronic Health Records | |
CA3144354C (en) | Middleware-mediated user-to-user service between users of different computing systems |