(57)【特許請求の範囲】
【請求項１】
コンピュータが、
第１の匿名化データを複数の区分数に分類して得られる複数の第１ｋ−匿名レベルをｙ、前記複数の第１ｋ−匿名レベルの平均値をＹ、前記複数の区分数をｘ、前記複数の区分数の平均値をＸとした場合の以下の数１を用いて第１のβ値を算出し、
第２の匿名化データを前記複数の区分数に分類して得られる複数の第２ｋ−匿名レベルをｙ、前記複数の第１ｋ−匿名レベルの平均値をＹ、前記複数の区分数をｘ、前記複数の区分数の平均値をＸとした場合の以下の数１を用いて第２のβ値を算出し、
前記第１のβ値と前記第２のβ値との差分に基づいて、前記第１の匿名化データと前記第２の匿名化データとの類似性を判定する
処理を実行することを特徴とする検出方法。
【数１】
0006550931.tif 000004
【請求項２】
前記判定する処理は、前記第１のβ値と前記第２のβ値との差分が所定の閾値以下である場合に、前記第１の匿名化データと前記第２の匿名化データとが類似すると判定することを特徴とする請求項１に記載の検出方法。
【請求項３】
前記第１のβ値および前記第２のβ値のそれぞれと以下の数２とを用いて、第１のα値と第２のα値とを算出し、
前記第１のα値と前記第２のα値との比率に基づき、前記第１の匿名化データから前記第２の匿名化データへレコードが増減した割合を推定する処理を、前記コンピュータが実行することを特徴とする請求項１に記載の検出方法。
【数２】
0006550931.tif 000005
【請求項４】
コンピュータが、
第１の匿名化データを複数の区分数に分類して得られる複数の第１ｋ−匿名レベルをｙ、前記複数の第１ｋ−匿名レベルの平均値をＹ、前記複数の区分数をｘ、前記複数の区分数の平均値をＸとした場合の以下の数１を用いて第１のβ値、及び第２の匿名化データを前記複数の区分数に分類して得られる複数の第２ｋ−匿名レベルをｙ、前記複数の第１ｋ−匿名レベルの平均値をＹ、前記複数の区分数をｘ、前記複数の区分数の平均値をＸとした場合の以下の数１を用いて第２のβ値を取得し、
前記第１のβ値と前記第２のβ値との差分に基づいて、前記第１の匿名化データと前記第２の匿名化データとの類似性を判定する
処理を実行することを特徴とする検出方法。
【数１】
0006550931.tif 000006
【請求項５】
第１の匿名化データを複数の区分数に分類して得られる複数の第１ｋ−匿名レベルをｙ、前記複数の第１ｋ−匿名レベルの平均値をＹ、前記複数の区分数をｘ、前記複数の区分数の平均値をＸとした場合の以下の数１を用いて第１のβ値、及び第２の匿名化データを前記複数の区分数に分類して得られる複数の第２ｋ−匿名レベルをｙ、前記複数の第１ｋ−匿名レベルの平均値をＹ、前記複数の区分数をｘ、前記複数の区分数の平均値をＸとした場合の以下の数１を用いて第２のβ値を取得する取得部と、
前記第１のβ値と前記第２のβ値との差分に基づいて、前記第１の匿名化データと前記第２の匿名化データとの類似性を判定する判定部と
を有することを特徴とする検出装置。
【数１】
0006550931.tif 000007
【請求項６】
コンピュータに、
第１の匿名化データを複数の区分数に分類して得られる複数の第１ｋ−匿名レベルをｙ、前記複数の第１ｋ−匿名レベルの平均値をＹ、前記複数の区分数をｘ、前記複数の区分数の平均値をＸとした場合の以下の数１を用いて第１のβ値、及び第２の匿名化データを前記複数の区分数に分類して得られる複数の第２ｋ−匿名レベルをｙ、前記複数の第１ｋ−匿名レベルの平均値をＹ、前記複数の区分数をｘ、前記複数の区分数の平均値をＸとした場合の以下の数１を用いて第２のβ値を取得し、
前記第１のβ値と前記第２のβ値との差分に基づいて、前記第１の匿名化データと前記第２の匿名化データとの類似性を判定する
処理を実行させることを特徴とする検出プログラム。
【数１】
0006550931.tif 000008
【請求項７】
コンピュータが、
第１の匿名化データを複数の区分数に分類して得られる複数の第１ｋ−匿名レベル、前記複数の第１ｋ−匿名レベルの平均値、前記複数の区分数、前記複数の区分数の平均値を用いた累積近似により第１の値を算出し、
第２の匿名化データを前記複数の区分数に分類して得られる複数の第２ｋ−匿名レベル、前記複数の第１ｋ−匿名レベルの平均値、前記複数の区分数、前記複数の区分数の平均値を用いた累積近似により第２の値を算出し、
前記第１の値と前記第２の値との差分に基づいて、前記第１の匿名化データと前記第２の匿名化データとの類似性を判定する
処理を実行することを特徴とする検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出方法、検出装置及び検出プログラムに関する。
【背景技術】
【０００２】
近年、情報漏洩の問題及び個人情報保護法の制定等により、個人情報の取り扱いが問題となっている。例えば、企業の商品又はサービスを購入する消費者（以下では、「個人」と呼ぶことがある）が商品又はサービスを購入する際に、会員登録することがある。この会員登録時には、通常、個人の氏名、年齢、性別、住所、及びメールアドレス等のデータが、個人に割り振られた個人ＩＤと対応づけられた状態で、企業のシステムに登録（記憶）される。すなわち、企業のシステムは、「個人情報データ」を記憶しておく。ここで、「個人情報データ」は、例えば、氏名、年齢、性別、住所、メールアドレス、及び個人ＩＤを含む。
【０００３】
さらに、企業のシステムは、個人情報データが既に登録されている個人が商品又はサービスを購入する度に、その個人のＩＤに対応づけて、購入された商品又はサービスに関する情報を記憶する。これにより、企業は、収集した個人情報データを用いて、企業活動に利用することができる。
【０００４】
一方で、例えば、個人情報データを正常に収集した第１の企業以外の第２の企業が、その個人情報データを利用することを望むことがある。すなわち、データ収集主体とデータ利用主体とが異なる可能性がある。しかしながら、個人情報保護の観点から、個人の許可を得ること無しに、個人情報データそのものを提供することはできない。そこで、個人情報データを正常に収集した提供者が、個人情報データを、個人を特定できない状態のデータ（以下では、「匿名化データ」と呼ぶことがある）に変換し、匿名化データを提供することが考えられている。  
【０００５】
また、今後改正され、施行が予定される個人情報保護法では、個人を特定できないように一定レベルの非識別化処理を行った個人情報を個人の許可なく流通させることが可能となることから、匿名化データの流通が期待される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１５３９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、匿名化データの提供者には、上で述べた第１の企業のような個人情報データを正常に取得した提供者の他にも、盗難やハッキング等により不正に入手された個人情報データを使用した提供者も含まれる。例えば、正常に取得された個人情報データを用いて生成された匿名化データだけでなく、不正に入手された当該個人情報データを用いて生成された匿名化データも流通する場合がある。
【０００８】
しかしながら、匿名化データの提供を受ける利用者は、匿名化データの生成元となった個人情報データ、及びその提供者、個人情報データを登録した個人等を知ることができない。このため、利用者は、不正に入手された個人情報データを用いて生成された匿名化データが流通していても、不正の有無を判断することが困難である。
【０００９】
１つの側面では、不正な匿名化データを検出する検出方法、検出装置及び検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの側面では、コンピュータが、第１の匿名化データを所定の区分数に分類して得られる第１ｋ−匿名レベルと、所定の区分数とを用いて第１の値を算出し、第２の匿名化データを所定の区分数に分類して得られる第２ｋ−匿名レベルと、所定の区分数とを用いて第２の値を算出する処理を実行する。また、コンピュータは、第１の値及び第２の値を用いて、第１の匿名化データと第２の匿名化データとの類似性を判定する処理をさらに実行する。
【発明の効果】
【００１１】
一実施態様によれば、不正な匿名化データを検出する。
【図面の簡単な説明】
【００１２】
【図１】図１は、システムの全体構成の一例を示す模式図である。
【図２】図２は、システムの一例を示す機能ブロック図である。
【図３】図３は、匿名化データの一例を示す図である。
【図４】図４は、匿名化ＰＦの係数ＤＢに記憶される情報の一例を示す図である。
【図５】図５は、匿名化処理によるデータの変化の一例を示す図である。
【図６Ａ】図６Ａは、匿名化データの属性と区分数の一例を示す図である。
【図６Ｂ】図６Ｂは、匿名化データの区分の組み合わせとｋ−匿名レベルとの関係の一例を示す図である。
【図７】図７は、匿名化データの区分数とｋ−匿名レベルとの関係の一例を示す図である。
【図８】図８は、匿名化データのレコード数の増減とα値及びβ値との関係の一例を示す図である。
【図９】図９は、検出装置の係数ＤＢに記憶される情報の一例を示す図である。
【図１０】図１０は、個人情報データの加工の一例を示す図である。
【図１１】図１１は、出力結果の一例を示す図である。
【図１２】図１２は、匿名化ＰＦによる処理の流れを示すフローチャートである。
【図１３】図１３は、検出装置による処理の流れを示すフローチャートである。
【図１４】図１４は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する検出方法、検出装置及び検出プログラムの実施例を図面に基づいて詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１４】
［全体構成］
図１は、システムの全体構成の一例を示す模式図である。本実施例におけるシステムは、検出装置１０と、複数の匿名化プラットフォーム１００ａ及び１００ｂとを含む。なお、以下の説明では、プラットフォームをＰＦと省略して示す。また、図１においては匿名化ＰＦが２つである例を示したが、実施例はこれに限られず、匿名化ＰＦを３つ以上有するような構成であってもよい。以下、匿名化ＰＦ１００ａ及び１００ｂを区別することなく総称する場合に匿名化ＰＦ１００と記載する。
【００１５】
本システムにおいて、匿名化ＰＦ１００は、外部の企業３００ａ乃至３００ｃから個人情報データの提供を受けて匿名化処理を行い、匿名化データを生成する。匿名化処理及び匿名化データについては、後に詳細に説明する。
【００１６】
図１に示す例において、個人情報データの提供元のうち、外部の企業３００ａ及び３００ｃは、それぞれ正当に取得した個人情報データＡ及び個人情報データＣを、匿名化ＰＦ１００に提供する。一方、外部の企業３００ｂは、外部の企業３００ａから不正に取得し、さらに後に説明するとおり加工した個人情報データＡ’を匿名化ＰＦ１００ｂに提供する。以下、外部の企業３００ａ乃至３００ｃを区別することなく総称する場合に外部企業３００と記載する。なお、以下に説明する実施例においては、外部企業３００は、それぞれ個人情報データを１種類のみ匿名化ＰＦ１００に提供するものとする。
【００１７】
なお、外部の企業４００ｄ及び４００ｅのように、自ら匿名化データを生成し、匿名化ＰＦ１００又は検出装置１０に提供するユーザが存在する場合もある。以下、外部の企業４００ｄ及び４００ｅを区別することなく総称する場合に外部企業４００と記載する。匿名化ＰＦ１００は、自ら生成し又は外部から提供を受けた匿名化データを、利用者に向けて流通させる。
【００１８】
また、匿名化ＰＦ１００は、算出し又は提供を受けた匿名化データの係数算出処理を行い、算出した係数を検出装置１０に送信する。なお、匿名化ＰＦ１００が係数算出処理を行わず、匿名化データそのもの、又は後述する区分数とｋ−匿名レベルとの組み合わせを検出装置１０に送信するような構成であってもよい。係数及び係数算出処理については、後に詳細に説明する。
【００１９】
検出装置１０は、匿名化ＰＦ１００から提供を受けた係数の判定処理を行い、判定結果を出力する。なお、検出装置１０が、匿名化ＰＦ１００又は外部企業４００から提供を受けたデータを用いて、係数を算出する処理を行うような構成であってもよい。また、検出装置１０が、匿名化ＰＦ１００と同様に、外部企業３００から個人情報データの提供を受けて、匿名化処理を行うような構成であってもよい。
【００２０】
検出装置１０は、例えば個人情報データＡ’のような不正な個人情報データを用いた匿名化データについて、正当に取得された個人情報データＡを用いた匿名化データとの関係性を示す判定結果を出力する。なお、不正な個人情報データは、個人情報データＡ’のように提供者自身の不正取得に起因するものに限られず、不正なデータと知らずに取得した提供者から提供された個人情報データや、虚偽や捏造により生成された個人情報データなども含まれる。
【００２１】
なお、当該判定結果を確認したオペレータが、不正の疑いがある匿名化データについて、外部の専門家５００に確認を依頼し、当該外部の専門家５００が、匿名化データの正当性を確認する場合もある。外部の専門家５００は、必要に応じて個人情報データの提供元である外部企業３００に問い合わせ、個人情報データの取得方法、管理状況等を確認する。
【００２２】
後に説明するように、例えば異なる２つの匿名化データが同一の個人情報データに基づいて生成された場合、各匿名化データを用いて算出される係数の間には関係性がみられる。逆に、異なる２つの匿名化データが、それぞれ異なる個人情報データに基づいて生成された場合、各匿名化データを用いて算出される係数の間に関係性がみられることは稀である。つまり、２つの匿名化データから算出される各係数の間に関係性がみられる場合、それらの匿名化データは、同一の個人情報データに基づいて生成された可能性が極めて高いことを推定できる。なお、本実施例において、匿名化データが「個人情報データに基づいて」生成されたと説明する場合、当該匿名化データが、当該個人データを用いて、又は個人情報データを加工して得られた別の個人情報データを用いて生成された場合を指すものとする。
【００２３】
匿名化データの流通において、例えば外部の企業３００ｂが提供する個人情報データＡ’のように、不正に取得された個人情報データを用いて生成された匿名化データが流通すると、第三者は安全に匿名化データを利用できなくなるおそれがある。本システムは、例えば同一の個人情報データに基づいて生成された可能性のある匿名化データを検出するため、不正な個人情報データを用いて生成されたおそれのある匿名化データの検出を支援する。
【００２４】
［匿名化ＰＦ１００の機能構成］
次に、本システムにおける機能の構成について、図２を用いて説明する。図２は、システムの一例を示す機能ブロック図である。まず、匿名化ＰＦ１００の機能構成について説明する。
【００２５】
匿名化ＰＦ１００は、提供された個人情報データを用いて匿名化処理を行い、匿名化データを生成する。例えば、匿名化処理において、匿名化ＰＦ１００は、各種サービスを利用する際に登録された個人の氏名、年齢、性別、住所、及びメールアドレス等のデータなどを含む個人情報データを、企業や個人ユーザなどから受け付ける。そして、匿名化ＰＦ１００は、所定のアプリケーションを用いて個人情報データを匿名化する。
【００２６】
図２に示されるように、匿名化ＰＦ１００ａは、匿名化情報ＤＢ１０２ａと、係数ＤＢ１０３ａと、生成部１１０ａと、算出部１２０ａとを有する。なお、匿名化ＰＦ１００ｂについても匿名化ＰＦ１００ａと同様の構成を有するため、詳細な説明は省略する。
【００２７】
なお、匿名化情報ＤＢ１０２ａ及び係数ＤＢ１０３ａは、例えばメモリやハードディスクなどの記憶装置に記憶される。また、ここで挙げたＤＢは、一例であり、履歴を記憶するＤＢや計算過程を記憶するＤＢなどを有していてもよい。また、生成部１１０ａ及び算出部１２０ａは、プロセッサなどの電子回路の一例またはプロセッサなどが実行するプロセスの一例である。
【００２８】
次に、匿名化ＰＦ１００ａの各機能ブロックについて説明する。匿名化情報ＤＢ１０２ａは、生成部１１０ａにより生成され、又は外部から取得された匿名化データを、生成部１１０ａにより付与された管理番号と対応付けて記憶する記憶部である。なお、本実施例において、「管理番号」は、個人情報データの提供元と、匿名化データの通し番号とを含む。管理番号の具体例については後述する。
【００２９】
匿名化情報ＤＢ１０２ａに記憶される情報の一例について、図３を用いて説明する。図３は、匿名化データの一例を示す図である。図３に示すデータは、個人情報データを、特定の属性値を含む抽象化パターンに当てはめることにより匿名化したデータである。図３においては、例えば、「１７才」という「年齢」の属性値、「男性」という「性別」の属性値、又は「１７才・男性」というような「年齢・性別」の組み合わせからなる属性値が、抽象化パターンとして設定されている。
【００３０】
図３に示すように、匿名化データは、複数の抽象化パターンと、各抽象化パターンに対応する「存在数」とが対応づけられている。「存在数」の値は、対応づけられた抽象化パターンに対応する匿名化データ群にいくつ含まれているかを示しており、いわゆる出現数である。なお、「匿名化データ群」は、項目値についての複数の「抽象化パターン」に基づいて個人情報データを抽象化して得られた複数の匿名化データを含んでいる。  
【００３１】
図３に示すような匿名化データにおいて、特定の抽象化パターンに該当する個人がｋ人存在する場合に、「１／ｋ」の確率で個人が特定される。例えば、図３において、符号３００１に示すレコードに示される「１７才・男性」という抽象化パターンについては、存在数が「２４」人であるため、「１／２４」の確率で個人が特定される。
【００３２】
例えば、特定の抽象化パターンについて「ｋ＝１」である場合、すなわち当該特定の抽象化パターンに該当する個人が１人しか存在しない場合は、当該抽象化パターンに基づいて個人を特定できる。なお、どの抽象化パターンについても該当する個人がｋ人以上になるように個人情報を匿名化することを「ｋ−匿名化」という。また、「ｋ−匿名化」がされた状態、すなわちどの抽象化パターンについても該当する個人が少なくともｋ人いる状態を「ｋ−匿名性」といい、当該人数を「ｋ−匿名レベル」という。ｋ−匿名化に関する処理については後述する。
【００３３】
図３の例において「ｋ−匿名性」の欄の項目値である「○」は、「存在数」の項目値が１０以上であることを示しており、項目値「△」は、「存在数」の項目値が１０未満であることを示している。ここでは、「ｋ−匿名性のクリア基準値」が「１０」に設定されている。
【００３４】
例えば、図３に示すように、抽象化パターン「２０代」の存在数の値、つまり、ｋ値は、「３０」であり、抽象化パターン「２０代、男性」のｋ値は、「２１」であり、抽象化パターン「２０代、女性」のｋ値は、「９」である。
【００３５】
図２に戻って、係数ＤＢ１０３ａは、算出部１２０ａにより算出され、又は外部から取得された係数を記憶する記憶部である。図４に、係数ＤＢ１０３ａに記憶される情報の一例を示す。図４は、匿名化ＰＦの係数ＤＢに記憶される情報の一例を示す図である。図４に示すように、係数ＤＢ１０３ａは、「管理番号」と、「α値」と、「β値」とを対応付けて記憶する。
【００３６】
本実施例において、管理番号の欄には、匿名化情報ＤＢ１０２ａに記憶された管理番号と同一の情報が記憶される。図４において、管理番号が「Ａ１」とあるのは、外部の企業３００ａから提供された個人情報データＡを用いて生成された、１番目の匿名化データに関するレコードであることを示す。また、管理番号が「Ｄ１」とあるのは、外部企業４００ｄから取得された１番目の匿名化データに関するレコードであることを示す。
【００３７】
α値及びβ値は、本実施例における処理に用いる係数の一例である。α値及びβ値の算出方法については後に詳しく説明する。
【００３８】
図２に戻って、生成部１１０ａは、個人情報データを用いて匿名化処理を行い、匿名化データを生成する処理部である。具体的には、生成部１１０ａは、例えば、図示しない入力部を通じて、匿名化データに要求されるｋ−匿名レベル等の基準を含む匿名化処理の実行指示の入力を受け付ける。次に、生成部１１０ａは、インターネット等のネットワークを介して受け付けた、外部企業３００などから提供された個人情報データ用いて匿名化処理を行い、生成した匿名化データに管理番号を対応付けて、匿名化情報ＤＢ１０２ａに記憶する。なお、匿名化ＰＦ１００ａが外部から匿名化データを取得する場合、生成部１１０ａは、取得された匿名化データに管理番号を付与し、匿名化情報ＤＢ１０２ａに記憶する。
【００３９】
生成部１１０ａによる匿名化処理の一例について、図５を用いて説明する。図５は、匿名化処理によるデータの変化の一例を示す図である。図５において、符号２００１に示すテーブルは、外部企業３００から提供される匿名化処理前の個人情報データに含まれるレコードの一例を示す。一方、符号２１０１に示すテーブルは、符号２００１に示す個人情報データのレコードのうち、個人ＩＤが「０００１」である個人、及び個人ＩＤが「０００２」である個人の個人情報が匿名化されたデータの一例を示す。なお、図５に示されるようなデータは、匿名化ＰＦ１００ａの記憶装置に一時的に記憶される。
【００４０】
なお、図５の符号２００１に示す個人情報データの一例は、６人分のレコードを抜き出したもので、各個人は「個人ＩＤ」、「氏名」、「年齢」、「性別」及び「地域」の各属性の属性値により特定される。
【００４１】
符号２００１に示される属性値のうち、「個人ＩＤ」及び「氏名」の属性値は、各個人に固有の属性値、すなわちいずれか単体で個人を特定できる属性値である。このため、「個人ＩＤ」及び「氏名」の各属性値は、匿名化処理の際に削除される。なお、外部企業３００が匿名化ＰＦ１００に個人情報データを提供する際に、あらかじめこれらの属性値を削除した上で提供するような構成であってもよい。
【００４２】
次に、匿名化処理により生成されるデータの一例について、詳細に説明する。図５の符号２１０１に示すテーブルにおいて、「年齢」、「性別」及び「地域」の欄には、それぞれ図５の符号２００１に示すテーブルの各欄と同一の属性値か、これを抽象化した属性値が示されている。以下、各レコードに示される属性値について説明する。
【００４３】
図５において、匿名化データ番号が「０００１Ａ」であるレコードは、個人ＩＤが「０００１」である個人の属性値のうち、年齢及び地域の属性値が「１０代・東京都」に抽象化されている。しかし、かかる属性値に該当する個人は、符号２００１に示す６人のうち１人しかいないため、匿名性が担保されていない。
【００４４】
一方、図５において、匿名化データ番号が「０００１Ｂ」であるレコードは、個人ＩＤが「０００１」である個人の属性値のうち、年齢及び地域の属性値が「０〜１０代・関東」に抽象化されている。この場合、符号２００１に示す６人のうち、個人ＩＤが「０００１」の個人に加えて、「０００５」である個人の２人が、かかる属性値に該当する。
【００４５】
また、図５において、匿名化データ番号が「０００１Ｃ」であるレコードは、匿名化データ番号が「０００１Ｂ」であるレコードの属性値のうち、性別の属性値が「ｎｕｌｌ」に抽象化されている。この結果、符号２００１に示す６人のうち、個人ＩＤが「０００１」の個人、及び「０００５」の個人に加えて、個人ＩＤが「０００２」の個人、及び「０００６」の個人も、当該属性値の組み合わせに該当する。
【００４６】
同様に、図５において、匿名化データ番号が「０００２Ａ」であるレコードは、個人ＩＤが「０００２」である個人の属性値のうち、地域の属性値が「東京都」に匿名化されているが、年齢の属性値は「１５」のまま変更されていない。しかし、年齢及び地域の属性値が「１５・東京都」である個人は、個人ＩＤが「０００２」の個人だけでなく、「０００６」である個人も含む。
【００４７】
なお、図５において、匿名化データ番号が「０００２Ｂ」であるレコードは、匿名化データ番号が「０００２Ａ」であるレコードのうち、年齢及び地域の属性値が「１０代・関東」に抽象化されているが、当該属性値に該当する個人の人数には変化がない。また、匿名化データ番号が「０００２Ｃ」であるレコードは、匿名化データ番号が「０００１Ｃ」であるレコードと同等に抽象化されたものであるため、詳細な説明は省略する。
【００４８】
また、生成部１１０ａは、匿名化処理において、匿名化データの匿名性を高め、又は再識別化を不可能とするために、一部のレコードを削減したり、レコードを付加したりする場合もある。例えば、個人情報データが１００００件のレコードを含む場合に、その１０％にあたる１０００件のレコードを削減したり、逆に２０００件のレコードを付加したりする場合がある。かかるレコードの増加又は減少を、元情報の各属性値に対して均等に行った場合、増減後のｋ−匿名レベルも、かかる増減に比例して変動する。
【００４９】
なお、不正に個人情報データを取得した者が、個人情報データの取得の経緯を偽装するために、個人情報データの一部のレコードを削減したり、レコードを付加したりする場合もある。かかるレコードが削減又は付加された個人情報データを匿名化処理して生成された匿名化データは、正当な個人情報データを匿名化処理して生成された匿名化データとの同一性を特定することがより困難となる。以下、本実施例においては、外部の企業３００ｂが、外部の企業３００ａから不正に取得した個人情報データＡのうち、１０％にあたるレコードを削減した個人情報データＡ’を、匿名化ＰＦ１００ｂに提供する例について説明する。
【００５０】
図２に戻って、算出部１２０ａは、匿名化データの区分数とｋ−匿名レベルとを用いて、係数を算出する係数算出処理を行う処理部である。具体的には、算出部１２０ａは、例えば、図示しない入力部を通じて係数算出処理の実行指示の入力を受け付け、匿名化情報ＤＢ１０２ａに記憶された匿名化データに含まれる複数種類の区分数を特定する。さらに算出部１２０ａは、各区分数におけるｋ−匿名レベルと、当該複数種類の区分数と、各ｋ−匿名レベルの平均値と、当該複数種類の区分数の平均値とを用いて係数を算出し、算出した係数を係数ＤＢ１０３ａに記憶する。
【００５１】
例えば図３に示すような匿名化データにおいて、属性値の種類の数を「区分数」といい、それぞれの属性値の種類の分け方を「区分」という。図３に示す例においては、年齢を「１７才」のように１才刻みとする区分や「２０代」のように１０才刻みとする区分、また「１７才・男性」のように年齢と性別とを組み合わせた区分とする例が示されている。
【００５２】
匿名化データの区分数を特定する処理について、図６Ａを用いて説明する。図６Ａは、匿名化データの属性と区分数の一例を示す図である。図６Ａの符号６００１に示されるように、「性別」を区分として用いる場合、区分数は「男性」と「女性」の「２区分」となる。また、「地域」を区分として用いる場合、図６Ａの符号６０１１に示されるように「東日本」と「西日本」の「２区分」となる場合もあれば、地域ブロックを区分とする「９区分」となる場合、及び都道府県を区分として「４７区分」となる場合もある。図６Ａにおいては、「年齢」についても、「３区分」、「５区分」及び「９区分」の３種類の区分数が示されている。なお、区分は図６Ａに示す例に限られず、例えば年齢を５才刻みや２０才刻みとしたり、地域を市区町村単位としたりする場合もある。
【００５３】
なお、上で述べたように、複数の属性値の組み合わせを区分として用いてもよい。例えば、図６Ａの符号６０２１に示されるように、「地域」及び「性別」の組み合わせを区分として用いて、「東日本・男性」、「東日本・女性」、「西日本・男性」、「西日本・女性」の４区分とすることもできる。
【００５４】
以上述べたように、図６Ａに示す各属性の区分数、及びそのうちの２つ又は３つの属性の組み合わせにより、３１種類の区分数が導き出される。このうち最小の区分数は、上で述べた「２区分」であり、最大の区分数は、「性別」の「２区分」と「年齢Ｌ１」の「９区分」と「地域Ｌ１」の「４７区分」とを組み合わせた「８４６区分」となる。
【００５５】
次に、算出部１２０ａは、特定された区分数に基づいて、匿名化データのｋ−匿名レベルを算出する。ｋ−匿名レベルを算出する処理について、図６Ｂを用いて説明する。図６Ｂは、匿名化データの区分の組み合わせとｋ−匿名レベルとの関係の一例を示す図である。図６Ｂの例においては、総レコード数が「１２７７９４件」である匿名化データについて説明する。なお、図６Ｂに示されるようなデータは、匿名化ＰＦ１００ａの記憶装置に一時的に記憶される。
【００５６】
まず、算出部１２０ａは、例えば、「性別」の２区分についてｋ−匿名レベルを算出する。図６Ｂの例に示すように、抽象化パターン「男性」の存在数の値は「６５６１６」である。一方、抽象化パターン「女性」の存在数の値は「６２１７８」であり、抽象化パターン「男性」の存在数の値より小さい。この場合、「性別」の２区分における最小の存在数、すなわちｋ−匿名レベルは、図６Ｂの符号６１０１に示すように「６２１７８」となる。同様に、「地域」の２区分についてのｋ−匿名レベルは、図６Ｂの符号６１１１に示すように「４６９３４」となる。
【００５７】
次に、算出部１２０ａは、「性別」の２区分と、「地域」の２区分とを組み合わせた４区分におけるｋ−匿名レベルを算出する。図６Ｂに示す４つの属性値のうち、最小となる存在数の値、すなわち当該４区分におけるｋ−匿名レベルは、符号６１２１に示す「西日本・女性」の「２２３９２」となる。
【００５８】
以上述べたような処理により算出される区分数とｋ−匿名レベルとの組み合わせについて、図７を用いて説明する。図７は、匿名化データの区分数とｋ−匿名レベルとの関係の一例を示す図である。図７において、「区分種類」の欄は、属性値又は属性値の組み合わせを種類分けした区分を示し、「区分数」及び「ｋ−匿名レベル」の欄は、各区分種類における区分数及びｋ−匿名レベルを示す。例えば、図７の「性別×年齢Ｌ３」の欄は、図６Ａに示す各区分のうち、「性別」の「２区分」と「年齢Ｌ３」の「３区分」とを組み合わせて「６区分」としていることを示す。なお、図７の「性別×年齢Ｌ３」と「地域Ｌ３×年齢Ｌ３」のように、異なる区分種類であっても区分数が等しくなる場合もある。
【００５９】
図７においては、図６Ａに示す３１種類の区分種類のうち、９種類の区分種類について、区分数及びｋ−匿名レベルが示されている。例えば、図７の「地域Ｌ２」のレコードは、区分数が「９区分」であり、ｋ−匿名レベルが「１３９９」であることが示されている。
【００６０】
例えば図７に示されるように、匿名化データにおいて、区分数が増える、すなわち属性値の分類が細分化されると、当該属性値に該当するレコードの数であるｋ−匿名レベルは低下し、最終的には１に収束する。一方、区分数が小さくなると、当該区分数におけるｋ−匿名レベルは「レコード総数÷区分数」を上限として上昇する。つまり、匿名化データにおいて、区分数とｋ−匿名レベルの値とは、負の相関関係にある。なお、図６Ｂにおいて説明したように、ｋ−匿名レベルは、１つの属性について区分を細分化する場合だけでなく、別の属性からなる区分を組み合わせた場合にも低下する。
【００６１】
また、算出部１２０ａは、区分数とｋ−匿名レベルのそれぞれについて平均値をさらに算出する。図７に示されるように、９種類の区分種類の区分数の平均値は「５．１」であり、各区分種類におけるｋ−匿名レベルの平均は「２２２１３」であることが算出される。
【００６２】
次に、算出部１２０ａは、以上の処理により特定された区分数及び算出されたｋ−匿名レベルを用いて係数を算出し、係数ＤＢ１０３ａに記憶する。本実施例においては、以下に説明する数式を用いて、α値とβ値との２つの係数を算出する。
【００６３】
まず、β値は、匿名化データの区分数をｘ、当該匿名化データの区分数の平均値をＸ、当該匿名化データの各区分数におけるｋ-匿名レベルをｙ、当該匿名化データの各区分数におけるｋ-匿名レベルの平均値をＹとして表される数１により算出される。
【００６４】
なお、β値の算出に際し、必ずしも全種類の区分数及び各区分のｋ−匿名レベルを用いる必要はない。本実施例においては、全３１種類の区分数のうち、図７に示す９種類の区分数について、区分数及び各区分のｋ−匿名レベルを用いてβ値を算出する。
【００６５】
図７に示す９つの区分種類の区分数及びｋ−匿名レベル、並びにそれらの平均値を以下の数１に当てはめると、図４に示すように、β値は約「−２．１８５７」となる。
【００６６】
【数１】
0006550931.tif 000002
【００６７】
また、α値は、上記Ｘ、Ｙ及び上で算出したβ値を用いて、数２により算出される。図４に示すように、α値は約「２２２２４．０６」となる。
【００６８】
【数２】
0006550931.tif 000003
【００６９】
算出部１２０ａは、算出したα値及びβ値を、当該匿名化データの管理番号と対応付けて、図４に示すように係数ＤＢ１０３ａに記憶する。また、算出部１２０ａは、定期的に又は任意のタイミングで、記憶されたα値及びβ値を、検出装置１０に送信する。
【００７０】
次に、α値とβ値の性質について、図８を用いて説明する。図８は、匿名化データのレコード数の増減とα値及びβ値との関係の一例を示す図である。図８は、管理番号「Ａ１」の匿名化データのレコード数を一定割合で増減させた場合における、α値及びβ値の推移を示す。
【００７１】
図８の符号８００１に示されるように、α値は、レコード数の増減に比例して増減している。例えば、匿名化データのレコード数を２０％増加させた場合、増加前の匿名化データのα値と、増加後の匿名化データのα値との比率は「１．２０００」となる。一方、β値は、図８の符号８００２に示されるように、レコード数の増減にかかわらず、常に一定である。このα値及びβ値の性質を用いて、後に説明するように不正な匿名化データを検出する処理を行う。なお、後に説明するように、実際にレコード数を増減させる場合には誤差が生じる場合がある。
【００７２】
［検出装置１０の構成］
図２に戻って、検出装置１０による処理の概要を説明する。検出装置１０は、匿名化ＰＦ１００から受信した係数を判定し、判定結果を出力する。図２に示すように、検出装置１０は、係数ＤＢ１１と、閾値ＤＢ１２と、取得部１３と、比較部１４と、出力部１５とを有する。
【００７３】
なお、係数ＤＢ１１及び閾値ＤＢ１２は、例えばメモリやハードディスクなどの記憶装置に記憶される。また、ここで挙げたＤＢは、一例であり、履歴を記憶するＤＢや計算過程を記憶するＤＢなどを有していてもよい。また、取得部１３、比較部１４及び出力部１５は、プロセッサなどの電子回路の一例またはプロセッサなどが実行するプロセスの一例である。
【００７４】
なお、前述したように、検出装置１０が、匿名化ＰＦ１００から係数を受信するだけでなく、外部から提供された匿名化データを用いて係数を算出し、係数比較処理を行うような構成であってもよい。また、検出装置１０が、個人情報データを受け付けて匿名化処理を行うような構成であってもよい。この場合、検出装置１０は、匿名化ＰＦ１００と同様の機能ブロックをさらに有する。
【００７５】
係数ＤＢ１１は、取得部１３により取得された係数を記憶する記憶部である。係数ＤＢ１１に記憶される係数の一例を図９に示す。図９は、検出装置の係数ＤＢに記憶される情報の一例を示す図である。図９に示すように、係数ＤＢ１１は、「管理番号」と「ＰＦ番号」と「α値」と「β値」とを対応付けて記憶する。
【００７６】
図９において、管理番号の欄は、上で述べた個人情報データの提供元と匿名化データの通し番号とを示す。また、図９において、α値及びβ値の欄には、それぞれ各匿名化データから算出されたα値及びβ値が記憶される。これらの欄については、図４で示した係数ＤＢ１０３ａと同様の値が記憶されるため、詳細な説明は省略する。
【００７７】
また、図９において、「ＰＦ番号」は、匿名化データの提供元となる匿名化ＰＦ１００の通し番号を含む。図９の例においては、「ＰＦ番号」が「ａ」である管理番号「Ａ１」の匿名化データは匿名化ＰＦ１００ａから提供され、「ＰＦ番号」が「ｂ」である管理番号「Ｂ６」及び「Ｃ２」の匿名化データは匿名化ＰＦ１００ｂから提供されたことを示す。なお、外部企業４００のような匿名化ＰＦ１００以外のユーザから係数の提供を受け、又は匿名化データの提供を受けて係数を算出した場合、図９の管理番号「Ｅ１」のレコードに示すように、ＰＦ番号の欄には「−」が記憶される。
【００７８】
図２に戻って、閾値ＤＢ１２は、匿名化データのβ値を比較する際に用いる閾値を記憶する記憶部である。β値の比較の際に閾値を用いるのは、上で述べたように、匿名化データを加工する際、又は匿名化データの元となる個人情報データを加工する際に誤差が生じ、その誤差が原因で、元となる個人情報データが同じ匿名化データであってもβ値が一致しない場合があるためである。
【００７９】
個人情報データの加工に伴い、係数に誤差が生じる事例について、図１０を用いて説明する。図１０は、個人情報データの加工の一例を示す図である。図１０は、個人情報データＡを用いて生成された、管理番号「Ａ１」の匿名化データのｋ−匿名レベルと、管理番号「Ｂ６」の匿名化データのｋ−匿名レベルとの比率を示したものである。上で述べたように、管理番号「Ａ１」の匿名化データは、個人情報データＡを用いて生成され、管理番号「Ｂ６」の匿名化データは、個人情報データＡのレコードを１０％削減して生成された個人情報データＡ’を用いて生成されている。
【００８０】
図１０の符号１００１に示すように、ｋ−匿名レベルの比率は、正確に「０．９００００」に収まるとは限らず、例えば「０．９０００６」や「０．８９９９３」のように、わずかな誤差が生じる。これは、外部の企業３００ｂが、不正に取得した個人情報データＡのレコードを１０％削減して個人情報データＡ’を生成する際、全ての属性値について一律にレコードが削減されるとは限らず、属性値ごとに削減されるレコードの数に誤差が生じるためである。このようにｋ−匿名レベルに誤差が生じる結果、ｋ−匿名レベルに基づいて算出されるα値やβ値にも誤差が生じる。
【００８１】
このようにβ値に誤差が生じる場合であっても匿名化データ間の関連性を特定できるように、比較部１４は閾値ＤＢ１２に記憶された閾値を参照して、匿名化データのβ値の比較を行う。本実施例において、例えば、閾値ＤＢ１２には、β値の閾値として「０．００１」が記憶される。閾値を用いたβ値の比較処理については、後に詳しく説明する。
【００８２】
なお、閾値ＤＢ１２が複数の閾値を記憶し、匿名化データの種類等に応じて閾値を使い分けるような構成であってもよい。また、β値だけでなく、α値についても閾値を記憶し、判定に用いるような構成であってもよい。
【００８３】
図２に戻って、取得部１３は、匿名化データの係数を取得する処理部である。具体的には、取得部１３は、例えば匿名化ＰＦ１００ａの係数ＤＢ１０３ａ及び匿名化ＰＦ１００ｂの係数ＤＢ１０３ｂから、定期的に又は任意のタイミングで、匿名化データの係数を受信し、係数ＤＢ１１に記憶する。なお、取得部１３が、匿名化データ、又は区分数とｋ−匿名レベルとの組み合わせを取得して、自ら係数を算出し、係数ＤＢ１１に記憶するような構成であってもよい。
【００８４】
比較部１４は、係数比較処理において、係数ＤＢ１１に記憶された匿名化データの係数を、他の匿名化データの係数と比較する処理部である。具体的には、比較部１４は、例えば、図示しない入力部を通じて、係数処理の実行指示の入力を受け付ける。比較部１４は、同一の係数が見つかった場合や、２つの係数の差が所定の閾値よりも小さい場合、当該係数にかかるいずれかの匿名化データについて不正の疑いがあると判断し、出力部１５に判断結果の出力を指示する。
【００８５】
係数比較処理について、図９を用いて説明する。上で述べたように、図９に示す例において、管理番号「Ｂ６」の匿名化データは、外部の企業３００ｂが、外部の企業３００ａから不正に取得した個人情報データＡのレコードを１０％削減した個人情報データＡ’を用いて生成されたものである。一方、管理番号「Ａ１」の匿名化データは、外部の企業３００ａが正規に取得した個人情報データＡを用いて生成されている。すなわち、管理番号「Ａ１」の匿名化データと管理番号「Ｂ６」の匿名化データとは、同じ個人情報データに基づいて生成されたものである。一方、管理番号「Ｃ２」の匿名化データは、個人情報データＡとは異なる個人情報データに基づいて生成されたものである。
【００８６】
図９に示されるように、管理番号「Ａ１」の匿名化データのβ値は「−２．１８５６６」であるのに対し、管理番号「Ｂ６」の匿名化データのβ値は「−２．１８５７３」となる。これらの差分は「−０．００００７」となり、閾値ＤＢ１２に記憶されたβ値の閾値「０．００１」より小さな値となる。この場合、管理番号「Ａ１」の匿名化データと、管理番号「Ｂ６」の匿名化データとが、同一の個人情報データに基づいて生成されたことが推定できる。
【００８７】
一方、図９に示されるように、管理番号「Ｃ２」の匿名化データのβ値は、「−２．１４２１５」となる。この場合の管理番号「Ａ１」の匿名化データのβ値との差分は「−０．０４３５１」となり、閾値ＤＢ１２に記憶されたβ値の閾値より大きな値となる。この場合、管理番号「Ａ１」の匿名化データと、管理番号「Ｃ２」の匿名化データとは、それぞれ異なる個人情報データに基づいて生成されたことが推定できる。
【００８８】
図２に戻って、出力部１５は、比較部１４による比較の結果を、図示しないディスプレイ等に出力する処理部である。なお、出力部１５が、比較の結果を図示しないオペレータの端末等に送信するような構成であってもよい。
【００８９】
出力部１５が出力する比較の結果について、図１１を用いて説明する。図１１は、出力結果の一例を示す図である。図１１は、「確認元」と「確認先」の２つの匿名化データについて、それぞれの「α値」及びその比率、並びに「β値」及びその差分を示している。
【００９０】
図１１において、「不正可能性」の欄には、２つの匿名化データの「β値」の差分が、閾値ＤＢ１２に記憶されたβ値の閾値より小さい場合に「○」が表示される。図１１の符号１１０２及び１１０３に示すように、図１１に示す３行のうち、確認元が「Ａ１」、確認先が「Ｂ６」である行だけが、β値の差分が閾値である「０．００１」より小さいため、不正可能性の欄に「○」が表示される。
【００９１】
また、図１１に示す出力結果において、不正可能性のある匿名化データについては、α値の比率をみることにより、元のデータからレコードがどれだけ増減されたかを推定することができる。例えば、図１１の符号１１０１に示すように、確認元が「Ａ１」、確認先が「Ｂ６」である行において、α値の比率は「０．９０００５」となり、元のデータからレコードが約１０％削減されていることが推定できる。
【００９２】
なお、図１１に示したような、２つの匿名化データの係数を比較した結果を出力する例について説明したが、出力結果はこれに限られない。例えば、複数の匿名化ＰＦ１００から取得したα値又はβ値をソートして一覧表としたり、α値又はβ値をグラフ化したりして表示するような構成であってもよい。これにより、より視覚的に不正な匿名化データを検出しやすくなる。
【００９３】
［匿名化ＰＦによる処理の流れ］
次に、匿名化ＰＦ１００による処理の流れについて説明する。図１２は、匿名化ＰＦによる処理の流れを示すフローチャートである。まず、匿名化ＰＦ１００ａの生成部１１０ａは、外部企業３００から個人情報データを受け付ける（ステップＳ１０１）。
【００９４】
次に、生成部１１０ａは、受け付けた個人情報データを用いて匿名化処理を行う（ステップＳ１０３）。生成部１１０ａは、例えば図５の符号２１０１に示すような抽象化パターンを試行し、要求されるｋ−匿名レベル等の基準を満たすかを確認する（ステップＳ１０４）。
【００９５】
匿名化処理における抽象化パターンの試行結果が、要求されるｋ−匿名レベル等の基準を満たさない場合（ステップＳ１０４：Ｎｏ）、ステップＳ１０３に戻って処理を繰り返す。一方、要求されるｋ−匿名レベル等の基準を満たす場合（ステップＳ１０４：Ｙｅｓ）、生成部１１０ａは、生成された匿名化データを、管理番号と対応付けて匿名化情報ＤＢ１０２ａに記憶する（ステップＳ１０５）。
【００９６】
次に、算出部１２０ａは、図７に示されるような当該匿名化データの区分数と、当該区分数におけるｋ−匿名レベルとの組み合わせを特定し、各区分数の平均値及び各ｋ−匿名レベルの平均値を算出する（ステップＳ１１０）。
【００９７】
次に、算出部１２０ａは、算出された区分数、ｋ−匿名レベル、区分数の平均値及びｋ−匿名レベルの平均値を用いて、α値及びβ値を算出し、匿名化データの管理番号と対応付けて係数ＤＢ１０３ａに記憶する（ステップＳ１１１）。その後、算出部１２０ａは、任意若しくは所定のタイミングで、又は管理者による指示を受けて、係数ＤＢ１０３ａに記憶された匿名化データの管理番号、α値及びβ値を、検出装置１０に送信する（ステップＳ１１２）。
【００９８】
［検出装置による処理の流れ］
次に、検出装置１０による処理の流れについて説明する。図１３は、検出装置による処理の流れを示すフローチャートである。まず、検出装置１０の取得部１３は、匿名化ＰＦ１００ａから複数の管理番号、α値及びβ値の組み合わせを受信し、係数ＤＢ１１に記憶する（ステップＳ２０１）。
【００９９】
次に、比較部１４は、任意若しくは所定のタイミングで、又は管理者による指示を受けて、閾値ＤＢ１２からβ値の閾値を取得する（ステップＳ２１１）。次に、比較部１４は、係数ＤＢ１１から第１の管理番号に対応する第１のβ値と第２の管理番号に対応する第２のβ値とを読み出して比較する（ステップＳ２１２）。
【０１００】
比較部１４は、第１のβ値と第２のβ値との差分が、β値の閾値以下であるか否かを判定する（ステップＳ２１３）。差分が閾値以下である場合（ステップＳ２１３：Ｙｅｓ）、当該第１の管理番号と第２の管理番号との組み合わせを記憶し（ステップＳ２１４）、ステップＳ２１５に進む。一方、差分が閾値より大きい場合（ステップＳ２１３：Ｎｏ）、ステップＳ２１５に進む。
【０１０１】
次に、比較部１４は、全ての管理番号の組み合わせについて、β値の比較処理が完了したかを判断する（ステップＳ２１５）。完了していない場合（ステップＳ２１５：Ｎｏ）、ステップＳ２１２に戻って処理を繰り返す。一方、完了した場合は（ステップＳ２１５：Ｙｅｓ）、出力部１５が判定結果を出力して（ステップＳ２２１）、処理を終了する。
【０１０２】
上述してきたように、本実施例においては、同一の個人情報データに基づいて生成された２つの匿名化データについて、生成元となった個人情報データ及びその提供元となった企業等の開示を受けることなく、元の個人情報データの同一性を検出することができる。また、生成元となる個人情報データのレコードが削減され又は付加された場合においても、元の個人情報データの同一性を検出することができる。また、本実施例におけるα値及びβ値は、図７に示すような抽象度の高い少数の区分種類からでも算出することができ、かつ２つの匿名化データの間で区分が異なっても、元の個人情報データの同一性を検出することができる。これにより、匿名化データの抽象度合いやレコードの増減に影響されることなく、不正な個人情報データを用いて生成された可能性のある匿名化データを検出して流通を阻止することで、正当な匿名化データの流通を促進することができる。
【０１０３】
なお、本実施例において不正な匿名化データの検出に用いるα値及びβ値は、個人を特定することができない統計的な情報であるため、匿名化ＰＦ１００等が自由に取得し、利用することができる。このため、複数の匿名化ＰＦ１００が匿名化データを流通させるような状況においても、各匿名化ＰＦ１００がα値及びβ値を相互に提供し、又は第三者に開示することで、不正な個人情報データを用いて生成された可能性のある匿名化データの検出を促進できる。
【実施例２】
【０１０４】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。例えば、図１２及び図１３に示す各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【０１０５】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部又は一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０６】
なお、上で述べたように、例えば検出装置１０が匿名化処理を行い、又は係数算出処理を行うなど、匿名化ＰＦ１００と同様の機能を有するような構成であってもよい。
【０１０７】
また、本実施例における、匿名化ＰＦ１００が外部企業３００から個人情報データを受け付ける構成は、例えば、外部企業３００が匿名化ＰＦ１００に個人情報データを送信し、匿名化ＰＦ１００がこれを受信する構成であるが、実施の形態はこれに限られない。例えば、匿名化ＰＦ１００が、匿名化処理に用いるアプリケーションによるサービスを外部企業３００に提供し、匿名化処理済みの匿名化データを匿名化ＰＦ１００が受信するような構成であってもよい。かかる構成においては、匿名化ＰＦ１００が個人情報データそのものを取得することがないため、個人情報データが漏洩するリスクをさらに低減できる。
【０１０８】
なお、上述した実施例においては、匿名化データの区分数とｋ−匿名レベルとを用いたが、不正な個人情報データを用いた匿名化データを検出する方法はこれに限られない。例えば、匿名化データの区分数及びｋ−匿名レベルの代わりに、匿名化データにおける最大出現群の情報の出現率や、各属性値の平均値・標準偏差など、通常利用しやすい情報を用いて式を求め、それによる比較で情報の類似性を検知するような構成であってもよい。
【０１０９】
［システム］
また、図示した装置の各構成は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、任意の単位で分散または統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１１０】
更に、各装置で行われる各種処理機能は、ＣＰＵ（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしてもよい。
【０１１１】
上記検出装置１０及び匿名化ＰＦ１００は、例えば、図１４に示すコンピュータ１４００のようなハードウェア構成により実現することができる。図１４は、ハードウェア構成の一例を示す図である。図１４に示すように、コンピュータ１４００は、プロセッサ１４０１と、メモリ１４０２と、ＩＦ１４０３を有する。
【０１１２】
プロセッサ１４０１の一例としては、ＣＰＵ、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）等が挙げられる。また、メモリ１４０２の一例としては、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。
【０１１３】
そして、検出装置１０及び匿名化ＰＦ１００で行われる各種処理機能は、不揮発性記憶媒体などの各種メモリに格納されたプログラムを制御装置が備えるプロセッサで実行することによって実現してもよい。すなわち、取得部１３、比較部１４、出力部１５、及び生成部１１０ａ又は１１０ｂ、算出部１２０ａ又は１２０ｂによって実行される各処理に対応するプログラムがメモリ１４０２に記録され、各プログラムがプロセッサ１４０１で実行されてもよい。
【符号の説明】
【０１１４】
１０  検出装置
１１  係数ＤＢ
１２  閾値ＤＢ
１３  取得部
１４  比較部
１５  出力部
１００ａ、１００ｂ  匿名化ＰＦ
１０２ａ、１０２ｂ  匿名化情報ＤＢ
１０３ａ、１０３ｂ  係数ＤＢ
１１０ａ、１１０ｂ  生成部
１２０ａ、１２０ｂ  算出部
３００ａ、３００ｃ、４００ｄ、４００ｅ  正規の企業
３００ｂ  不正な企業
５００  外部の専門家
【図１】
0006550931.tif 000009
【図２】
0006550931.tif 000010
【図３】
0006550931.tif 000011
【図４】
0006550931.tif 000012
【図５】
0006550931.tif 000013
【図６Ａ】
0006550931.tif 000014
【図６Ｂ】
0006550931.tif 000015
【図７】
0006550931.tif 000016
【図８】
0006550931.tif 000017
【図９】
0006550931.tif 000018
【図１０】
0006550931.tif 000019
【図１１】
0006550931.tif 000020
【図１２】
0006550931.tif 000021
【図１３】
0006550931.tif 000022
【図１４】
0006550931.tif 000023