(57)【特許請求の範囲】
【請求項１】
データセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける入力部と、
前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択部と、
前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出部と、
前記レコード毎の個人識別リスクが前記許容可能なリスク値で示されるリスクを超えるか否かによって区分された前記属性の組み合わせを出力する出力部と、を備えるリスク評価装置。
【請求項２】
データセットを提供した場合の個人識別リスクについて、当該データセットに含まれる複数の属性のいずれかが組み合わされることによる個人識別リスクの変化率に対する許容可能なリスク幅の入力を受け付ける入力部と、
前記複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択部と、
前記属性の組み合わせ、及び当該組み合わせに含まれる単一の属性それぞれに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出部と、
前記選択部により選択された属性の組み合わせに含まれる単一の属性に対する最大の個人識別リスクから、当該属性の組み合わせに対する最大の個人識別リスクへの変化率が前記許容可能なリスク幅を超えるか否かによって区分された前記属性の組み合わせを出力する出力部と、を備えるリスク評価装置。
【請求項３】
データセットを提供した場合の個人識別リスクについて、攻撃者が知識として属性値を取得するための想定リソースの入力を受け付ける入力部と、
前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択部と、
前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出部と、
前記属性の組み合わせに含まれる各属性の取得コストの合計が前記想定リソースを超えるか否かによって区分された前記属性の組み合わせ、及び前記個人識別リスクを出力する出力部と、を備えるリスク評価装置。
【請求項４】
データセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける入力部と、
前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択部と、
前記属性の組み合わせに含まれるいずれかの属性の匿名化レベルを上げる匿名化部と、
前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出部と、
前記個人識別リスクの最大値が前記許容可能なリスク値で示されるリスクを超えるか否かによって区分された前記属性及び匿名化レベルの組み合わせを出力する出力部と、を備えるリスク評価装置。
【請求項５】
データセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける入力ステップと、
前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択ステップと、
前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出ステップと、
前記レコード毎の個人識別リスクが前記許容可能なリスク値で示されるリスクを超えるか否かによって区分された前記属性の組み合わせを出力する出力ステップと、をコンピュータが実行するリスク評価方法。
【請求項６】
データセットを提供した場合の個人識別リスクについて、当該データセットに含まれる複数の属性のいずれかが組み合わされることによる個人識別リスクの変化率に対する許容可能なリスク幅の入力を受け付ける入力ステップと、
前記複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択ステップと、
前記属性の組み合わせ、及び当該組み合わせに含まれる単一の属性それぞれに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出ステップと、
前記選択ステップにおいて選択された属性の組み合わせに含まれる単一の属性に対する最大の個人識別リスクから、当該属性の組み合わせに対する最大の個人識別リスクへの変化率が前記許容可能なリスク幅を超えるか否かによって区分された前記属性の組み合わせを出力する出力ステップと、をコンピュータが実行するリスク評価方法。
【請求項７】
データセットを提供した場合の個人識別リスクについて、攻撃者が知識として属性値を取得するための想定リソースの入力を受け付ける入力ステップと、
前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択ステップと、
前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出ステップと、
前記属性の組み合わせに含まれる各属性の取得コストの合計が前記想定リソースを超えるか否かによって区分された前記属性の組み合わせ、及び前記個人識別リスクを出力する出力ステップと、をコンピュータが実行するリスク評価方法。
【請求項８】
データセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける入力ステップと、
前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択ステップと、
前記属性の組み合わせに含まれるいずれかの属性の匿名化レベルを上げる匿名化ステップと、
前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出ステップと、
前記個人識別リスクの最大値が前記許容可能なリスク値で示されるリスクを超えるか否かによって区分された前記属性及び匿名化レベルの組み合わせを出力する出力ステップと、をコンピュータが実行するリスク評価方法。
【請求項９】
請求項５から請求項８のいずれかに記載のリスク評価方法をコンピュータに実行させるためのリスク評価プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データセットを提供する際のリスク評価装置、リスク評価方法及びリスク評価プログラムに関する。
【背景技術】
【０００２】
従来、データセットを提供する際に、攻撃者がデータセットに含まれる全ての属性の知識を有していると仮定し、個人が識別されるリスクを評価する手法が用いられている（例えば、非特許文献１参照）。この手法では、データセット内で同一の属性値の組み合わせを持つレコードの件数に基づいて、この件数の逆数を個人識別リスクとして定義する。また、この件数を取得するためのデータ構造として、基数木（Ｒａｄｉｘ  Ｔｒｅｅ）が用いられている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ａ．  Ｂａｓｕ，  Ｔ．  Ｎａｋａｍｕｒａ，  Ｓ．  Ｈｉｄａｎｏ  ａｎｄ  Ｓ．  Ｋｉｙｏｍｏｔｏ，  ｋ−ａｎｏｎｙｍｉｔｙ：  ｒｉｓｋｓ  ａｎｄ  ｔｈｅ  ｒｅａｌｉｔｙ，  Ａｃｃｅｐｔｅｄ  ｆｏｒ  ｐｕｂｌｉｃａｔｉｏｎ  ｉｎ  ｔｈｅ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｒｅｃｅｎｔ  Ａｄｖａｎｃｅｓ  ｏｆ  Ｔｒｕｓｔ，  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ  ｉｎ  Ｃｏｍｐｕｔｉｎｇ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  （ＲＡＴＳＰ，  ｃｏｌｌｏｃａｔｅｄ  ｗｉｔｈ  ｔｈｅ  ＩＥＥＥ  ＴｒｕｓｔＣｏｍ），  Ｈｅｌｓｉｎｋｉ，  ２０１５．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のリスク評価の手法では、攻撃者のリソースに応じた評価ができないため、実際に存在し得る攻撃者を想定した精度の高い評価が難しかった。
【０００５】
本発明は、実際の攻撃者を想定し、データセットを提供する際に考慮すべき精度の高い情報を出力できるリスク評価装置、リスク評価方法及びリスク評価プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るリスク評価装置は、データセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける入力部と、前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択部と、前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出部と、前記レコード毎の個人識別リスクが前記許容可能なリスク値で示されるリスクを超えるか否かによって区分された前記属性の組み合わせを出力する出力部と、を備える。
【０００７】
本発明に係るリスク評価装置は、データセットを提供した場合の個人識別リスクについて、当該データセットに含まれる複数の属性のいずれかが組み合わされることによる個人識別リスクの変化率に対する許容可能なリスク幅の入力を受け付ける入力部と、前記複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択部と、前記属性の組み合わせ、及び当該組み合わせに含まれる単一の属性それぞれに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出部と、前記選択部により選択された属性の組み合わせに含まれる単一の属性に対する最大の個人識別リスクから、当該属性の組み合わせに対する最大の個人識別リスクへの変化率が前記許容可能なリスク幅を超えるか否かによって区分された前記属性の組み合わせを出力する出力部と、を備える。
【０００８】
本発明に係るリスク評価装置は、データセットを提供した場合の個人識別リスクについて、攻撃者が知識として属性値を取得するための想定リソースの入力を受け付ける入力部と、前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択部と、前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出部と、前記属性の組み合わせに含まれる各属性の取得コストの合計が前記想定リソースを超えるか否かによって区分された前記属性の組み合わせ、及び前記個人識別リスクを出力する出力部と、を備える。
【０００９】
本発明に係るリスク評価装置は、データセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける入力部と、前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択部と、前記属性の組み合わせに含まれるいずれかの属性の匿名化レベルを上げる匿名化部と、前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出部と、前記個人識別リスクの最大値が前記許容可能なリスク値で示されるリスクを超えるか否かによって区分された前記属性及び匿名化レベルの組み合わせを出力する出力部と、を備える。
【００１０】
本発明に係るリスク評価方法は、データセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける入力ステップと、前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択ステップと、前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出ステップと、前記レコード毎の個人識別リスクが前記許容可能なリスク値で示されるリスクを超えるか否かによって区分された前記属性の組み合わせを出力する出力ステップと、をコンピュータが実行する。
【００１１】
本発明に係るリスク評価方法は、データセットを提供した場合の個人識別リスクについて、当該データセットに含まれる複数の属性のいずれかが組み合わされることによる個人識別リスクの変化率に対する許容可能なリスク幅の入力を受け付ける入力ステップと、前記複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択ステップと、前記属性の組み合わせ、及び当該組み合わせに含まれる単一の属性それぞれに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出ステップと、前記選択ステップにおいて選択された属性の組み合わせに含まれる単一の属性に対する最大の個人識別リスクから、当該属性の組み合わせに対する最大の個人識別リスクへの変化率が前記許容可能なリスク幅を超えるか否かによって区分された前記属性の組み合わせを出力する出力ステップと、をコンピュータが実行する。
【００１２】
本発明に係るリスク評価方法は、データセットを提供した場合の個人識別リスクについて、攻撃者が知識として属性値を取得するための想定リソースの入力を受け付ける入力ステップと、前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択ステップと、前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出ステップと、前記属性の組み合わせに含まれる各属性の取得コストの合計が前記想定リソースを超えるか否かによって区分された前記属性の組み合わせ、及び前記個人識別リスクを出力する出力ステップと、をコンピュータが実行する。
【００１３】
本発明に係るリスク評価方法は、データセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける入力ステップと、前記データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する選択ステップと、前記属性の組み合わせに含まれるいずれかの属性の匿名化レベルを上げる匿名化ステップと、前記属性の組み合わせに対して、値が同一であるレコード数に基づいてレコード毎の個人識別リスクを算出する算出ステップと、前記個人識別リスクの最大値が前記許容可能なリスク値で示されるリスクを超えるか否かによって区分された前記属性及び匿名化レベルの組み合わせを出力する出力ステップと、をコンピュータが実行する。
【００１４】
本発明に係るリスク評価プログラムは、前記リスク評価方法をコンピュータに実行させる。
【発明の効果】
【００１５】
本発明によれば、実際の攻撃者を想定し、データセットを提供する際に考慮すべき精度の高い情報が得られる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態に係る個人識別リスクを説明する図である。
【図２】第１実施形態に係る基数木を例示する図である。
【図３】第１実施形態に係るリスク評価装置の機能構成を示す図である。
【図４】第１実施形態に係るリスク評価方法を示すフローチャートである。
【図５】第２実施形態に係るリスク幅を説明する図である。
【図６】第２実施形態に係るリスク評価方法を示すフローチャートである。
【図７】第３実施形態に係るリスク評価方法を示すフローチャートである。
【図８】第４実施形態に係るリスク評価装置の機能構成を示す図である。
【図９】第４実施形態に係るリスク評価方法を示すフローチャートである。
【発明を実施するための形態】
【００１７】
＜第１実施形態＞
以下、本発明の第１実施形態について説明する。
本実施形態のリスク評価装置１は、公開対象のデータセットと共に、個人識別リスクに対する許容値を入力として、公開可能な属性の組み合わせを出力する。
【００１８】
ここで、個人識別リスクは、データセットに含まれる属性のうち攻撃者が知識として持つ属性、又は属性の組み合わせの値が同一であるレコードの数に基づき、例えばレコード数の逆数と定義される。この場合、個人識別リスクは、属性値が同じレコードから個人が特定される確率であり、レコード数が少ないほど、個人識別リスクは高くなる。
【００１９】
図１は、本実施形態に係るデータセットに対する個人識別リスクを説明する図である。
データセットの４つの属性のうち、年齢及び購入品が攻撃者に知られていると仮定すると、例えば年齢が「２５−３０」で購入品が「ＤＶＤ」であるレコードの数は３であり、これらのレコードの個人識別リスクは、１／３となる。
【００２０】
このように、個人識別リスクを算出する際には、属性値が同じレコードを検索する必要がある。このため、リスク評価装置１は、対象のデータセットに基づいて、検索に適した構造型データを構築する。構造型データは、木構造又はハッシュマップ等であってよい。
本実施形態では、構造型データとして、木構造の一種である基数木（Ｒａｄｉｘ  Ｔｒｅｅ）を一例として説明する。
【００２１】
図２は、本実施形態に係るデータセットに対する基数木を例示する図である。
データセット（図１）の４つの属性のうち、年齢及び購入品が攻撃者に知られている場合、リスク評価装置１は、これらの属性値を連結した文字列を用いて、木構造を構築する。
【００２２】
具体的には、攻撃者の知識属性から「２５−３０ＤＶＤ」、「２５−３０ＢＤ」、「４０−５０ＢＤ」、「４０−５０ＤＶＤ」といった文字列が抽出される。したがって、基数木では、ルートノードの下に「２５−３０」及び「４０−５０」の２つのノードが設けられ、さらにそれぞれのノードの下に「ＤＶＤ」及び「ＢＤ」のノードが設けられる。末端の各ノードには、レコード数が対応付けられ、リスク評価装置１は、この基数木を検索することによりレコード数を取得する。
【００２３】
図３は、本実施形態に係るリスク評価装置１の機能構成を示す図である。
リスク評価装置１は、入力部１１と、選択部１２と、算出部１３と、出力部１４とを備える。
【００２４】
入力部１１は、データセットと共に、データセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける。許容可能なリスク値は、攻撃者が知識として持つ属性に関して、値が同一であるレコードの数として許容できる最小の値である。
なお、データセットに含まれるレコード及び属性は全て入力されなくてもよく、重要度に応じて一部のレコード及び属性が入力されてもよい。
【００２５】
また、入力部１１は、攻撃者が知識として持つ可能性が高い重要な属性を初期値として受け付けてもよい。入力部１１は、例えば、事前に構築された知識データベースの中から複数の属性の組み合わせを入力としてもよい。
【００２６】
選択部１２は、データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する。
選択部１２は、属性の組み合わせの全てのパターンを選択してもよいし、ある上限数までのパターンを選択してもよい。また、攻撃者が知識として持つ属性が初期値として入力された場合には、選択部１２は、これらの属性に対して追加する属性のパターンを選択する。
【００２７】
算出部１３は、選択されたパターンにおける属性の組み合わせに対して、値が同一であるレコード数の逆数を、レコード毎の個人識別リスクとして算出する。
【００２８】
出力部１４は、レコード毎の個人識別リスクが入力された許容可能なリスク値で示されるリスクを超えるか否かによって区分された属性の組み合わせを出力する。具体的には、出力部１４は、例えば、全レコードの個人識別リスクが許容可能なレベルに収まる属性の組み合わせと、各レコードの個人識別リスクとを出力する。
なお、出力される情報は、これには限られず、例えば、いずれかのレコードの個人識別リスクが許容できないレベルとなる属性の組み合わせが出力されてもよい。また、個人識別リスクが許容可能なレコード、又は許容できないレコードが出力されてもよい。
【００２９】
図４は、本実施形態に係るリスク評価装置１によるリスク評価方法を示すフローチャートである。
ステップＳ１０１において、入力部１１は、評価の対象となるデータセットＤ（レコード数ｕ、属性数ｖ）、許容可能なリクス値Ｎ、及び攻撃者が知識として持つ属性ＡＴＴＲａ＝｛ａｔｔｒ１，・・・，ａｔｔｒｉ｝を入力として受け付ける。
【００３０】
ステップＳ１０２において、選択部１２は、データセットＤに含まれる属性から、ＡＴＴＲａに追加する属性のパターンを選択する。
ステップＳ１０３において、選択部１２は、ステップＳ１０２で選択されたパターン毎にループ処理を行う。
【００３１】
ステップＳ１０４において、算出部１３は、データセットＤ及び知識属性ＡＴＴＲａから、基数木を構築する。
ステップＳ１０５において、算出部１３は、データセットＤのレコード毎に、ＡＴＴＲａの値の組み合わせＫｐ＝ｒｐａｔｔｒ１‖・・・‖ｒｐａｔｔｒｉ（ｐ＝１，・・・，ｕ）（ｒｐａｔｔｒｑは、レコードｐにおける属性ａｔｔｒｑの値）を、基数木から検索し、それぞれの出現回数ｎを算出する。ここで、ＡＴＴＲａ＝φの場合、算出部１３は、処理を行わない。
ステップＳ１０６において、算出部１３は、出現回数ｎの逆数である１／ｎの最大値を、ＡＴＴＲａに対する個人識別リスクとして保存する。
【００３２】
ステップＳ１０７において、算出部１３は、個人識別リスクが最大となったｎが許容可能なリスク値Ｎより小さいか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ１０８に移り、判定がＮＯの場合、処理はステップＳ１１１に移る。
【００３３】
ステップＳ１０８において、算出部１３は、後述のステップＳ１１２で属性を追加したか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ１０９に移り、判定がＮＯの場合、処理はステップＳ１１０に移る。
【００３４】
ステップＳ１０９において、算出部１３は、後述のステップＳ１１２で直前に追加した属性ａｔｔｒをＡＴＴＲａから削除（ＡＴＴＲａ←ＡＴＴＲａ＼｛ａｔｔｒ｝）し、非選択の属性集合ＥＸに追加する（ＥＸ←ＥＸ∪｛ａｔｔｒ｝）。その後、処理はステップＳ１１１に移る。
【００３５】
ステップＳ１１０において、出力部１４は、入力されたＡＴＴＲａでは個人識別リスクが許容できないレベルであるため、エラー出力を行う。
【００３６】
ステップＳ１１１において、算出部１３は、データセットＤの全属性ＡＴＴＲ＝｛ａｔｔｒ１，・・・，ａｔｔｒｖ｝の中に、集合ＥＸに含まれておらずＡＴＴＲａに追加できる属性ａｔｔｒがあるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ１１２に移り、判定がＮＯの場合、処理はステップＳ１１３に移る。
【００３７】
ステップＳ１１２において、算出部１３は、ＡＴＴＲａに新たな属性ａｔｔｒを追加する。その後、処理はステップＳ１０４に戻り、リスク評価を継続する。
【００３８】
ステップＳ１１３において、出力部１４は、個人識別リスクが許容可能なレベルにある属性の組み合わせＡＴＴＲａを出力する。
【００３９】
本実施形態によれば、リスク評価装置１は、データセットの提供者が安全性の基準（リスク値）を設けている場合に、実際の攻撃者を想定したモデル化された攻撃アルゴリズムを用いて、この基準を満たす属性の組み合わせを精度良く出力できる。
【００４０】
また、リスク評価装置１は、出力された属性の組み合わせと、新規ユーザ（レコード）が持つ属性値とを比較し、個人識別リスクを算出することで、この新規ユーザの潜在的なリスクが許容範囲内であるか否かを見積もることができる。
例えば、この新規ユーザの属性値が出力された属性の組み合わせのいずれとも一致しない場合、潜在リスクが高いと判断できる。この場合、データセットの提供者は、属性値を加工（削除、一般化等）することでリスクを下げる、又はこの新規ユーザ（レコード）を対象のデータセットに加えない等のプライバシ保護施策を取ることができる。
【００４１】
また、データセットの属性全体又は一部の匿名化レベルを変更し、例えば住所であれば市町村レベルを都道府県レベルに、郵便番号であれば７桁を３桁に一般化した上で、再度リスク評価を行うことで、リスク評価装置１は、データセットにおける個人識別リスクの変化を定量的に評価できる。
【００４２】
さらに、データセットの各属性に取得コストが付与されている場合、リスク評価装置１は、出力結果に取得コストを追加することで、リスク評価装置１は、攻撃者が必要とする取得コストを見積もることができる。この結果、例えば、得られる情報に対して取得コストが高すぎる場合、この属性の組み合わせはリスクが低いと判断できる。
【００４３】
＜第２実施形態＞
以下、本発明の第２実施形態について説明する。
本実施形態のリスク評価装置１は、公開対象のデータセットと共に、攻撃者が知識としてもつ属性の数、及び属性を組み合わせることによる個人識別リスクの変化率（リスク幅）の許容値を入力として、リスクが高い属性の組み合わせを出力する。
【００４４】
ここで、リスク幅は、単一の属性に基づく最大の個人識別リスクから、複数の属性を組み合わせた場合の個人識別リスクへの変化率と定義される。すなわち、リスク幅は、属性を組み合わせることにより個人識別リスクが上昇するほど大きくなる指標である。
【００４５】
図５は、本実施形態に係るデータセットに対する個人識別リスクのリスク幅を説明する図である。
データセットに含まれる４つの属性のうち、例えば、住所及び購入品が攻撃者の知識属性として選択された場合、住所単独では属性値「大阪」に対する個人識別リスクが最大であり（ｋ１＝１／５）、購入品単独では属性値「ＢＤ」に対する個人識別リスクが最大である（ｋ２＝１／４）。したがって、単一の属性に対する最大の個人識別リスクは、ｋｍａｘ＝１／４である。
一方、住所及び購入品の組み合わせでは「東京−ＢＤ」及び「大阪−ＢＤ」に対する個人識別リスクが最大で、Ｋ＝１／２である。したがって、リスク幅は、Ｋ／ｋｍａｘ＝２となる。
【００４６】
また、例えば、年齢及び趣向が攻撃者の知識属性として選択された場合、年齢単独では属性値「４０−５０」に対する個人識別リスクが最大であり（ｋ１＝１／１１）、趣向単独では属性値「ＳＦ」に対する個人識別リスクが最大である（ｋ２＝１／１）。したがって、単一の属性に対する最大の個人識別リスクは、ｋｍａｘ＝１／１である。
一方、年齢及び趣向の組み合わせでは「４０−５０−ＳＦ」に対する個人識別リスクが最大で、Ｋ＝１／１である。したがって、リスク幅は、Ｋ／ｋｍａｘ＝１となる。
【００４７】
リスク評価装置１の機能構成は、第１実施形態（図３）と同様であるが、処理内容が以下のように異なっている。
【００４８】
入力部１１は、データセットと共に、データセットを提供した場合の個人識別リスクについて、このデータセットに含まれる複数の属性のいずれかが組み合わされることによる個人識別リスクの変化率に対する許容可能なリスク幅の入力を受け付ける。
なお、データセットに含まれるレコード及び属性は全て入力されなくてもよく、重要度に応じて一部のレコード及び属性が入力されてもよい。
【００４９】
選択部１２は、データセットに含まれる複数の属性から、指定されたｘ個以下で攻撃者が知識として持ち得る属性の組み合わせを選択する。
選択部１２は、属性の組み合わせの全てのパターンを選択してもよいし、ある上限数までのパターンを選択してもよい。
【００５０】
算出部１３は、属性の組み合わせ、及びこの組み合わせに含まれる単一の属性それぞれに対して、値が同一であるレコード数の逆数を、レコード毎の個人識別リスクとして算出する。
【００５１】
出力部１４は、選択部１２により選択された属性の組み合わせに含まれる単一の属性に対する最大の個人識別リスクから、属性の組み合わせに対する最大の個人識別リスクへの変化率が許容可能なリスク幅を超えるか否かによって区分された属性の組み合わせを出力する。
具体的には、出力部１４は、例えば、リスク幅が許容可能なレベルを超える、すなわちリスクが高いと考えられる属性の組み合わせと、リスク幅及びレコード毎の個人識別リスクとを出力する。
なお、出力される情報は、これには限られず、例えば、リスク幅が許容可能なレベルに収まる、すなわちリスクが低いと考えられる属性の組み合わせが出力されてもよい。
【００５２】
図６は、本実施形態に係るリスク評価装置１によるリスク評価方法を示すフローチャートである。
ステップＳ２０１において、入力部１１は、評価の対象となるデータセットＤ（レコード数ｕ、属性数ｖ）、許容可能なリクス幅ｙ、及び攻撃者が知識として持つ属性の数ｘを入力として受け付ける。
【００５３】
ステップＳ２０２において、選択部１２は、データセットＤに含まれる属性から、ｘ個以下の属性の組み合わせＡＴＴＲａのパターンを選択する。
ステップＳ２０３において、選択部１２は、ステップＳ２０２で選択された知識属性ＡＴＴＲａのパターン毎にループ処理を行う。
ステップＳ２０４において、算出部１３は、ＡＴＴＲａに含まれる単一の属性毎にループ処理を行う。
【００５４】
ステップＳ２０５において、算出部１３は、データセットＤ及び選択された単一の属性から、基数木を構築する。
ステップＳ２０６において、算出部１３は、データセットＤのレコード毎に、属性値を基数木から検索し、それぞれの出現回数ｎを算出する。
ステップＳ２０７において、算出部１３は、出現回数ｎの逆数である１／ｎの最大値を、選択された属性に対する個人識別リスクｋとして保存する。
【００５５】
ステップＳ２０８において、算出部１３は、データセットＤ及び知識属性ＡＴＴＲａから、基数木を構築する。
ステップＳ２０９において、算出部１３は、データセットＤのレコード毎に、ＡＴＴＲａの値の組み合わせＫｐ＝ｒｐａｔｔｒ１‖・・・‖ｒｐａｔｔｒｘ（ｐ＝１，・・・，ｕ）（ｒｐａｔｔｒｑは、レコードｐにおける属性ａｔｔｒｑの値）を、基数木から検索し、それぞれの出現回数ｎを算出する。
ステップＳ２１０において、算出部１３は、出現回数ｎの逆数である１／ｎの最大値を、ＡＴＴＲａに対する個人識別リスクＫとして保存する。
【００５６】
ステップＳ２１１において、算出部１３は、属性の組み合わせに対する個人識別リスクＫと、単一の属性に対する個人識別リスクｋの最大値ｋｍａｘとの比率であるリスク幅Ｋ／ｋｍａｘが許容可能な値ｙを超えているか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ２１２に移り、判定がＮＯの場合、処理はステップＳ２１２をスキップしてループ処理を継続する。
【００５７】
ステップＳ２１２において、出力部１４は、リスク幅が許容値を超えた属性の組み合わせＡＴＴＲａを出力する。
【００５８】
本実施形態によれば、リスク評価装置１は、実際の攻撃者を想定したモデル化された攻撃アルゴリズムを用いて、リスク幅に基づいて判定される危険性の高い属性の組み合わせを精度良く出力できる。
出力された属性の組み合わせは、潜在リスクが高いと判断できるので、データセットの提供者は、属性値を加工（削除、一般化等）することでリスクを下げる等のプライバシ保護施策を取ることができる。
【００５９】
リスク評価装置１は、新規ユーザ（レコード）が追加された場合、追加された後のデータセットに対して再度リスク評価を行うことで、リスクの変化を評価できる。
また、データセットの属性全体又は一部の匿名化レベルを変更して再度リスク評価を行うことで、リスク評価装置１は、データセットにおけるリスクの変化を定量的に評価できる。
【００６０】
さらに、データセットの各属性に取得コストが付与されている場合、リスク評価装置１は、出力結果に取得コストを追加することで、リスク評価装置１は、攻撃者が必要とする取得コストを見積もることができる。この結果、例えば、得られる情報に対して取得コストが高すぎる場合、この属性の組み合わせはリスクが低いと判断できる。
【００６１】
＜第３実施形態＞
以下、本発明の第３実施形態について説明する。
本実施形態のリスク評価装置１は、公開対象のデータセットと共に、属性毎の取得コスト、及び攻撃者の想定リソース、すなわち攻撃者が許容するコストの上限を入力として、攻撃者が知識として持ち得る属性の組み合わせを出力する。
【００６２】
リスク評価装置１の機能構成は、第１実施形態（図３）と同様であるが、処理内容が以下のように異なっている。
【００６３】
入力部１１は、属性毎の取得コストが与えられたデータセットと共に、データセットを提供した場合の個人識別リスクについて、攻撃者が知識として属性値を取得するための想定リソースの入力を受け付ける。
なお、データセットに含まれるレコード及び属性は全て入力されなくてもよく、重要度に応じて一部のレコード及び属性が入力されてもよい。
【００６４】
また、入力部１１は、攻撃者が知識として持つ可能性が高い重要な属性を初期値として受け付けてもよい。入力部１１は、例えば、事前に構築された知識データベースの中から複数の属性の組み合わせを入力としてもよい。
【００６５】
選択部１２は、データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する。
選択部１２は、属性の組み合わせの全てのパターンを選択してもよいし、ある上限数までのパターンを選択してもよい。また、攻撃者が知識として持つ属性が初期値として入力された場合には、選択部１２は、これらの属性に対して追加する属性のパターンを選択する。
【００６６】
算出部１３は、選択されたパターンにおける属性の組み合わせに対して、値が同一であるレコード数の逆数を、レコード毎の個人識別リスクとして算出する。
【００６７】
出力部１４は、属性の組み合わせに含まれる各属性の取得コストの合計が攻撃者の想定リソースを超えるか否かによって区分された属性の組み合わせ、及び個人識別リスクを出力する。具体的には、出力部１４は、例えば、取得コストの合計が想定リソース内に収まる属性の組み合わせと、合計コスト及び各レコードの個人識別リスクとを出力する。
【００６８】
図７は、本実施形態に係るリスク評価装置１によるリスク評価方法を示すフローチャートである。
ステップＳ３０１において、入力部１１は、各属性に取得コストが付与されたデータセットＤｃ（レコード数ｕ、属性数ｖ）、攻撃者の想定リソースＲａ、及び攻撃者が知識として持つ属性ＡＴＴＲａ＝｛ａｔｔｒ１，・・・，ａｔｔｒｉ｝を入力として受け付ける。
【００６９】
ステップＳ３０２において、選択部１２は、データセットＤｃに含まれる属性から、ＡＴＴＲａに追加する属性のパターンを選択する。
ステップＳ３０３において、選択部１２は、ステップＳ３０２で選択されたパターン毎にループ処理を行う。
【００７０】
ステップＳ３０４において、算出部１３は、ＡＴＴＲａに含まれる属性の取得コストの合計が攻撃者のリソースＲａを超えたか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ３０６に移り、判定がＮＯの場合、処理はステップＳ３０５に移る。
ステップＳ３０５において、算出部１３は、選択されたパターンに従って、ＡＴＴＲａに新たな属性を追加する。その後、処理はステップＳ３０４に戻る。
【００７１】
ステップＳ３０６において、算出部１３は、ステップＳ３０５で属性を追加したか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ３０８に移り、判定がＮＯの場合、処理はステップＳ３０７に移る。
【００７２】
ステップＳ３０７において、出力部１４は、入力されたＡＴＴＲａでは取得コストの合計が攻撃者のリソースを超えるため、エラー出力を行う。
【００７３】
ステップＳ３０８において、算出部１３は、ステップＳ３０５で直前に追加した属性をＡＴＴＲａから削除する。
【００７４】
ステップＳ３０９において、算出部１３は、データセットＤｃ及び知識属性ＡＴＴＲａから、基数木を構築する。
ステップＳ３１０において、算出部１３は、データセットＤｃのレコード毎に、ＡＴＴＲａの値の組み合わせＫｐ＝ｒｐａｔｔｒ１‖・・・‖ｒｐａｔｔｒｉ（ｉ＝｜ＡＴＴＲａ｜）（ｐ＝１，・・・，ｕ）（ｒｐａｔｔｒｑは、レコードｐにおける属性ａｔｔｒｑの値）を、基数木から検索し、それぞれの出現回数ｎを算出する。
ステップＳ３１１において、算出部１３は、出現回数ｎの逆数である１／ｎを、レコード毎のＡＴＴＲａに対する個人識別リスクとして保存する。
【００７５】
ステップＳ３１２において、出力部１４は、取得コストの合計が攻撃者の想定リソースに収まる属性の組み合わせＡＴＴＲａ、及びこのＡＴＴＲａに基づくレコード毎の個人識別リスクを出力する。
【００７６】
なお、本フローチャートで示す方法では、リスク評価装置１は、想定コスト内に収まる最大数の属性を出力しているが、これには限られず、より合計コストが小さい少数の属性の組み合わせを出力してもよい。
【００７７】
本実施形態によれば、リスク評価装置１は、各属性の取得コストが判明しているデータセットに対して、攻撃者が使用可能な想定リソースに基づいて、入手可能な知識属性の組み合わせを精度良く出力できる。さらに、リスク評価装置１は、実際の攻撃者を想定したモデル化された攻撃アルゴリズムを用いて、得られた入手可能な知識属性の組み合わせに対する個人識別リスクを精度良く出力できる。
【００７８】
これにより、データセットの提供者は、出力された属性の組み合わせ、取得コストの合計、及び個人識別リスクに基づいて、攻撃者が入手すると考えられる属性の組み合わせを推定できる。例えば、合計コストが小さく、かつ個人識別リスクが高くなる属性の組み合わせは、攻撃者が入手する可能性が高いと判断される。
データセットの提供者は、このような組み合わせを潜在リスクが高いと判断し、属性値を加工（削除、一般化等）することでリスクを下げる等のプライバシ保護施策を取ることができる。
【００７９】
＜第４実施形態＞
以下、本発明の第４実施形態について説明する。
本実施形態のリスク評価装置１は、公開対象のデータセットと共に、匿名化レベルの定義ファイル、及び個人識別リスクに対する許容値を入力として、適切な匿名化レベルの組み合わせを出力する。
【００８０】
ここで、匿名化レベルの定義ファイルは、例えば、レベル３｛日本｝、レベル２｛東京、大阪｝、レベル１｛池袋、新宿、豊中、梅田｝のように、それぞれの包含関係を表すデータが格納される。
【００８１】
図８は、本実施形態に係るリスク評価装置１の機能構成を示す図である。
リスク評価装置１は、入力部１１と、選択部１２と、匿名化部１５と、算出部１３と、出力部１４とを備える。
【００８２】
入力部１１は、データセットと共に、匿名化レベルの定義ファイル、及びデータセットを提供した場合の個人識別リスクについて、許容可能なリスク値の入力を受け付ける。
なお、データセットに含まれるレコード及び属性は全て入力されなくてもよく、重要度に応じて一部のレコード及び属性が入力されてもよい。
【００８３】
また、入力部１１は、攻撃者が知識として持つ可能性が高い重要な属性を初期値として受け付けてもよい。入力部１１は、例えば、事前に構築された知識データベースの中から複数の属性の組み合わせを入力としてもよい。
【００８４】
選択部１２は、データセットに含まれる複数の属性から、攻撃者が知識として持ち得る属性の組み合わせを選択する。
選択部１２は、属性の組み合わせの全てのパターンを選択してもよいし、ある上限数までのパターンを選択してもよい。また、攻撃者が知識として持つ属性が初期値として入力された場合には、選択部１２は、これらの属性に対して追加する属性のパターンを選択する。
【００８５】
匿名化部１５は、選択部１２により選択された属性の組み合わせに含まれるいずれかの属性を選択し、定義ファイルに基づいて匿名化レベルを上げて一般化する。
このとき、匿名化部１５は、属性ごとに全てのレコードの匿名化レベルを変更してもよいが、これには限られない。匿名化部１５は、例えば、住所属性が「東京」のレコードのみ年齢属性の匿名化レベルを変更する等、複数の条件に従って一部のレコードを対象に匿名化レベルを変更してもよい。
また、匿名化部１５は、組み合わせの中から一般化する属性の順序について、全てのパターンを選択してもよいし、ある上限数までのパターンを選択してもよい。
【００８６】
算出部１３は、選択されたパターンにおける属性の組み合わせに対して、値が同一であるレコード数の逆数を、レコード毎の個人識別リスクとして算出する。
【００８７】
出力部１４は、個人識別リスクの最大値が許容可能なリスク値で示されるリスクを超えるか否かによって区分された属性及び匿名化レベルの組み合わせを出力する。具体的には、出力部１４は、例えば、全レコードの個人識別リスクが許容可能なレベルに収まる属性及び匿名化レベルの組み合わせと、各レコードの個人識別リスクとを出力する。
なお、出力される情報は、これには限られず、例えば、いずれかのレコードの個人識別リスクが許容できないレベルとなる属性及び匿名化レベルの組み合わせが出力されてもよい。また、個人識別リスクが許容可能なレコード、又は許容できないレコードが出力されてもよい。
【００８８】
図９は、本実施形態に係るリスク評価装置１によるリスク評価方法を示すフローチャートである。
ステップＳ４０１において、入力部１１は、評価の対象となるデータセットＤ（レコード数ｕ、属性数ｖ）、攻撃者が知識として持つ属性ＡＴＴＲａ＝｛ａｔｔｒ１，・・・，ａｔｔｒｉ｝、及び許容可能なリクス値Ｎを入力として受け付ける。
なお、ＡＴＴＲａの入力がない場合、選択部１２は、全ての属性を選択してＡＴＴＲａとする。
【００８９】
ステップＳ４０２において、匿名化部１５は、ＡＴＴＲａに含まれる属性に関して、匿名化する順序パターンを選択する。
ステップＳ４０３において、匿名化部１５は、ステップＳ４０２で選択されたパターン毎にループ処理を行う。
【００９０】
ステップＳ４０４において、匿名化部１５は、定義ファイルに基づいて、選択された属性の匿名化レベルを１つ上げる（一般化する）。
【００９１】
ステップＳ４０５において、算出部１３は、データセットＤ及び知識属性ＡＴＴＲａから、基数木を構築する。
ステップＳ４０６において、算出部１３は、データセットＤのレコード毎に、ＡＴＴＲａの値の組み合わせＫｐ＝ｒｐａｔｔｒ１‖・・・‖ｒｐａｔｔｒｉ（ｐ＝１，・・・，ｕ）（ｒｐａｔｔｒｑは、レコードｐにおける属性ａｔｔｒｑの値）を、基数木から検索し、それぞれの出現回数ｎを算出する。
ステップＳ４０７において、算出部１３は、出現回数ｎの逆数である１／ｎの最大値を、個人識別リスクとして保存する。
【００９２】
ステップＳ４０８において、算出部１３は、個人識別リスクが最大となったｎが許容可能なリスク値Ｎより小さいか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ４０４に戻り、判定がＮＯの場合、処理はステップＳ４０９に移る。
【００９３】
ステップＳ４０９において、出力部１４は、個人識別リスクが許容可能なレベルにある属性及び匿名化レベルの組み合わせを出力する。
【００９４】
本実施形態によれば、リスク評価装置１は、データセットの提供者が安全性の基準（リスク値）を設けている場合に、実際の攻撃者を想定したモデル化された攻撃アルゴリズムを用いて、この基準を満たす属性及び匿名化レベルの組み合わせを精度良く出力できる。
【００９５】
また、出力された匿名化レベルの組み合わせからレベル変更後のデータセットを容易に生成できるので、リスク評価装置１は、安全性を確保した上で適切な匿名化レベルに一般化された有用なデータセットを生成できる。
【００９６】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００９７】
リスク評価装置１によるリスク評価方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（リスク評価装置１）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータ（リスク評価装置１）に提供されてもよい。
【符号の説明】
【００９８】
１  リスク評価装置
１１  入力部
１２  選択部
１３  算出部
１４  出力部
１５  匿名化部
【図１】
0006487820.tif 000002
【図２】
0006487820.tif 000003
【図３】
0006487820.tif 000004
【図４】
0006487820.tif 000005
【図５】
0006487820.tif 000006
【図６】
0006487820.tif 000007
【図７】
0006487820.tif 000008
【図８】
0006487820.tif 000009
【図９】
0006487820.tif 000010