特許第6437842号(P6437842)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許6437842プライバシー保護装置、方法及びプログラム
<>
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000006
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000007
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000008
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000009
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000010
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000011
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000012
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000013
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000014
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000015
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000016
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000017
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000018
  • 特許6437842-プライバシー保護装置、方法及びプログラム 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6437842
(24)【登録日】2018年11月22日
(45)【発行日】2018年12月12日
(54)【発明の名称】プライバシー保護装置、方法及びプログラム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20181203BHJP
   G06F 21/62 20130101ALI20181203BHJP
【FI】
   G06F17/30 120A
   G06F17/30 350C
   G06F21/62 354
【請求項の数】8
【全頁数】23
(21)【出願番号】特願2015-29713(P2015-29713)
(22)【出願日】2015年2月18日
(65)【公開番号】特開2016-151936(P2016-151936A)
(43)【公開日】2016年8月22日
【審査請求日】2017年8月16日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】清本 晋作
(72)【発明者】
【氏名】三宅 優
【審査官】 吉田 誠
(56)【参考文献】
【文献】 特開2006−140944(JP,A)
【文献】 特開2003−016064(JP,A)
【文献】 国際公開第2014/050027(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
複数の属性から成るレコードであって前記属性のうち組み合わせると個人を特定することが可能な準識別子を含む複数の前記レコードから構成されるテーブルについて匿名化を行い、利用者に提供するプライバシー保護装置であって、
前記テーブルの匿名化を行い、同一の前記テーブルから複数の互いに異なる匿名テーブルを生成する匿名テーブル生成手段と、
生成された前記匿名テーブル同士の全ての組み合わせごとにおける、前記匿名テーブル間の類似度を計測する類似度計測手段と、
計測した前記類似度がいずれも閾値未満の組み合わせのみからなる前記匿名テーブルを選択する選択手段と、
を備えるプライバシー保護装置。
【請求項2】
前記類似度は、属性値が一致する前記属性の割合が所定の割合以上である前記レコードの総数と、前記匿名テーブルに含まれる前記レコードの総数との比率で表される、請求項1に記載のプライバシー保護装置。
【請求項3】
前記匿名テーブルの特徴量を算出する特徴量算出手段と、
前記利用者の識別情報と、前記利用者に提供した前記匿名テーブルの前記特徴量とを対応付けてテーブル記憶手段に記憶させるテーブル記憶制御手段と、をさらに備える、請求項1又は2に記載のプライバシー保護装置。
【請求項4】
テーブル記憶制御手段は、前記利用者の識別情報に前記匿名テーブルをさらに対応付けてテーブル記憶手段に記憶させる、請求項3に記載のプライバシー保護装置。
【請求項5】
入力されたテーブルと、前記テーブル記憶手段に記憶された情報とに基づいて、前記入力されたテーブルの利用者を特定する特定手段をさらに備える請求項3又は4に記載のプライバシー保護装置。
【請求項6】
前記選択手段は、選択する前記匿名テーブルの個数が所定の個数以内になるように、前記類似度の低い前記匿名テーブルの組み合わせから順に選択する、請求項1から5のいずれか一項に記載のプライバシー保護装置。
【請求項7】
請求項1に記載のプライバシー保護装置が実行する方法であって、
前記匿名テーブル生成手段が、前記テーブルの匿名化を行い、同一の前記テーブルから複数の互いに異なる匿名テーブルを生成する匿名テーブル生成ステップと、
前記類似度計測手段が、生成された前記匿名テーブル同士の全ての組み合わせごとにおける、前記匿名テーブル間の類似度を計測する類似度計測ステップと、
前記選択手段が、計測した前記類似度がいずれも閾値未満の組み合わせのみからなる前記匿名テーブルを選択する選択ステップと、
を備える方法。
【請求項8】
ンピュータに、請求項7に記載の方法の各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プライバシー保護装置、方法及びプログラムに関する。
【背景技術】
【0002】
従来より、コンピュータ等によって集められたデータは統計処理され、その結果得られた情報が活用されている。例えば、病気と、年代、性別、地域、人種といった情報とを含む大量のデータは統計処理されて、病気の傾向分析や予防対策に用いられている。
【0003】
このようなデータを提供する場合には、提供者は、プライバシーを慎重に保護し、個々のデータの所有者が特定されないように、データの変形処理を行う必要がある。そのため、今までにも、プライバシーを保護するためのデータの変形処理に関する技術が多く開示されている。例えば、データの一部を一般化やあいまい化することにより、データを組み合わせても個人が特定されないようにするk−匿名化手法の技術が開示されている(特許文献1、非特許文献1参照)。
また、匿名化技術を用いて、1つの元のデータからk−匿名性を満たす複数の匿名化データを生成することが可能である。提供者は、この特性を利用して、匿名化データを提供する際に、利用者ごとに異なる匿名化データを提供することで、匿名化データの漏洩元を特定することも可能である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012−159982号公報
【非特許文献】
【0005】
【非特許文献1】B.Fung and K.Wang and P.Yu,“Top−down specialization for information and privacy preservation” Proc of ICDE 2005 pp.205−216
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、不正者は受け取った匿名化データ(以降、匿名化データを匿名テーブルといい、元のデータを元のテーブルという。)の一部を切り出して漏洩させる可能性がある。一部切り出しての漏洩では、その切り出したデータが別の匿名テーブルの一部と一致することにより、漏洩元を特定することが困難になる場合がある。
【0007】
そこで、提供した匿名テーブルの一部が漏洩した場合にも、他の匿名テーブルと識別可能な匿名テーブルを提供することができる装置が求められている。
【0008】
本発明は、提供した匿名テーブルの一部が漏洩した場合にも、他の匿名テーブルと識別可能な匿名テーブルを提供することができるプライバシー保護装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
具体的には、以下のような解決手段を提供する。
(1) 複数の属性から成るレコードであって前記属性のうち組み合わせると個人を特定することが可能な準識別子を含む複数の前記レコードから構成されるテーブルについて匿名化を行い、利用者に提供するプライバシー保護装置であって、前記テーブルの匿名化を行い、同一の前記テーブルから複数の互いに異なる匿名テーブルを生成する匿名テーブル生成手段と、生成された前記匿名テーブル同士の全ての組み合わせごとにおける、前記匿名テーブル間の類似度を計測する類似度計測手段と、計測した前記類似度がいずれも閾値未満の組み合わせのみからなる前記匿名テーブルを選択する選択手段と、を備えるプライバシー保護装置。
【0010】
(1)のプライバシー保護装置は、同一のテーブルから複数の互いに異なる匿名テーブルを生成し、生成した匿名テーブル同士の全ての組み合わせごとにおける、匿名テーブル間の類似度を計測し、計測した類似度がいずれも閾値未満の組み合わせのみからなるように匿名テーブルを選択する。
【0011】
すなわち、(1)のプライバシー保護装置は、互いの類似度がいずれも閾値未満となる匿名テーブルを選択して提供することにより、利用者ごとの匿名テーブル間の差異が顕著になり、利用者の識別性が増すので、提供した匿名テーブルの一部が漏洩した場合にも、他の匿名テーブルと識別可能な匿名テーブルを提供することができる。
【0012】
(2) 前記類似度は、属性値が一致する前記属性の割合が所定の割合以上である前記レコードの総数と、前記匿名テーブルに含まれる前記レコードの総数との比率で表される、(1)に記載のプライバシー保護装置。
【0013】
(2)のプライバシー保護装置は、定量化された類似度を計測することにより、識別性の高い匿名テーブル同士を容易に見つけることができる。
【0014】
(3) 前記匿名テーブルの特徴量を算出する特徴量算出手段と、前記利用者の識別情報と、前記利用者に提供した前記匿名テーブルの前記特徴量とを対応付けてテーブル記憶手段に記憶させるテーブル記憶制御手段と、をさらに備える、(1)又は(2)に記載のプライバシー保護装置。
【0015】
(3)のプライバシー保護装置は、提供した匿名テーブルの特徴量を利用者に対応付けて記憶させることにより、漏洩した匿名テーブルの特定が容易になる。
【0016】
(4) テーブル記憶制御手段は、前記利用者の識別情報に前記匿名テーブルをさらに対応付けてテーブル記憶手段に記憶させる、(3)に記載のプライバシー保護装置。
【0017】
(4)のプライバシー保護装置は、提供した匿名テーブルを利用者に対応付けて記憶させることにより、匿名テーブルの一部が漏洩した場合であっても、漏洩データと提供した匿名テーブルとの照合ができるので、漏洩した匿名テーブルの利用者を特定することができる。
【0018】
(5) 入力されたテーブルと、前記テーブル記憶手段に記憶された情報とに基づいて、前記入力されたテーブルの利用者を特定する特定手段をさらに備える(3)又は(4)に記載のプライバシー保護装置。
【0019】
(5)のプライバシー保護装置は、入力されたテーブルの利用者を自動的に特定することができる。
【0020】
(6) 前記選択手段は、選択する前記匿名テーブルの個数が所定の個数以内になるように、前記類似度の最も低い前記匿名テーブルの組み合わせから順に選択する、(1)から(5)のいずれか一に記載のプライバシー保護装置。
【0021】
(6)のプライバシー保護装置は、類似度の最も低い匿名テーブルの組み合わせから順に所定の個数の匿名テーブルを選択することにより、提供した匿名テーブルのより高い識別性を確保することができる。
【0022】
(7) (1)に記載のプライバシー保護装置が実行する方法であって、前記匿名テーブル生成手段が、前記テーブルの匿名化を行い、同一の前記テーブルから複数の互いに異なる匿名テーブルを生成する匿名テーブル生成ステップと、前記類似度計測手段が、生成された前記匿名テーブル同士の全ての組み合わせごとにおける、前記匿名テーブル間の類似度を計測する類似度計測ステップと、前記選択手段が、計測した前記類似度がいずれも閾値未満の組み合わせのみからなる前記匿名テーブルを選択する選択ステップと、を備える方法。
【0023】
(7)の方法は、(1)と同様に、提供した匿名テーブルの一部が漏洩した場合にも、他の匿名テーブルと識別可能な匿名テーブルを提供することができる。
【0024】
(8) コンピュータに、(7)に記載の方法の各ステップを実行させるためのプログラム。
【0025】
(8)のプログラムは、コンピュータに、提供した匿名テーブルの一部が漏洩した場合にも、他の匿名テーブルと識別可能な匿名テーブルを提供できるように機能させることができる。
【発明の効果】
【0026】
本発明によれば、提供した匿名テーブルの一部が漏洩した場合にも、他の匿名テーブルと識別可能な匿名テーブルを提供することができる。
【図面の簡単な説明】
【0027】
図1】本発明の一実施形態に係るプライバシー保護装置の構成を示すブロック図である。
図2】本発明の一実施形態に係るプライバシー保護装置のテーブル記憶手段の例を示す図である。
図3】本発明の一実施形態に係るプライバシー保護装置の匿名テーブルの生成処理の例を示すフローチャートである。
図4図3に続くフローチャートである。
図5】本発明の一実施形態に係るプライバシー保護装置の特定処理の例を示すフローチャートである。
図6】本発明の一実施形態に係るプライバシー保護装置による属性値の階層化の例を示す図である。
図7】本発明の一実施形態に係るプライバシー保護装置により匿名化される前の元のテーブルの例を示す図である。
図8】本発明の一実施形態に係るプライバシー保護装置によるトップダウン処理又はボトムアップ処理を説明するための図である。
図9】本発明の一実施形態に係るプライバシー保護装置によるトップダウン処理とボトムアップ処理との繰り返しを説明するための図である。
図10】本発明の一実施形態に係るプライバシー保護装置の匿名テーブルの作成処理の例を示すフローチャートである。
図11】本発明の一実施形態に係るプライバシー保護装置の匿名化処理の例を示すフローチャートである。
図12】本発明の一実施形態に係るプライバシー保護装置のトップダウン処理の例を示すフローチャートである。
図13図12に続くフローチャートである。
図14】本発明の一実施形態に係るプライバシー保護装置のボトムアップ処理の例を示すフローチャートである。
【発明を実施するための形態】
【0028】
以下、本発明の実施形態について、図を参照しながら説明する。図1は、本発明の一実施形態に係るプライバシー保護装置10の構成を示すブロック図である。
プライバシー保護装置10は、匿名テーブル生成手段11と、類似度計測手段12と、選択手段13と、特徴量算出手段14と、テーブル記憶制御手段15と、特定手段16と、テーブル記憶手段31とを備える。
【0029】
プライバシー保護装置10が匿名化を行うテーブルは、複数の属性から成るレコードであって属性のうち組み合わせると個人を特定することが可能な準識別子を含む複数のレコードから構成される。
例えば、レコードは、匿名化のための加工をしない重要情報(sensitive information)と、準識別子(quasi−identifier)と、匿名化のために削除する削除すべき情報と、を含む(後述する図7参照)。
【0030】
匿名テーブル生成手段11は、テーブルの匿名化を行い、同一のテーブルから複数の互いに異なる匿名テーブルを生成する。
具体的には、匿名テーブル生成手段11は、設定(例えば、匿名化を行うレコードの開始順番や、準識別子の属性の設定等(例えば、重要度の設定、一般化の限界レベルの設定等))に基づいて、テーブルの匿名化を行う。準識別子の属性の設定は、管理者又は提供者により入力される。匿名テーブル生成手段11は、異なる設定ごとに、同一のテーブルから互いに異なる匿名テーブルを生成する。匿名テーブル生成手段11は、利用者の数に対して十分大きな数の匿名テーブルを生成し、記憶させる。
重要度の設定のための入力や、テーブルの具体的な匿名化については、匿名テーブルの作成処理の実施例により後述する。
【0031】
類似度計測手段12は、匿名テーブル生成手段11によって生成された匿名テーブル同士の全ての組み合わせごとにおける、匿名テーブル間の類似度を計測する。類似度は、属性値が一致する属性の割合が所定の割合以上であるレコードの総数と、匿名テーブルに含まれるレコードの総数との比率で表される。
すなわち、類似度は、属性値が一致する属性の個数と、準識別子を構成する属性の全個数との割合が所定の割合以上である場合にレコード同士が一致しているとみなされ、例えば、次の式で計算される。
匿名テーブルT1とT2との類似度:=一致する属性の割合が所定の割合以上であるレコードの総数/レコードの総数
ここで、匿名テーブルT1とT2とのレコードの総数は同一であると仮定している。なお、同一でない場合、レコードの総数は、レコードの総数が大きい方の総数としてよく、小さい方でも平均でもよい。
【0032】
選択手段13は、匿名テーブル同士の類似度がいずれも閾値未満の組み合わせのみからなるような匿名テーブルを選択する。
具体的には、選択手段13は、匿名テーブル生成手段11によって生成された一の匿名テーブルと他の匿名テーブルとの全ての組み合わせにおいて、最高の類似度が閾値以上である場合に、最高の類似度の組み合わせにおける一方の匿名テーブルを削除する。
例えば、選択手段13は、匿名テーブル1と匿名テーブル2との組み合わせ、・・・、匿名テーブル1と匿名テーブルnとの組み合わせにおいて、匿名テーブル1と匿名テーブル2との組み合わせが最高の類似度である場合であって最高の類似度が閾値以上である場合に、匿名テーブル2を削除する。次に、選択手段13は、匿名テーブル3と匿名テーブル1との組み合わせ、匿名テーブル3と匿名テーブル4との組み合わせ、・・・、匿名テーブル3と匿名テーブルnとの組み合わせにおいて、匿名テーブル3と匿名テーブル4との組み合わせが最高の類似度である場合であって最高の類似度が閾値以上である場合に、匿名テーブル4を削除する。
この例のように、選択手段13は、最高の類似度が閾値以上である組み合わせにおける一方の匿名テーブルを削除することを繰り返し、残った匿名テーブルの組み合わせにおいて、類似度がいずれも閾値未満の組み合わせのみからなるような匿名テーブルを選択する。
【0033】
さらに、選択手段13は、選択する匿名テーブルの個数が所定の個数以内になるように、類似度の低い匿名テーブルの組み合わせから順に選択する。
具体的には、選択手段13は、匿名テーブル同士の類似度がいずれも閾値未満の組み合わせのみからなるような匿名テーブルの組み合わせのうち、類似度の最も低い匿名テーブルの組み合わせから順に選択し、選択した匿名テーブルの個数が所定の個数以内になるようにする。
【0034】
特徴量算出手段14は、選択手段13によって選択された匿名テーブルの特徴量(例えば、ハッシュ値)を算出する。具体的には、特徴量算出手段14は、特徴量を算出する関数(例えば、ハッシュ関数)を用いて、匿名テーブルの特徴量(例えば、ハッシュ値)を算出する。
【0035】
テーブル記憶制御手段15は、利用者の識別情報と、利用者に提供した匿名テーブルの特徴量(例えば、ハッシュ値)とを対応付けてテーブル記憶手段31に記憶させる。テーブル記憶制御手段15は、利用者の識別情報に匿名テーブルをさらに対応付けてテーブル記憶手段31に記憶させるとしてもよい(後述する図2参照)。利用者の識別情報は、管理者又は提供者等により入力されるとしてよい。
【0036】
特定手段16は、入力されたテーブルと、テーブル記憶手段31に記憶された情報とに基づいて、入力されたテーブルの利用者を特定する。
具体的には、特定手段16は、入力されたテーブル(例えば、漏洩されたと疑われる匿名テーブル)の特徴量(例えば、ハッシュ値)を求め、求めた特徴量とテーブル記憶手段31に記憶されている特徴量とを比較し、同一の特徴量に対応付けられた利用者を、入力されたテーブルの利用者として特定する。
さらに、特定手段16は、入力されたテーブルと、テーブル記憶手段31に記憶された匿名テーブルとを比較し、入力されたテーブルを含む匿名テーブルに対応付けられた利用者を、入力されたテーブルの利用者として特定するとしてもよい。
【0037】
図2は、本発明の一実施形態に係るプライバシー保護装置10のテーブル記憶手段31の例を示す図である。図2が示すように、テーブル記憶手段31は、入力された利用者識別情報に、利用者に提供した匿名テーブルと、その匿名テーブルの特徴量(例えば、ハッシュ値)とを対応付けて記憶する。
【0038】
図3及び図4は、本発明の一実施形態に係るプライバシー保護装置10の匿名テーブルの生成処理の例を示すフローチャートである。プライバシー保護装置10は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、制御部(例えば、CPU)が、OSの下で所定のソフトウェアに従い実行する処理である。本処理は、管理者又は提供者による匿名テーブルの生成の要求により起動される。
【0039】
ステップS11において、CPU(匿名テーブル生成手段11)は、設定(匿名化を行うレコードの開始順番や、準識別子の属性の設定等)を変えて、複数の異なる匿名テーブルを生成する。匿名テーブルの生成は、図10から図13で示される。
【0040】
ステップS12において、CPU(類似度計測手段12)は、一の匿名テーブルと他の匿名テーブルとの組み合わせを全て作成する。
【0041】
ステップS13において、CPU(類似度計測手段12)は、組み合わせた匿名テーブルの類似度を算出する。
【0042】
ステップS14において、CPU(選択手段13)は、最大の類似度が閾値以上か否かを判断する。この判断がYESの場合、CPUは、処理をステップS15に移し、この判断がNOの場合、CPUは、処理をステップS16に移す。
【0043】
ステップS15において、CPU(選択手段13)は、最大の類似度の組み合わせのうち一の匿名テーブルに対する他の匿名テーブルを削除する。
【0044】
ステップS16において、CPU(選択手段13)は、次の匿名テーブルがあるか否かを判断する。この判断がYESの場合、CPUは、処理をステップS17に移し、この判断がNOの場合、CPUは、処理をステップS18に移す。
【0045】
ステップS17において、CPU(類似度計測手段12)は、次の匿名テーブルを一の匿名テーブルとする。その後、CPUは、処理をステップS12に移す。
【0046】
ステップS18において、CPU(選択手段13)は、残った匿名テーブルの組み合わせにおいて、類似度がいずれも閾値未満の組み合わせのみからなるか否かを判断する。この判断がYESの場合、CPUは、処理をステップS19に移し、この判断がNOの場合、CPUは、処理をステップS12に移す。
【0047】
ステップS19において、CPU(選択手段13)は、選択する匿名テーブルの個数が所定の個数以内になるように、類似度の最も低い匿名テーブルの組み合わせから順に匿名テーブルを選択する。
【0048】
ステップS20において、CPU(特徴量算出手段14)は、選択した匿名テーブルの特徴量(例えば、ハッシュ値)を算出する。
【0049】
ステップS21において、CPU(テーブル記憶制御手段15)は、入力された利用者の識別情報と特徴量(例えば、ハッシュ値)及び匿名テーブルとを対応付けてテーブル記憶手段31に記憶させる。その後、CPUは、処理を終了する。
【0050】
図5は、本発明の一実施形態に係るプライバシー保護装置10の特定処理の例を示すフローチャートである。本処理は、管理者又は提供者による要求であってテーブルの利用者を特定するための要求により起動される。
【0051】
ステップS31において、CPU(特定手段16)は、テーブルを入力する。
【0052】
ステップS32において、CPU(特定手段16)は、テーブル記憶手段31の特徴量(例えば、ハッシュ値)又は匿名テーブルと照合することにより、入力したテーブルの利用者を特定する。その後、CPUは、処理を終了する。
【0053】
[匿名テーブルの作成処理の実施例]
次に、匿名テーブルの作成処理の実施例について説明する。
匿名テーブルの作成処理は、テーブルの加工のときに、そのテーブルを構成する各属性に対して重み(重要度)を設定し、特殊な関数を用いて、加工したテーブルを評価することで、利用者が求める情報を可能な限り保持すると共に匿名化されたテーブルを生成する。
【0054】
匿名テーブルの作成処理のうち匿名化処理は、トップダウン処理(後述の木構造データに基づいて、属性値の詳細化を行う処理)を実施した後、ボトムアップ処理(後述の木構造データに基づいて、属性値の一般化を行う処理)により逆方向に変形し、さらにトップダウン処理で再度変形する、という処理を繰り返すことにより最適なテーブルを導出する。その際には、匿名化処理は、k−匿名性(k−anonymity)判定に加え、l−多様性(l−diversity)判定もしくはt−近似性(t−closeness)判定も行う。また、匿名化処理は、トップダウン処理において評価ポイントの概算を導入し、不要な処理を削減する。そのうえ、匿名化処理の後、匿名テーブルの作成処理は、評価ポイントが最高となったテーブルについて部分匿名化を実施することにより、さらに情報量の多いテーブルを作成する。
なお、評価ポイントの概算については、2種類の評価関数が用意され、選択制とすることにより異なる特性を持つテーブルの出力が可能である。
【0055】
すなわち、匿名テーブルの作成処理は、重要度の入力(設定処理)と、匿名化処理におけるトップダウン処理の処理負荷を軽減するための前処理と、評価ポイントの概算を導入したトップダウン処理及びボトムアップ処理を繰り返す匿名化処理と、部分匿名化処理と、を含む。匿名テーブルの作成処理の例として、一般化又は詳細化のための木構造データ、重要度の入力、評価ポイントの算出、前処理、トップダウン処理、ボトムアップ処理、再トップダウン処理、部分匿名化処理、匿名性条件判定、及び匿名テーブル出力ごとに説明する。
【0056】
[一般化又は詳細化のための木構造データ]
匿名化のための属性値の一般化又は詳細化のための木構造データについて説明する。
属性値が数値データではない場合、属性値の持つ意味の包含関係によって構築された木構造が、属性値の一般化又は詳細化のための上位又は下位ノード探索のために必要である。図6を参照して属性値の階層構造について説明する。図6は、本発明の一実施形態に係るプライバシー保護装置10による属性値の階層化の例を示す図である。図6の例は、年齢の階層化がレベル0(L0)からレベル3(L3)に設定され、それぞれのレベルでの属性値の取り得る値についての木構造を表形式で示している。例えば、図6は、年齢が「6」歳であるレコードが1レベルだけ一般化されると、年齢が「6〜9」に一般化され、さらに1レベルだけ一般化されると、年齢が「少年」に一般化されることを示している。
このように、属性値の上下関係によって構成された階層構造を事前に作成しておく必要がある。すなわち、各属性に対してこのような木構造データを提供者が設定可能とする。数値データに関しては一定の値ごとに階層化できるため、木構造データは必ずしも必要ではない。なお、木構造データの構成に関して既存のソフトウェアを使用できる場合は、使用してもよい。また、木構造データは各レベルのノード数を情報として含んでもよい。
【0057】
図7は、本発明の一実施形態に係るプライバシー保護装置10により匿名化される前の元のテーブルの例を示す図である。図7が示すように、元のテーブルは、重要情報と準識別子と削除すべき情報とのいずれかに設定された複数の属性を含む複数のレコードから構成される。準識別子の属性には、重要度(後述する重要度の入力参照)が設定され、一般化の限界を示すレベルが設定される。
【0058】
[重要度の入力]
匿名化されたテーブルの生成は、利用者によって要求された各属性の重要度に基づいて行われる。重要度は、重要度ポイントの大きい順に属性の優先順位を表し、利用者が最も重視する属性を最上位とする。提供者は、各優先順位に対して、重要度ポイント(数値)を設定する。この値は、一般化を行う属性を選択する際に使用される。
一般化処理においては、優先順位が最下位の属性から順に一般化を行い、k−匿名性を満たしたレベルで終了する。したがって、重要度が最上位の属性ほど、元の情報が保持される確率が高くなる。提供者の入力により、プライバシー保護装置10は、各属性に対して重要情報(sensitive information)、準識別子(quasi−identifier)、削除すべき情報のうちどの情報であるか、及び優先順位を設定するとしてよい。なお、重要情報に指定された属性の変更は行われない。また、削除すべき情報に指定された情報は一般化の際に自動的に削除される。
【0059】
[評価ポイントの算出]
評価ポイントを算出する評価関数として以下の2種類の関数を用いる。
【0060】
【数1】
【0061】
【数2】
【0062】
上記の2つの評価関数を選択する方式とすることにより、以下のような異なる特性を持つテーブルを出力できるようにする。
数式1の評価関数は、準識別子の属性値の種類数の変化と、準識別子の重要度とに依存するので、数式1の評価関数によれば、例えば、属性に偏った匿名化が可能である。
また、数式2の評価関数は、数式1の評価関数に比べて、偏りなく匿名化が可能である。
【0063】
さらに、νを順序の代わりに、エントロピーを用いることで、さらに特性の異なるテーブルを導出することも可能である。
【0064】
【数3】
【0065】
次に、テーブルの加工について説明する。
テーブルは、属性ごとに、準識別子か重要情報かが決められ、テーブルを全ての準識別子からなる部分と、全ての重要情報からなる部分とに分割される。
【0066】
[前処理]
前処理は、それぞれの属性単体を、単体で(k+l)−匿名性を満たすように一般化する。lは、システムのパラメータである。また、前処理は、属性によって提供者が一般化の限界レベルを設定しているものについては、その限界レベルを超えて一般化はしない。
また、属性単体で(k+l)−匿名性を満たすように一般化したレコードが、k−匿名性を満たさなければ、前処理は、各属性を1レベルだけ一般化して再度チェックを行う。この場合も、前処理は、提供者が設定した限界レベルを超えて一般化はせず、他の属性を一般化することで、(k+l)−匿名性を達成する。
【0067】
[トップダウン処理]
トップダウン処理は、以下の手順を行う。
【0068】
(1)まず、トップダウン処理は、当該テーブルに対してソートを行い、全ての準識別子の属性値が一致するレコードを集めてグループ化を行う。
【0069】
(2)次に、トップダウン処理は、提供者によって入力された属性の優先順位情報と、k−匿名性及びl−多様性判定からのフィードバック結果とを基に、詳細化を行う属性及びグループを選択する。具体的には、トップダウン処理は、提供者によって入力された優先順位が高い(例えば、重要度が大きい)属性から順に詳細化してトップダウン候補テーブルを作成する。
【0070】
その際には、トップダウン処理は、各属性に対して、詳細化を行った場合に取り得る属性の種類の個数と、提供者によって入力された優先順位(例えば、重要度が大きい順)情報とから、詳細化による評価ポイントの増加分を概算する。トップダウン処理は、この概算結果が大きい順から、詳細化の対象とする。
また、トップダウン処理は、可能性のある詳細化を順番に行ってトップダウン候補テーブルを作成する際に、直前の詳細化を行ったトップダウン候補テーブルの評価ポイントに対して、概算した評価ポイントの増加を考慮しても次に行う詳細化が評価ポイントの上で上回れない場合には、残りの詳細化手順によるトップダウン候補テーブルの作成を行わない。
【0071】
(3)次に、トップダウン処理は、選択したグループの詳細化を行い、k−匿名性及びl−多様性判定をする。具体的には、トップダウン処理は、選択したグループについて、優先順位の高い(例えば、重要度が大きい)属性から順に詳細化(1レベル高い詳細化)を全ての属性について行い、トップダウン候補テーブルを作成する。
(3−1)k−匿名性及びl−多様性を満たす場合、トップダウン処理は、トップダウン候補テーブルについて、各属性における同じ属性値の個数を算出し、評価ポイントを導出する。k−匿名性及びl−多様性を満たしたトップダウン候補テーブル及びその評価ポイントを保存する。
トップダウン処理は、トップダウン候補テーブルのうち、最も評価ポイントが大きいものを次の処理対象テーブルとして、処理を繰り返す。
【0072】
(3−2)k−匿名性及びl−多様性を満たさなくなった場合、トップダウン処理は、k−匿名性及びl−多様性を満たさなくなったトップダウン候補テーブルの中から最も評価ポイントが大きいものをボトムアップ処理に受け渡す。
【0073】
[ボトムアップ処理]
ボトムアップ処理は、以下の手順を行う。
【0074】
(1)まず、ボトムアップ処理は、当該テーブルに対してソートを行い、全ての準識別子の属性値が一致するレコードを集めてグループ化を行う。
【0075】
(2)次に、ボトムアップ処理は、提供者によって入力された属性の優先順位情報と、k−匿名性及びl−多様性判定からのフィードバック結果とを基に、一般化を行う属性及びグループを選択する。
【0076】
(3)次に、ボトムアップ処理は、選択したグループの一般化を行い、k−匿名性及びl−多様性判定をする。具体的には、ボトムアップ処理は、選択したグループについて、優先順位の高い(例えば、重要度が大きい)属性から順に一般化(1レベル高い一般化)を全ての属性について行い、ボトムアップ候補テーブルを作成する。
(3−1)k−匿名性及びl−多様性を満たす場合、ボトムアップ処理は、ボトムアップ候補テーブルについて、各属性における同じ属性値の個数を算出し、評価ポイントを導出する。ボトムアップ処理は、評価ポイントを比較し、トップダウン処理において保存されたトップダウン候補テーブルの評価ポイントも含めて最大の評価ポイントを得た候補テーブルを匿名テーブルとして保存する。そして、ボトムアップ処理は、その匿名テーブルを再トップダウン処理に受け渡す。
【0077】
(3−2)k−匿名性及びl−多様性を満たさない場合、ボトムアップ処理は、ボトムアップ候補テーブルの中から、上記の保存した匿名テーブルよりも評価ポイントが大きく、かつ、ボトムアップ候補テーブルの中で評価ポイントが最も大きいものを選択し、再度ボトムアップ処理を行い同様の判定を行う。
【0078】
(3−3)全てのボトムアップ候補テーブルがk−匿名性及びl−多様性を満たさず、かつ、現在保存されている匿名テーブルの評価ポイントを上回ることができない場合には、ボトムアップ処理は、保存している匿名テーブルを出力し、部分匿名化処理に渡して終了する。
なお、提供者が属性に対して一般化の限界レベルを設定していた場合には、ボトムアップ処理は、限界レベルを超えて一般化は行わない。
【0079】
[再トップダウン処理]
再トップダウン処理は、トップダウン処理とほぼ同様の手順で行う。
再トップダウン処理は、ボトムアップ処理から渡された候補テーブルの詳細化を行う。詳細化を行ったトップダウン候補テーブルのうち、k−匿名性及びl−多様性判定に合格したトップダウン候補テーブルについては、再トップダウン処理は、各属性の属性値の数を算出し、評価ポイントを導出する。再トップダウン処理は、トップダウン候補テーブルのうち、最も評価ポイントが大きいものを次の処理対象テーブルとする。そして、再トップダウン処理は、k−匿名性及びl−多様性を満たさなくなるまで、k−匿名性及びl−多様性を満たしたトップダウン候補テーブル及びその評価ポイントを保存しながら、処理を繰り返す。k−匿名性及びl−多様性を満たさなくなった場合、再トップダウン処理は、k−匿名性及びl−多様性を満たさなくなったトップダウン候補テーブルの中から最も評価ポイントが大きいものをボトムアップ処理に受け渡す。
なお、この場合も、評価ポイントが最も大きいトップダウン候補テーブルは、現在保存されている匿名テーブルの評価ポイントよりも評価ポイントが大きくなければならない。現在保存されている匿名テーブルの評価ポイントを上回ることができない場合には、再トップダウン処理は、保存している匿名テーブルを出力し、部分匿名化処理に渡して終了する。
【0080】
トップダウン候補テーブルについて評価ポイントが一致した場合、再トップダウン処理は、優先順位が高い順から属性を見ていき、一般化のレベルが低い方のトップダウン候補テーブルを採用する。
【0081】
[部分匿名化処理]
部分匿名化処理は、各属性の詳細化(トップダウン)を一律に行うのではなく、細かいクラスタに分割し、各クラスタがk−匿名性及びl−多様性を満たすように詳細化を行う。具体的には、部分匿名化処理は、準識別子から構成される属性値の組をグループ化し、クラスタとする。部分匿名化処理は、このクラスタ単位で、k−匿名性及びl−多様性を満たすように詳細化処理を実行する。各属性が単純木で構成されている場合、互いのクラスタは独立集合であることが保証されるので、各クラスタが、k−匿名性及びl−多様性を満たす限り、部分匿名化処理によって、全体のk−匿名性及びl−多様性が失われることは無い。すなわち、本プロセスでは、詳細化処理のみを行うので、部分匿名化処理の実行によって、評価ポイントが必ず増加することが保証される。したがって、部分匿名化処理は、評価ポイントの算出を省略することにより、高速化が可能である。また、本プロセスはオプションとし、提供者が望まない場合には処理を省略することも可能とする。部分匿名化処理は、最終的に得られたテーブルを匿名テーブル出力に渡して終了する。
【0082】
[匿名性条件判定]
k−匿名性及びl−多様性判定は、入力されたテーブルの全ての準識別子から構成される情報がk−匿名性を満たし、かつ、全ての重要情報から構成される情報がl−多様性もしくはt−近似性を満たすかどうか判定し、満たす場合はテーブルを匿名テーブル出力に受け渡す。満たさない場合、k−匿名性及びl−多様性判定は、満たさなかったグループをフィードバック情報としてトップダウン処理、ボトムアップ処理、再トップダウン処理に返す。以下の表1に各判定条件を示す。
【0083】
【表1】
【0084】
[匿名テーブル出力]
匿名テーブル出力は、受け取ったテーブルを成形して出力する。受け取ったテーブルはテーブルそのものではなく、各属性の一般化のレベルで与えられている場合がある。このときには、匿名テーブル出力は、元のテーブルも読み込み、各属性について与えられたレベルによる一般化を行った後出力する。
【0085】
図8及び図9を参照して、上述のトップダウン処理及びボトムアップ処理について説明する。図8は、本発明の一実施形態に係るプライバシー保護装置10によるトップダウン処理又はボトムアップ処理を説明するための図である。図8において、準識別子の属性の種類が(A,B,C)であり、それぞれの属性が一般化又は詳細化のための木構造データ(図6参照)を有し、一般化の限界レベルがそれぞれAがレベル2、Bがレベル3、Cがレベル1であるとする。
図8の例が示すように、ボトムアップ処理は、一般化の初期レベル(A0,B0,C0)から属性ごとに1レベルの一般化を行って、属性Aの一般化を行ったテーブル(A1,B0,C0)と、属性Bの一般化を行ったテーブル(A0,B1,C0)と、属性Cの一般化を行ったテーブル(A0,B0,C1)とを作成する。次に、ボトムアップ処理は、図8の例が示すように、それぞれのテーブルから属性ごとに1レベルの一般化を行って、それぞれのテーブルを作成するが、一般化のレベルが属性ごとの限界レベルを超える場合、限界レベルを超える属性の一般化を行わない。図8は、このようなボトムアップ処理によって、テーブルが一般化される過程を示している。
トップダウン処理は、図8が示すように、ボトムアップ処理とは逆方向に、詳細化の初期レベル(A2,B3,C1)から属性ごとに1レベルの詳細化を行って、属性Aの詳細化を行ったテーブル(A1,B3,C1)と、属性Bの詳細化を行ったテーブル(A2,B2,C1)と、属性Cの詳細化を行ったテーブル(A2,B3,C0)とを作成する。次に、トップダウン処理は、図8の例が示すように、それぞれのテーブルから属性ごとに1レベルの詳細化を行って、それぞれのテーブルを作成する(レベル0を超えて詳細化はできない)。図8は、このようなトップダウン処理によって、テーブルが詳細化される過程も示している。
そして、図8は、例えば、ボトムアップ処理の一般化の過程の3段階目のテーブルと、トップダウン処理の詳細化の過程の3段階目のテーブルとが、一般化の同じレベルの属性を有するテーブルになり、そのうちの一部がk−匿名性を満たす場合を示している。
匿名化処理は、このようなボトムアップ処理による一般化と、トップダウン処理による詳細化とを組み合わせて繰り返し、k−匿名性及びl−多様性を満たす適切な匿名テーブルを作成する。
ボトムアップ処理とトップダウン処理とを組み合わせた場合の例を次に説明する。
【0086】
図9は、本発明の一実施形態に係るプライバシー保護装置10によるトップダウン処理とボトムアップ処理との繰り返しを説明するための図である。図9において、丸印は、図8のような過程において生成されるテーブルを示し、テーブルからテーブルへの矢印は、下方への矢印がトップダウン処理、上方への矢印がボトムアップ処理を示している。そして、図9の例は、図8のような過程において生成されるテーブルのうち、例えば、前処理が行われて(k+l)−匿名性を満たすように一般化されたテーブル601からトップダウン処理を開始する例である。
図9が示すように、トップダウン処理は、前処理後のテーブル601に詳細化を行って、トップダウン候補テーブル611,612を作成する。
トップダウン処理は、作成したトップダウン候補テーブル611,612のうち、評価ポイントが最も大きいトップダウン候補テーブル611を処理対象として選択し、評価ポイントを保存しながら、詳細化と選択との処理を繰り返す。
そして、詳細化が行き過ぎて、k−匿名性及びl−多様性を満たさなくなった場合、トップダウン処理は、k−匿名性及びl−多様性を満たさなくなったトップダウン候補テーブル631,632の中から評価ポイントが最も大きいトップダウン候補テーブル632をボトムアップ処理に受け渡す。
ボトムアップ処理は、渡されたトップダウン候補テーブル632の一般化を行い、ボトムアップ候補テーブルを作成し、作成したボトムアップ候補テーブルのうち、評価ポイントが最も大きいボトムアップ候補テーブルを処理対象として選択し、評価ポイントを保存しながら、一般化と選択との処理を繰り返す。
そして、k−匿名性及びl−多様性を満たすようになった場合、ボトムアップ処理は、トップダウン処理において保存されたトップダウン候補テーブルの評価ポイントも含めて最大の評価ポイントを得たボトムアップ候補テーブル641を再トップダウン処理に渡す。
このような処理が繰り返され、k−匿名性及びl−多様性を満たす候補テーブル(例えば、候補テーブル651)の評価ポイントが、保存されている候補テーブル(例えば、ボトムアップ候補テーブル641)の評価ポイントを上回ることができなくなった場合、保存されている、評価ポイントが最高の候補テーブル(例えば、ボトムアップ候補テーブル641)は、匿名テーブルとされ、部分匿名化処理が行われて、最適な匿名化したテーブルとして出力テーブル701とされる。
【0087】
図10は、本発明の一実施形態に係るプライバシー保護装置10の匿名テーブルの作成処理の例を示すフローチャートである。
【0088】
ステップS101において、CPUは、設定処理をする。より具体的には、CPUは、属性について、削除される識別子と、準識別子と、重要情報とのいずれかを設定し、設定した準識別子ごとに、一般化を行うための限度を設定し、準識別子ごとに重要度(優先順位)を設定する。
【0089】
ステップS102において、CPUは、前処理をする。より具体的には、CPUは、テーブルについて、属性単体で(k+l)−匿名性を満たすように一般化する。
【0090】
ステップS103において、CPUは、匿名化処理(図11から図13で示される処理)を実行する。
【0091】
ステップS104において、CPUは、部分匿名化処理をする。より具体的には、CPUは、準識別子の属性値の組み合わせに基づいてクラスタを形成し、形成したクラスタごとに、k−匿名性及びl−多様性を満たすように準識別子の一般化を行って、匿名化を行う。
【0092】
ステップS105において、CPUは、匿名化されたテーブルを成形して出力する。その後、CPUは、処理を終了する。
【0093】
図11は、本発明の一実施形態に係るプライバシー保護装置10の匿名化処理の例を示すフローチャートである。
【0094】
ステップS301において、CPUは、準識別子の属性値が全て同じレコードをグループ化する。
【0095】
ステップS302において、CPUは、1つのグループを処理対象とする。
【0096】
ステップS303において、CPUは、トップダウン処理(図12で示される処理)をする。
【0097】
ステップS304において、CPUは、ボトムアップ処理へ渡すべきトップダウン候補テーブルが有るか否かを判断する。この判断がYESの場合、CPUは、処理をステップS305に移し、この判断がNOの場合、CPUは、処理をステップS307に移す。
【0098】
ステップS305において、CPUは、ボトムアップ処理(図14で示される処理)をする。
【0099】
ステップS306において、CPUは、トップダウン処理へ渡すべきボトムアップ候補テーブルが有るか否かを判断する。この判断がYESの場合、CPUは、処理をステップ303に移し、この判断がNOの場合、CPUは、処理をステップS307に移す。
【0100】
ステップS307において、CPUは、トップダウン処理又はボトムアップ処理によって出力されたグループごとの匿名テーブルを、1つの匿名テーブルにする。
【0101】
ステップS308において、CPUは、全てのグループについて終了か否かを判断する。この判断がYESの場合、CPUは、処理をステップS104に戻し、この判断がNOの場合、CPUは、処理をステップS302に移す。
【0102】
図12及び図13は、本発明の一実施形態に係るプライバシー保護装置10のトップダウン処理の例を示すフローチャートである。
【0103】
ステップS401において、CPUは、詳細化する属性の順番を求める。
【0104】
ステップS402において、CPUは、1つの属性を処理対象としてセットする。
【0105】
ステップS403において、CPUは、直前の属性による候補テーブルよりも評価ポイントが上回る可能性があるか否かを判断する。この判断がYESの場合、CPUは、処理をステップS404に移し、この判断がNOの場合、CPUは、処理をステップS407に移す。
【0106】
ステップS404において、CPUは、各属性ごとにトップダウンによる詳細化を1段階行い、トップダウン候補テーブルを作成する。
【0107】
ステップS405において、CPUは、k−匿名性及びl−多様性を満たすか否かを判断する。この判断がYESの場合、CPUは、処理をステップS406に移し、この判断がNOの場合、CPUは、処理をステップS407に移す。
【0108】
ステップS406において、CPUは、候補テーブルの評価ポイントを算出し、トップダウン候補テーブルと共に保存する。
【0109】
ステップS407において、CPUは、属性について終了か否かを判断する。この判断がYESの場合、CPUは、処理をステップ408に移し、この判断がNOの場合、CPUは、処理をステップS402に移す。
【0110】
ステップS408において、CPUは、k−匿名性及びl−多様性を満たすトップダウン候補テーブルがあるか否かを判断する。この判断がYESの場合、CPUは、処理をステップ409に移し、この判断がNOの場合、CPUは、処理をステップS410に移す。
【0111】
ステップS409において、CPUは、算出した評価ポイントが最大のテーブルを抽出する。その後、CPUは、処理をステップS401に移す。
【0112】
ステップS410において、CPUは、再トップダウン処理か否かを判断する。この判断がYESの場合、CPUは、処理をステップ411に移し、この判断がNOの場合、CPUは、処理をステップS413に移す。
【0113】
ステップS411において、CPUは、保存している匿名テーブルの評価ポイントを上回ることができるか否かを判断する。この判断がYESの場合、CPUは、処理をステップ413に移し、この判断がNOの場合、CPUは、処理をステップS412に移す。
【0114】
ステップS412において、CPUは、保存している匿名テーブルを出力する。その後、CPUは、処理をステップS304に戻す。
【0115】
ステップS413において、CPUは、満たさない候補テーブルの中で評価ポイントが最大のトップダウン候補テーブルを抽出してボトムアップ処理へ渡す。その後、CPUは、処理をステップS304に戻す。
【0116】
図14は、本発明の一実施形態に係るプライバシー保護装置10のボトムアップ処理の例を示すフローチャートである。
【0117】
ステップS501において、CPUは、トップダウン処理から出力されたテーブルを対象とする。
【0118】
ステップS502において、CPUは、各属性ごとにボトムアップによる一般化を1段階行い、ボトムアップ候補テーブルを作成する。
【0119】
ステップS503において、CPUは、ボトムアップ候補テーブルの評価ポイントを算出する。
【0120】
ステップS504において、CPUは、ボトムアップ候補テーブルのうちk−匿名性及びl−多様性を満たすボトムアップ候補テーブルがあるか否かを判断する。この判断がYESの場合、CPUは、処理をステップS505に移し、この判断がNOの場合、CPUは、処理をステップS507に移す。
【0121】
ステップS505において、CPUは、トップダウン候補テーブルを含めて、評価ポイントが最大のテーブルを匿名テーブルとして抽出し、保存する。
【0122】
ステップS506において、CPUは、匿名テーブルをトップダウン処理に渡す。その後、CPUは、処理をステップS306に戻す。
【0123】
ステップS507において、CPUは、保存している匿名テーブルの評価ポイントを上回ることができるか否かを判断する。この判断がYESの場合、CPUは、処理をステップS509に移し、この判断がNOの場合、CPUは、処理をステップS508に移す。
【0124】
ステップS508において、CPUは、保存している匿名テーブルを出力する。その後、CPUは、処理をステップS306に戻す。
【0125】
ステップS509において、CPUは、保存している匿名テーブルよりも評価ポイントが大きく、かつ、ボトムアップ候補テーブルの中で評価ポイントが最も大きい候補テーブルを抽出する。その後、CPUは、処理をステップS502に移す。
【0126】
本実施形態によれば、プライバシー保護装置10は、互いの類似度がいずれも閾値未満となる匿名テーブルを選択して提供することにより、利用者ごとの匿名テーブル間の差異が顕著になり、利用者の識別性が増すので、提供した匿名テーブルの一部が漏洩した場合にも、他の匿名テーブルと識別可能な匿名テーブルを提供することができる。
さらに、プライバシー保護装置10は、定量化された類似度を計測することにより、識別性の高い匿名テーブル同士を容易に見つけることができる。
さらに、プライバシー保護装置10は、提供した匿名テーブルの特徴量(例えば、ハッシュ値)を利用者に対応付けて記憶させることにより、漏洩した匿名テーブルの特定が容易になる。
さらに、プライバシー保護装置10は、提供した匿名テーブルを利用者に対応付けて記憶させることにより、匿名テーブルの一部が漏洩した場合であっても、テーブル記憶手段31により漏洩データと提供した匿名テーブルとの照合ができるので、漏洩した匿名テーブルの利用者を特定することができる。
さらに、プライバシー保護装置10は、入力されたテーブルの利用者を自動的に特定することができる。
さらに、プライバシー保護装置10は、類似度の最も低い匿名テーブルの組み合わせから順に所定の個数の匿名テーブルを選択することにより、提供した匿名テーブルのより高い識別性を確保することができる。
【0127】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【0128】
例えば、選択手段13において、一の匿名テーブルと他の匿名テーブルとの全ての組み合わせにおいて、最高の類似度が閾値以上である場合に、最高の類似度の組み合わせにおける一方の匿名テーブルを削除するとしたが、これに限られない。選択手段13は、最初に匿名テーブルの全ての組み合わせを作成し、類似度が閾値以上である組み合わせのうち、閾値以上の組み合わせに出現する度数が多い順に匿名テーブルを削除するとしてもよい。閾値以上の組み合わせを削除する効率がよい場合がある。
【0129】
プライバシー保護装置10による一連の処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。また、当該プログラムは、コンピュータ読み取り可能な記録媒体(例えば、CD−ROMのようなリムーバブルメディア等)に記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【0130】
10 プライバシー保護装置
11 匿名テーブル生成手段
12 類似度計測手段
13 選択手段
14 特徴量算出手段
15 テーブル記憶制御手段
16 特定手段
31 テーブル記憶手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14