K-匿名性

From Wikipedia, the free encyclopedia

k-匿名性(ケーとくめいせい)は、匿名化されたデータのもつ特性の1つである。k-匿名性の概念が最初に登場したのはラタニア・スウィーニー英語版Pierangela Samarati英語版1998年に発表した論文中で[1]、「個人の特徴をフィールド構造にしたデータが与えられたとき、実用性を残しつつそのデータの個人が再特定されないという科学的な証明が与えられた公開データを作成する」という問題を解決する試みにおいてである[2][3][4]個人情報が含まれている公開データの情報で少なくともk-1人を区別することができないとき、公開データはk-匿名性をもつという。k-匿名性を満たす匿名データを作成するための様々な手法やプログラム米国において特許を得ている(Patent 7,269,578)[5]

k-匿名化問題において、データベースはn行m列の表形式である。それぞれの行はデータベースに収載された、ある特定の個人を表している。なお、それぞれの値が全て異なった値である必要はない。各列の値はその行の人の属性値である。「名前」「識別番号(ID)」など個人をはっきり指し示す属性を識別子と呼ぶのに対し、「年齢」「性別」「居住地」など単体では特定できないが、組み合わせることによって個人の特定が可能になる属性を「準識別子(quasi-identifier)」と呼ぶ。また、「年収」や「持病」など人に知られたくない属性を「センシティブ属性」(もしくは「要配慮属性」)と呼ぶ。

下の表は匿名化されていない日本愛知県名古屋市にある架空の病院の患者の一覧である。

識別子 準識別子 センシティブ属性
名前年齢性別居住地宗教病気
伊藤29静岡県浜松市神道ガン
黒田24愛知県豊田市無宗教ウイルス感染症
山本28静岡県浜松市仏教ガン
高橋27岐阜県各務原市仏教結核
加藤24愛知県名古屋市キリスト教心血管疾患
田中23岐阜県大垣市仏教結核
斎藤19愛知県春日井市無宗教ガン
岡田29岐阜県岐阜市無宗教心血管疾患
17愛知県名古屋市無宗教心血管疾患
鈴木19愛知県名古屋市仏教ウイルス感染症

このデータには6つの属性と10人分のデータが含まれている。あるkの値に対してk-匿名性を達成するための処理は主に2つある。

  1. 抑制: この処理では、ある属性の一定の値をアスタリスク「*」で置換する。その列の全てないし一部の値が「*」に置換される。下の匿名化した表においては、「名前」のすべての値と「宗教」のすべての値を「*」で置換した。
  2. 一般化: この処理では、個々の属性値を広い範囲に置換する。たとえば、年齢の「19歳」は「10代」に、「23歳」は「20代」にといった具合である。

以下に匿名化した表を示す。

識別子 準識別子 センシティブ属性
名前年齢性別居住県宗教病気
*20代静岡県*ガン
*20代愛知県*ウイルス感染症
*20代静岡県*ガン
*20代岐阜県*結核
*20代愛知県*心血管疾患
*20代岐阜県*結核
*10代愛知県*ガン
*20代岐阜県*心血管疾患
*10代愛知県*心血管疾患
*10代愛知県*ウイルス感染症

同一の準識別子の組み合わせをもつ同値類は4つある。

識別子 準識別子 センシティブ属性
同値類名前年齢性別居住県宗教病気
A*20代静岡県*ガン
*20代静岡県*ガン
B*20代愛知県*ウイルス感染症
*20代愛知県*心血管疾患
C*20代岐阜県*結核
*20代岐阜県*結核
*20代岐阜県*心血管疾患
D*10代愛知県*ガン
*10代愛知県*心血管疾患
*10代愛知県*ウイルス感染症

このデータは「年齢」「性別」「居住県」において2−匿名性を達成している。なぜならば、これらの属性の組み合わせではどの組み合わせにおいても2人以上になるためである。どの準識別子の組み合わせでも、k-匿名性を満たすデータセットにおいてはk人以上のレコードが該当する[6]

MeyersonとWilliamsは2004年に最適なk-匿名化はNP困難な問題であることを示したが、2005年にBayardo、Agrawalにより示されたk-最適化のようなヒューリスティックな解法はしばしば良い結果を生み出す[7][8]。 概ねO(log k)の計算量であるという証明のある、k-匿名化問題を解くことができる実用的な近似アルゴリズムがKenigとTassaによって示された[9]

警鐘

脚注

関連項目

Related Articles

Wikiwand AI