(57)【特許請求の範囲】
【請求項１】
複数の項目から構成され、前記複数の項目のそれぞれに対応付けられた複数の値のうちいずれかであるデータ値を含むデータの入力を受け付け、該受け付けたデータに含まれるデータ値を、所定の確率に基づいて前記複数の値のうちいずれかの値に撹乱値として置換する撹乱装置であって、
前記データと、当該データに含まれるデータ値が置換された撹乱値を含む撹乱データとを対応付けられる確率の逆数である値ｋを表す式
【数１】
0005475610.tif 000010
を充足する値として前記データ値を前記撹乱値に置換しない確率である第１の維持確率ρkとして算出される撹乱用確率に基づき、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換する撹乱部を有する撹乱装置。
【請求項２】
請求項１に記載の撹乱装置において、
前記撹乱用確率を算出する維持確率設定部を有し、
前記撹乱部は、前記データの入力を受け付けると、前記複数の項目毎に複数の乱数を生成し、該生成された複数の乱数のそれぞれと、前記維持確率設定部にて算出された前記撹乱用確率とを比較することにより、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換するかどうかを前記複数の項目毎に決定する撹乱装置。
【請求項３】
請求項１に記載の撹乱装置において、
前記撹乱用確率を示す維持確率情報を外部から受信する受信部を有し、
前記撹乱部は、前記データの入力を受け付けると、前記複数の項目毎に複数の乱数を生成し、該生成された複数の乱数のそれぞれと、前記受信部にて受信された維持確率情報が示す前記撹乱用確率とを比較することにより、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換するかどうかを前記複数の項目毎に決定する撹乱装置。
【請求項４】
請求項１に記載の撹乱装置において、
前記第１の維持確率ρkと、
【数２】
0005475610.tif 000011
を用いて前記複数の項目毎に算出され、前記データ値を前記撹乱値に置換しない確率である第２の維持確率ρlと、
【数３】
0005475610.tif 000012
を用いて算出され、前記データ値を前記撹乱値に置換しない確率である第３の維持確率ρdと、のうちの少なくとも２つの値の大きさを前記複数の項目毎に比較し、該比較の結果、最も小さな値を前記複数の項目毎に複数の最適維持確率として決定する維持確率設定部を有し、
前記撹乱部は、該複数の最適維持確率のそれぞれに基づき、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換する撹乱装置。
【請求項５】
請求項４に記載の撹乱装置において、
前記撹乱部は、前記データの入力を受け付けると、前記複数の項目毎に複数の乱数を生成し、該生成された複数の乱数のそれぞれと、前記維持確率設定部にて決定された前記複数の最適維持確率のそれぞれとを比較することにより、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換するかどうかを前記複数の項目毎に決定する撹乱装置。
【請求項６】
請求項４に記載の撹乱装置において、
前記複数の最適維持確率のそれぞれを示す維持確率情報を前記維持確率設定部から受信する受信部を有し、
前記撹乱部は、前記データの入力を受け付けると、前記複数の項目毎に複数の乱数を生成し、該生成された複数の乱数のそれぞれと、前記受信部にて受信された維持確率情報が示す前記複数の最適維持確率のそれぞれとを比較することにより、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換するかどうかを前記複数の項目毎に決定する撹乱装置。
【請求項７】
複数の項目から構成され、前記複数の項目のそれぞれに対応付けられた複数の値のうちいずれかであるデータ値を含むデータの入力を受け付け、該受け付けたデータに含まれるデータ値を、所定の確率に基づいて前記複数の値のうちいずれかの値に撹乱値として置換する撹乱装置における撹乱方法であって、
前記撹乱装置の撹乱部が、前記データと、当該データに含まれるデータ値が置換された撹乱値を含む撹乱データとを対応付けられる確率の逆数である値ｋを表す式
【数４】
0005475610.tif 000013
を充足する値として前記データ値を前記撹乱値に置換しない確率である第１の維持確率ρkとして算出される撹乱用確率に基づき、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換する第１の置換処理を有する撹乱方法。
【請求項８】
請求項７記載の撹乱方法において、
前記撹乱装置の維持確率設定部が、前記撹乱用確率を算出する処理をさらに有し、
前記第１の置換処理は、前記撹乱部が、
前記データの入力を受け付ける処理と、
前記複数の項目毎に複数の乱数を生成する処理と、
前記生成された複数の乱数のそれぞれと、前記算出された前記撹乱用確率とを比較することにより、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換するかどうかを前記複数の項目毎に決定する処理と、を含む撹乱方法。
【請求項９】
請求項７に記載の撹乱方法において、
前記撹乱装置の受信部が、前記撹乱用確率を示す維持確率情報を外部から受信する処理をさらに有し、
前記第１の置換処理は、前記撹乱部が、
前記データの入力を受け付ける処理と、
前記複数の項目毎に複数の乱数を生成する処理と、
前記生成された複数の乱数のそれぞれと、前記受信された維持確率情報が示す前記撹乱用確率とを比較することにより、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換するかどうかを前記複数の項目毎に決定する処理と、を含む撹乱方法。
【請求項１０】
請求項７に記載の撹乱方法において、
前記撹乱装置の維持確率設定部が、
前記第１の維持確率ρkと、
【数５】
0005475610.tif 000014
を用いて前記複数の項目毎に算出され、前記データ値を前記撹乱値に置換しない確率である第２の維持確率ρlと、
【数６】
0005475610.tif 000015
を用いて算出され、前記データ値を前記撹乱値に置換しない確率である第３の維持確率ρdと、のうちの少なくとも２つの値の大きさを前記複数の項目毎に比較し、該比較の結果、最も小さな値を前記複数の項目毎に複数の最適維持確率として決定する処理と、
前記撹乱部が、該複数の最適維持確率のそれぞれに基づき、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換する第２の置換処理とをさらに有する撹乱方法。
【請求項１１】
請求項１０に記載の撹乱方法において、
前記第２の置換処理は、前記撹乱部が、
前記データの入力を受け付ける処理と、
前記複数の項目毎に複数の乱数を生成する処理と、
前記生成された複数の乱数のそれぞれと、前記決定された前記複数の最適維持確率のそれぞれとを比較することにより、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換するかどうかを前記複数の項目毎に決定する処理と、を含む撹乱方法。
【請求項１２】
請求項１０に記載の撹乱方法において、
前記撹乱装置の受信部が、前記複数の最適維持確率のそれぞれを示す維持確率情報を前記維持確率設定部から受信する処理をさらに有し、
前記第２の置換処理は、前記撹乱部が、
前記データの入力を受け付ける処理と、
前記複数の項目毎に複数の乱数を生成する処理と、
前記生成された複数の乱数のそれぞれと、前記受信された維持確率情報が示す前記複数の最適維持確率のそれぞれとを比較することにより、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換するかどうかを前記複数の項目毎に決定する処理と、を含む撹乱方法。
【請求項１３】
複数の項目から構成され、前記複数の項目のそれぞれに対応付けられた複数の値のうちいずれかであるデータ値を含むデータの入力を受け付け、該受け付けたデータに含まれるデータ値を、所定の確率に基づいて前記複数の値のうちいずれかの値に撹乱値として置換するコンピュータを、請求項１乃至６のいずれか１項に記載の撹乱装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データに含まれる値を秘匿する撹乱装置、撹乱方法及びプログラムに関する。
【背景技術】
【０００２】
近年、データベースに記憶されたデータに含まれる値を統計的手法によって秘匿しつつ、データに含まれる値の集計結果であるクロス集計等を推定する技術が考えられている（例えば、非特許文献１，２参照。）。ここでいうデータとは例えば、個人情報等を含むアンケート結果等のことであり、保護されるべきデータのことである。
【０００３】
なお、クロス集計とは、データを構成する複数の項目のうち、２つまたはそれ以上の項目に着目してデータの集計や統計分析を行うことである。クロス集計は通常、１つまたは２つ程度の項目を縦軸にとり、別の項目を横軸にとった表として表される。
【０００４】
非特許文献１，２に開示されている技術では、データベースに記憶されたデータに含まれる値を、予め決められた維持確率に基づいて項目毎に確率的に変化させる。なお、維持確率とは値を確率的に変化させた後においても、その値がそのままの値を維持する確率のことである。以降、このように維持確率に基づき、データに含まれる値を確率的に変化させることを撹乱という。また、データベースに記憶されたデータに含まれる値のことをデータ値という。また、撹乱されたデータ値のことを撹乱値という。なお、これらの用語を用いると、維持確率は、データ値を撹乱値に置換しない確率ということができる。
【０００５】
この撹乱によってデータ値が秘匿され、例えばそのデータ値が置換された撹乱値を含む撹乱データが漏洩した場合でもデータを保護することができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】五十嵐  大，千田  浩司，高橋  克巳,「多値属性に適用可能な効率的プライバシー保護クロス集計」，コンピュータセキュリティシンポジウム２００８（２００８年１０月８日〜１０日）
【非特許文献２】高見澤  秀久，有次  正義，「プライバシーを保護するカウント演算の多値属性分類への適用」，  ＤＥＷＳ２００７，  ２００７
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した非特許文献１，２に開示されている技術では、データがどの程度秘匿されているかが明確でない。つまり、上述した維持確率によっては、データと撹乱データとを対応付けられる確率が高くなり、データと撹乱データとが対応付けられてしまうという問題点がある。
【０００８】
本発明は、データと撹乱データとが対応付けられるのを回避することができる撹乱装置、撹乱方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の撹乱装置は、
複数の項目から構成され、前記複数の項目のそれぞれに対応付けられた複数の値のうちいずれかであるデータ値を含むデータの入力を受け付け、該受け付けたデータに含まれるデータ値を、所定の確率に基づいて前記複数の値のうちいずれかの値に撹乱値として置換する撹乱装置であって、
前記データと、当該データに含まれるデータ値が置換された撹乱値を含む撹乱データとを対応付けられる確率の逆数を示す値ｋを表し、前記データ値を前記撹乱値に置換しない確率である第１の維持確率ρkを含む式、
【００１０】
【数１】
0005475610.tif 000002
【００１１】
を用いて算出される撹乱用確率に基づき、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換する。
【００１２】
また、上記目的を達成するために本発明の撹乱方法は、
複数の項目から構成され、前記複数の項目のそれぞれに対応付けられた複数の値のうちいずれかであるデータ値を含むデータの入力を受け付け、該受け付けたデータに含まれるデータ値を、所定の確率に基づいて前記複数の値のうちいずれかの値に撹乱値として置換する撹乱装置における撹乱方法であって、
前記データと、当該データに含まれるデータ値が置換された撹乱値を含む撹乱データとを対応付けられる確率の逆数を示す値ｋを表し、前記データ値を前記撹乱値に置換しない確率である第１の維持確率ρkを含む式、
【００１３】
【数２】
0005475610.tif 000003
【００１４】
を用いて算出される撹乱用確率に基づき、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換する第１の置換処理を有する。
【００１５】
また、上記目的を達成するために本発明のプログラムは、
複数の項目から構成され、前記複数の項目のそれぞれに対応付けられた複数の値のうちいずれかであるデータ値を含むデータの入力を受け付け、該受け付けたデータに含まれるデータ値を、所定の確率に基づいて前記複数の値のうちいずれかの値に撹乱値として置換する撹乱装置に、
前記データと、当該データに含まれるデータ値が置換された撹乱値を含む撹乱データとを対応付けられる確率の逆数を示す値ｋを表し、前記データ値を前記撹乱値に置換しない確率である第１の維持確率ρkを含む式、
【００１６】
【数３】
0005475610.tif 000004
【００１７】
を用いて算出される撹乱用確率に基づき、前記受け付けたデータに含まれるデータ値を前記撹乱値に置換する置換機能を実現させる。
【発明の効果】
【００１８】
本発明によれば、撹乱装置は、複数の項目から構成され、複数の項目のそれぞれに対応付けられた複数の値のうちいずれかであるデータ値を含むデータの入力を受け付け、受け付けたデータに含まれるデータ値を、所定の確率に基づいて複数の値のうちいずれかの値に撹乱値として置換する。その際、撹乱装置１０は、データと、当該データに含まれるデータ値が置換された撹乱値を含む撹乱データとを対応付けられる確率の逆数を示す値ｋを表し、前記データ値を前記撹乱値に置換しない確率である第１の維持確率ρkを含む式を用いて算出される撹乱用確率に基づき、受け付けたデータに含まれるデータ値を撹乱値に置換する。
【００１９】
これにより、データと撹乱データとを対応付けられる確率が所定の確率以下となることを保証することができる。つまり、データと撹乱データとを高い確率で対応付けられる確率を０とすることができる。
【００２０】
従って、データと撹乱データとが対応付けられるのを回避することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の撹乱装置を適用した集計システムの実施の一形態の構成を示すブロック図である。
【図２】図１に示したデータベースが有するテーブルの構成の一例を示す図であり、（ａ）はテーブルの構成を説明するための図、（ｂ）はテーブルの具体例を説明するための図である。
【図３】図１及び図２に示した集計システムの動作を説明するためのフローチャートである。
【図４】図１に示した維持確率設定部を集計装置が備えた集計システムの構成の一例を示すブロック図である。
【図５】図１に示した維持確率設定部を撹乱装置及び集計装置以外の装置が備えた集計システムの構成の一例を示すブロック図である。
【図６】図５に示した構成において撹乱装置及び集計装置を複数備えた場合の構成の一例を示すブロック図である。
【図７】図１及び図４〜図６に示したデータベースが有するテーブルの他の具体例を説明するための図である。
【発明を実施するための形態】
【００２２】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２３】
図１は、本発明の撹乱装置を適用した集計システムの実施の一形態の構成を示すブロック図である。
【００２４】
本実施形態の集計システムは図１に示すように、撹乱装置１０と、集計装置２０とを備えている。
【００２５】
撹乱装置１０は、データベース１１と、維持確率設定部１２と、撹乱部１３とを備えている。
【００２６】
データベース１１は、複数のデータが記憶されたテーブルを有している。
【００２７】
図２は、図１に示したデータベース１１が有するテーブルの構成の一例を示す図であり、（ａ）はテーブルの構成を説明するための図、（ｂ）はテーブルの具体例を説明するための図である。
【００２８】
図１に示したデータベース１１が有するテーブルは図２（ａ）に示すように、複数のデータ（データ１〜ｎ）を記憶している。複数のデータのそれぞれは、複数の項目（項目１〜ｎ）から構成されている。また、複数のデータのそれぞれは、複数の項目のそれぞれに対応付けられた複数の値のいずれかであるデータ値を含んでいる。
【００２９】
図２（ｂ）は、図２（ａ）に示したテーブルの具体例を示している。図２（ｂ）に示すテーブルでは、複数のデータのそれぞれが個人に関するデータとなっており、図中最も左の列に個人名を識別するＩＤが示されている。そして、項目１がそれぞれの個人の性別、項目２がそれぞれの個人の年代となっている。
【００３０】
図２（ｂ）に示す例の場合、各項目に対応付けられた値としては、性別（項目１）では例えば、男性の場合「０」、女性の場合「１」となる。従って、性別（項目１）に対応付けられた値の数は「２」となる。また、年代（項目２）では例えば、０歳〜９歳の場合「０」、１０歳〜１９歳の場合「１」となり、その後、年代順に「２」〜「８」が用いられ、９０歳〜９９歳の場合「９」となる。従って、年代（項目２）に対応付けられた値の数は「１０」となる。
【００３１】
このように、データベース１１が有するテーブルにおいては、各項目に対応付けられた値と、各項目に対応付けられた値の数とが予め決められている。以降、各項目ｉに対応付けられた値の数をＭｉと表記し、各項目ｉに対応付けられた値をＶｉ0〜ＶｉMi-1と表記する。
【００３２】
再度、図１を参照すると、維持確率設定部１２は、データベース１１が有するテーブルの構成を予め記憶している。具体的には、維持確率設定部１２は、データベース１１が有するテーブルに記憶されたデータの数Ｎと、各項目ｉに対応付けられた値の数Ｍｉとを記憶している。さらに、維持確率設定部１２は、予め決められた値であるｋを記憶している。なお、ｋの詳細については後述する。そして、維持確率設定部１２は、これらの値を用いて以下の式１にて表される式の解であるρkを二分法等を用いて算出する。本実施形態においては、式１の解であるρkが撹乱用確率である第１の維持確率となる。そして、維持確率設定部１２は、算出した第１の維持確率ρkを示す維持確率情報を撹乱部１３へ出力する。
【００３３】
【数４】
0005475610.tif 000005
【００３４】
撹乱部１３は、データベース１１が有するテーブルに記憶されたデータの各項目ｉに対応付けられた値Ｖｉ0〜ＶｉMi-1を記憶している。撹乱部１３は、データベース１１に記憶された複数のデータの入力を受け付ける。また、撹乱部１３は、維持確率設定部１２から出力された維持確率情報を受け付ける。そして、受け付けた維持確率情報が示す第１の維持確率ρkに基づき、受け付けた複数のデータに含まれるデータ値を項目毎に撹乱値に置換する。このとき、撹乱部１３は、実数の値を有する乱数ｒi（０≦ｒi≦１）を項目毎に生成する。そして、受け付けた維持確率情報が示す第１の維持確率ρkと、生成された乱数ｒiとを項目毎に比較する。受け付けた維持確率情報が示す第１の維持確率ρkと、生成された乱数ｒiとを比較した結果、乱数ｒiの値が第１の維持確率ρkよりも大きな場合（ｒi＞ρk）、撹乱部１３は、その項目ｉのデータ値を、その項目ｉに対応付けられた値Ｖｉ0〜ＶｉMi-1のいずれかに置換する。この置換されたデータ値が撹乱値となる。一方、受け付けた維持確率情報が示す第１の維持確率ρkと、生成された乱数ｒiとを比較した結果、乱数ｒiの値が第１の維持確率ρk以下である場合（ｒi≦ρk）、撹乱部１３は、その項目ｉのデータ値を置換しない。そして、撹乱部１３は、上述した比較の結果に応じて置換されたデータ値（撹乱値）及び置換されなかったデータ値（受け付けたデータに含まれるデータ値）を含むデータを集計装置２０へ送信する。この上述した比較の結果に応じて置換されたデータ値（撹乱値）及び置換されなかったデータ値（受け付けたデータに含まれるデータ値）を含むデータが撹乱データとなる。
【００３５】
ここで、上記の式１について説明する。
【００３６】
上記の式１の左辺は、最悪のデータベースに対して最悪な撹乱が行われ、最強の攻撃者に攻撃された場合に、データと撹乱データとが対応付けられる確率の逆数を示している。なお、攻撃者とは、データ値を不正に取得しようとしている者のことである。
【００３７】
上記の式１の左辺の値が「ｋ」であるということは、どのような攻撃者も１／ｋ以上の確率で、データと撹乱データとを対応付けられないということである。言い換えると、撹乱データが公開されたり、漏洩したりしても、その撹乱データが例えば、図２（ｂ）に示したどの個人のものであるかを知られることは決してない。これは例えば、図２（ｂ）に示したようなデータの項目（性別や年代）等に関する知識を有する攻撃者に対しても保証される。
【００３８】
なお、最悪のデータベースとは、ある１つのデータにおける各項目のデータ値の組み合わせをｐとしたとき、他のデータの全てにおける各項目のデータ値の組み合わせが、ｐ以外の組み合わせｑであるデータベースのことである。また、最悪の撹乱とは、いずれのデータ値も撹乱値に置換されない撹乱のことである。また、最強の攻撃者とは、撹乱部１３において生成された乱数、及び、データ値の並び順以外の全ての情報、つまり、全てのデータ値、全ての撹乱値及び第１の維持確率ρkを閲覧することができる攻撃者のことである。
【００３９】
再度、図１を参照すると、集計装置２０は、集計処理部２１を備えている。
【００４０】
集計処理部２１は、撹乱装置１０の撹乱部１３から送信された撹乱データを受信し、受信した撹乱データから集計結果を推定する。集計結果とは例えば、クロス集計である。このとき、集計処理部２１は、例えば、非特許文献１に記載された反復ベイズ手法等を用い、受信した撹乱データから集計結果を推定する。
【００４１】
以下に、上記のように構成された集計システムの動作について説明する。
【００４２】
図３は、図１及び図２に示した集計システムの動作を説明するためのフローチャートである。
【００４３】
まず、維持確率設定部１２は、データベース１１が有するテーブルに記憶されたデータの数Ｎと、各項目ｉに対応付けられた値の数Ｍｉと、予め決められた値であるｋとを用い、上記式１に示した式の解である第１の維持確率ρkを二分法等を用いて算出する（ステップＳ１）。
【００４４】
そして、維持確率設定部１２は、算出した第１の維持確率ρkを示す維持確率情報を撹乱部１３へ出力する。
【００４５】
撹乱部１３は、データベース１１が有するテーブルに記憶された複数のデータの入力を受け付けるとともに、維持確率設定部１２から出力された維持確率情報を受け付ける。
【００４６】
次に、撹乱部１３は、乱数ｒiを項目毎に生成する（ステップＳ２）。
【００４７】
そして、撹乱部１３は、受け付けた維持確率情報が示す第１の維持確率ρkと、生成された乱数ｒiとを項目毎に比較する（ステップＳ３）。
【００４８】
ステップＳ３における比較の結果、生成された乱数ｒiの値が受け付けた維持確率情報が示す第１の維持確率ρkよりも大きな場合（ｒi＞ρk）、撹乱部１３は、その項目ｉのデータ値を、その項目ｉに対応付けられた値Ｖｉ0〜ＶｉMi-1のうちいずれかの値に撹乱値として置換する（ステップＳ４）。
【００４９】
一方、ステップＳ３における比較の結果、生成された乱数ｒiの値が受け付けた維持確率情報が示す第１の維持確率ρk以下である場合には（ｒi≦ρk）、撹乱部１３は、その項目ｉのデータ値を置換しない。
【００５０】
そして、撹乱部１３は、置換されたデータ値（撹乱値）及び置換されなかったデータ値（受け付けたデータに含まれるデータ値）を含むデータを撹乱データとして集計装置２０へ送信する（ステップＳ５）。
【００５１】
集計装置２０の集計処理部２１は、撹乱装置１０から送信された撹乱データを受信する。
【００５２】
そして、集計処理部２１は、例えば、非特許文献１に記載された反復ベイズ手法等を用い、受信した撹乱データからクロス集計等の集計結果を推定する（ステップＳ６）。
【００５３】
このように本実施形態においては、撹乱装置１０は、複数の項目から構成され、複数の項目のそれぞれに対応付けられた複数の値のうちいずれかであるデータ値を含むデータの入力を受け付け、受け付けたデータに含まれるデータ値を、所定の確率に基づいて複数の値のうちいずれかの値に撹乱値として置換する。その際、撹乱装置１０は、データと、当該データに含まれるデータ値が置換された撹乱値を含む撹乱データとを対応付けられる確率の逆数を示す値ｋを表す上記式１を用いて算出され、データ値を撹乱値に置換しない確率である第１の維持確率ρkに基づき、受け付けたデータに含まれるデータ値を撹乱値に置換する。
【００５４】
これにより、データと撹乱データとを対応付けられる確率が所定の確率以下となることを保証することができる。つまり、データと撹乱データとを高い確率で対応付けられる確率を０とすることができる。
【００５５】
従って、データと撹乱データとが対応付けられるのを回避することができる。
【００５６】
なお、本実施形態では、維持確率設定部１２と撹乱部１３とが１つの装置に備えられている場合の構成について説明した。
【００５７】
この構成は例えば、顧客の個人情報等を含む顧客データを有する企業がマーケティング業務を他の企業へ業務委託する場合を想定している。具体的には、委託元の企業が撹乱装置１０を有し、委託先の企業が集計装置２０を有することにより、委託元の企業は、委託先の企業や外部の攻撃者から顧客の個人情報等を秘匿しつつ統計分析等を委託することができる。
【００５８】
ここで、維持確率設定部１２と撹乱部１３とは、必ずしも１つの同じ装置に備えられている必要はなく、以下に示すような様々な構成が考えられる。
【００５９】
図４は、図１に示した維持確率設定部１２を集計装置が備えた集計システムの構成の一例を示すブロック図である。
【００６０】
図４に示すような構成の場合、撹乱装置１１０の受信部１４が、集計装置１２０の維持確率設定部１２から送信された維持確率情報を受信する。そして、撹乱装置１１０の撹乱部１３は、受信部１４にて受信された維持確率情報が示す第１の維持確率ρkに基づき、データ値を撹乱する。そして、撹乱部１３は、撹乱データを集計装置１２０へ送信する。
【００６１】
この構成は例えば、アンケート業者がアンケートをとる場合を想定している。具体的には、アンケート業者が集計装置１２０を有し、アンケートの回答者が撹乱装置１１０を有することにより、アンケート回答が秘匿された状態で統計分析等を行うことができる。
【００６２】
また、撹乱装置及び集計装置以外の装置が維持確率設定部１２を備えた構成とすることも可能である。
【００６３】
図５は、図１に示した維持確率設定部１２を撹乱装置及び集計装置以外の装置が備えた集計システムの構成の一例を示すブロック図である。
【００６４】
図５に示すように、撹乱装置１１０及び集計装置２０以外の装置である撹乱データサーバ３０は、維持確率設定部１２とデータ送受信部３１とを備えている。図５に示すような構成の場合、撹乱装置１１０の受信部１４が、撹乱データサーバ３０の維持確率設定部１２から送信された維持確率情報を受信する。そして、撹乱装置１１０の撹乱部１３は、受信部１４にて受信された維持確率情報が示す第１の維持確率ρkに基づき、データ値を撹乱する。そして、撹乱部１３は、撹乱データサーバ３０のデータ送受信部３１を介し、撹乱データを集計装置２０へ送信する。
【００６５】
この構成は例えば、企業が顧客にアンケートをとり、そのアンケート結果の分析を外部へ委託する場合を想定している。具体的には、アンケートの回答者が撹乱装置１１０を有し、委託元の企業が撹乱データサーバ３０を有し、委託先の企業が集計装置２０を有する。これにより、委託元の企業は、委託先及び委託元の企業内の不正者や、外部の攻撃者からアンケート回答を秘匿しつつ統計分析等を委託することができる。
【００６６】
また、図５に示したような構成において、撹乱装置及び集計装置は複数存在してもよい。
【００６７】
図６は、図５に示した構成において撹乱装置及び集計装置を複数備えた場合の構成の一例を示すブロック図である。
【００６８】
この構成では例えば、アンケートをとることを専門とするアンケート業者が撹乱データサーバ３０を有し、複数のアンケートの回答者のそれぞれが撹乱装置１１０−１〜１１０−ｎのそれぞれを有し、アンケートを分析する複数の分析機関のそれぞれが集計装置２０−１〜２０−ｎのそれぞれを有する。そして、アンケート業者が撹乱データを公開する。これにより、各分析機関は、アンケート回答を本人以外には秘匿にしたまま、統計分析等を行うことができる。
【００６９】
ここで、上述したように第１の維持確率ρkに基づいてデータ値を撹乱値に置換することにより、どのような攻撃者も１／ｋ以上の確率で、データと撹乱データとを対応付けることができないようにすることができる。つまり、第１の維持確率ρkに基づいて置換された撹乱値を含む撹乱データは、「P. Samarati and L. Sweeney. Generalizing data to provide anonymity when disclosing infor-mation (abstract). Proc. of the 17th ACM-SIGMOD-SIGACT-SIGART Symposium on the Principles of Database Systems, p. 188,Seattle, WA, 1998.」等で提案されているｋ−匿名性というプライバシー保護指標を満足したのと同等の秘匿性が確保されている。
【００７０】
しかし、ｋ−匿名性を満足していたとしても、データに含まれるデータ値が特定されるのを回避できるとは限らない。
【００７１】
データに含まれるデータ値が特定されることに対する耐性を示すプライバシー保護指標であるｌ（エル）−多様性が「A. Machanavajjhala, J. Gehrke, D. Kiefer, and M.Venkitasubramanian. l-diversity:privacy beyond k-anonymity. Proc. of ICDE 2006, 2006.」にて提案されている。
【００７２】
以下に、図１及び図４〜図６に示したデータベース１１が図７に示すようなテーブルを有している場合を一例として用いてｌ−多様性について説明する。
【００７３】
図７は、図１及び図４〜図６に示したデータベース１１が有するテーブルの他の具体例を説明するための図である。
【００７４】
図７に示すテーブルでは、図２（ｂ）に示したテーブルと同様に、複数のデータのそれぞれが個人に関するデータとなっており、図中最も左の列に個人名を識別するＩＤが示されている。そして、項目１がそれぞれの個人の性別、項目２がそれぞれの個人の年齢、項目３がそれぞれの個人の趣味となっている。
【００７５】
趣味（項目３）に対応付けられた値として例えば、スポーツを「１」とし、釣りを「２」とし、旅行を「３」とし、読書を「４」とする。
【００７６】
図７に示したテーブルに記憶されたデータの各項目は、３つの種類に分類することができる。１つめは、その項目単独で個人を特定できる項目であり、ＩＤがこれに該当する。これは識別子といわれる。
【００７７】
２つめは、比較的容易にアクセス可能であり、かつ、組み合わせによって個人を特定できる項目であり、性別（項目１）及び年齢（項目２）がこれに該当する。このような項目は準識別子といわれる。
【００７８】
３つめは、テーブルを見なければわからない項目であり、趣味（項目３）がこれに該当する。このような項目はセンシティブ属性といわれる。センシティブ属性は、データの有用性とプライバシー保護との両面で非常に重要な項目である。
【００７９】
ｋ−匿名性を満足するためには、識別子を削除した後、準識別子のデータ値を抽象化することによってデータの秘匿性を確保する。なお、抽象化された後に、同じ準識別子を持つデータ群のことを等準識別子ブロックという。
【００８０】
センシティブ属性は、データマイニング等の目的に直結する項目であるため、抽象化が行われない。これにより、プライバシー保護とデータの有用性との両立を図るのが一般的である。
【００８１】
センシティブ属性の抽象化が行われない結果、ｋ−匿名性を満足している場合でも、ある個人に関するデータに含まれるセンシティブ属性のデータ値が特定されてしまうことがある。
【００８２】
例えばＡという個人に関するデータが含まれる等準識別子ブロックにおいて趣味の項目のデータ値が全て「スポーツ」に対応する値である場合、Ａという個人の趣味が「スポーツ」であることが特定されてしまう。
【００８３】
また、例えばＢという個人に関するデータが含まれる等準識別子ブロックにおいて趣味の項目のデータ値が全て「スポーツ」または「読書」に対応する値である場合を考えてみる。この場合、Ｂという個人がスポーツを好まないことを知っていれば、Ｂという個人の趣味が「読書」であることが特定されてしまう。
【００８４】
このようにデータ値が特定されてしまうことを回避するために、ｌ−多様性は、等準識別子ブロックにｌ（エル）個以上の十分頻度の高いデータ値が存在することを保証する。
【００８５】
ここで、図１及び図４〜図６に示したデータベース１１に記憶されたデータのうちデータ値が特定されるのを回避したい項目ｉの分布ＴΣと、その項目ｉに対応付けられた値Ｖｉ0〜ＶｉMi-1の数Ｍｉとが定まっている場合を考える。この場合に、ｌ−多様性を満足したのと同等の秘匿性を確保するためには、以下に示す式２における第２の維持確率ρlを上限としてデータ値を撹乱値に置換すればよい。
【００８６】
【数５】
0005475610.tif 000006
【００８７】
なお、上記の式２においてｃ、ｌはｌ−多様性のパラメータであり、その値は予め定められているものとする。また、各ａ≦Ｍｉに対してＰaは、ＴΣ中で、データ値が特定されるのを回避したい項目ｉに対応付けられた値Ｖｉ0〜ＶｉMi-1のうちａ番目に頻度の高いデータ値である。
【００８８】
また、ＴΣは、撹乱を行う前のデータを集計することにより求められるほか、上述した非特許文献１の再構築法による集計を用いれば、撹乱を行った後の撹乱データからも求められる。
【００８９】
この第２の維持確率ρlを上限としてデータ値を撹乱値に置換することにより、以下の式３に示す値以上の確率で、撹乱値からデータ値を特定することができなくなる。
【００９０】
【数６】
0005475610.tif 000007
【００９１】
なお、上記の式３においてε1はｌ−多様性のパラメータであり、その値は予め定められているものとする。また、γは（１−ε1（Ｍｉ−ｌ＋１））である。
【００９２】
次に、プライバシー保護指標の他の例として、「C. Dwork. Differential Privacy. ICALP (2) 2006, 2006.」にて提案されたDifferential Privacyについて説明する。
【００９３】
Differential Privacyは、クエリ応答のみを開示する対話型データベースにおいて、個人に関するデータが記憶されていてもいなくても、開示される出力が変化しないことを保証するプライバシー保護指標である。従って、Differential Privacyを満足することにより、攻撃者は、攻撃対象となる個人に関するデータがデータベース上に存在しているかどうかを識別できなくなる。
【００９４】
Differential Privacyを満足するためには、以下に示す式４から算出される第３の維持確率ρdを用いて、データ値を撹乱値に置換すればよい。
【００９５】
【数７】
0005475610.tif 000008
【００９６】
なお、上記の式４におけるδiは、以下に示す式５で表される。
【００９７】
【数８】
0005475610.tif 000009
【００９８】
なお、上記の式５において、ｌｎは自然対数である。また、ε2はDifferential Privacyのパラメータであり、その値は予め定められているものとする。また、Ａはデータベース１１が記憶しているデータを構成する各項目ｉの集合である。
【００９９】
上記の式５を初期値が０，１の２分法等を用いて解くことにより、Differential Privacyを満足する第３の維持確率ρdが得られる。
【０１００】
以上、ｋ−匿名性を満足したのと同等の秘匿性を確保するための第１の維持確率ρkと、ｌ−多様性を満足したのと同等の秘匿性を確保するための第２の維持確率ρlと、Differential Privacyを満足するための第３の維持確率ρdについて説明した。
【０１０１】
ここで、ｋ−匿名性及びｌ−多様性を満足したのと同等の秘匿性を確保し、かつ、Differential Privacyを満足するためには、第１の維持確率ρkと第２の維持確率ρlと第３の維持確率ρdとを比較し、その中で最も小さな値を最適維持確率とし、最適維持確率に基づいてデータ値を撹乱値に置換すればよい。
【０１０２】
具体的には、上述した維持確率設定部１２は、データベース１１が有するテーブルの構成及びｋだけではなく、上記の式２におけるパラメータｃ、ｌの値と、上記の式５におけるパラメータε2の値とを予め記憶している。そして、維持確率設定部１２は、上記の式１を用いて第１の維持確率ρkを算出し、上記の式２を用いて第２の維持確率ρlを算出し、上記の式４及び式５を用いて第３の維持確率ρdを算出する。なお、第２の維持確率ρlは、各項目ｉに対応付けられた値Ｖｉ0〜ＶｉMi-1の数に応じて異なる値となるため、項目ｉ毎に算出される。
【０１０３】
次に、維持確率設定部１２は、第１の維持確率ρkと、項目ｉ毎の第２の維持確率ρlのそれぞれと、第３の維持確率ρdとを比較し、その中で最も小さな値を項目ｉ毎に最適維持確率として決定する。そして、維持確率設定部１２は、決定した複数の最適維持確率を示す情報を維持確率情報として撹乱部１３へ出力、または、受信部１４へ送信する。
【０１０４】
撹乱部１３は、維持確率設定部１２または受信部１４から出力された維持確率情報を受け付け、受け付けた維持確率情報が示す複数の最適維持確率のそれぞれに基づき、項目ｉ毎に乱数ｒiを利用してデータ値を置換する。
【０１０５】
これにより、データと撹乱データとが対応付けられるのを回避できるだけではなく、データ値が特定されることと、データベース中に個人に関するデータが存在しているかどうかを識別されることとを回避することができる。すなわち、秘匿性が非常に高いデータベースを生成することが可能となる。
【０１０６】
なお、維持確率設定部１２は、必ずしも、第１の維持確率ρkと第２の維持確率ρlと第３の維持確率ρdとの３つの値を比較する必要はない。ｋ−匿名性、ｌ−多様性及びDifferential Privacyのうち、満足させたいプライバシー保護指標に対応する維持確率を比較し、その中の最も小さな値を最適維持確率とすればよい。
【０１０７】
また、第１の維持確率ρkはデータ値を置換しない確率であるため、（１−ρk）はデータ値を置換する確率となる。つまり、第１の維持確率ρkが算出されると、それとともに、データ値を置換する確率（１−ρk）の値も決定することになる。このとき、データ値は、第１の維持確率ρkに基づいて置換されても、確率（１−ρk）に基づいて置換されても、同じレベルの秘匿性を確保することができる。従って、第１の維持確率ρkの代わりに、確率（１−ρk）を撹乱用確率として、データ値を置換してもよいこととなる。これは、第２の維持確率ρl及び第３の維持確率ρdについても同様である。
【０１０８】
また、本発明においては、撹乱装置内の処理は上述の専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを撹乱装置にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを撹乱装置に読み込ませ、実行するものであっても良い。撹乱装置にて読取可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、撹乱装置に内蔵されたＨＤＤなどを指す。
【符号の説明】
【０１０９】
１０，１１０，１１０−１〜１１０−ｎ    撹乱装置
１１    データベース
１２    維持確率設定部
１３    撹乱部
１４    受信部
２０，２０−１〜２０−ｎ，１２０    集計装置
２１    集計処理部
３０    撹乱データサーバ
３１    データ送受信部
【図１】
0005475610.tif 000016
【図２】
0005475610.tif 000017
【図３】
0005475610.tif 000018
【図４】
0005475610.tif 000019
【図５】
0005475610.tif 000020
【図６】
0005475610.tif 000021
【図７】
0005475610.tif 000022