以下、本発明の実施の形態を図面に基づいて説明する。本実施例において、パーソナルデータとは、個人を識別するような情報(個人識別性)を有する個人情報に限定されない、広い概念での「個人に関する情報」である。複数の事業において生成されたパーソナルデータを関連付けて分析することで、新たな価値を創世することが期待されている。しかし、パーソナルデータを利用したい者が、利用したいパーソナルデータを所持しているとは限らない。
そこで、利用したいパーソナルデータを所持しているデータホルダーからパーソナルデータを購入することが考えられるが、どのデータホルダーがどのようなパーソナルデータを販売しているのかを調べるのは容易ではない。そのため、パーソナルデータを売買する市場が求められる。
このパーソナルデータ売買市場の一形態として、パーソナルデータの購入者とパーソナルデータを販売するデータホルダーとの二者を仲介する市場モデルが存在する。このような市場モデルでは、仲介者が販売可能なデータについてデータカタログを用意しておき、データ購入者はデータカタログから欲しいデータを探して購入する。
データカタログには、購買履歴データであれば、性別、店舗名、購入時間、購入商品等の項目、提供するパーソナルデータの個人数、パーソナルデータ提供の料金等が示されている。データ購入者は、パーソナルデータの購入後、パーソナルデータを関連付けて分析に用いる。
例えば、購入した個人の購買に関する履歴データ(過去のパーソナルデータ)と、Web閲覧に関する履歴データ(過去のパーソナルデータ)に、それぞれのデータの由来者を識別する値である識別子としてメールアドレスが含まれるとする。この場合、メールアドレスを用いれば、同じメールアドレスを持つデータを同じデータ由来者(以下、単に、由来者という)のデータであるとして関連付けることが可能である。
図1は、履歴データの関連付け例を説明するための図である。図1において、履歴データ1h-1及び履歴データ1h-2共に、識別子としてメールアドレスを示す。履歴データ1h-1は、メールアドレスの他に、購入履歴を示す。履歴データ1h-2は、メールアドレスの他に、閲覧サイトを示す。
図1の例において、メールアドレス「alice@mail.com」が履歴データ1h-1と履歴データ1h-2の両方に存在する。また、メールアドレス「bob@mail.com」が、履歴データ1h-1と履歴データ1h-2の両方に存在する。
関連付け結果1rは、メールアドレスが一致するデータを関連付けた結果を示す。メールアドレス「alice@mail.com」により、購入履歴「リンゴ」と閲覧サイト「オーガニック系」とが同一個人のデータとして示される。同様に、メールアドレス「bob@mail.com」により、購入履歴「パン」と閲覧サイト「海外通販系」とが同一個人のデータとして示される。
このように、履歴データ1h-1と履歴データ1h-2の両方に同一識別子が存在する場合には、異なる履歴データであっても2つのパーソナルデータの関連付けが可能となる。しかしながら、履歴データ1h-1と履歴データ1h-2の両方に同一識別子が存在しない場合、パーソナルデータの由来者を識別しながら関連付けすることができない。
一方、パーソナルデータの売買市場において、データホルダーは自身が保有しているパーソナルデータを第三者へ販売して良いかをパーソナルデータの由来者である個人に承諾を得る必要がある。パーソナルデータの販売に対する承諾時には、多くのパーソナルデータの由来者は、関連付けされたパーソナルデータから自分自身が特定されないかと、本人特定のプライバシーに不安を感じている。
図1のように、パーソナルデータの由来者が実際に使用しているメールアドレスのような実IDを用いるのであれば、実IDから本人を特定できる可能性が高い。このような問題から、パーソナルデータの売買市場では、パーソナルデータの由来者が安心できるプライバシー保護の仕組みが必要である。
関連付けに使用される識別子にプライバシー保護を施すことが考えられる。パーソナルデータを関連付けるときには共通の識別子が必要であり、名前、メールアドレスの利用が想定される。しかし、これら実IDはデータを紐づけた際に本人特定につながりやすい。
パーソナルデータによっては実IDが提供されることがなければ販売してもよいと考える由来者はいる。そこで、仲介者が、由来者の希望に合わせて、対応付けIDをデータ販売者へ発行し、データホルダーは、パーソナルデータの識別子を対応付けIDに置換して、データ購入者に販売することが考えられる。対応付けIDを実IDが推測できないように作ることで、データ購入者は対応付けIDから実IDを取得することができない。
しかしながら、たとえ実IDを取得できないとしても、種々のデータホルダーから異なるパーソナルデータを取得し、関連付けた場合、本人が特定されやすくなる場合がある。図2は、対応付けIDで関連付けたデータ例を示す図である。図2に示す対応付けIDで関連付けたデータの例では、対応付けID「P1」に関して、血糖値、年齢、体重、身長、性別職業、最寄駅、居住、ペット、既往歴等の値が得られている。このようなデータを用いれば、本人の特定は可能である。
一例として、米国の人口の87%(2億1,600万人/2億4,800万人)を5桁のZIP(Zone Improvement Plan)コード、性別、生年月日の組み合わせによって一意に識別できる可能性が高いと報告されている。ZIPコードとは,アメリカ合衆国で使用される郵便番号である。(Latanya Sweeney. Uniqueness of simple demographics in the US populationTechnical report, Technical report, Carnegie Mellon University, 2000.)
また,実際にデータを紐づけることで個人が特定された例として,氏名が除去された医療保険情報と選挙人名簿からマサチューセッツ州知事のデータが特定されたという事例がある。この事例では、二つの提供データに共通して含まれていたZIPコード、性別、生年月日を結びつけることで、医療保険情報中の知事のデータを一意に絞り込むことができた。(Sweeney Latanya. k-anonymity: A model for protecting privacy,International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems,Vol. 10, No. 05, pp. 557 570, 2002)
このように、プライバシー問題に対応するためには、パーソナルデータの関連付け数も考慮することが必要である。
対策の一例として、関連付け数の上限数を設定することが考えられる。例えば、データ購入者の購入依頼をうけて仲介者がデータホルダーへ対応付けIDを送信するときに、関連付け数も共に送信する。関連付け数が上限を超えている場合、データホルダーは依頼を拒否すればよい。しかし、仲介者とデータ購入者の間で結託し、関連付け数を偽ることで上限を上回る関連付けが可能である。このように、仲介者とデータ購入者の結託を想定した場合、単純な対策では不正な関連付けを防ぐことができない。
本実施例は、仲介者とデータ購入者が結託した時でも上限を超えるような不正な関連付けを防止する仮IDを発行する。各データホルダーは、データホルダーIDを持ち、各由来者は、一度に関連付け可能な関連付け数の条件を設定する。データホルダーIDは、本実施例において、関連付け数のチェック、関連付け用の仮IDの生成に用いられる。仮IDは、後述される識別子3に相当する。
なお、一度に関連付けるパーソナルデータの上限数をデータホルダーがそれぞれ設定したり、その他の方法で上限数を設定したりしてもよい。また、パーソナルデータの由来者が設定した上限数をチェックした後にデータホルダーが設定した上限数をチェックすることも可能である。逆に、一度データホルダーで上限数をチェックしたのち、パーソナルデータの由来者が設定した上限数をチェックするという二重チェックも可能である。
これにより、パーソナルデータの由来者の希望に沿った関連付け数の制限だけでなく、データホルダーにとってもパーソナルデータの由来者の本人特定を防止するために主体的に関連付け数を制限することができる。
図3は、本実施例におけるシステム構成例を示す図である。図3において、システム1000は、複数のユーザ端末3tと、複数のデータホルダー装置4tと、仲介サーバ装置5tと、関連付け装置6tと、事業システム9sとを有する。構成例を示す図である。図1において、システム1000は、複数のユーザ端末3tと、複数のデータホルダー装置4tと、仲介サーバ装置5tと、関連付け装置6tと、事業システム9sとは、ネットワーク2を介して接続される。
各ユーザ端末3tは、事業9sを利用するユーザである由来者3uにより使用される端末であり、事業システム9sに、インターネット等を介して接続される。
各データホルダー装置4tは、情報提供装置の一例として、データホルダー4uによって管理される装置である。各データホルダー装置4tには、データホルダーIDが設定されている。各データホルダー装置4tは、由来者3uが、それぞれの事業システム9sを利用することにより生成されたパーソナルデータを保管し管理する。
また、各データホルダー装置4tは、仲介サーバ装置5tからのパーソナルデータの購入依頼5rに応じて、保管しているパーソナルデータのうち、販売を承諾している由来者3uのパーソナルデータを仲介サーバ装置5tへ提供する。パーソナルデータは、データ購入者6uの関連付け装置6tへ直接に提供されてもよい。その場合には、購入依頼5rには、関連付け装置6tのアドレス情報が含まれる。
事業Aシステム、事業Bシステム等を含む事業システム9sにそれぞれ対応して、データホルダー装置4tが設けられている。事業Aシステムがネットショッピングのシステムであれば、由来者3uの購買データがパーソナルデータに相当し、事業BシステムがWebの情報検索を可能とする検索エンジンを提供するシステムであれば、由来者3uによるWeb検索に関する検索データがパーソナルデータに相当する。その他、医療システム等を含む様々な事業システムがシステム1000と連携していてもよい。
各事業システム9sは、生成されたパーソナルデータを、由来者3uにより販売が承諾されたデータであるか否かを識別可能にして、履歴データとしてデータホルダー装置4tに蓄積する。各事業システム9sによって生成されるパーソナルデータは、ユーザ端末3tのアクセスによる利用の他、由来者3uの店舗、医療機関等への訪問による利用により生成されたデータを含む。
仲介サーバ装置5tは、仲介者5uによって管理される装置である。仲介サーバ装置5tは、関連付け装置6tからの購入依頼6rに応じて、購入依頼6rで指定される事業システム9sのデータホルダー装置4tへパーソナルデータの購入依頼5rを行う。購入依頼6rでデータ購入者6uへの提供方法の情報を指定しておくことで、購入依頼5rに基づくパーソナルデータは関連付け装置6tへ直接提供されてもよい。仲介サーバ装置5tが仲介して、データホルダー装置4tから受信したパーソナルデータを関連付け装置6tへ提供してもよい。
関連付け装置6tは、データ購入者6uが使用する装置であり、データ購入者6uの操作によって、事業システム9sを指定した指示を受けると、仲介サーバ装置5tへ事業システム9sを指定した購入依頼6rを行う。関連付け装置6tは、仲介サーバ装置5tから、事業システム9sがデータホルダー装置4tに保持しているパーソナルデータを取得して、由来者3uごとに事業間のパーソナルデータのマッチング(関連付け)を行う。
本実施例では、上述したシステム1000において、各データホルダー装置4tが、仲介者5uとデータ購入者6uが結託した時でも上限を超えるような不正な関連付けを防止する仮IDを発行する。
図4は、ハードウェア構成を示す図である。図4において、端末3tは、コンピュータによって制御されるタブレット型、携帯電話等の情報処理端末であって、CPU(Central Processing Unit)311bと、主記憶装置312bと、ユーザI/F(インターフェース)316bと、通信I/F317bと、ドライブ装置318bとを有し、バスB3に接続される。
CPU311bは、主記憶装置312bに格納されたプログラムに従って端末3tを制御するプロセッサに相当する。主記憶装置312bには、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU311bにて実行されるプログラム、CPU311bでの処理に必要なデータ、CPU311bでの処理にて得られたデータ等を記憶又は一時保存する。主記憶装置312bに格納されているプログラムが、CPU311bに実行されることによって、各種処理が実現される。
ユーザI/F316bは、CPU311bの制御のもとに必要な各種情報を表示し、また、ユーザによる操作入力を可能とするタッチパネル等である。通信I/F317bによる通信は無線又は有線に限定されるものではない。
端末3tによって行われる処理を実現するプログラムは、ネットワーク2を介して外部装置からダウンロードされる。或いは、予め端末3の主記憶装置312b又は記憶媒体319bに記憶されていても良い。主記憶装置312bと記憶媒体19bとを、総称して、記憶部330bという。
ドライブ装置318bは、ドライブ装置318bにセットされた記憶媒体319b(例えば、SD(Secure Digital)メモリカード等)と端末3とのインターフェースを行う。尚、記憶媒体19bは、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。
端末3tは、デスクトップ型、ノートブック型、ラップトップ型等の情報処理端末であっても良く、そのハードウェア構成は、以下に説明するデータホルダー装置4t等のハードウェア構成と同様である。
データホルダー装置4tは、コンピュータによって制御される情報処理装置であって、CPU411と、主記憶装置412と、補助記憶装置413と、入力装置414と、表示装置415と、通信I/F(インターフェース)417と、ドライブ装置418とを有し、バスB4に接続される。
CPU411は、主記憶装置412に格納されたプログラムに従ってデータホルダー装置4tを制御するプロセッサに相当する。主記憶装置412には、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU411にて実行されるプログラム、CPU411での処理に必要なデータ、CPU411での処理にて得られたデータ等を記憶又は一時保存する。
補助記憶装置413には、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13に格納されているプログラムの一部が主記憶装置412にロードされ、CPU411に実行されることによって、各種処理が実現される。主記憶装置412と、補助記憶装置413と、その他アクセス可能な外部記憶装置を総称して、記憶部430という。
入力装置414は、マウス、キーボード等を有し、ユーザがデータホルダー装置4tによる処理に必要な各種情報を入力するために用いられる。表示装置415は、CPU11の制御のもとに必要な各種情報を表示する。入力装置414と表示装置415とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信I/F417は、有線又は無線などのネットワークを通じて通信を行う。通信I/F417による通信は無線又は有線に限定されるものではない。
ドライブ装置418は、ドライブ装置418にセットされた記憶媒体19(例えば、CD-ROM(Compact Disc Read-Only Memory)等)とデータホルダー装置4tとのインターフェースを行う。
データホルダー装置4tによって行われる処理を実現するプログラムは、例えば、CD-ROM等の記憶媒体419によってデータホルダー装置4tに提供される。記憶媒体419に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体419に格納されたプログラムは、ドライブ装置418を介してデータホルダー装置4tにインストールされる。インストールされたプログラムは、データホルダー装置4tにより実行可能となる。
尚、プログラムを格納する記憶媒体419はCD-ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD-ROMの他に、DVD(Digital Versatile Disk)ディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
仲介サーバ装置5tは、コンピュータによって制御される情報処理装置であって、CPU511と、主記憶装置512と、補助記憶装置513と、入力装置514と、表示装置515と、通信I/F(インターフェース)517と、ドライブ装置518とを有し、バスB5に接続される。仲介サーバ装置5tを構成する装置511~518は、データホルダー装置4tと同様であるため、詳細な説明を省略する。主記憶装置512と、補助記憶装置513と、その他アクセス可能な外部記憶装置を総称して、記憶部530という。
関連付け装置6tと、コンピュータによって制御される情報処理装置であって、CPU611と、主記憶装置612と、補助記憶装置613と、入力装置614と、表示装置615と、通信I/F(インターフェース)617と、ドライブ装置618とを有し、バスB6に接続される。仲介サーバ装置5tを構成する装置611~618は、データホルダー装置4tと同様であるため、詳細な説明を省略する。主記憶装置612と、補助記憶装置613と、その他アクセス可能な外部記憶装置を総称して、記憶部630という。
事業システム9sは、事業に対応した種々のCPU、メモリ等を有する情報機器端末を備え、由来者3uの利用によりパーソナルデータを生成し、データホルダー装置4tに記録保管する。情報機器端末は、データホルダー装置4tのハードウェア構成と略同様であるため、その説明を省略する。
先ず、本実施例で利用可能な由来者3u識別子について説明する。図5は、識別子を説明するための図である。図5において、由来者3uに対応付けられる識別子0、1、2が示されている。
識別子0は、パーソナルデータの由来者3uを識別する識別情報であり、由来者3uの個名、メールアドレス等の由来者3uへの連絡手段等である。識別子1は、識別子0を暗号化した識別情報である。識別子1は、由来者3uが設定した鍵kを用いて、識別子0を暗号化することで得られる。識別子1の役割は、識別子0を読み取られないようにすることである。
識別子2は、データ購入者6uからの一つの購入依頼において、識別子1と1対1対応する識別情報である。識別子2の役割は、パーソナルデータの時系列的に蓄積されることの防止と、関連付け転用を防止するためである。パーソナルデータの時系列的な蓄積を防止することで、本人特定を防止できる。運用例として、一か月おきにデータホルダーAとデータホルダーBのパーソナルデータを関連付けたデータを取得し、1年分のデータを連結することで本人を特定できる可能性がある。
識別子3は、発明者等によって考案された識別情報であり、上述した対応付け用仮IDに相当する。識別子3は、ハッシュ関数によって、識別子0、1、又は2のいずれかと、データホルダーIDの組合せとから生成された識別情報である。SHA-256などのハッシュ関数を用いればよい。由来者3uが設定した鍵を用いて、鍵付きハッシュ関数により識別子3を生成することが好ましい。
図5の例では、識別子0が「alice@jp.f.com」とのき、識別子1は「hR6SiBMCt7jeWH」となり、識別子1に対応付けられる識別子2は「0000000001」を示し、「C5AF1B0964」が識別子3として生成されている。
図6で、識別子3の生成方法について説明する。図6は、本実施例における識別子3の生成方法を説明するための図である。図6において、由来者iは、データホルダー装置A及びBに、識別子0を提供し、由来者設定鍵Kiを設定する。そして、データホルダー装置A及びBは識別子0を由来者設定鍵Kiで暗号化して識別子1を得る。この例では、
識別子0:「Alice…」
識別子1:「F65D4…」
由来者設定鍵:Ki
の情報を、データホルダー装置A及びBで保持する。
データホルダー装置AのデータホルダーIDは「a」であり、関連付け上限数は「2」であり、データホルダー装置BのデータホルダーIDは「b」であり、関連付け上限数は「2」であるとする。
データ購入者6uは、識別子2を用いて所望するパーソナルデータを指定して、関連付け装置6tから仲介サーバ装置5tへ購入依頼6rを行う。関連付け装置6tからの購入依頼6rの受信に応じて、仲介サーバ装置5tは、保持している識別子1と識別子2の対応表に基づいて、データホルダー装置Aのパーソナルデータと、データホルダー装置Bのパーソナルデータとをデータ購入者6uに販売するため、データホルダー装置Aに購入依頼5raを行い、同様に、データホルダー装置Bにも購入依頼5rbを行う。
データホルダー装置A及びBのそれぞれに送信された購入依頼5ra及び購入依頼5rbは、同一のデータホルダー集合(a、b)を含む。購入依頼5raには、データホルダー装置Aが管理するパーソナルデータの由来者iの識別子1と識別子2とが対応付けられた対応表5caが含まれ、購入依頼5rbには、データホルダー装置Bが管理するパーソナルデータの由来者iの識別子1と識別子2とが対応付けられた対応表5cbが含まれるようにしてもよい。
対応表5caと対応表5cbとは、仲介サーバ装置5tが保持する全ての識別子1に対して、識別子1と識別子2とが対応付けられていてもよい。対応表5caと対応表5cbとを総称して対応表5cという場合がある。
データホルダー装置Aは、購入依頼5raを受信すると、データホルダー装置Aで保持している識別子管理表5maを参照して、購入依頼5raの対応表5caで指定される識別子1に対応付けられている鍵Kiを取得する。識別子管理表5maは、識別子0、識別子1、鍵等の項目を有する。データホルダー装置Aでは、識別子管理表5maの識別子0又は識別子1が、パーソナルデータを履歴データとして蓄積保管しているデータベースと関連付けられている。
データホルダー装置Aは、購入依頼5raで指定されているデータホルダー集合(a、b)と、取得した鍵Kiとを用いて、鍵付きハッシュ関数により、ハッシュ値を得る。(a、b)と、識別子2の「00001」とを鍵付きハッシュ関数に代入することで、由来者iの識別子3としてハッシュ値「C5AF1B0964」を得る。
購入依頼毎に識別子2を変更することで本人特定を防止できる。つまり、別途販売した関連付けを目的としたパーソナルデータ同士を関連付けられないように識別子2を転用した関連付け転用を防止できる。
具体的には、データ購入者6uはデータホルダーA及びBのパーソナルデータを関連付けたデータとは別に購入したデータホルダーB及びCが保持するパーソナルデータを関連付けたデータを関連付けたいとする。本来ならば、データホルダーA、B、及びCのパーソナルデータを関連付けるために同時に購入する。しかし、以前購入し関連付けてあるデータを使いまわして利用するおそれがある。したがって、関連付けのデータホルダーの組合せごとに異なる識別子2を割り振ることで、以前販売した関連付けデータの転用を防止できる。
由来者iの識別子0が識別子3に置き換えられたパーソナルデータが、データ購入者6uに提供される。
データホルダー装置Bでは、データホルダー装置Aとは異なる識別子管理表5mbを保持しているが、購入依頼5rbの受信に応じて、データホルダー装置Aと同様の処理が行われる。データホルダー集合(a、b)は同一であり、鍵Kiも同一である。データホルダー装置Bにおいても識別子3は、「C5AF1B0964」となる。このデータホルダー集合に限り、由来者iの識別子3は、データホルダー装置A及びBで一致する。なお、由来者iの識別子3は、データホルダー集合により異なる値となる。
図6に示す識別子管理表5ma及び識別子管理表5mb等は、総称して識別子管理表5mという。上述した、関連付け上限数は、データホルダー装置4tで設定されてもよいし、由来者iが設定してもよい。以下の説明においても同様であるが、説明の便宜のため、単に、関連付け上限数「2」として説明する。
由来者iの識別子0が識別子3に置き換えられたパーソナルデータが、データ購入者6uに提供される。
次に、図7~図9で、パーソナルデータの購入依頼6rからパーソナルデータの提供までの処理の概要について説明する。以下の説明では、上述したような識別子3に置き換えられたパーソナルデータを「仮名データ」という。本実施例は、識別子0、識別子1のいずれであっても適応可能であるが、由来者3uから不安なくパーソナルデータを提供してもらうためには、識別子2を用いるのがより好ましい。従って、識別子2を用いてパーソナルデータの購入が行われる場合で説明する。
図7は、パーソナルデータの購入依頼に係る処理を説明するための図である。図7において、データホルダー装置Aは、由来者3uごとに、パーソナルデータを履歴データとして蓄積し管理する履歴データデータベース(DB)4haを有する。データホルダー装置Bは、由来者3uごとに、パーソナルデータを履歴データとして蓄積し管理する履歴データDB4hbを有する。履歴データDB4ha、履歴データDB4hb等は、総称して、履歴データDB4hという。
仲介サーバ装置5tが関連付け装置6tから購入依頼6rでは、2以上のデータホルダーIDが指定されている。この例では、データホルダーID「rA」と「rB」とが指定される。
仲介サーバ装置5tは、購入依頼6rで特定されるデータホルダー装置4tごとに、購入依頼5rを作成し、データホルダー装置4tへ送信する。この例では、データホルダー装置Aに対しては、仲介サーバ装置5tは、データホルダーIDの組合せ(rA、rB)と、データホルダー装置Aが管理するパーソナルデータの由来者3uの識別子1と識別子2の対応表5caとを指定した購入依頼5raを作成して送信する。
同様に、データホルダー装置Bに対しては、仲介サーバ装置5tは、データホルダーIDの組合せ(rA、rB)と、データホルダー装置Bが管理するパーソナルデータの由来者3uの識別子1と識別子2の対応表5cbとを指定した購入依頼5rbを作成して送信する。データホルダーIDの組合せを、以下、「データホルダー集合」という。
より簡潔な構成として、仲介サーバ装置5tは、購入依頼5ra及び購入依頼5rbのようにデータホルダー装置A及びBのそれぞれを区別することなく、全ての由来者3uの識別子1と識別子2との対応表を、購入依頼5raと購入依頼5rbとに提供してもよい。その場合、購入依頼5raと購入依頼5rbとは同一のデータホルダー集合と、同一の対応表5cとを指定する。
購入依頼5rを受信した各データホルダー装置4tでは、識別子2を用いて、不正使用及び上限を超えた関連付けを防止するチェック処理が行われる。
図8は、データホルダー装置における識別子2を用いたチェック処理を説明するための図である。図8の例では、データホルダー装置Aの関連付け上限数MAは「2」であり、データホルダー装置Bの関連付け上限数MAの「2」であるが、この例に制限されない。由来者3uは、各データホルダー装置4tで同一の関連付け上限数Mを設定してもよいし、異なる関連付け上限数Mを設定してもよい。
データホルダー装置Aは、購入依頼5raで指定される、データホルダー集合(rA、rB)と識別子2とを用いてチェック処理を行う。チェック処理では、不正使用防止のための依頼先をチェックする依頼先チェックと、上限を超えた関連付けを防止するための上限チェックとが行われる。
依頼先チェックでは、データホルダー集合(rA、rB)にデータホルダー装置AのデータホルダーID「rA」が含まれているか否かが判定される。データホルダーID「rA」が含まれているため、この購入依頼5raは、不正使用を目的とした依頼ではないと判断される。
上限チェックでは、データホルダー集合(rA、rB)の要素個数n「2」が、関連付け上限数MA「2」以下であるか否かが判定される。要素個数nは関連付け上限数MA以下であるため、上限を超えてパーソナルデータを関連付ける依頼ではないと判断される。
したがって、データホルダー装置Aでは、チェック処理結果4kaに示すように、依頼先チェック及び上限チェックで肯定的判定結果であるため、パーソナルデータの提供が行われる。
同様に、データホルダー装置Bにおいてもチェック処理が行われ、チェック処理結果4kbに示すように、依頼先チェック及び上限チェックで肯定的判定結果を得る。否定的判定結果、即ち、依頼先チェックと上限チェックの少なくとも1つの条件が成立しない場合、データホルダー装置Aは、仲介サーバ装置5tにエラーを通知して、パーソナルデータの提供を行わない。次に、本実施例に係る識別子3を用いたパーソナルデータの提供について説明する。
図9は、パーソナルデータの提供を説明するための図である。図9において、各データホルダー装置4tは、データホルダー集合と、識別子2とを用いて、ハッシュ値を求めることにより識別子3を生成する。そして、各データホルダー装置4tは、履歴データに対応付ける識別子を識別子3に置き換えた仮名データを作成して、作成した仮名データを、関連付け装置6tに提供する。
データホルダー装置Aは、それぞれ識別子3を生成し、仮名データAを作成して、関連付け装置6tに送信する。同様に、データホルダー装置Bも、それぞれ識別子3を生成し、仮名データBを作成して、関連付け装置6tに送信する。データホルダー装置Aとデータホルダー装置Bとで作成された識別子3の値は同一P1’で示される。
関連付け装置6tは、受信した仮名データAと仮名データBとを仮IDでる識別子3で関連付けて、関連付けデータ6rdを得る。関連付けデータ6rdの各レコードには、仮IDとして識別子3の値P1’が示されている。
仮名データAは、仮ID「P1’」、購入履歴「水」等の項目値を含み、仮名データBは、仮ID「P1’」、血糖値「140」等の項目値を含む場合、関連付け装置6tは、仮IDで関連付けて、仮ID「P1’」について、購入履歴=「水」、血糖値=「140」等を得る。
本実施例では、識別子2と識別子3とを用いることで、以下の効果を得ることができる。
・効果1:不正依頼防止
関連付け上限を超える不正に関連付けを行うための不正依頼を防止することができる。
・効果2:不正利用防止
識別子3を用いた仮名データを提供することで、対応付けIDの不正利用を防止することができる。
図10は、不正依頼防止(効果1)を説明するための図である。図10において、データホルダー装置A及びBに加えて、データホルダー装置Cを示している。データホルダー装置A、B、及びCには、関連付け上限数MA、MB、及びMCは、同一の値「2」である。
仲介者5uとデータ購入者6rとが結託し、関連付け上限を超えて不正にパーソナルデータを3つのデータホルダー装置A、B、及びCから取得することを試みる。図10の例では、先ず、正当な依頼を行ってパーソナルデータを取得し、次に、パーソナルデータを正当に取得した際の購入依頼のデータホルダー集合を用いて、不正な依頼を行う。
先ず、データ購入者6uは、関連付け装置6tからデータホルダー装置Aとデータホルダー装置Bのパーソナルデータを関連付ける購入依頼6r-1を行う。仲介サーバ装置5tは、関連付け装置6tからの購入依頼6rに応じて、データホルダー集合(rA、rB)と、識別子2の対応表とを含む購入依頼5ra及び購入依頼5rbを送信し、データホルダー装置A及びBからパーソナルデータを取得する。データホルダー装置Aとデータホルダー装置Bのパーソナルデータは、仮名データA及びB(図9)として関連付け装置6tに提供される。
次に、データ購入者6uは、関連付け装置6tからデータホルダー装置Bとデータホルダー装置Cのパーソナルデータを関連付ける購入依頼6r-2を行う。仲介サーバ装置5tは、関連付け装置6tからの購入依頼6r-2に応じて、データ購入者6uと結託した仲介者5uは、パーソナルデータを取得できた購入依頼5ra又は購入依頼5rbのデータホルダー集合(rA、rB)を用いて、データホルダー装置Cからパーソナルデータを取得することを試みる。仲介サーバ装置5tは、データホルダー集合(rA、rB)と、識別子2の対応表とを含む購入依頼5rcをデータホルダー装置Cへ送信する。
データホルダー装置Cは、図8で説明したように、データホルダー装置A及びB同様に、チェック処理を行う。先ず、依頼先チェックが行われる。依頼先チェックにおいて、データホルダー装置Cは、購入依頼5rcのデータホルダー集合(rA、rB)にデータホルダー装置CのデータホルダーID「rC」が含まれているか否かをチェックする。
この場合、データホルダー集合(rA、rB)にrCが含まれていないため、不正依頼であると判定する。従って、チェック処理結果4kcを得る。データホルダー装置Cは、仲介サーバ装置5tにエラーを送信し、パーソナルデータの提供を行わない。
本実施例におけるチェック処理により、対象外のデータホルダー装置Cへ不正な購入依頼5rcを送信しても、データホルダー装置Cでは、データホルダー集合(rA、rB)にデータホルダーID「rC」が存在しないため、不正な購入依頼5rcを却下できる。仲介者6uとデータ購入者5uとの結託による、関連付け上限を超えた不正なパーソナルデータの関連付けを防止できる。
図11及び図12は、不正利用防止(効果2)を説明するための図である。図11及び図12において、データホルダー装置A及びBに加えて、データホルダー装置Cを示している。データホルダー装置A、B、及びCには、関連付け上限数MA、MB、及びMCは、同一の値「2」である。
仲介者5uとデータ購入者6rとが結託し、関連付け上限を超えて不正にパーソナルデータを3つのデータホルダー装置A、B、及びCから取得することを試みる。図11の例では、先ず、正当な依頼を行ってパーソナルデータを取得し、次に、異なるデータホルダー集合による正当な依頼を行って、全てのデータホルダー集合でパーソナルデータを関連付ける。
先ず、データ購入者6uは、関連付け装置6tからデータホルダー装置Aとデータホルダー装置Bのパーソナルデータを関連付ける購入依頼6r-1を行う。仲介サーバ装置5tは、関連付け装置6tからの購入依頼6rに応じて、データホルダー集合(rA、rB)と、識別子2の対応表とを含む購入依頼5ra及び購入依頼5rbを送信し、データホルダー装置A及びBからパーソナルデータを取得する。
データホルダー装置Aとデータホルダー装置Bのパーソナルデータは、仮名データA及びBとして関連付け装置6tに提供される。パーソナルデータの識別子は、仮ID1に識別子3の値P1’に置き換えられている。関連付け装置6tは、データホルダー装置A及びBから取得したパーソナルデータを仮ID1を用いて関連付けし、A-B関連付けデータ6rd-1を得る。
次に、図12において、データ購入者6uは、関連付け装置6tからデータホルダー装置Bとデータホルダー装置Cのパーソナルデータを関連付ける購入依頼6r-3を行う。仲介サーバ装置5tは、関連付け装置6tからの購入依頼6r-3に応じて、データ購入者6uと結託した仲介者5uは、タホルダー集合(rB、rC)を用いて、データホルダー装置B及びCからパーソナルデータを取得することを試みる。仲介サーバ装置5tは、データホルダー集合(rB、rC)と、識別子2の対応表とを含む購入依頼5rb’及び購入依頼5rcをそれぞれデータホルダー装置B及びCへ送信する。
データホルダー装置B及びCは、それぞれチェック処理を行う。この場合、データホルダー装置B及びCの両方において、依頼先チェック及び上限チェック共に正常に終了する。
データホルダー装置Bは、依頼先チェック及び上限チェック共に正常終了を示すチェック処理結果4kb’を得るため、データホルダー集合(rB、rC)と、識別子2とを用いて、識別子3の値「P1’’」を得る。そして、データホルダー装置Bは、パーソナルデータの識別子を得られた識別子3の値「P1’’」に置き換えて仮ID2とした仮名データB’を関連付け装置6tに送信する。データホルダー装置Cも同様にして、識別子3の値「P1’’」を得て、パーソナルデータの識別子を識別子3の値「P1’’」に置き換えて仮ID2とした仮名データCを関連付け装置6tに送信する。
関連付け装置6tは、データホルダー装置Bとデータホルダー装置Cから仮名データB’と仮名データCとを用いて、B’-C関連付けデータ6rd-2を得る。関連付け装置6tは、A-B関連付けデータ6rd-1とB’-C関連付けデータ6rd-2とを更に、関連付けようと試みる。しかしながら、A-B関連付けデータ6rd-1の仮ID1とB’-C関連付けデータ6rd-2の仮ID2とは一致しない。従って、A-B関連付けデータ6rd-1とB’-C関連付けデータ6rd-2との関連付けは行えない。
図13~図15では、複数の由来者3uに対して生成された識別子3の例を示し、本実施例において実現される不正利用防止(効果2)の例について説明する。図13~図15中、上述したように、データホルダー装置A、B、及びCの場合で説明する。また、識別子0はメールアドレスとし、5人の由来者3uのパーソナルデータがデータホルダー装置A、B、及びCのそれぞれで管理されているとする。また、チェック処理では肯定的結果を得たとする。
図13は、データホルダー集合(rA、rB)で作成される識別子3の例を説明するための図である。図13において、データホルダー装置Aは、由来者3uごとに、由来者3uが設定したパーソナルデータの販売に係る販売設定情報を販売設定テーブル4f-Aに保持している。データホルダー装置Bも同様に、由来者3uごとに、由来者3uが設定したパーソナルデータの販売に係る販売設定情報を販売設定テーブル4f-Bに保持している。
データホルダー装置Aは、由来者3uごとに、販売設定テーブル4f-Aから鍵kを取得する。データホルダー装置Aは、購入依頼5raで指定されるデータホルダー集合(rA、rB)と識別子2とに対して、取得した鍵kを用いた鍵付きハッシュ関数により、識別子3の値を得る。
「Alice@xy.com」の識別子0に対して鍵k1、
「Bob@xy.com」の識別子0に対して鍵k2、
「Carol@xy.com」の識別子0に対して鍵k3、
「Dave@xy.com」の識別子0に対して鍵k4、
「Ellen@xy.com」の識別子0に対して鍵k5
が用いられる。
この例では、識別子0が「Alice@xy.com」の由来者3uに対して、鍵k1を用いた鍵付きハッシュ関数により、値「10589B9CAD」の識別子3を得る。識別子0が「Bob@xy.com」の由来者3uに対して、鍵k2を用いた鍵付きハッシュ関数により、値「F8C2AA9F54」の識別子3を得る。同様に、識別子0が「Carol@xy.com」の由来者3uに対して、値「F8C2AA9F54」の識別子3を得て、識別子0が「Dave@xy.com」の由来者3uに対して、値「85357DDECB」の識別子3を得て、識別子0が「Ellen@xy.com」の由来者3uに対して、値「B7C250B2B7」の識別子3を得る。
このようにして得られた識別子3は、識別子3リスト4g-Aに示される。販売設定テーブル4f-Aと識別子3リスト4g-Aとで同一No.は同一由来者3uを表す。データホルダー装置Aは、このようにして得られた識別子3を用いて、パーソナルデータの由来者3uを特定する識別子を置き換える。パーソナルデータの由来者3uを個人特定する識別子は、識別子0と識別子1に相当する。パーソナルデータには識別子0も識別子1も対応付けられていないが、識別子3が与えられた仮名データAが、関連付け装置6tに送信される。
データホルダー装置Bにおいても、データホルダー集合(rA、rB)と識別子2とに対して、取得した鍵kを用いた鍵付きハッシュ関数により、識別子3の値を得る。用いる鍵kはデータホルダー装置Aと同様である。
この例では、
「Alice@xy.com」の識別子0に対して、値「10589B9CAD」の識別子3、
「Bob@xy.com」の識別子0に対して、値「F8C2AA9F54」の識別子3、
「Carol@xy.com」の識別子0に対して、値「F8C2AA9F54」の識別子3、
「Dave@xy.com」の識別子0に対して、値「85357DDECB」の識別子3、
「Ellen@xy.com」の識別子0に対して、値「B7C250B2B7」の識別子3
を得る。このようにして得られた識別子3は、識別子3リスト4g-Bに示される。
データホルダー装置Bも、このようにして得られた識別子3を用いて、パーソナルデータの由来者3uを特定する識別子を置き換える。パーソナルデータには識別子0も識別子1も対応付けられていないが、識別子3が与えられた仮名データBが、関連付け装置6tに送信される。
データホルダー装置Aとデータホルダー装置Bとでは、同じメールアドレスに対して同一の識別子3の値を得るため、関連付け装置6tは、仮名データAと仮名データBとの関連付けが可能である。
図14は、データホルダー集合(rB、rC)で作成される識別子3の例を説明するための図である。図14において、データホルダー装置Cは、由来者3uごとに、由来者3uが設定したパーソナルデータの販売に係る販売設定情報を販売設定テーブル4f-Cに保持している。データホルダー装置Bは、図13で説明したように販売設定テーブル4f-Bに保持している。
データホルダー装置Bは、由来者3uごとに、販売設定テーブル4f-Bから鍵kを取得する。データホルダー装置Bは、購入依頼5rbで指定されるデータホルダー集合(rB、rC)と識別子2とに対して、取得した鍵kを用いた鍵付きハッシュ関数により、識別子3の値を得る。鍵kは、図13と同様である。データホルダー集合(rB、rC)が、図13の場合と異なっている。
この例では、
「Alice@xy.com」の識別子0に対して、値「57BE14DDAA」の識別子3、
「Bob@xy.com」の識別子0に対して、値「9C1DDA99BC」の識別子3、
「Carol@xy.com」の識別子0に対して、値「FE3BFFF463」の識別子3、
「Dave@xy.com」の識別子0に対して、値「C6E3039CA5」の識別子3、
「Ellen@xy.com」の識別子0に対して、値「81523785B7」の識別子3
を得る。このようにして得られた識別子3は、識別子3リスト4g-B’に示される。
そして、パーソナルデータに対して個人を特定する識別子は識別子3のみを対応付けた仮名データB’が、関連付け装置6tに送信される。
データホルダー装置Cも同様に由来者3uごとに、販売設定テーブル4f-Cから鍵kを取得する。データホルダー装置Cは、購入依頼5rbで指定されるデータホルダー集合(rB、rC)と識別子2とに対して、取得した鍵kを用いた鍵付きハッシュ関数により、識別子3の値を得る。得られた識別子3は、識別子3リスト4g-B’に示される。
各識別子0に対して得られた識別子3の値は、データホルダー装置Bと同様である。パーソナルデータに対して個人を特定する識別子は識別子3のみを対応付けた仮名データCが、関連付け装置6tに送信される。
図15は、仮名データの関連付けの結果例を示す図である。図15では、図13及び図14で示した識別子3リスト4g-A、4g-B、4g-B’、及び4g-C(以下、総称して、識別子3リスト4gという場合がある)を示す。図13で説明したように同じ識別子3の値が、識別子3リスト4g-Aと識別子3リスト4g-Bとに示されている。また、図14で説明したように同じ識別子3の値が、識別子3リスト4g-B’と識別子3リスト4g-Bとに示されている。
説明の便宜上、同一のNo.は同一由来者3uを示している。4つの識別子3リスト4gから明らかなように、仮名データAと仮名データBとでは、同一由来者3uに対して生成した識別子3の値は一致している。また、仮名データBと仮名データB’とでは、同一由来者3uに対して生成した識別子3の値は一致している。これらのことから、仮名データAと仮名データBとは関連付けが可能であり、また、仮名データB’と仮名データCとは関連付けが可能である。
しかしながら、同一のデータホルダー装置Bで、同一由来者3uに対して生成した識別子3であっても、データホルダー集合が異なる場合は、識別子3の値は異なっている。従って、同一由来者3uに対して、データホルダー集合(rA、rB)を用いて生成された識別子3の値と、データホルダー集合(rB、rC)を用いて生成された識別子3の値とは、一致しない。そのため、仮名データBと仮名データB’との関連付けは不可能である。
更に、データホルダー装置Aとデータホルダー装置Cとにおいて、異なるデータホルダー集合で生成された識別子3の値は、同一由来者3uであっても、異なっている。従って、仮名データAと仮名データCとの関連付けは不可能である。
次に、図16を参照して、各由来者3uがパーソナルデータの販売に係る画面例について説明する。図16は、パーソナルデータ販売画面の例を示す図である。図16において、パーソナルデータ販売画面G80は、由来者3uが様々な事業システム9sを利用する際の登録時等にユーザ端末3tに表示され、由来者3uに情報を入力させる画面である。パーソナルデータ販売画面G80は、表示領域80a、選択領域80b、設定領域80d、終了ボタン80f等を有する。
表示領域80aは、パーソナルデータの関連付けについて回答するよう促すメッセージを表示する領域である。一例として、「メールアドレスを用いたパーソナルデータの関連付けについて、ご回答ください。」等が表示される。
選択領域80bは、由来者3uに選択的に回答させる領域である。選択肢として、「
1.メールアドレスは提供しない。
2.パーソナルデータ販売の仲介者にのみ暗号化されたメールアドレスを提供し、関連付けを許可する。
3.パーソナルデータ販売の仲介者のみにハッシュ化されたメールアドレスを提供し、関連付けを許可する。」
が表示され、上記1~3のいずれか1つを由来者3uは選択する。
上記2を選択した場合には、「暗号化するためのパスワードを設定してください。」等のメッセージにより、由来者3uにより任意のパスワードが、パスワード入力領域80cに入力される。
設定領域80dは、関連付け上限を設定する領域である。設定領域80dでは、「上記2.又は3.の場合、関連付けるパーソナルデータの上限数を設定してください。」のメッセージが表示され、由来者3uは、入力領域80eに上限数を設定する。
必要な設定を行った由来者3uは、終了ボタン80fを押下する。終了ボタン80fの押下に応じて、由来者3uが設定した情報がデータホルダー装置4tに送信され、データホルダー装置4tは、受信した情報を記憶部430に記憶する。パスワード入力領域80cに入力されたパスワードは、識別子3を生成するときに用いられる。メールアドレスは、別途個人情報として登録されたメールアドレスであり、識別子0として扱われる。
上述したデータホルダー装置4tは、それぞれ以下に説明するような機能構成を有する。図17は、データホルダー装置の第1の機能構成例を説明するための図である。図17において、データホルダー装置4tは、ID設定部40と、設定情報取得部41と、識別子提供部42と、チェック処理部43と、仮ID生成部44と、仮名データ送信部45とを処理部として有する。処理部41~45は、データホルダー装置4tにインストールされたプログラムが、データホルダー装置4tのCPU411に実行させる処理により実現される。
また、記憶部430は、データホルダーID、購入依頼5r、販売設定情報テーブル4f、識別子3リスト4g、関連付け設定情報DB4k、履歴データDB4h、作業履歴データ4hw、仮名データ4pdt等を記憶する。
ID設定部40は、データホルダー装置4tの識別情報であるデータホルダーIDを記憶部430に設定し、仲介サーバ装置5tに送信する。データホルダーIDは任意に設定可能であり、定期的に変更してよいが、以下の事項に留意して設定されることが好ましい。購入依頼5rには、データホルダー集合が含まれている。従って、購入依頼5rのデータホルダー集合に含まるデータホルダーIDから、由来者3uのパーソナルデータが他のデータホルダー装置4tにも存在すること、由来者3uが他の事業システム9sを利用していること等が知られる恐れがある。
一例として、由来者3uは、フィットネスクラブの利用を他のデータホルダー装置4tに知られたくないとする。しかし、パーソナルデータを関連付け可能に販売した場合、仮IDの生成時に、購入依頼5rから、関連付け対象の他のデータホルダー装置4tのデータホルダーIDを取得する。データホルダー集合の中のデータホルダーIDのうち、フィットネスクラブのデータホルダー装置4tであることが明らかになった場合、対応表5cで特定される由来者3uの全てがフィットネスクラブを利用していることが知られてしまう問題がある。
したがって、データホルダーIDは、他のデータホルダー装置4tによって予測されない、かつ、他のデータホルダーIDと重複しない識別情報としておくことが好ましい。一例として、乱数によりデータホルダーIDを設定し、定期的にデータホルダーIDを変更し、変更するごとにデータホルダーIDを仲介サーバ装置5tに送信する。このようなデータホルダーIDの設定によって、データホルダーIDは由来者3uのプライバシーを保護できる。
設定情報取得部41は、図16に示すようなパーソナルデータ販売画面G80を由来者3uが使用するユーザ端末3tに表示させ、由来者3uからパーソナルデータ設定情報を取得し、記憶部430内の関連付け設定情報DB4kに保持する。設定情報取得部41は、由来者3uの鍵を用いて識別子0(一例として、メールアドレス)を暗号化して識別子2を取得する。識別子1は、識別子0に対応付けて関連付け設定情報DB4kに保持される。
識別子提供部42は、仲介サーバ装置5tに関連付け設定情報DB4kで管理される識別子1を提供する。
チェック処理部43は、仲介サーバ装置5tからの購入依頼5rの受信に応じて、データホルダーIDとデータホルダー集合とを用いてチェック処理を行う。チェック処理が正常終了した場合、チェック処理部43は、仮ID生成部44に通知する。一方、チェック処理が正常終了しなかった場合、チェック処理部43は、エラーを仲介サーバ装置5tへ通知する。
仮ID生成部44は、ID生成部の一例として、対応表5cに基づいて、関連付け設定情報DB4kから、由来者3uごとの鍵と上限数とを取得して、データホルダー集合と、取得した鍵及び上限数とを用いて、仮IDとなる識別子3を生成する。
仮名データ送信部45は、送信部の一例として、履歴データDB4hのうち、提供可能な由来者3uのパーソナルデータに対応付ける識別子を識別子3に置き換えて、仮名データ4pdtを作成し、仲介サーバ装置5tへ送信する。作業履歴データ4hwは、履歴データDB4hから抽出された提供可能な由来者3uのパーソナルデータのテーブルである。作業履歴データ4hwの識別子0及び1を識別子3に置き換えて、仮名データ4pdtが作成される。識別子3にパーソナルデータが対応付けられた仮名データ4pdtが仲介サーバ装置5tに提供される。
上述した、チェック処理部43と、仮ID生成部44と、仮名データ送信部45とが、本実施例に係る販売処理部49を構成する処理部の一例に相当する。
図18を参照して、仲介サーバ装置5tで管理される種々のデータ間の関連性について説明する。図18は、仲介サーバ装置におけるデータ間の関連性を説明するための図である。本実施例では、仲介サーバ装置5tから提供される対応表5cに基づいて、販売するパーソナルデータが特定され、仮名データ4pdtが作成される。図18で説明するデータ間の関連性は、実施例を理解するための一例であり、これに限定されるものではない。
図18より、関連付け設定情報DB4kは、由来者3uごとに、識別子0、識別子1、鍵、上限数、提供可否等の項目を有する。履歴データDB4hのうち、識別子0、識別子1、及び鍵の項目が、識別子管理表5mに相当する。
識別子0は、メールアドレス等の由来者3uを特定する情報である。識別子1は、由来者3uが設定した鍵で識別子0を暗号化して得たデータである。鍵は、パーソナルデータ販売画面G80で由来者30uが設定したパスワードである。由来者3uによって暗号化不要が指定される場合には、鍵は設定されない。
上限数は、関連付けしてもよいパーソナルデータの購入先(データホルダー装置4t)の数の上限を示す。上限数は、データホルダー4tが設定してもよい。提供可否は、由来者3uがパーソナルデータの販売を許可したか否かを示す。「YES」は、由来者3uが許可したことを示し、「NO」は、由来者3uが許可していないことを示す。提供可否は、後述されるパーソナルデータ販売画面G80の項目2又は3が選択された場合に「YES」を示し、項目1が選択された場合に「NO」を示す。
対応表5cは、識別子1と識別子2とが対応付けられたテーブルである。対応表5cの識別子1は、データホルダー装置4tが仲介サーバ装置5tに提供した識別子1を含む、即ち、関連付け設定情報DB4kに存在する識別子1を含んでいる。
履歴データDB4hは、識別子1ごとに、由来者3uのパーソナルデータを蓄積して管理するデータベースである。識別子1は重複して存在してもよい。履歴データDB4hの識別子1は、関連付け設定情報DB4kに存在する識別子1を示す。識別子1を用いることで、履歴データDB4h内のパーソナルデータに対応付けられる識別子0を得ることができる。
販売設定情報テーブル4fは、対応表5cに基づいて、関連付け設定情報DB4kから抽出されたレコードを含み、No.、識別子0、鍵、上限数等の項目を有する。この例では、上限数「2」の場合を示すが、他の例として、データホルダー集合に3つのデータホルダーIDが含まれている場合、関連付け設定情報DB4kのレコードのうち上限数が3以上を示すレコードが抽出され、販売設定情報テーブル4fが作成される。販売設定情報テーブル4fの識別子0は、履歴データDB4hに含まれる識別子0である。
識別子3リスト4gは、販売設定情報テーブル4fの各レコードを対象として、購入依頼5rのホルダーデータ集合と、識別子2とを用いてハッシュ値を算出して、仮IDとなる識別子3を得る。ハッシュ値は、レコードに鍵が設定されている場合には、鍵付きハッシュ関数により計算されることが好ましい。識別子3リスト4gの各レコードは、No.により販売設定情報テーブル4fのレコードを特定する。
作業履歴データ4hwは、履歴データDBの各レコードの識別子1を用いて、関連付け設定情報DB4kから識別子0を取得して、取得した識別子0を履歴データDBのレコードに付加して作成されたテーブルである。
仮名データ3pdtは、作業履歴データ4hwの識別子0と識別子1とを識別子3に置き換えて作成したデータであり、識別子3と履歴データの項目を有する。作業履歴データ4hwの識別子0を用いて、販売設定情報テーブル4fのレコードNo.を取得すれば、識別子3リスト4gから識別子3を得ることができる。作業履歴データ4hwの識別子0と識別子1とを、得られた識別子3で置き換えればよい。
図19は、仲介サーバ装置の第1の機能構成例を示す図である。図19において、仲介サーバ装置5tは、対応表作成部52と、購入依頼処理部56とを処理部として有する。処理部52及び56は、仲介サーバ装置5tにインストールされたプログラムが、仲介サーバ装置5tのCPU511に実行させる処理により実現される。
記憶部530には、対応表5c、データホルダー情報テーブル5id、購入依頼5r等が記憶される。
対応表作成部52は、関連付け装置6tから購入依頼6rを受信すると、全てのデータホルダー装置4tの各識別子1と1対1対応する識別子2を生成し、対応表5cを作成する。対応表5cは、全てのデータホルダー装置4tに対して1つの対応表5cであってもよいが、データホルダー装置4t間で異なる識別子1がある場合を考慮して、データホルダー装置4tごとに作成されることが好ましい。
購入依頼処理部56は、関連付け装置6tからの購入依頼6rに応じて、2以上のデータホルダー装置4tに対して、購入依頼5rを作成し、データホルダー装置4tそれぞれに送信する。購入依頼6rには、データホルダー集合と、対応表5cとが含まれる。
データホルダー情報テーブル5hidは、データホルダー装置4tの登録情報を記憶し管理するテーブルであり、データホルダーID、アドレス情報、識別子1集合等の項目を有する。データホルダーIDは、データホルダー装置4tから指定された識別情報である。アドレス情報は、データホルダー装置4tのIPアドレス等の情報であり、データホルダー装置4tとの通信時に参照される。識別子1集合は、データホルダー装置4tが提供できる各データ由来者の識別子1であり、対応表作成部52で対応表5cを作成する際に参照される。
次に、本実施例に係る様々な処理についてフローチャートで説明する。図20は、データホルダー装置の識別子提供部による識別子提供処理を説明するためのフローチャート図である。データホルダー装置4tにおいて、識別子提供部42は、関連付け設定情報DB4kからレコードを1つ選択し、ステップS4101~ステップS4104を行う。
図20より、識別子提供部42は、由来者3uの識別子0は暗号化要であるか否かを判断する(ステップS4101)。関連付け設定情報DB4kから選択したレコードに鍵が設定されているかいないかで判断すればよい。
暗号化要の場合(ステップS4101のYES)、識別子提供部42は、由来者3uが設定した鍵で識別子0を暗号化して、識別子1を得る(ステップS1402)。そして、識別子提供部42は、識別子1を仲介サーバ装置5tへ送信し(ステップS1403)、この識別子提供処理を終了する。
一方、暗号化不要の場合(ステップS4101のNO)、識別子提供部42は、識別子0を仲介サーバ装置5tへ送信して(ステップS1404)、この識別子提供処理を終了する。
識別子提供部42は、上述した識別子提供処理を、関連付け設定情報DB4kの全レコードに対して行う。上述では、選択したレコードごとに、仲介サーバ装置5tへ識別子1又は識別子0を送信したが、全てのレコードに対して識別子1又は識別子0を決定した後、まとめて仲介サーバ装置5tへ送信してもよい。
図21は、仲介サーバ装置の対応表作成部による対応表作成処理を説明するためのフローチャート図である。図21において、対応表作成部52は、データホルダー情報テーブル5hidから識別子(識別子1又は識別子0)を取得する(ステップS5201)。
対応表作成部52は、取得した識別子に対して1対1対応する識別子2を生成して、対応表5cを作成し(ステップS5202)、作成した対応表5cを記憶部530に記憶する(ステップS5203)。そして、対応表作成部52は、この対応表作成処理を終了する。
図22は、仲介サーバ装置の購入依頼処理部による購入依頼処理を説明するためのフローチャート図である。図22において、購入依頼処理部56は、関連付け装置6tから購入依頼6rを受信する(ステップS5601)。
購入依頼処理部56は、受信した購入依頼に基づく、データホルダー集合と対応表5rとを含む購入依頼5rを、データホルダー集合で特定されるデータホルダー装置4tのそれぞれに対して作成する(ステップS5602)。
そして、購入依頼処理部56は、データホルダー集合に含まれるデータホルダーIDに基づいて、それぞれのデータホルダー装置4tへ作成した購入依頼5rを送信する(ステップS5603)。購入依頼処理部56は、データホルダーIDを用いてデータホルダー情報テーブル5hidを参照することで、各データホルダー装置4tのアドレス情報を取得し、購入依頼5rを送信する。その後、購入依頼処理部56は、この購入依頼処理を終了する。
図23は、データホルダー装置の販売処理部による販売処理を説明するためのフローチャート図である。図23において、販売処理部49は、ネットワーク2を介して、仲介サーバ装置5tから購入依頼5rを受信する(ステップS4901)。
販売処理部49において、チェック処理部43は、受信した購入依頼5rからデータホルダー集合を取得して(ステップS4902)、取得したデータホルダー集合に自身のデータホルダーIDが含まれているか否かを判断する(ステップS4903)。
自身のデータホルダーIDが含まれている場合(ステップS4903のYES)、チェック処理部43による依頼先チェックは正常終了し、チェック処理部43は、更に、データホルダー集合の要素数をカウントする(ステップS4904)。
そして、チェック処理部43は、データホルダー集合の要素数が関連付け上限数以下であるか否かを判定する(ステップS4905)。チェック処理部43は、関連付け設定情報DB4kを参照し、対応表5cが指定する全ての識別子1で、上限数がデータホルダー集合の要素数未満を指定するか否かを判定する。対応表5cが指定する全ての識別子1で、データホルダー集合の要素数が関連付け上限数以下を指定する場合は、否定的判定となる。
データホルダー集合の要素数が関連付け上限数以下である場合(ステップS4905のYES)、チェック処理部43による上限チェックが正常終了する。即ち、関連付け設定情報DB4kにおいて、対応表5cが指定する識別子1のうち1つでも、データホルダー集合の要素数が関連付け上限数以下である場合に、上限チェックが正常終了する。
チェック処理部43よるチェック処理が正常終了すると、仮ID生成部44による仮ID生成処理が行われる(ステップS4906)。仮ID生成処理は、図24で詳述される。仮ID生成処理によって、作業履歴データ4hw、販売設定情報テーブル4f、識別子3リスト等が記憶部430に作成される。
仮ID生成処理の終了に応じて、仮名データ送信部45は、仮名データ4pdtを作成して、仲介サーバ装置5tに送信する(ステップS4907)。仮名データ送信部45は、作業履歴データ4hwの識別子0及び識別子1を、販売設定情報テーブル4fと、識別子3リスト4gとを参照して、識別子3に置き換えて、仮名データ4pdtを記憶部430に作成する。仮名データ送信部45は、作成した仮名データ4pdtを関連付け装置6tへ送信する。
一方、データホルダー集合に自身のデータホルダーIDが含まれていない場合(ステップS4903のNO)、販売処理部49は、購入依頼5rの却下を示すエラーを仲介サーバ装置5tへ送信し(ステップS4908)、この購入依頼処理を終了する。
また、データホルダー集合の要素数が関連付け上限数より大きい場合(ステップS4905のNO)においても、同様に、販売処理部49は、購入依頼5rの却下を示すエラーを仲介サーバ装置5tへ送信し(ステップS4908)、この購入依頼処理を終了する。
図24は、仮ID生成部による仮ID生成処理を説明するためのフローチャート図である。図24において、仮ID生成部44は、上限チェックが肯定的判定(ステップS4905のYES)であった識別子1を用いて、関連付け設定情報DB4kから、識別子0、鍵、上限数を取得して、販売設定情報テーブル4fを作成する(ステップS4401)。
仮ID生成部44は、販売設定情報テーブル4fの全レコードに対して、識別子3を生成するステップS4402~S4404を行う。仮ID生成部44は、販売設定情報テーブル4fから順にレコードを1つ選択する。
仮ID生成部44は、選択したレコードに鍵が設定されているか否かを判定する(ステップS4402)。選択したレコードに鍵が設定されている場合(ステップS4402のYES)、仮ID生成部44は、レコードから鍵を取得し、取得した鍵と、購入依頼5rのデータホルダー集合と、識別子2とを用いて、鍵付きハッシュ関数によって識別子3を生成する(ステップS4403)。
一方、選択したレコードに鍵が設定されていない場合(ステップS4402のNO)、仮ID生成部44は、購入依頼5rのデータホルダー集合と、識別子2とを用いて、ハッシュ関数によって識別子3を生成する(ステップS4404)。
識別子3の生成に用いる識別子2は、選択したレコードの識別子0に対応する識別子1を関連付け設定情報DB4kから取得し、取得した識別子1に対応する識別子2を対応表5cから取得すればよい。
販売設定情報テーブル4fの全レコードに対して識別子2を生成すると、仮ID生成部44は、識別子3リスト4gを記憶部430に出力し(ステップS4405)、この仮ID生成処理を終了する。
図25は、仮名データ送信部による仮名データ送信処理を説明するためのフローチャート図である。図25において、仮名データ送信部45は、対応表5cで指定される識別子1のパーソナルデータを取得する(ステップS4501)。仮名データ送信部45は、関連付け設定情報DB4kにおいて、対応表5cで指定される識別子1のレコードうち、パーソナルデータの提供を許可することを示すレコードの識別子0を抽出し、履歴データDB4hから、抽出した識別子0に対応付けられる識別子1のレコードを抽出すればよい。
仮名データ送信部45は、取得したパーソナルデータに識別子0と識別子1とを対応付けた作業履歴データ4hwを作成する(ステップS4502)。
そして、仮名データ送信部45は、作成した作業履歴データ4hwの各レコードの識別子0と識別子1とを識別子3に置き換えて仮名データ4pdtを作成する(ステップS4503)。仮名データ送信部45は、作業履歴データ4hwの識別子0を用いて、販売設定情報テーブル4fのレコードNo.を取得することで、識別子3リスト4gから識別子3の値を取得できる。仮名データ送信部45は、作業履歴データ4hwの識別子0と識別子1とを、取得した識別子3の値を仮IDとして置き換える。
仮名データ送信部45は、作成した仮名データ4pdtを関連付け装置6tへ送信する(ステップS5404)。仮名データ送信部45は、購入依頼5rで指定される関連付け装置6tのアドレス情報を用いて、仮名データ4pdtを送信し、この仮名データ送信処理を終了する。
上述では、データホルダー装置4tのチェック処理部43において、依頼先チェックと上限チェックとを行う機能構成で説明したが、チェック処理のうち上限チェックを仲介サーバ装置5tで行うようにしてもよい。
図26は、データホルダー装置の第2の機能構成例を説明するための図である。図26において、データホルダー装置4t-2は、設定情報取得部41と、識別子提供部42と、依頼先チェック部43-2と、仮ID生成部44と、仮名データ送信部45とを処理部として有する。処理部41~45は、データホルダー装置4tにインストールされたプログラムが、データホルダー装置4tのCPU411に実行させる処理により実現される。
第2の機能構成例におけるデータホルダー装置4t-2は、第1の機能構成例における依頼先チェックと上限チェックとを行うチェック処理部49と異なり、依頼先チェックのみを行う依頼先チェック部49-2を有する。他の処理部については第1の機能構成例と同様である。
データホルダー装置4t-2には、仲介サーバ装置5tによって、関連付け上限数以下のデータホルダー集合が作成されて、購入依頼5rが送信される。そのため、上限チェックは、データホルダー装置4t-2では行われない。上限チェックが行われないこと以外は、第1の機能構成例と同様であるため、詳細な説明は省略する。
図27は、仲介サーバ装置の第2の機能構成例を示す図である。図27において、仲介サーバ装置5tは、対応表作成部52と、検索部55と、購入依頼処理部56とを処理部として有する。処理部52及び56は、仲介サーバ装置5tにインストールされたプログラムが、仲介サーバ装置5tのCPU511に実行させる処理により実現される。
記憶部530には、対応表5c、検索条件6cn、検索結果6cr、データホルダー情報テーブル5id-2、購入依頼5r等が記憶される。
仲介サーバ装置5tの第1の機能構成と異なる部分のみ説明し、同様の内容の説明は省略する。仲介サーバ装置5tは、第1の機能構成と異なり、検索部55を有する。
検索部55は、関連付け装置6tから検索条件6cnを受信すると、検索条件を満たすデータホルダー集合を全て取得し、検索結果6crを作成して関連付け装置6tに表示する。検索部55による検索処理の詳細は、図28で説明する。検索結果6crに基づいてなされたデータ購入者6uの選択に基づいて、購入依頼処理部56は、購入依頼6rを作成し、データホルダー装置4tに送信する。
第2の機能構成では、データホルダー情報テーブル5id-2が第2の機能構成とは異なっている。
データホルダー情報テーブル5id-2には、第1の機能構成における項目に加えて項目リストを含んでいる。項目リストは、各データホルダー装置4tが管理するパーソナルデータの項目名の一覧を示す。項目リストは、データホルダー装置4tの登録時に取得すればよい。
図28は、検索部による検索処理について説明するためのフローチャート図である。図28において、検索部55は、関連付け装置6tから検索条件6cnを受信すると(ステップS5501)、検索条件6cnを満たすデータホルダー数をNとする(ステップS5502)。検索部55は、上限値mを2に初期設定し、(ステップS5503)、ステップS5504~S5506までの組み合せ検索を、データホルダー数Nより大きくなるまで繰り返して行う。
検索部55は、データホルダー情報テーブル5hid-2を参照して、検索条件6cnを満たすデータホルダーIDからm個取り出す組み合せを作成する(ステップS5504)。検索部55は、データホルダー情報テーブル5hid-2の項目リストを参照して、検索条件6cnを満たすデータホルダーIDを特定し、特定したデータホルダーIDを用いて、m個取り出す組み合せを全て作成する。
検索部55は、組み合せごとに、組み合せられた全てのデータホルダー装置4tでパーソナルデータを有し、かつ、関連付け上限数が上限値m以上である、由来者3uの数を求める(ステップS5505)。検索部55は、データホルダー装置4tごとの対応表5cのレコード数から由来者3uの数を得て、データホルダーIDの組み合せと、得られる項目名と、由来者3uの数(レコード数)とを記憶部530に記憶する。
全ての組み合せに対して、由来者3uの数を求めると、検索部55は、上限値mを1インクリメントして(ステップS5506)、検索部55は、1インクリメントした上限値mがデータホルダー数Nを超えるまで、ステップS5504から、上述した処理を繰り返す。
1インクリメントした上限値mがデータホルダー数Nを超えると、検索部55は、上述した組み合せ検索を終了する。そして、検索部55は、記憶部530を参照して、上述の処理により得られた、組み合せごとの、データホルダーIDの組み合せと、得られる項目名と、由来者3uの数(レコード数)とから、検索結果を作成し、関連付け装置6tに表示し(ステップS5507)、この検索処理を終了する。
図29は、検索結果の画面例を示す図である。図29では、関連付け装置6tのデータ購入者6uは、「病名 AND 不整脈」で検索した検索結果の画面G90を示している。画面G90は、表示領域90aと、第1選択領域90bと、第2選択領域90cと、購入ボタン90dとを有する。
表示領域90aは、データ購入者6uが設定した検索条件を表示する領域である。第1選択領域90bは、単一組織からパーソナルデータを購入するための選択領域である。第2選択領域90cは、2以上の組織のパーソナルデータを購入するための選択領域である。
第1選択領域90bでは、チェックボックス、事業者、属性、レコード数、レコード単価、総額等の項目を有するテーブルが表示される。データ購入者6uは、事業者、属性、レコード数、レコード単価、総額等の情報を参考にして、パーソナルデータを購入する事業者をチェックボックスにチェックして選択する。
第2選択領域90cでも、同様に、チェックボックス、事業者、属性、レコード数、レコード単価、総額等の項目を有するテーブルが表示される。第1選択領域90bとは異なり、事業者では、2以上の組織名が示される。データ購入者6uは、事業者、属性、レコード数、レコード単価、総額等の情報を参考にして、パーソナルデータを購入する事業者をチェックボックスにチェックして選択する。
購入ボタン90dは、データ購入者6uの押下に応じて、購入依頼処理部56に、データ購入者6uの選択情報に基づいて、購入依頼6rを仲介サーバ装置5tに送信させるボタンである。
上述したように、本実施例では、2以上のデータホルダー装置4tから同一個人(由来者3u)のパーソナルデータのレコードを関連付ける場合に、パーソナルデータの購入先のデータホルダー装置4tの数を制限することができる。
本実施例において、仮ID(識別子3)は取引IDの一例に相当し、購入依頼6r及び購入依頼5rは、パーソナルデータの提供を依頼する提供依頼の一例に相当する。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
データ由来者に関するパーソナルデータの提供依頼の受信に応答して、前記提供依頼に含まれる、前記データ由来者の識別子と、2以上の依頼先の各パーソナルデータの保有者の識別子の組み合せとに基づいて取引IDを生成するID生成部と、
前記パーソナルデータを保有する記憶部と、
前記記憶部が保有するパーソナルデータを取引IDに対応付けて、前記取引IDが対応付けられたパーソナルデータを利用する装置に提供する送信部と、
を有することを特徴とする情報提供装置。
(付記2)
前記提供依頼に含まれる保有者の識別子の前記組み合せに、自身の識別子が含まれているか否かを判断し、前記組み合せに前記自身の識別子が含まれている場合、前記取引IDを生成し、前記組み合せに前記自身の識別子が含まれていない場合、エラーを送信するチェック処理部
を有することを特徴とする付記1記載の情報提供装置。
(付記3)
前記組み合せに含まれる前記保有者の識別子の数が閾値以下であるか否かを判断し、前記数が前記閾値以下である場合、前記取引IDを生成し、前記数が前記閾値より大きい場合、エラーを送信するチェック処理部を有することを特徴とする付記1記載の情報提供装置。
(付記4)
前記保有者の識別子の数が閾値以下であるか否かの判断は、前記提供依頼に含まれる保有者の識別子の前記組み合せに自身の識別子が含まれている場合に行われる
ことを特徴とする付記3記載の情報提供装置。
(付記5)
データ由来者に関するパーソナルデータの提供依頼の受信に応答して、前記提供依頼に含まれる、前記データ由来者の識別子と、2以上の依頼先の各パーソナルデータの保有者の識別子の組み合せとに基づいて取引IDを生成し、
記憶部に保有するパーソナルデータを取引IDに対応付けて、前記取引IDが対応付けられたパーソナルデータを利用する装置に提供する
処理をコンピュータに行わせる情報提供プログラム。
(付記6)
データ由来者に関するパーソナルデータの提供依頼の受信に応答して、前記提供依頼に含まれる、前記データ由来者の識別子と、2以上の依頼先の各パーソナルデータの保有者の識別子の組み合せとに基づいて取引IDを生成し、
記憶部に保有するパーソナルデータを取引IDに対応付けて、前記取引IDが対応付けられたパーソナルデータを利用する装置に提供する
処理をコンピュータが行う情報提供方法。
(付記7)
検索条件の受信に応じて、記憶部に記憶された複数のデータホルダー装置のそれぞれが保持するパーソナルデータの項目名を参照して、前記検索条件を満たすデータホルダー装置を特定し、
特定したデータホルダー装置から閾値以下で選択した組み合せの1つを指定したパーソナルデータの提供依頼を作成し、作成した提供依頼を組み合わせたそれぞれの依頼先装置へ送信する
処理をコンピュータが行う情報提供方法。
(付記8)
パーソナルデータの依頼元装置及びパーソナルデータを保有する依頼先装置を有する情報提供システムにおいて、
パーソナルデータの依頼元装置は、
検索条件の受信に応じて、記憶部に記憶された複数のデータホルダー装置のそれぞれが保持するパーソナルデータの項目名を参照して、前記検索条件を満たすデータホルダー装置を特定し、
特定したデータホルダー装置から閾値以下で選択した組み合せの1つを指定したパーソナルデータの提供依頼を作成し、作成した提供依頼を組み合わせたそれぞれの依頼先装置へ送信し、
パーソナルデータを保有する依頼先装置は、
データ由来者に関するパーソナルデータの提供依頼の受信に応答して、前記提供依頼に含まれる、前記データ由来者の識別子と、2以上の依頼先装置の識別子の組み合せとに基づいて取引IDを生成し、
前記パーソナルデータを取引IDに対応付けて、前記取引IDが対応付けられたパーソナルデータを利用する装置に提供する
情報提供システム。