(57)【特許請求の範囲】
【請求項１】
匿名化データを提供する第１の情報処理装置と、当該匿名化データの提供を受ける第２の情報処理装置とを有する情報処理システムにおいて、
前記第１の情報処理装置は、
個人情報が匿名化された匿名化データに付与される第１の識別子に対して、第２の識別子を生成する第１生成部と、
前記匿名化データと前記第２の識別子とを対応付けた第１のデータを生成する第２生成部と
を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置から取得した前記第１のデータに含まれる前記第２の識別子に対して、第３の識別子を生成する生成部と、
前記匿名化データと前記第３の識別子とを対応付けた第２のデータをデータ利用者に提供する提供部と
を有することを特徴とする情報処理システム。
【請求項２】
前記第１の情報処理装置の第２生成部が、前記匿名化データ又は前記匿名化データの一部を不可逆的に暗号化し、当該暗号化されたデータを取得した前記第２の情報処理装置から、前記暗号化されたデータが所定のｋ−匿名レベルを満たす旨の通知を受けた場合に、前記暗号化されたデータの元データを前記第２の情報処理装置に提供することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１の情報処理装置の第２生成部が、前記匿名化データ又は前記匿名化データの一部を可逆的に暗号化し、当該暗号化されたデータを取得した前記第２の情報処理装置から、前記暗号化されたデータが所定のｋ−匿名レベルを満たす旨の通知を受けた場合に、前記暗号化されたデータを復号する暗号鍵を前記第２の情報処理装置に提供する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記第１の情報処理装置の第２生成部が、前記匿名化データの第１の部分及び第２の部分を、それぞれ別の暗号鍵を用いて可逆的に暗号化し、前記第２の情報処理装置から、前記第１の部分が所定のｋ−匿名レベルを満たす旨の通知を受けた場合に、前記第１の部分を復号する暗号鍵を前記第２の情報処理装置に提供することを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記第２の情報処理装置の生成部が、前記第１の情報処理装置から取得した前記暗号化されたデータに含まれるレコードの件数に基づいて、前記暗号化されたデータが所定のｋ−匿名レベルを満たすか否かを判定し、前記所定のｋ−匿名レベルを満たす場合に、前記暗号化されたデータが前記所定のｋ−匿名レベルを満たす旨を通知することを特徴とする請求項２乃至４のいずれか１つに記載の情報処理システム。
【請求項６】
前記第２の情報処理装置の生成部が、前記第２の識別子と前記第３の識別子との対応関係を示す対照情報を暗号し、
前記第１の情報処理装置の第１生成部が、暗号化された前記対照情報をさらに再暗号化することを特徴とする請求項１乃至５のいずれか１つに記載の情報処理システム。
【請求項７】
前記第１の情報処理装置の第１生成部が、前記第１の識別子を順不同に並べ替えて、前記第１の識別子に対する前記第２の識別子を生成することを特徴とする請求項１乃至６のいずれか１つに記載の情報処理システム。
【請求項８】
匿名化データを提供する第１の情報処理装置と、当該匿名化データの提供を受ける第２の情報処理装置とにより実行される情報処理方法であって、
前記第１の情報処理装置が、
個人情報が匿名化された匿名化データに付与される第１の識別子に対して、第２の識別子を生成し、
前記匿名化データと前記第２の識別子とを対応付けた第１のデータを生成する処理を行い、
前記第２の情報処理装置が、
前記第１のデータを取得し、
取得した前記第１のデータに含まれる前記第２の識別子に対して、第３の識別子を生成し、
前記匿名化データと前記第３の識別子とを対応付けた第２のデータをデータ利用者に提供する
処理を行うことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
近年、情報漏洩の問題及び個人情報保護法の制定等により、個人情報の取り扱いが問題となっている。例えば、企業（以下では「データ提供者」と呼ぶことがある）の商品又はサービスを購入する消費者等の個人（以下では、「一般ユーザ」と呼ぶことがある）が商品又はサービスを購入する際に、会員登録することがある。この会員登録時には、通常、一般ユーザの氏名、年齢、性別、住所、及びメールアドレス等のデータが、一般ユーザに割り振られた個人ＩＤと対応づけられた状態で、データ提供者のシステムに登録（記憶）される。すなわち、データ提供者のシステムは、「個人情報データ」を記憶しておく。ここで、「個人情報データ」は、例えば、氏名、年齢、性別、住所、メールアドレス、及び個人ＩＤを含む。
【０００３】
さらに、データ提供者のシステムは、個人情報データが既に登録されている一般ユーザが商品又はサービスを購入する度に、その一般ユーザの個人ＩＤに対応づけて、購入された商品又はサービスに関する情報を記憶する。これにより、データ提供者は、収集した個人情報データを用いて、企業活動に利用することができる。
【０００４】
一方で、例えば、個人情報データを正常に収集したデータ提供者以外の企業が、その個人情報データを利用することを望むことがある。すなわち、データ収集主体とデータ利用主体とが異なる可能性がある。しかしながら、個人情報保護の観点から、一般ユーザの許可を得ること無しに、個人情報データそのものを提供することはできない。そこで、個人情報データを正常に収集したデータ提供者が、個人情報データを、個人を特定できない状態のデータ（以下では、「匿名化データ」と呼ぶことがある）に変換し、匿名化データを提供することが考えられる。
【０００５】
一般的に、匿名化データには、各個人のレコードを管理するために識別子が付与されている。識別子は、例えば匿名化データに新たな項目を追加する場合又は匿名化データに含まれる属性値を更新する場合に、追加、更新等の対象となるレコードを特定することに使用される。
【０００６】
しかし、第三者に匿名化データを提供する場合に、当該識別子をそのまま付与すると、匿名化データに含まれる各レコードの個人が特定される。このため、第三者に匿名化データを流通させる際、匿名化データに付与された第１の識別子を第三者から隠蔽するために、当該第１の識別子を第２の識別子に変換して提供する場合がある。
【０００７】
また、今後改正され、施行が予定される個人情報保護法では、個人を特定できないように一定レベルの加工度で匿名化処理を行った個人情報を一般ユーザの許可なく流通させることが可能となることから、匿名化データの流通が期待される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１４−１５３９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、識別子を変換した匿名化データを提供した場合において、第１の識別子と第２の識別子との対照情報が漏洩すると、提供された匿名化データに付与される第２の識別子に基づいて第１の識別子が特定され、個人を特定されるおそれがある。識別子を変換する技術者が、当該対照情報を削除することも考えられるが、対照情報を適切な手順で消去したことを当該技術者が証明することは困難である。技術的な手違い等により対照情報が削除されずに残り、又は悪意のある技術者により対照情報が奪われる等により、対照情報が漏洩した場合は、当該対照情報を用いて個人が特定されるおそれがある。
【００１０】
１つの側面では、匿名化データの提供の際に、個人が特定されることを防ぐ情報処理システム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
１つの側面では、情報処理システムは、匿名化データを提供する第１の情報処理装置と、匿名化データの提供を受ける第２の情報処理装置とを有する。第１の情報処理装置は、個人情報が匿名化された匿名化データに付与される第１の識別子に対して、第２の識別子を生成する第１生成部と、匿名化データと第２の識別子とを対応付けた第１のデータを生成する第２生成部とを有する。第２の情報処理装置は、第１の情報処理装置から取得した第１のデータに含まれる第２の識別子に対して、第３の識別子を生成する生成部と、匿名化データと第３の識別子とを対応付けた第２のデータをデータ利用者に提供する提供部とを有する。
【発明の効果】
【００１２】
一実施態様によれば、匿名化データの提供の際に、個人が特定されることを防ぐ。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１におけるシステムの全体構成の一例を示す模式図である。
【図２】図２は、実施例１におけるシステムの一例を示す機能ブロック図である。
【図３】図３は、実施例１における個人情報の一例を示す図である。
【図４】図４は、実施例１における匿名化情報ＤＢに記憶される情報の一例を示す図である。
【図５】図５は、実施例１におけるデータ提供者サーバのＩＤ管理ＤＢに記憶される情報の一例を示す図である。
【図６】図６は、実施例１における提供情報ＤＢに記憶される情報の一例を示す図である。
【図７】図７は、実施例１におけるプラットフォームサーバのＩＤ管理ＤＢに記憶される情報の一例を示す図である。
【図８】図８は、実施例１における公開情報ＤＢに記憶される情報の一例を示す図である。
【図９】図９は、実施例１における暗号化処理の流れの一例を示すフローチャートである。
【図１０】図１０は、実施例１における復号処理の流れの一例を示すフローチャートである。
【図１１】図１１は、実施例２におけるＩＤ管理ＤＢに記憶される情報の一例を示す図である。
【図１２】図１２は、実施例２におけるｋ−匿名レベルの判定について説明する図である。
【図１３】図１３は、実施例２における復号されたＳＡを含むデータの一例を示す図である。
【図１４】図１４は、実施例２における復号処理の流れの一例を示すフローチャートである。
【図１５】図１５は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する情報処理システム及び情報処理方法の実施例を図面に基づいて詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１５】
［全体構成］
本実施例においては、データ提供者がプラットフォーム（以下では「ＰＦ」と呼ぶ。）に提供する匿名化データにおいて、識別子を変換する構成について説明する。図１は、実施例１におけるシステムの全体構成の一例を示す模式図である。図１に示すように、実施例１におけるシステムは、データ提供者サーバ１００（以下では「ＤＰサーバ１００」と呼ぶ。）と、プラットフォームサーバ３００（以下では「ＰＦサーバ３００」と呼ぶ。）と、データ利用者端末５００とを含む。
【００１６】
ＤＰサーバ１００は、個人の特定を防ぐ措置を施した上で、匿名化データを提供する。ＰＦサーバ３００は、提供された個人情報を、個人の特定を防ぐ措置を施した上で、データ利用者端末５００に提供する。なお、図１においてはＤＰサーバ１００、ＰＦサーバ３００及びデータ利用者端末５００がそれぞれ一者づつである例を示したが、実施例はこれに限られず、それぞれ複数有するような構成であってもよい。
【００１７】
本システムにおいて、ＤＰサーバ１００は、例えば一般ユーザから提供された個人情報を用いて、自ら匿名化データを生成し、又は第三者に匿名化データを生成させる。ＤＰサーバ１００は、生成された匿名化データを流通させるために、ＰＦサーバ３００に提供する。
【００１８】
その際、ＤＰサーバ１００は、個人の特定を防ぐため、匿名化データの各レコードに付与された第１の識別子（以下では「ＩＤ１」と呼ぶ。）を第２の識別子（以下では「ＩＤ２」と呼ぶ。）に変換する。ＤＰサーバ１００は、ＩＤ１とＩＤ２とを連結するためのＩＤ対照情報（以下では「第１のＩＤ対照情報」と呼ぶ。）を暗号化して記憶する。なお、本実施例においては、暗号化した情報の安全性を高めるため、第１のＩＤ対照情報に対して、ＤＰサーバ１００とＰＦサーバ３００との両方が暗号化処理を行う。
【００１９】
また、年収や病歴等、特に厳重な秘密保持が求められるセンシティブな属性値（以下では「ＳＡ」と呼ぶ。）が匿名化データに含まれる場合、ＤＰサーバ１００はＳＡを削除し、又は暗号化する等、ＳＡの漏洩を防ぐための措置を施す。
【００２０】
その後、ＤＰサーバ１００は、ＩＤ２と、当該ＩＤに対応するＳＡ以外の属性値（以下では「ＱＩＤ（Quasi  IDentifier）」と呼ぶ。）と、暗号化された第１のＩＤ対照情報とを、ＰＦサーバ３００に送信する。なお、ＤＰサーバ１００が、暗号化されたＳＡを合わせてＰＦサーバ３００に送信するような構成であってもよい。
【００２１】
データを受信したＰＦサーバ３００は、受信したデータに含まれるＩＤ２を、第３の識別子（以下では「ＩＤ３」と呼ぶ。）に変換する。ＰＦサーバ３００は、ＩＤ２とＩＤ３とを連結するためのＩＤ対照情報（以下では「第２のＩＤ対照情報」と呼ぶ。）を暗号化する。
【００２２】
その後、ＰＦサーバ３００は、暗号化された第１のＩＤ対照情報を再暗号化するとともに、暗号化された第２のＩＤ対照情報と合わせてＤＰサーバ１００に送信する。なお、本実施例においては、第１のＩＤ対照情報と同様に、第２のＩＤ対照情報に対しても、ＤＰサーバ１００とＰＦサーバ３００との両方が暗号化処理を行う。
【００２３】
データを受信したＤＰサーバ１００は、再暗号化された第１のＩＤ対照情報を記憶する。また、ＤＰサーバ１００は、暗号化された第２のＩＤ対照情報を再暗号化し、ＰＦサーバ３００に送信する。
【００２４】
データを受信したＰＦサーバ３００は、再暗号化された第２のＩＤ対照情報を記憶する。また、ＰＦサーバ３００は、ＩＤ３と、受信したＱＩＤとを対応付けて記憶するとともに、データ利用者端末５００から要求を受けた場合にこれを提供する。
【００２５】
次に、データの追加又は更新等について説明する。ＰＦサーバ３００は、データ利用者端末５００からＩＤ３を含むデータの追加又は更新の依頼を受けた場合、ＤＰサーバ１００とともに、第１のＩＤ対照情報及び第２のＩＤ対照情報を復号する。ＰＦサーバ３００は、データ利用者端末５００から受信したＩＤ３に対応するＩＤ２をＤＰサーバ１００に送信し、ＤＰサーバ１００は、ＩＤ２に対応するＩＤ１の追加・更新情報を取得する。
【００２６】
その後、ＤＰサーバ１００は、ＰＦサーバ３００に当該追加・更新情報とＩＤ２とを対応付けて送信し、ＰＦサーバ３００は当該追加・更新情報をＩＤ３と対応付けてデータ利用者端末５００に送信する。なお、暗号化されたＳＡを復号して提供する構成については、実施例２において説明する。
【００２７】
次に、本実施例において実装されるシステムの機能構成について説明する。図２は、実施例１におけるシステムの一例を示す機能ブロック図である。図２に示すように、本実施例におけるシステムは、ＤＰサーバ１００と、ＰＦサーバ３００と、データ利用者端末５００とを有する。
【００２８】
ＤＰサーバ１００と、ＰＦサーバ３００とは、ネットワークＮを通じて、相互に通信可能に接続される。ＰＦサーバ３００は、ネットワークＮを通じて、データ利用者端末５００と相互に通信可能に接続される。かかるネットワークＮには、有線または無線を問わず、インターネット（Internet）を始め、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。なお、図２においては、ＤＰサーバ１００、ＰＦサーバ３００及びデータ利用者端末５００がそれぞれ１台づつである例を示したが、実施例はこれに限られない。例えば、ＤＰサーバ１００、ＰＦサーバ３００及びデータ利用者端末５００を複数有するような構成であってもよい。
【００２９】
［ＤＰサーバの機能構成］
まず、ＤＰサーバ１００の機能構成について説明する。ＤＰサーバ１００は、匿名化データに付与される識別子を変換し、ＰＦサーバ３００に提供する処理を行うコンピュータである。図２に示されるように、ＤＰサーバ１００は、記憶部１２０と、制御部１３０とを有する。なお、ＤＰサーバ１００は、図２に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００３０】
次に、ＤＰサーバ１００の各機能ブロックについて説明する。記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、匿名化情報ＤＢ１２１、ＩＤ管理ＤＢ１２３、提供情報ＤＢ１２４及び操作ログＤＢ１２５を有する。また、記憶部１２０は、制御部１３０での処理に用いる各種情報を記憶する。
【００３１】
匿名化情報ＤＢ１２１は、生成された匿名化データを、識別子と対応付けて記憶する記憶部である。匿名化データは、例えば、一般ユーザから取得した個人情報に、属性値を抽象化する等の匿名化処理を施すことにより生成される。なお、個人情報に含まれる年齢や収入等の属性値が更新された場合、又は新たな個人に関する属性値を取得した場合、匿名化データも適宜更新される。
【００３２】
図３及び図４を用いて、匿名化処理の概要について説明する。図３は、実施例１における個人情報の一例を示す図である。また、図４は、実施例１における匿名化情報ＤＢに記憶される情報の一例を示す図である。図３は、「ＩＤ１」、「属性１性別（ＱＩＤ）」、「属性２年齢（ＱＩＤ）」及び「属性ｎ年収（ＳＡ）」の項目を含む。一方、図４においては、図３に示される「属性２年齢（ＱＩＤ）」が、匿名化処理において、図４に示される「属性２年代（ＱＩＤ）」に抽象化される。図４に示されるその他の項目については、図３に示される項目と同様である。なお、図３及び図４において、図示しないその他の属性を含むような構成であってもよい。
【００３３】
例えば、図３に示される「４５」や「５２」などの属性値は、図４においてそれぞれ「４０−５０代」に抽象化される。同様に、図３の「属性ｎ年収（ＳＡ）」に示される「５５０万」や「２４０万」などの属性値は、図４においてそれぞれ「５００万円台」や「３００万円未満」に抽象化される。各属性値は、「ＩＤ１」に示す識別子により一意に識別される。
【００３４】
また、図４においては、各レコードが順不同に並び替えて記憶される。これは、例えば５０音順や年齢順などのレコードの並び順に基づいて、各レコードに該当する個人を推定されることを防ぐためである。
【００３５】
図２の説明に戻って、ＩＤ管理ＤＢ１２３は、ＩＤ１とＩＤ２とを対応づける第１のＩＤ対照情報を記憶する記憶部である。ＩＤ管理ＤＢ１２３に格納される情報について、図５を用いて説明する。図５は、実施例１におけるデータ提供者サーバのＩＤ管理ＤＢに記憶される情報の一例を示す図である。図５に示すように、ＩＤ管理ＤＢ１２３は、「ＩＤ１」と、「ＩＤ２」とを対応付けて記憶する。例えば、「Ａ００３」というＩＤ１には、「Ｚ１２３」というＩＤ２が対応付けられて記憶される。
【００３６】
なお、図５においては、ＩＤ１とＩＤ２とが一意に対応する例を示したが、実施例はこれに限られず、データ利用者ごとに、又はデータを提供する度に、ＩＤ１に対応するＩＤ２を新たに生成するような構成であってもよい。この場合、ＩＤ管理ＤＢ１２３は、図５に示すような情報を、データ利用者に割り振られた識別子等に対応付けて記憶する。
【００３７】
また、図５に示す例においては、図４に示す「属性１性別（ＱＩＤ）」及び「属性２年代（ＱＩＤ）」もＩＤ１及びＩＤ２と合わせて記憶されるが、図４に示す「属性ｎ年収（ＳＡ）」は、本実施例においては削除される。
【００３８】
図２の説明に戻って、提供情報ＤＢ１２４は、ＰＦサーバ３００に提供される情報を記憶する記憶部である。提供情報ＤＢ１２４に格納される情報について、図６を用いて説明する。図６は、実施例１における提供情報ＤＢに記憶される情報の一例を示す図である。図６に示すように、提供情報ＤＢ１２４は、図５に示すようなＩＤ管理ＤＢ１２３に記憶される情報のうち、「ＩＤ２」、「属性１性別（ＱＩＤ）」及び「属性２年代（ＱＩＤ）」のみを含み、「ＩＤ１」は削除されている。
【００３９】
図２の説明に戻って、操作ログＤＢ１２５は、匿名化データに対する取得要求や暗号化等の操作を記憶する記憶部である。操作ログＤＢ１２５は、例えば、ＩＤ１に対応するＩＤ２が生成されたこと、ＳＡが暗号化され又は復号されたこと、ＩＤ２及びＱＩＤがＰＦサーバ３００に送信されたこと、第１のＩＤ対照情報が暗号化され又は復号されたこと等の操作を記録する。操作ログＤＢ１２５は、各操作履歴を、操作を行った担当者のＩＤや、操作が行われた日時等と対応付けて記録する。
【００４０】
図２の説明に戻って、制御部１３０は、例えば、ＣＰＵやＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。
【００４１】
この制御部１３０は、ＩＤ生成部１３１と、暗号処理部１３３と、送受信部１３５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図２に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、ＩＤ生成部１３１、暗号処理部１３３及び送受信部１３５は、プロセッサなどの電子回路の一例またはプロセッサなどが実行するプロセスの一例である。
【００４２】
ＩＤ生成部１３１は、ＩＤ１に対応するＩＤ２を生成する処理部である。ＩＤ生成部１３１は、例えば、図５に示すように、「Ａ００３」というＩＤ１に対応して、「Ｚ１２３」というＩＤ２を生成し、ＩＤ管理ＤＢ１２３に記憶する。ＩＤ生成部１３１は、第１生成部及び第２生成部の一例である。
【００４３】
暗号処理部１３３は、複数のＩＤを対応付けるＩＤ対照情報を暗号化し、又は復号する処理部である。具体的には、暗号処理部１３３は、図５に示すようなＩＤ１とＩＤ２とを対応付ける情報を暗号化して、ＩＤ管理ＤＢ１２３に記憶し、また暗号化された情報を復号する。また、上で述べたように、暗号処理部１３３は、ＰＦサーバ３００により暗号化された第２のＩＤ対照情報をさらに再暗号化する。なお、暗号処理部１３３は、ＩＤ管理ＤＢ１２３全体を暗号化する構成であっても、ＩＤ管理ＤＢ１２３の内容を出力したファイルを暗号化する構成であってもよい。
【００４４】
送受信部１３５は、ＰＦサーバ３００に情報を送信し、又はＰＦサーバ３００から情報を受信する処理部である。例えば、送受信部１３５は、提供情報ＤＢ１２４に記憶された、図６に示すような情報を読み出し、ＰＦサーバ３００に送信する。また、送受信部１３５は、例えば、ＰＦサーバ３００から暗号化したＩＤ対照情報の復号要求を受信し、暗号処理部１３３に指示を出力する。
【００４５】
［ＰＦサーバの機能構成］
次に、図２の説明に戻って、ＰＦサーバ３００の機能構成について説明する。ＰＦサーバ３００は、ＤＰサーバ１００から匿名化データの提供を受け、データ利用者端末５００に提供する処理を行うコンピュータである。図２に示されるように、ＰＦサーバ３００は、記憶部３２０と、制御部３３０とを有する。なお、ＰＦサーバ３００は、図２に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００４６】
次に、ＰＦサーバ３００の各機能ブロックについて説明する。記憶部３２０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部３２０は、ＩＤ管理ＤＢ３２３と、公開情報ＤＢ３２４と、操作ログＤＢ３２５とを有する。また、記憶部３２０は、制御部３３０での処理に用いる各種情報を記憶する。
【００４７】
ＩＤ管理ＤＢ３２３は、ＩＤ２とＩＤ３とを対応づける第２のＩＤ対照情報を記憶する記憶部である。ＩＤ管理ＤＢ３２３に格納される情報について、図７を用いて説明する。図７は、実施例１におけるプラットフォームサーバのＩＤ管理ＤＢに記憶される情報の一例を示す図である。図７に示すように、ＩＤ管理ＤＢ３２３は、「ＩＤ２」と、「ＩＤ３」とを対応付けて記憶する。例えば、「Ｚ１２３」というＩＤ２には、「ＡＢＣ１」というＩＤ３が対応付けられて記憶される。
【００４８】
図２の説明に戻って、公開情報ＤＢ３２４は、ＰＦサーバ３００に提供される情報を記憶する記憶部である。公開情報ＤＢ３２４に格納される情報について、図８を用いて説明する。図８は、実施例１における公開情報ＤＢに記憶される情報の一例を示す図である。図８に示すように、公開情報ＤＢ３２４は、図６に示す提供情報ＤＢ１２４に示す情報のうち、「ＩＤ２」を「ＩＤ３」に変換した情報を記憶する。
【００４９】
図２の説明に戻って、操作ログＤＢ３２５は、匿名化データに対する取得要求や暗号化等の操作を記憶する記憶部である。操作ログＤＢ３２５は、例えば、ＩＤ２に対応するＩＤ３が生成されたこと、第２のＩＤ対照情報が暗号化され又は復号されたこと等の操作を記録する。また、操作ログＤＢ３２５は、データ利用者端末５００に対して匿名化データを提供したこと、データ利用者端末５００から追加情報取得のリクエストを受信したこと等の操作も記録する。操作ログＤＢ３２５は、各操作履歴を、操作を行った担当者のＩＤや、操作が行われた日時等と対応付けて記録する。
【００５０】
制御部３３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部３３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【００５１】
この制御部３３０は、ＩＤ生成部３３１と、暗号処理部３３３と、送受信部３３５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部３３０の内部構成は、図２に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、ＩＤ生成部３３１、暗号処理部３３３及び送受信部３３５は、プロセッサなどの電子回路の一例またはプロセッサなどが実行するプロセスの一例である。
【００５２】
ＩＤ生成部３３１は、ＩＤ２に対応するＩＤ３を生成する処理部である。ＩＤ生成部３３１は、例えば、図７に示すように、「Ｚ１２３」というＩＤ２に対応して、「ＡＢＣ１」というＩＤ３を生成し、ＩＤ管理ＤＢ３２３に記憶する。ＩＤ生成部３３１は、生成部の一例である。
【００５３】
暗号処理部３３３は、複数のＩＤを対応付けるＩＤ対照情報を暗号化し、又は復号する処理部である。具体的には、暗号処理部３３３は、図７に示すようなＩＤ２とＩＤ３とを対応付ける第２のＩＤ対照情報を暗号化して、ＩＤ管理ＤＢ３２３に記憶し、また暗号化された情報を復号する。また、上で述べたように、暗号処理部３３３は、ＤＰサーバ１００により暗号化された第１のＩＤ対照情報をさらに再暗号化する。
【００５４】
送受信部３３５は、ＤＰサーバ１００及びデータ利用者端末５００との間で情報を送受信する処理部である。例えば、送受信部３３５は、ＤＰサーバ１００からＩＤ２とＱＩＤとの組み合わせを受信し、記憶部３２０に記憶する。また、送受信部３３５は、データ利用者端末５００からデータの追加又は更新のリクエストを受信すると、ＤＰサーバ１００にリクエストを送信する。送受信部３３５は、提供部の一例である。
【００５５】
［処理の流れ］
次に、ＤＰサーバ１００及びＰＦサーバ３００による処理の流れについて説明する。図９は、実施例１における暗号化処理の流れの一例を示すフローチャートである。なお、各ステップにおいて実行された処理の内容については、適宜操作ログＤＢ１２５又は操作ログＤＢ３２５に記録される。
【００５６】
まず、ＤＰサーバ１００のＩＤ生成部１３１は、匿名化情報ＤＢ１２１に記憶された匿名化データの各レコードを順不同に並べ替える（ステップＳ１０１）。次に、ＩＤ生成部１３１は、順不同に並べ替えた匿名化データに付与されたＩＤ１に対応するＩＤ２を生成し、第１のＩＤ対照情報をＩＤ管理ＤＢ１２３に記憶する（ステップＳ１１１）。
【００５７】
次に、暗号処理部１３３は、匿名化情報ＤＢ１２１に記憶された匿名化データからＳＡを削除する（ステップＳ１２１）。なお、ＳＡを暗号化する構成については、実施例２において説明する。
【００５８】
その後、ＩＤ生成部１３１は、匿名化情報ＤＢ１２１から匿名化データ及び識別子を読み出し、匿名化データに付与されたＩＤ１をＩＤ２に置き換えて、提供情報ＤＢ１２４に記憶する（ステップＳ１３１）。そして、送受信部１３５は、提供情報ＤＢ１２４に記憶されたＩＤ２及びＱＩＤを、ＰＦサーバ３００に送信する（ステップＳ１３５）。
【００５９】
ＰＦサーバ３００の送受信部３３５が、ＤＰサーバ１００からＩＤ２とＱＩＤとを受信すると（ステップＳ１４１）、ＩＤ生成部３３１は、ＩＤ２に対応するＩＤ３を生成し、第２のＩＤ対照情報をＩＤ管理ＤＢ３２３に記憶する（ステップＳ１４３）。次に、暗号処理部３３３は、第２のＩＤ対照情報を暗号化し、ＩＤ管理ＤＢ３２３に記憶する（ステップＳ１４５）。
【００６０】
次に、送受信部３３５は、ＤＰサーバ１００に、暗号化された第２のＩＤ対照情報を送信する（ステップＳ１５１）。ＤＰサーバ１００の送受信部１３５が暗号化された第２のＩＤ対照情報を受信すると、暗号処理部１３３は、暗号化された第２のＩＤ対照情報を再暗号化する（ステップＳ１６１）。次に、暗号処理部１３３は、ＩＤ管理ＤＢ１２３に記憶された第１のＩＤ対照情報を暗号化する（ステップＳ１６３）。次に、送受信部１３５は、暗号化された第１のＩＤ対照情報と、再暗号化された第２のＩＤ対照情報とを、ＰＦサーバ３００に送信する（ステップＳ１６５）。
【００６１】
ＰＦサーバ３００の送受信部３３５は、暗号化された第１のＩＤ対照情報と、再暗号化された第２のＩＤ対照情報とを受信すると、再暗号化された第２のＩＤ対照情報をＩＤ管理ＤＢ３２３に格納する（ステップＳ１７１）。次に、暗号処理部３３３は、暗号化された第１のＩＤ対照情報を再暗号化する（ステップＳ１７３）。
【００６２】
その後、送受信部３３５は、処理に用いた中間データを削除し、再暗号化された第１のＩＤ対照情報をＤＰサーバ１００に送信する（ステップＳ１７５）。再暗号化された第１のＩＤ対照情報を受信したＤＰサーバ１００の送受信部１３５は、再暗号化された第１のＩＤ対照情報をＩＤ管理ＤＢ１２３に格納するとともに、処理に用いた中間データを削除する（ステップＳ１８１）。
【００６３】
次に、データ利用者に提供するデータを更新又は追加するための復号処理について、図１０を用いて説明する。図１０は、実施例１における復号処理の流れの一例を示すフローチャートである。まず、ＰＦサーバ３００の送受信部３３５は、データ利用者端末５００から、データの更新又は追加のリクエストを受信すると（ステップＳ２０１）、当該リクエストがデータ利用者とプラットフォームとの契約等の条件を満たすかを判定する（ステップＳ２０３）。条件を満たさない場合（ステップＳ２０３：Ｎｏ）、処理を終了する。
【００６４】
一方、当該リクエストが条件を満たす場合（ステップＳ２０３：Ｙｅｓ）、送受信部３３５は、ＤＰサーバ１００に、確認依頼を送信する（ステップＳ２０５）。ＤＰサーバ１００の送受信部１３５は、確認依頼を受信すると（ステップＳ２２１）、当該リクエストがプラットフォームとデータ提供者との契約等の条件を満たすかを判定する（ステップＳ２２３）。条件を満たさない場合（ステップＳ２２３：Ｎｏ）、送受信部１３５は、ＰＦサーバ３００に処理不能を通知し（ステップＳ２２５）、処理を終了する。
【００６５】
一方、当該リクエストが条件を満たす場合（ステップＳ２２３：Ｙｅｓ）、暗号処理部１３３は、ＩＤ管理ＤＢ１２３に記憶された第１のＩＤ対照情報を復号し、ＰＦサーバ３００に送信する（ステップＳ２３１）。ＰＦサーバ３００の送受信部３３５は、復号された第１のＩＤ対照情報を受信し、暗号処理部３３３がこれを再復号する（ステップＳ２４１）。次に、暗号処理部３３３は、ＩＤ管理ＤＢ３２３に記憶された第２のＩＤ対照情報を復号する（ステップＳ２４３）。次に、送受信部３３５は、再復号された第１のＩＤ対照情報と、復号された第２のＩＤ対照情報とをＤＰサーバ１００に送信する（ステップＳ２４５）。
【００６６】
ＤＰサーバ１００の送受信部１３５が、復号された第２のＩＤ対照情報を受信すると、暗号処理部１３３は、受信された第２のＩＤ対照情報を再復号する（ステップＳ２５１）。次に、ＩＤ生成部１３１は、再復号された第１のＩＤ対照情報及び第２のＩＤ対照情報を用いて、ＩＤ３に対応するＩＤ１を特定し、匿名化情報ＤＢ１２１からＩＤ１に対応する追加情報又は更新情報（以下「追加情報等」と呼ぶ。）を取得する（ステップＳ２５３）。次に、送受信部１３５は、取得した追加情報等を、ＩＤ２と対応付けてＰＦサーバ３００に送信する（ステップＳ２５５）。
【００６７】
ＰＦサーバ３００の送受信部３３５が、ＤＰサーバ１００から追加情報等を受信すると（ステップＳ２６１）、ＩＤ生成部３３１は、追加情報等をＩＤ３と対応付け、データ利用者に提供する（ステップＳ２６３）。
【００６８】
以上のような構成により、ＤＰサーバ１００は単独でＩＤ１からＩＤ３を対応付けることができず、またＰＦサーバ３００は単独でＩＤ３からＩＤ１を対応付けることができない。すなわち、ＤＰサーバ１００が生成した第１のＩＤ対照情報と、ＰＦサーバ３００が生成した第２のＩＤ対照情報との両方がそろわなければ、ＩＤ３からＩＤ１に再連結することができなくなる。これにより、いずれか一方のＩＤ対照情報が漏洩しても、匿名化データに付与された識別子により個人が特定されることを防止できる。
【００６９】
なお、識別子そのものを削除する場合と異なり、データ提供者とプラットフォームとが合意すれば、ＩＤ３とＩＤ１とを対応付けることで、ＤＰサーバ１００が保有する匿名化データと再連結することができる。このため、データ利用者端末５００が、提供されたデータについてさらに別の項目の提供を受けることや、提供されたデータをアップデートすることもできる。
【００７０】
本実施例においては、ＰＦサーバ３００が暗号化した第２のＩＤ対照情報をＤＰサーバ１００に送信し、ＤＰサーバ１００がこれを再暗号化する構成を説明したが、実施例はこれに限られない。例えば、ＤＰサーバ１００が予め暗号化した第１のＩＤ対照情報をＰＦサーバ３００に送信し、ＰＦサーバ３００が再暗号化した第１のＩＤ対照情報と、暗号化した第２のＩＤ対照情報とをＤＰサーバ１００に送信するような構成であってもよい。
【００７１】
また、本実施例においては、ＤＰサーバ１００側でＩＤ１からＩＤ２に変換し、ＩＤ１をＰＦサーバ３００に受け渡さない構成について説明したが、実施例はこれに限られない。例えば、ＤＰサーバ１００がＩＤ１をＰＦサーバ３００に受け渡し、ＰＦサーバ３００がＩＤ１に対応するＩＤ２及びＩＤ３を生成するような構成であってもよい。これにより、ＤＰサーバ１００がＩＤを変換する機能を有しない場合であっても、データ利用者に変換したＩＤを付与した匿名化データを提供することができる。
【実施例２】
【００７２】
ＤＰサーバ１００が提供する匿名化データには、収入や病歴等のＳＡが含まれる場合がある。ＳＡは、他の属性値と比較して、特に厳重に秘密を保持することが要求される。しかし、ＳＡそのものを削除してしまうと、後にＳＡの提供を求められた場合に、提供済みのデータとの連結ができなくなる。
【００７３】
［全体構成］
以下の実施例においては、再連結可能なＳＡの漏洩を防ぐ構成について説明する。本実施例の全体構成について、図１を用いて説明する。本実施例においては、ＤＰサーバ１００は、ＳＡを削除せずに暗号化して保持する。
【００７４】
図１の符号１００１に示すように、データ利用者端末５００からＩＤ３を含むＳＡの追加提供のリクエストを受けたＰＦサーバ３００は、リクエストに含まれるＩＤ３をＩＤ２に変換し、ＤＰサーバ１００にＳＡの復号をリクエストする。なお、当該リクエストは、対象となる匿名化データに付与されたＩＤ３全てを含むものに限られず、一部のＩＤ３だけを含むものであってもよい。
【００７５】
リクエストをうけたＤＰサーバ１００は、ＩＤ２をＩＤ１に変換し、ＩＤ１に対応するＳＡを復号して、ＩＤ２とともにＰＦサーバ３００に送信する。ＰＦサーバ３００は、受信した復号済みＳＡを、ＩＤ３とともにデータ利用者端末５００に送信する。
【００７６】
次に、本実施例において実装されるシステムの機能構成について、図２を用いて説明する。本実施例におけるシステムも、実施例１におけるシステムと同様に、ＤＰサーバ１００と、ＰＦサーバ３００と、データ利用者端末５００とを有し、それぞれが実施例１における各コンピュータと同様の機能構成を有する。以下において、実施例１と同様の構成を有する機能ブロックについては、詳細な説明を省略する。
【００７７】
［ＤＰサーバの機能構成］
まず、本実施例におけるＤＰサーバ１００の機能構成のうち、実施例１における機能構成と異なる点について説明する。本実施例において、ＤＰサーバ１００のＩＤ管理ＤＢ１２３に記憶される情報の一例を、図１１を用いて説明する。図１１は、実施例２におけるＩＤ管理ＤＢに記憶される情報の一例を示す図である。図１１の符号１１０１に示すように、本実施例におけるＩＤ管理ＤＢ１２３は、図５に示す「ＩＤ１」、「ＩＤ２」、「属性１性別（ＱＩＤ）」及び「属性２年代（ＱＩＤ）」の各情報に加えて、「属性ｎ年収（ＣＳＡ）」をさらに含む。なお、「属性ｎ年収（ＣＳＡ）」は、「属性ｎ年収（ＳＡ）」を暗号化した属性値である。例えば、「属性ｎ年収（ＣＳＡ）」の「ｑｒｑ２４２ｑ３４」のレコードは、図４に示す「属性ｎ年収（ＳＡ）」が「５００万円台」のレコードを暗号化した属性値であることを示す。
【００７８】
なお、ＳＡ単体で暗号化するのではなく、ＳＡと他の属性値とを合わせて暗号化した属性値を「属性ｎ年収（ＣＳＡ）」として記憶するような構成であってもよい。例えば、ＳＡである「年収」と、他の属性値である「年代」とを合わせて暗号化するような構成が考えられる。この場合、ＳＡが同じ「５００万円台」であっても、「４０−５０代」と「３０代」とでは、暗号化された属性値が異なることになる。なお、暗号処理部１３３がＳＡを暗号化する際に、属性値ごとに暗号鍵を変更するような構成であってもよい。
【００７９】
図２の説明に戻って、本実施例におけるＤＰサーバ１００の提供情報ＤＢ１２４においては、図１１に示す情報のうち、「ＩＤ１」を削除した情報が記憶される。すなわち、提供情報ＤＢ１２４には、「ＩＤ２」と、「属性１性別（ＱＩＤ）」と、「属性２年代（ＱＩＤ）」と、「属性ｎ年収（ＣＳＡ）」とが対応付けられて記憶される。この場合において、「属性ｎ年収（ＣＳＡ）」は暗号化されているため、ＰＦサーバ３００やデータ利用者端末５００において年収を把握することはできない。
【００８０】
本実施例における暗号処理部１３３は、匿名化情報ＤＢ１２１からＳＡ、又はＳＡ及びその他の属性値を読み出して暗号化し、ＩＤ管理ＤＢ１２３に記憶する。暗号処理部１３３は、例えば、「属性ｎ年収（ＳＡ）」と「属性２年代（ＱＩＤ）」とを読み出して暗号化し、「属性ｎ年収（ＣＳＡ）」としてＩＤ管理ＤＢ１２３に記憶する。また、暗号処理部１３３は、ＰＦサーバ３００からリクエストを受けた場合に、「属性ｎ年収（ＣＳＡ）」を復号する処理を行う。
【００８１】
［ＰＦサーバの機能構成］
次に、本実施例におけるＰＦサーバ３００の機能構成のうち、実施例１における機能構成と異なる点について説明する。公開情報ＤＢ３２４は、ＤＰサーバ１００の提供情報ＤＢ１２４に記憶される情報のうち、「ＩＤ２」を「ＩＤ３」に変換した情報が記憶される。すなわち、公開情報ＤＢ３２４には、「ＩＤ３」と、「属性１性別（ＱＩＤ）」と、「属性２年代（ＱＩＤ）」と、「属性ｎ年収（ＣＳＡ）」とが対応付けられて記憶される。
【００８２】
本実施例における送受信部３３５は、データ利用者端末５００に、「属性ｎ年収（ＣＳＡ）」を含むデータを送信し、データ利用者端末５００から、ＳＡ開示のリクエストを受信する。具体的には、送受信部３３５は、データ利用者端末５００から、開示を希望するＳＡの項目と、開示を希望するレコードのＩＤ３を受信する。リクエストを受信した送受信部３３５は、ＤＰサーバ１００に、ＩＤ３に対応するＩＤ２を含むリクエストを送信する。
【００８３】
ここで、データ利用者端末５００から受信するリクエストについて詳細に説明する。「属性ｎ年収（ＣＳＡ）」を受信したデータ利用者端末５００において、暗号化されたＣＳＡから元データである「属性ｎ年収（ＳＡ）」を復号することはできない。しかし、データ利用者端末５００において、「属性ｎ年収（ＣＳＡ）」の各属性値に該当する個人が、それぞれ何人いるかを集計することは可能であるため、データ利用者端末５００の利用者は、例えば当該集計結果に基づいて復号を要求するＣＳＡを特定する。
【００８４】
匿名化データの利用を認めるか否かを判断する上で、匿名化データのどの属性値についても、該当する個人が少なくともｋ人以上いるか否かという条件がある。かかる条件を満たす人数を「ｋ−匿名レベル」といい、匿名化データの利用を認める条件として、例えばｋ−匿名レベル「１０」といえば、匿名化データのどの属性値についても、該当する個人が１０人以上いなければならないことを示す。
【００８５】
データ利用者端末５００の利用者は、「属性ｎ年収（ＣＳＡ）」の各属性値のうち、例えばｋ−匿名レベル「１０」を満たす属性値について、ＳＡ開示のリクエストを送信する。図１２は、実施例２におけるｋ−匿名レベルの判定について説明する図である。図１２は、ＣＳＡの各属性値に該当するレコードが何件あるかを示す。図１２の符号１２０１に示すように、例えばＣＳＡの属性値が「ｑｒｑ２４２ｑ３４」であるレコードは２６０件存在し、またＣＳＡの属性値が「ｙ４６４ｗ３４ｙｊ」であるレコードは５件存在する。
【００８６】
図１２において、「属性ｎ元データ」の欄は、ＣＳＡの各属性値に対応する、暗号化前のＳＡの元データを示す。例えば、ＣＳＡの属性値が「ｑｒｑ２４２ｑ３４」であるレコードは、ＳＡの属性値が「５００万円台」であったレコードを暗号化したものであることを示す。なお、図１２において、「属性ｎ元データ」の欄は、説明のために便宜的に記載されたものであり、ＰＦサーバ３００又はデータ利用者端末５００においてその属性値を把握することはできない。
【００８７】
データ利用者端末５００の利用者は、例えば、図１２の符号１２０１に示すように、「ｑｒｑ２４２ｑ３４」が何の属性値を暗号化したものかがわからなくとも、復号した当該属性値を含む匿名化データが、ｋ−匿名レベル「１０」を満たすことを特定できる。一方、図１２の符号１２０１に示す「ｙ４６４ｗ３４ｙｊ」のレコードは５件しかないため、データ利用者端末５００の利用者は、復号した当該属性値を含む匿名化データが、ｋ−匿名レベル「１０」を満たさないことを特定できる。
【００８８】
以上の特定の結果、データ利用者端末５００は、例えばｋ−匿名レベル「１０」に関する条件を満たす属性値である「ｑｒｑ２４２ｑ３４」及び「５３ｙｔ５ｙｔｒｈ１」のいずれかに該当するＩＤ３を指定して、ＳＡ開示のリクエストを送信する。
【００８９】
上で述べたようなｋ−匿名レベルに基づく判定の結果、図１３に示すような復号されたＳＡを含むデータが得られる。図１３は、実施例２における復号されたＳＡを含むデータの一例を示す図である。図１３に示すように、レコード数が「２６０」である属性値、及びレコード数が「１１０」である属性値については、ＣＳＡが部分的に復号され、暗号化前のＳＡである年収「５００万円台」及び「６００万円台」が記憶される。
【００９０】
一方、図１２においてレコード数が「１」及び「５」である各属性値については、当該属性値を復号した匿名化データがｋ−匿名レベル「１０」を満たさなくなるため、ＣＳＡは復号されず、図１３において、年収及びその他の属性値「不明」となっている。なお、図１３に示す例においては、レコード数が「１」である各属性値と、レコード数が「５」である各属性値とを集約して、レコード数が「６」である属性値として表示している。
【００９１】
［処理の流れ］
次に、本実施例における処理の流れについて、図９及び図１４を用いて説明する。なお、実施例１と同様に、各ステップにおいて実行された処理の内容については、適宜操作ログＤＢ１２５又は操作ログＤＢ３２５に記録される。
【００９２】
まず、暗号化処理においては、図９のステップＳ１２１及びＳ１３１において、ＩＤ生成部１３１及び暗号処理部１３３は、実施例１に示されるようにＳＡを削除するのではなく、ＳＡを暗号化して提供情報ＤＢ１２４に記憶する。それ以外の処理については実施例１と同様であるので、詳細な説明は省略する。なお、ＳＡ以外のデータの更新又は追加に関する処理については、実施例１における図１０に示す処理と同様であるので、詳細な説明は省略する。
【００９３】
次に、データ利用者からＳＡ開示のリクエストがあった場合の処理について説明する。図１４は、実施例２における復号処理の流れの一例を示すフローチャートである。まず、ＰＦサーバ３００は、データ利用者端末５００から、対象とするＳＡの種別、及び対象とするＩＤ３を含むＳＡ開示のリクエストを受信する（ステップＳ３０１）。
【００９４】
リクエストを受信したＰＦサーバ３００の送受信部３３５は、当該リクエストがデータ利用者とプラットフォームとの契約等の条件を満たすかを判定する（ステップＳ３０３）。送受信部３３５は、例えば、暗号化されたＳＡに含まれるレコードの件数が、契約等で定められたｋ−匿名レベルを満たすか否かを判定する。条件を満たさない場合（ステップＳ３０３：Ｎｏ）、処理を終了する。
【００９５】
一方、当該リクエストが条件を満たす場合（ステップＳ３０３：Ｙｅｓ）、送受信部３３５は、ＩＤ管理ＤＢ３２３を参照してＩＤ３に対応するＩＤ２を取得する（ステップＳ３０５）。その後、送受信部３３５は、ＤＰサーバ１００に、ＩＤ２を含むＳＡ復号のリクエストを送信する（ステップＳ３１１）。その際、送受信部３３５は、例えば、当該リクエストがｋ−匿名レベル等の条件を満たすことをＤＰサーバ１００に通知する。なお、ＩＤ管理ＤＢ３２３に記憶される第２のＩＤ対照情報が暗号化されている場合、例えば図１０のステップＳ２３１乃至Ｓ２５１に示すような処理を行い、第２のＩＤ対照情報を復号する。
【００９６】
ＤＰサーバ１００の送受信部１３５は、ＳＡ復号のリクエストを受信すると（ステップＳ３２１）、当該リクエストがプラットフォームとデータ提供者との契約等の条件を満たすかを判定する（ステップＳ３２３）。条件を満たさない場合（ステップＳ３２３：Ｎｏ）、送受信部１３５は、ＰＦサーバ３００に処理不能を通知し（ステップＳ３２５）、処理を終了する。
【００９７】
一方、当該リクエストが条件を満たす場合（ステップＳ３２３：Ｙｅｓ）、暗号処理部１３３は、ＩＤ管理ＤＢ１２３を参照して、受信したＩＤ２に対応するＩＤ１を取得する（ステップＳ３３１）。なお、ＩＤ管理ＤＢ１２３に記憶される第１のＩＤ対照情報が暗号化されている場合、例えば図１０のステップＳ２３１乃至Ｓ２５１に示すような処理を行い、第１のＩＤ対照情報を復号する。
【００９８】
次に、暗号処理部１３３は、提供情報ＤＢ１２４を参照し、ＩＤ１に対応するＣＳＡを復号する（ステップＳ３３３）。そして、送受信部１３５は、復号されたＳＡと、受信したＩＤ２とを対応付けて、ＰＦサーバ３００に送信する（ステップＳ３３５）。
【００９９】
ＰＦサーバ３００の送受信部３３５が、ＩＤ２と、復号されたＳＡとを受信すると（ステップＳ３４１）、暗号処理部３３３は、ＩＤ管理ＤＢ３２３を参照してＩＤ２をＩＤ３に変換する（ステップＳ３４３）。次に、送受信部３３５は、復号されたＳＡとＩＤ３とを対応付けたデータを、データ利用者端末５００に送信する（ステップＳ３４５）。
【０１００】
以上説明したような処理により、ＳＡを再連結できる匿名化データの提供において、ＳＡの漏洩を防ぐことができる。また、暗号化されたＣＳＡに基づいて、ＳＡの各属性値に該当するレコード数を特定できるため、ｋ−匿名レベルの設定に応じたＳＡの開示が可能となる。
【０１０１】
なお、暗号処理部１３３がＳＡを暗号化する際の暗号鍵を属性値ごとに変更するような構成においては、ＤＰサーバ１００がＰＦサーバ３００に対して特定の属性値に対応する暗号鍵を提供するような構成であってもよい。ＰＦサーバ３００又はデータ利用者端末５００が、提供された暗号鍵を用いてＣＳＡを復号するような構成とすることにより、他のＳＡが漏洩することなく特定のＳＡを復号でき、復号処理を簡略化できる。
【０１０２】
また、本実施例においては、ＳＡを可逆的に暗号化し、「属性ｎ年収（ＣＳＡ）」を復号してＳＡを取得する構成について説明したが、実施の形態はこれに限られない。例えば、暗号処理部１３３が、ＳＡを不可逆的に暗号化するような構成であってもよい。不可逆的に暗号化することで、ＣＳＡからＳＡを解読されるリスクをさらに低減しつつ、ＰＦサーバ３００又はデータ利用者端末５００においてＣＳＡの各属性値の件数をカウントできる。なお、ＳＡを不可逆的に暗号化する場合、ＤＰサーバ１００はＣＳＡからＳＡへの復号ができないため、例えば匿名化情報ＤＢ１２１から該当するＩＤ１に対応する元データを読み出して、ＩＤ２と対応付けてＰＦサーバに送信する。
【０１０３】
なお、本実施例においては、データ利用者端末５００が、開示を希望するＳＡに対応するＩＤ３を送信する構成について説明したが、実施の形態はこれに限られない。例えば、データ利用者端末５００からリクエストを受信したＰＦサーバ３００が、ｋ−匿名レベル等の条件を満たすＩＤ２を特定して、ＤＰサーバ１００にリクエストを送信するような構成であってもよい。かかる構成によれば、ＰＦサーバ３００が、データ利用者端末５００に開示する匿名化データを、ｋ−匿名レベル等の条件に基づいてコントロールできる。
【実施例３】
【０１０４】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。例えば、図９、図１０及び図１４に示す各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【０１０５】
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０６】
また、上で述べた各実施例においては、ＤＰサーバ１００とＰＦサーバ３００の２者による二重暗号化によって情報の機密性を高める手段を採っているが、実際には２者による暗号化は、途中の暗号が傍受されることによって強度が減少することが知られている。例えば、何者かが途中の暗号と平文とを取得した場合、Meet  in  the  Middle  Attack（中間一致攻撃）等により暗号鍵を特定できるおそれがあることが知られている。そのため、安全性向上のために、２者以外にも、機密を守ることが出来る第三者機関や会社内における独立したセキュリティ部門などを含めた３者以上により暗号化するような構成であってもよい。
【０１０７】
上で述べた各実施例においては、個人情報に基づいて生成された匿名化データについて実施する例として説明したが、適用範囲はこれに限られない。例えば、企業等の法人に関する情報など、当該情報に該当する対象を特定されることを抑制したいその他の情報について各実施例を実施してもよい。
【０１０８】
［システム］
また、図示した装置の各構成は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、任意の単位で分散または統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０９】
更に、各装置で行われる各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしてもよい。
【０１１０】
上記ＤＰサーバ１００、ＰＦサーバ３００、及びデータ利用者端末５００は、例えば、図１５に示すコンピュータ２０００のようなハードウェア構成により実現することができる。図１５は、ハードウェア構成の一例を示す図である。図１５に示すように、コンピュータ２０００は、プロセッサ２００１と、メモリ２００２と、ＩＦ２００３を有する。
【０１１１】
プロセッサ２００１の一例としては、ＣＰＵ、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ等が挙げられる。また、メモリ２００２の一例としては、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。
【０１１２】
そして、上記ＤＰサーバ１００、ＰＦサーバ３００、及びデータ利用者端末５００で行われる各種処理機能は、不揮発性記憶媒体などの各種メモリに格納されたプログラムを制御装置が備えるプロセッサで実行することによって実現してもよい。すなわち、ＩＤ生成部１３１及び３３１、暗号処理部１３３及び３３３、並びに送受信部１３５及び３３５によって実行される各処理に対応するプログラムがメモリ２００２に記録され、各プログラムがプロセッサ２００１で実行されてもよい。
【符号の説明】
【０１１３】
１００  データ提供者サーバ
３００  プラットフォームサーバ
５００  データ利用者端末
１２０、３２０  記憶部
１２１  匿名化情報ＤＢ
１２３、３２３  ＩＤ管理ＤＢ
１２４  提供情報ＤＢ
３２４  公開情報ＤＢ
１２５、３２５  操作ログＤＢ
１３０、３３０  制御部
１３１、３３１  ＩＤ生成部
１３３、３３３  暗号処理部
１３５、３３５  送受信部
【図１】
0006558126.tif 000002
【図２】
0006558126.tif 000003
【図３】
0006558126.tif 000004
【図４】
0006558126.tif 000005
【図５】
0006558126.tif 000006
【図６】
0006558126.tif 000007
【図７】
0006558126.tif 000008
【図８】
0006558126.tif 000009
【図９】
0006558126.tif 000010
【図１０】
0006558126.tif 000011
【図１１】
0006558126.tif 000012
【図１２】
0006558126.tif 000013
【図１３】
0006558126.tif 000014
【図１４】
0006558126.tif 000015
【図１５】
0006558126.tif 000016