以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
<個人情報管理システムの構成>
図1により、本発明の一実施の形態に係る個人情報管理システムの構成について説明する。図1は本発明の一実施の形態に係る個人情報管理システムの構成を示す構成図である。
本実施の形態では、視聴者情報を利用して放送サービスを行うシステムに本発明を適用した場合について説明する。
図1において、本実施の形態での個人情報管理システムは、視聴者の個人情報(以後、視聴者情報と呼ぶ)を収集、管理し、番組放送に利用するシステムであり、視聴者情報の収集、管理を行う視聴者情報管理サーバ101と、視聴者情報管理サーバ101に蓄積された視聴者情報について、特定の視聴者の視聴者情報を関連付けるための関連付け情報(以後、項目IDと呼ぶ)を管理する項目ID管理サーバ102と、視聴者情報管理サーバの管理する視聴者情報に基づいて、番組放送を行う番組放送サーバ103と、視聴者情報管理サーバの管理する視聴者情報を閲覧し、課金や視聴率集計などの業務を行う事業者端末104と、サービス利用のために自らの視聴者情報を提供し、番組を視聴する視聴者側装置105〜107から構成される。
視聴者側装置105〜107は、サービスを利用する利用者数分が存在する。事業者端末104は、サーバ101〜103と同一の組織内に存在しても良いし、外部組織として存在しても良い。
図1に示す例では、視聴者情報管理サーバ101、項目ID管理サーバ102、番組放送サーバ103、事業者端末104、視聴者側装置105〜107は、ネットワーク108を介して繋がっている。
なお、項目ID管理サーバ102は、外部ネットワークから切断して、内部ネットワークにより視聴者情報管理サーバ101と繋がっていても良い。また、番組放送サーバ103は、本例のようにネットワークを利用してコンテンツを放送しても良いし、電波を利用して放送しても良い。
<個人情報管理システムを構成する各部の内部構成>
次に、図2〜図6により、本発明の一実施の形態に係る個人情報管理システムを構成する各部の内部構成について説明する。図2〜図6は本発明の一実施の形態に係る個人情報管理システムを構成する各部の内部構成を示す構成図であり、図2は視聴者情報管理サーバの内部構成を示す構成図、図3は項目ID管理サーバの内部構成を示す構成図、図4は番組放送サーバの内部構成を示す構成図、図5は事業者端末の内部構成を示す構成図、図6は視聴者側装置の内部構成を示す構成図である。
図2において、視聴者情報管理サーバ101は、CPU201と、記憶装置202と、ネットワークを介して他の装置と通信を行うための通信装置204と、キーボードやマウスなどの入力装置205と、ディスプレイなどの表示装置206と、これらを接続するインタフェース203とから構成される。
記憶装置202には、視聴者側装置105〜107より視聴者情報を収集し、項目ID管理サーバ102より項目IDを取得して、前記視聴者情報を視聴者情報データベース210に記録する視聴者情報収集プログラム207と、視聴者情報データベース210より視聴者情報を取得して、事業者端末104や視聴者側装置105〜107に視聴者情報を開示する視聴者情報開示プログラム208と、視聴者情報データベース210に蓄積された視聴者情報を集計して番組放送サーバ103に通知するコンテンツ関連プログラム209と、視聴者側装置より収集した視聴者情報が記録された視聴者情報データベース210と、番組放送サーバ103が持つコンテンツの属性情報が記録されたコンテンツ属性情報データベース211と、署名の作成や暗号化復号化に利用する視聴者情報管理サーバの秘密鍵212、公開鍵213が格納されている。
以下の説明における各プログラム207〜209の処理は、インタフェース203を介して呼び出された各プログラムをCPU201が実行することにより、視聴者情報管理サーバ101上で実現されるものである。各プログラムは、予め記憶装置202に格納されていても良いし、視聴者情報管理サーバ101が利用可能な媒体を介して導入されても良い。媒体とは、例えば、視聴者情報管理サーバ101に着脱可能な記憶媒体や、通信装置204に接続するネットワークまたはネットワークを伝搬する搬送波といった通信媒体を含む。
図3において、項目ID管理サーバ102は、前述の視聴者情報管理サーバ101と同様の構成からなる(301〜306)。
記憶装置302には、視聴者情報についての関連付け情報として視聴者情報の各項目の項目IDを作成し、項目IDデータベースに記録する項目ID付与プログラム307と、項目IDデータベースより、要求された視聴者に関する視聴者情報の各項目の項目IDを検索する項目ID検索プログラム308と、項目IDが記録された項目IDデータベース309と、事業者端末に対する開示制御を行うための情報が記録された事業者開示ポリシーファイル310と、署名の作成や暗号化復号化に利用する項目ID管理サーバの秘密鍵311、公開鍵312が格納されている。
以下の説明における各プログラム307、308の処理は、項目ID管理サーバ102上で実現されるものである。各プログラムの実行および格納方法については、前述の視聴者情報管理サーバ101と同様である。
図4において、番組放送サーバ103は、前述の視聴者情報管理サーバ101と同様の構成からなる(401〜406)。
記憶装置402には、ネットワーク108にコンテンツを送出するコンテンツ送出プログラム407と、送出するためのコンテンツファイル408と、署名の作成や暗号化復号化に利用する番組放送サーバの秘密鍵409、公開鍵410が格納されている。
なお、コンテンツファイル408は、不正利用防止のため暗号化して送出することが望ましいが、コンテンツファイル408を、予め暗号化し、暗号化後のコンテンツファイルを記憶装置402に格納しておくことで、送出時の暗号化処理に要する負荷を軽減することができる。
以下の説明における各プログラム407の処理は、番組放送サーバ103上で実現されるものである。各プログラムの実行および格納方法については、前述の視聴者情報管理サーバ101と同様である。
図5において、事業者端末104は、前述の視聴者情報管理サーバ101と同様の構成からなる(411〜416)。
記憶装置412には、視聴者情報管理サーバ101に視聴者情報の開示を要求し、視聴者情報を閲覧する視聴者情報閲覧プログラム417と、署名の作成や暗号化復号化に利用する事業者端末の秘密鍵418、公開鍵419が格納されている。
以下の説明における各プログラム417の処理は、事業者端末104上で実現されるものである。各プログラムの実行および格納方法については、前述の視聴者情報管理サーバ101と同様である。
図6において、視聴者側装置105〜107は、前述の視聴者情報管理サーバ101と同様の構成からなる(501〜506)。
記憶装置502には、視聴者情報管理サーバ101からの視聴者情報送信要求を受け、自身の視聴者情報を、署名を付与した後に送信する視聴者情報送信プログラム507と、視聴者情報管理サーバ101に対して、自身の視聴者情報についての閲覧を要求し、視聴者情報管理サーバ101の管理する視聴者情報の確認を行う視聴者情報確認プログラム508と、番組放送サーバ103より、コンテンツを視聴するコンテンツ視聴プログラム509と、自身の視聴者情報が記録されている個人情報データベース510と、視聴者情報管理サーバ101に対する開示制御を行うための情報が記録された視聴者開示ポリシーファイル511と、署名の作成や暗号化復号化に利用する視聴者の秘密鍵512、公開鍵513が格納されている。
以下の説明における各プログラム507〜509の処理は、視聴者側装置105〜107上で実現されるものである。各プログラムの実行および格納方法については、前述の視聴者情報管理サーバ101と同様である。
<個人情報管理システムのデータフローの概要>
次に、図7により、本発明の一実施の形態に係る個人情報管理システムのデータフローの概要について説明する。図7は本発明の一実施の形態に係る個人情報管理システムのデータフローの概要を説明するための説明図であり、視聴者情報管理サーバ101と、項目ID管理サーバ102と、番組放送サーバ103と、事業者端末104と、視聴者側装置105〜107の間でやり取りされるデータフローの概要を示している。
図7に示すように、視聴者側装置105〜107は、視聴者情報管理サーバ101からの要求に基づき、住所、氏名といった視聴者情報の各項目の値が記載された視聴者情報ファイル601を、視聴者情報管理サーバ101に送信する(S100)。
視聴者情報ファイル601を受け取った視聴者情報管理サーバ101は、視聴者情報ファイルの各項目についての項目IDを要求する項目ID要求ファイル602を、項目ID管理サーバ102に送信する(S101)。
項目ID要求ファイル602を受け取った項目ID管理サーバ102は、各項目に対する項目IDを生成し、自身の項目IDデータベース309に登録するとともに、項目IDが記載された項目ID情報ファイル603を、視聴者情報管理サーバ101に送信する(S102)。
項目ID情報ファイル603を受け取った視聴者情報管理サーバ101は、項目ID情報ファイルに記載された項目IDに従って、視聴者側装置105〜107より受け取った視聴者情報ファイル601の各項目の値を、視聴者情報データベース210に記録する。
事業者端末104および視聴者側装置105〜107は、視聴者情報管理サーバ101の管理する視聴者情報の閲覧を行う場合、視聴者情報管理サーバ101に対し、視聴者情報の閲覧要求を行う。
要求を受けた視聴者情報管理サーバ101は、閲覧対象視聴者情報を視聴者情報データベース210より特定するための項目IDを要求する項目ID要求ファイル602を、項目ID管理サーバ102に送信する(S103)。
項目ID要求ファイル602を受け取った項目ID管理サーバ102は、項目IDデータベース309を検索して、要求のあった閲覧対象視聴者情報に関する項目IDを取得し、項目ID情報ファイル603を作成して、視聴者情報管理サーバ101に送信する(S104)。
項目ID情報ファイル603を受け取った視聴者情報管理サーバ101は、項目ID情報ファイルに記載された項目IDより視聴者情報データベース210を検索し、閲覧対象視聴者の視聴者情報を取得して閲覧用視聴者情報ファイル604、605を作成し、閲覧要求のあった事業者端末104または視聴者側装置105〜107に送信する(S105)。
視聴者情報管理サーバ101は、自身の持つ視聴者情報データベース210を検索し、番組編成に必要な情報を抽出して、番組編成情報606を作成して、番組放送サーバ103に送信する。
また、各視聴者側装置に対して、各視聴者に合わせた番組情報通知などのサービスを行う場合には、それに必要な視聴者情報を視聴者情報データベース210より特定するための項目IDを要求する項目ID要求ファイル602を、項目ID管理サーバ102に送信し(S107)、項目ID情報ファイル603を項目ID管理サーバ102より取得する(S108)。
番組編成情報606を受け取った番組放送サーバ103は、蓄積されているコンテンツファイル408より番組編成情報に基づいてコンテンツ607を選択し、放送する(S109)。
<個人情報管理システムの視聴者情報収集処理>
次に、図8〜図18により、本発明の一実施の形態に係る個人情報管理システムの視聴者情報収集処理について説明する。図8、図9、図12、図14、図17は本発明の一実施の形態に係る個人情報管理システムの視聴者情報収集処理を示すフローチャートであり、図8は視聴者情報管理サーバが視聴者側装置に視聴者情報を要求して、視聴者情報を取得し、視聴者情報データベースに記録するまでの視聴者情報収集処理における全体シーケンス、図9は視聴者側装置における視聴者情報送信手順を示すフローチャート、図12は視聴者情報管理サーバにおける視聴者情報収集時の項目ID要求ファイル作成・送信手順を示すフローチャート、図14は項目ID管理サーバにおける項目ID作成手順を示すフローチャート、図17は視聴者情報管理サーバにおける視聴者情報登録処理を示すフローチャートである。
また、図10、図11、図13、図15、図16、図18は本発明の一実施の形態に係る個人情報管理システムで使用される各種情報の一例を示す図であり、図10は視聴者情報ファイル、図11は項目情報ファイル、図13は項目ID要求ファイル、図15は項目ID情報ファイル、図16は項目IDデータベース、図18は視聴者情報データベースの一例を示している。
視聴者情報管理サーバ101による視聴者情報の収集は、新規視聴者登録時に新規視聴者に対して、あるいは、定期的もしくは任意のタイミングで全視聴者または一部の視聴者に対して行われる。
まず、図8に示すように、視聴者情報管理サーバ101は、視聴者情報収集プログラム207により、S701の処理を行う。具体的には、視聴者情報管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの電子署名を生成して、それを含む視聴者情報要求データを作成し、視聴者側装置105〜107に送信する。送信の際は、共通鍵暗号方式などによって、視聴者情報要求データを暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者側装置の公開鍵513を用いて暗号化し、暗号化された視聴者情報要求データとともに送信する。ここで使用する視聴者の公開鍵513は、視聴者情報管理サーバ101の視聴者情報データベース210に予め記録しておいても良いし、視聴者側装置105〜107から取得しても良い。
視聴者情報要求データを受け取った視聴者側装置105〜107は、視聴者情報管理サーバ101や番組放送サーバ103、事業者端末104の提供する番組情報通知や自動決済などのサービスを利用するために、自身の視聴者情報を、視聴者情報送信プログラム507により、視聴者情報管理サーバ101に送信する。視聴者側装置105〜107は、視聴者情報送信プログラム507により、以下のS702、S703の視聴者情報送信処理を行う。これにより、各視聴者側装置の視聴者情報が、視聴者情報管理サーバ101に送られる。
S702では、まず受信した視聴者情報要求データが暗号化されている場合は、共通鍵暗号方式により暗号化されているので、視聴者側装置の秘密鍵512を用いて、視聴者側装置の公開鍵513で暗号化された共通鍵を復元し、復元した共通鍵を用いて、視聴者情報要求データを復号する。次に、視聴者情報要求データに付与されている視聴者情報管理サーバ101の電子署名を検証する。ここで検証に使用する視聴者情報管理サーバの公開鍵213は、視聴者情報管理サーバ101より予め取得しておいても良いし、視聴者情報要求データとともに、視聴者情報管理サーバ101から視聴者側装置105〜107に送られても良い。検証成功した場合は、次のS703に進み、検証失敗した場合は、処理を終了する。
S703では、視聴者情報管理サーバ101に送信するための視聴者情報ファイル601の作成を行う。このS703での視聴者情報ファイル作成・送信処理は、図9に示すように、具体的には、以下の処理を行う。
S703aでは、個人情報データベース510を検索して、視聴者情報管理サーバ101に送信する視聴者情報(例えば、視聴者ID、氏名、住所、趣味などの項目名および値)を取得する。取得する際は、視聴者開示ポリシーファイル511を参照し、視聴者情報管理サーバ101に送信しても良い項目のみその値を取得し、開示したくない項目については、例えば、その値を「非開示」という文字列に置き換えるなどして、項目の真の値を秘匿するようにしても良い。
S703bでは、S703aで取得された視聴者情報の各項目について、各項目毎に乱数(ここでは、r1〜r8と表記する)を生成する。ここで作成した乱数は、個人情報データベース510に記録しておく。そして、各項目の値と作成した各項目毎の乱数を足し合わせたものに対し、ハッシュ値を計算する。
例えば、項目「郵便番号」については、値「123−4567」と乱数「r1」を足し合わせたデータに対してハッシュ関数を適用して、ハッシュ値「3A1B2821・・・」を生成する。ハッシュ値「3A1B2821・・・」の作成に、乱数「r1」を利用することによって、推測攻撃により、ハッシュ値から元の値「123−4567」が漏洩するのを防止することができる。乱数を利用しない場合、例えば、「000−0000」「000−0001」「000−0002」…と順に数字を当てはめてハッシュ値を生成することにより、ハッシュ値「3A1B2821・・・」にぴったり合う郵便番号を見つけることができてしまう可能性がある。そして、各項目のハッシュ値を全て足し合わせたものに対して、視聴者側装置の秘密鍵512を用いて、公開鍵暗号方式により、視聴者署名802を作成する。
S703cでは、前記S703aで取得した視聴者情報の各項目名と各項目値、項目毎の乱数、および、前記S703bで作成した視聴者署名802より、図10に示すような視聴者情報ファイル601を作成し、視聴者情報管理サーバ101に送信する。送信の際は、共通鍵暗号方式などによって、視聴者情報ファイル601を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者情報管理サーバ101の公開鍵213を用いて暗号化し、暗号化された視聴者情報ファイル601とともに送信する。この際、視聴者情報ファイル601とともに、図11に示すような項目情報ファイル801を視聴者情報管理サーバ101に送信しても良い。
項目情報ファイル801は、S703aで取得した視聴者ID、各項目名、および、S703bで作成した各項目のハッシュ値からなる。項目情報ファイル801により、視聴者情報ファイル601を復号せずに、すなわち、各項目の値を隠したまま項目IDの必要な項目名、およびその各項目のハッシュ値を知ることができる。
視聴者情報ファイル601を受け取った視聴者情報管理サーバ101は、項目ID要求ファイル602を項目ID管理サーバ102に送信する。視聴者情報管理サーバ101は、視聴者情報収集プログラム207により、以下のS704、S705の項目ID要求処理を行う。
S704では、視聴者側装置より、視聴者情報ファイル601、および項目情報ファイル801を受信する。
S705では、項目ID管理サーバ102に送信するための項目ID要求ファイル602の作成を行う。このS705での項目ID要求ファイル作成・送信処理は、図12に示すように、具体的には、以下の処理を行う。
S705aでは、S704で視聴者情報ファイル601とともに項目情報ファイル801を受信している場合、項目情報ファイル801が暗号化されている時は、視聴者情報管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの公開鍵213で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目情報ファイル801を復号する。
そして、項目情報ファイル801より、視聴者ID、各項目名、各項目値のハッシュ値を取得する。S704で項目情報ファイル801を受信しなかった場合は、視聴者情報ファイル601が暗号化されている時は、視聴者情報管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの公開鍵213で暗号化された共通鍵を復元し、復元した共通鍵を用いて、視聴者情報ファイル601を復号する。
そして、視聴者情報ファイル601より、視聴者ID、各項目名、各項目値のハッシュ値(項目値とその項目の乱数を足し合わせたものに対し、ハッシュ関数を適用して取得)を取得する。
S705bでは、まず、S705aで取得した視聴者IDをキーとして、視聴者情報データベース210を検索し、項目IDが既に存在するかどうか調べる。既に存在する場合は、S701〜709は、視聴者情報更新処理であり、存在しない場合は、S701〜709は、新規視聴者情報登録処理ということになる。
次に、S705aで取得した視聴者ID、各項目名、各項目値のハッシュ値より、図13に示すような項目ID要求ファイル602を作成する。
項目ID要求ファイル602は、端末ID901、要求理由902、要求項目903、要求者署名904からなる。端末ID901は、要求元の装置を識別するためのID(例えば、端末ID「0001」は、視聴者情報管理サーバを表す)である。
要求理由902は、項目IDを要求する理由を記載したものであり、ここでは、「視聴者情報更新」が記載される。要求時期を明らかにするために、日時のタイムスタンプを添付しても良い。要求時期の付与によって、同じ項目ID要求ファイルをコピーして複数回に渡って利用するといったような不正を防止することができる。
要求項目903は、項目IDを要求する項目を記載したものであり、S705aで取得した視聴者ID、各項目名、各項目値のハッシュ値が記載される。項目IDが既に存在する場合(本ステップ最初の視聴者情報データベース210検索で項目IDが検出された場合)、その項目IDも視聴者IDとともに記載する。要求者署名904は、項目ID要求ファイルを作成した要求元の電子署名であり、ここでは、端末ID901、要求理由902、要求項目903を合わせたものに対して、視聴者情報管理サーバの秘密鍵212を用いて、視聴者情報管理サーバ101の電子署名を生成して添付する。
S705cでは、S705bで作成した項目ID要求ファイル602を、項目ID管理サーバ102に送信する。送信の際は、共通鍵暗号方式などによって、項目ID要求ファイル602を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、項目ID管理サーバ102の公開鍵312を用いて暗号化し、暗号化された項目ID要求ファイル602とともに送信する。
項目ID要求ファイル602を受け取った項目ID管理サーバ102は、項目IDを生成して項目ID情報ファイル603を作成し、視聴者情報管理サーバ101に送信する。項目ID管理サーバ102は、項目ID付与プログラム307により、以下のS706、S707の項目ID作成・送信処理を行う。
S706では、項目ID要求ファイル602に対する項目ID情報ファイル603の作成を行う。このS706での項目ID情報ファイル作成処理は図14に示すように、具体的には、以下の処理を行う。
S706aでは、項目ID要求ファイル602が暗号化されている時は、項目ID管理サーバの秘密鍵311を用いて、項目ID管理サーバの公開鍵312で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目ID要求ファイル602を復号する。
S706bでは、項目ID要求ファイル602に含まれる要求者署名904の検証を行う。ここでは、要求者である視聴者情報管理サーバ101(端末ID「0001」)の電子署名を検証する。検証に使用する視聴者情報管理サーバの公開鍵213は、視聴者情報管理サーバ101より予め取得しておいても良いし、項目ID要求ファイルとともに、視聴者情報管理サーバ101から項目ID管理サーバ102に送られても良い。検証失敗した場合は、処理を終了する。
S706cでは、項目ID要求ファイル602に含まれる端末ID901と要求理由902より、項目ID管理サーバ102の事業者開示ポリシーファイル310を参照して、項目IDを作成する項目の判定を行う。例えば、ここでは、要求者が視聴者情報管理サーバ101であり、要求理由が視聴者情報更新であるため、要求項目の全項目の項目IDを生成する。
S706dでは、S706cの判定に基づき、項目ID要求ファイル602の要求項目903の各項目毎に項目IDの生成を行う。具体的には、各項目毎に固有のID(例えば、UUID:世界中でユニークな128bit幅の2進数値。UUIDの仕様は、OSF(Open Software Foundation)のDCE(Distributed Computing Environment)仕様によって決められている。)を生成し、それを項目IDとする。項目IDは、全視聴者の各項目を識別するためのものであるので、十分大きく、かつ重複しないことが必要である。なお、視聴者IDも1つの項目とみなし、項目名「視聴者ID」に対しても項目IDの生成を行う。
S706eでは、S706dで作成した項目IDを図16に示すような項目IDデータベース309に記録する。項目IDデータベース309には、項目ID要求ファイル602の要求項目903に含まれる各項目名およびハッシュ値、S706dで作成した項目ID、およびデータIDを記録し、項目ID順などに並べ替える。
なお、視聴者IDについては、項目ID、項目名、データIDを記録する。視聴者IDの値も一緒に記録しても良いが、視聴者IDからそれに関連する項目の項目ID(特定の視聴者情報の項目ID)が取得できてしまうので、視聴者IDを記録した場合、安全性は低下する。ここで、データIDは、同一視聴者の視聴者情報の項目であることを関連付けるIDであり、S706eにおいて、視聴者情報更新のための項目ID要求ファイル602を処理するたびに毎回新規作成して、項目IDデータベース309に記録する。
例えば、項目ID「10」の項目名「視聴者ID」と、項目ID「35」の項目名「趣味・視聴情報」は、同一のデータID「A3281975894…」を持つので、同じ視聴者の情報であることが分かる。視聴者IDの値も一緒に項目IDデータベース309に記録した場合は、視聴者IDおよびデータIDを用いて、項目ID管理サーバ独自で項目IDデータベースの中から指定した視聴者に関連する項目の項目IDを検索することができる(例えば、視聴者IDにより、項目IDデータベース309の中からその視聴者IDを持つレコードを抽出し、そのレコードのデータIDより、同一のデータIDを持つレコードを抽出する)。
なお、項目ID要求ファイル602の要求項目903に視聴者IDとともに項目ID(例えば、項目ID「50」)が記載されている場合(視聴者情報更新処理の場合)は、その項目IDをキーとして、項目IDデータベース309を検索し、項目ID「50」のレコード(項目名「視聴者ID」、データID「F2748572013…」)を取得する。次に、取得したデータID「F2748572013…」をキーとして項目IDデータベース309を検索し、同一のデータIDを持つレコードを全て取得し、それらを項目IDデータベース309から削除する(例えば、項目ID「70」のレコード)。これにより、更新前の古いデータが削除される。
S706fでは、図15に示すような項目ID情報ファイル603の作成を行う。項目ID情報ファイル603は、項目ID要求ファイル602の要求項目903に含まれる視聴者IDと、項目ID要求ファイル602の要求項目903の各項目名とそれに対してS706dで作成した項目IDと、項目ID管理サーバの電子署名1001からなる。電子署名1001は、項目ID管理サーバの秘密鍵311を用いて生成される。なお、S706eで削除したレコードがあった場合は、削除したレコードの項目IDも項目ID情報ファイル603に記載する。
S707では、S706で作成した項目ID情報ファイル603を、視聴者情報管理サーバ101に送信する。送信の際は、共通鍵暗号方式などによって、項目ID情報ファイル603を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者情報管理サーバ101の公開鍵213を用いて暗号化し、暗号化された項目ID情報ファイル603とともに送信する。
項目ID情報ファイル603を受け取った視聴者情報管理サーバ101は、項目ID情報ファイル603に含まれる項目IDに基づき、視聴者情報を視聴者情報データベース210に記録する。視聴者情報管理サーバ101は、視聴者情報収集プログラム207により、以下のS708、S709の視聴者情報登録処理を行う。
S708では、項目ID情報ファイル603が暗号化されている時は、視聴者情報管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの公開鍵213で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目ID情報ファイル603を復号する。
S709では、S702で受信した視聴者情報ファイル601の視聴者情報を、S708で受信した項目ID情報ファイル603の項目IDに基づいて、視聴者情報データベース210に記録する。このS709での視聴者情報登録処理は、図17に示すように、具体的には、以下の処理を行う。
S709aでは、S705で視聴者情報ファイル601を復号していない場合、まず、視聴者情報管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの公開鍵213で暗号化された共通鍵を復元し、復元した共通鍵を用いて、視聴者情報ファイル601を復号する。次に、視聴者情報ファイル601より、各項目名と値、およびその項目の乱数を取得し、項目ID情報ファイル603より、各項目名とその項目IDを取得する。
S709bでは、S709aで取得した各項目名と値、およびその項目の乱数を、項目IDとともに、図18に示すような視聴者情報データベース210に記録する。記録後、データベース全体を項目IDでソートし、並び替える。これにより、1視聴者の各項目値は、項目IDに基づいてデータベース内にバラバラに記録されることになり、視聴者情報データベース210からの個人の特定を困難とすることができる。
ここで、視聴者情報ファイル601に含まれる視聴者署名802は、視聴者IDとともに記録しているが、視聴者署名802を別のデータベースに一括して記録し、視聴者IDと対応づけて管理しても良い。なお、項目ID情報ファイル603にS706eで削除したレコードの項目IDが記載されていた場合は、その項目IDをキーとして視聴者情報データベース210を検索し、そのレコードを削除する。
以上、S701〜S709の処理は、視聴者情報を収集するたびに視聴者毎に行われる。すなわち、視聴者の各項目の項目IDは、視聴者情報更新のタイミングで変わることになり、万一、項目IDデータベース309が漏洩した場合であっても、その項目IDデータベース309は、視聴者情報が更新された段階で意味を持たなくなり、個人情報の漏洩を防止することができる。
項目IDデータベース309が漏洩したことを検知した場合は、項目ID管理サーバ102は、全ての視聴者情報について項目IDを再生成し、その再生成した項目IDを、古い項目IDとともに視聴者情報管理サーバ101に通知し、視聴者情報データベース210の更新を行わせる。なお、視聴者情報管理サーバ101や項目ID管理サーバ102の負荷や、要求するセキュリティレベルに応じて、項目IDの生成頻度を、2回の更新毎に1回生成(後の1回は前回生成した項目IDを再利用)にしたり、あるいは更新時には項目IDを生成せず、定期的に全項目の項目IDを再生成しても良い。
<個人情報管理システムの視聴者情報閲覧処理>
次に、図19〜図28により、本発明の一実施の形態に係る個人情報管理システムの視聴者情報閲覧処理について説明する。図19、図20、図24、図27は本発明の一実施の形態に係る個人情報管理システムの視聴者情報閲覧処理を示すフローチャートであり、図19は事業者端末あるいは視聴者側装置が、サービスの提供あるいは自身の登録情報の確認のために、視聴者情報管理サーバに視聴者情報を要求し、視聴者情報の閲覧を行うまでの視聴者情報閲覧処理における全体シーケンス、図20は視聴者情報管理サーバにおける視聴者情報開示時の項目ID要求ファイル作成・送信手順を示すフローチャート、図24は項目ID管理サーバにおける項目ID検索手順を示すフローチャート、図27は視聴者情報管理サーバにおける視聴者情報開示処理を示すフローチャートである。
また、図21、図22、図23、図25、図26、図28は本発明の一実施の形態に係る個人情報管理システムで使用される各種情報の一例を示す図であり、図21は視聴者情報閲覧要求ファイル、図22は項目ID要求ファイル、図23は視聴者情報データベース、図25は項目ID情報ファイル、図26は項目IDデータベース、図28は閲覧用視聴者情報ファイルの一例を示している。
図19において、まず、事業者端末が視聴者情報の閲覧を行う場合の処理について、以下に記載する。
事業者端末104は、視聴者情報閲覧プログラム417により、S1201の処理を行い、図21に示すような視聴者情報閲覧要求ファイル1301の作成・送信を行う。
視聴者情報閲覧要求ファイル1301は、端末ID1302、要求理由1303、要求項目1304、要求者署名1305からなる。ここで、端末ID1302は、事業者端末の端末ID(端末毎に固有の識別ID)である(例えば、端末ID「1000」は、業者Aの端末Bであることを表す)。
要求理由1303は、視聴者情報を要求する理由を記載したものであり、ここでは、「視聴者情報閲覧」が記載される。要求時期を明らかにするために、日時のタイムスタンプを添付しても良い。要求時期の付与によって、同じ項目ID要求ファイルをコピーして複数回に渡って利用するといったような不正を防止することができる。
要求項目1304は、要求対象の視聴者に関する情報を記載したものであり、閲覧対象の視聴者情報の視聴者IDが記載される。要求者署名1305は、視聴者情報閲覧要求ファイルを作成した要求元の電子署名であり、ここでは、端末ID1302、要求理由1303、要求項目1304を合わせたものに対して、事業者端末の秘密鍵418を用いて、事業者端末104の電子署名を生成して添付する。
そして、作成した視聴者情報閲覧要求ファイル1301を、視聴者情報管理サーバ101に送信する。送信の際は、共通鍵暗号方式などによって、視聴者情報閲覧要求ファイル1301を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者情報管理サーバの公開鍵213を用いて暗号化し、暗号化された視聴者情報閲覧要求ファイルとともに送信する。ここで使用する視聴者情報管理サーバの公開鍵213は、視聴者情報管理サーバ101より予め入手しておいても良いし、視聴者情報閲覧要求時に入手しても良い。
視聴者情報閲覧要求ファイル1301を受け取った視聴者情報管理サーバ101は、閲覧要求対象の視聴者情報について、項目値の取得に必要な項目IDを取得するために、項目ID要求ファイル602を項目ID管理サーバ102に送信する。視聴者情報管理サーバ101は、視聴者情報開示プログラム208により、以下のS1202、S1203の項目ID要求処理を行う。
S1202では、視聴者情報閲覧要求ファイル1301が暗号化されている時は、視聴者管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの公開鍵213で暗号化された共通鍵を復元し、復元した共通鍵を用いて、視聴者情報閲覧要求ファイル1301を復号する。
S1203では、視聴者情報閲覧要求ファイル1301に対する項目ID要求ファイル602の作成を行う。このS1203での項目ID要求ファイル作成処理は、図20に示すように、具体的には、以下の処理を行う。
S1203aでは、S1202で復号した図21に示すような視聴者情報閲覧要求ファイル1301より、端末ID1302、要求理由1303、要求項目1304(閲覧対象の視聴者ID)、要求者署名1305を取得する。
そして、要求項目1304に含まれる閲覧対象の視聴者IDをキーとして、視聴者情報データベース210を検索し、項目IDを取得する。例えば、閲覧対象の視聴者IDが「25643」である場合、図23に示すような視聴者情報データベース210を検索し、項目ID「10」を取得する。
S1203bでは、S1203aで取得した値より、図22に示すような項目ID要求ファイル602を作成する。項目ID要求ファイル602は、端末ID901、要求理由902、要求項目903、要求者署名904からなる。
端末ID901は、閲覧要求元の装置を識別するためのID(例えば、端末ID「1000」は、業者Aの端末Bを表す)であり、視聴者情報閲覧要求ファイル1301の端末ID1302と同じである。
要求理由902は、項目IDを要求する理由を記載したものであり、ここでは、「視聴者情報閲覧」が記載され、これは視聴者情報閲覧要求ファイル1301の要求理由1303と同じである。
要求項目903は、項目IDを要求する項目を記載したものであり、視聴者情報閲覧要求ファイル1301の要求項目1303(閲覧対象の視聴者ID)と、S1203aで取得した項目IDが記載される。
要求者署名904は、視聴者情報閲覧要求ファイル1301の要求者署名1305(事業者端末の署名)と、視聴者情報管理サーバ101の署名が添付される。視聴者情報管理サーバ101の署名は、端末ID901、要求理由902、要求項目903、および事業者端末の署名を合わせたものに対して、視聴者情報管理サーバの秘密鍵212を用いて作成される。
S1203cでは、S1203bで作成した項目ID要求ファイル602を、項目ID管理サーバ102に送信する。送信の際は、共通鍵暗号方式などによって、項目ID要求ファイル602を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、項目ID管理サーバ102の公開鍵213を用いて暗号化し、暗号化された項目ID要求ファイル602とともに送信する。
項目ID要求ファイル602を受け取った項目ID管理サーバ102は、項目IDを検索して項目ID情報ファイル603を作成し、視聴者情報管理サーバ101に送信する。項目ID管理サーバ102は、項目ID検索プログラム308により、以下のS1204、S1205の項目ID作成・送信処理を行う。
S1204では、項目ID要求ファイル602に対して、項目IDデータベース309を検索し、項目ID情報ファイル603の作成を行う。このS1204での項目ID検索処理は、図24に示すように、具体的には、以下の処理を行う。
S1204aでは、項目ID要求ファイル602が暗号化されている時は、項目ID管理サーバの秘密鍵311を用いて、項目ID管理サーバの公開鍵312で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目ID要求ファイル602を復号する。
S1204bでは、項目ID要求ファイル602に含まれる要求者署名904の検証を行う。ここでは、要求者である事業者端末104、および視聴者情報管理サーバ101の電子署名を検証する。検証に使用する事業者端末の公開鍵419、および視聴者情報管理サーバの公開鍵213は、事業者端末104や視聴者情報管理サーバ101より予め取得しておいても良いし、項目ID要求ファイルとともに、視聴者情報管理サーバ101から項目ID管理サーバ102に送られても良い。
検証失敗した場合は、処理を終了する。要求者である事業者端末104の署名は、視聴者情報管理サーバ101において、項目ID要求ファイル602を作成する前に、S1203bで検証を行っても良い。
S1204cでは、項目ID要求ファイル602に含まれる端末ID901と要求理由902より、項目ID管理サーバ102の事業者開示ポリシーファイル310を参照して、項目IDを作成する項目の判定を行う。例えば、ここでは、要求者が事業者端末104であり、要求理由が視聴者情報閲覧である場合の開示ポリシーとして、項目名「クレジット番号」、項目名「電話番号」の項目値は、閲覧不可とする。
S1204dでは、まず、閲覧対象の視聴者情報の各項目の項目IDを検索する。項目ID要求ファイル602の要求項目903に含まれる項目ID「10」を取得し、その項目ID「10」をキーとして、図26に示すような項目IDデータベース309を検索し、項目ID「10」のレコード(項目名「視聴者ID」、データID「A3281975894…」)を取得する。次に、取得したデータID「A3281975894…」をキーとして項目IDデータベース309を検索し、同一のデータIDを持つレコードを全て取得する(例えば、項目ID「35」のレコード)。
そして、取得したレコードについて項目名を参照し、S1204cで閲覧可能と判断された項目名については、項目IDを図25に示すような項目ID情報ファイル603に記載し、S1204cで閲覧不可と判断された項目名については、ハッシュ値を項目ID情報ファイル603に記載して、項目ID情報ファイル603を作成する。
以上より、項目ID情報ファイル603には、項目ID要求ファイル602の要求項目903に含まれる視聴者IDと、閲覧対象の視聴者情報の各項目名と項目ID(閲覧不可項目については、ハッシュ値)と、項目ID管理サーバの電子署名1001が記載される。電子署名1001は、項目ID管理サーバの秘密鍵311を用いて生成される。
S1205では、S1204で作成した項目ID情報ファイル603を、視聴者情報管理サーバ101に送信する。送信の際は、共通鍵暗号方式などによって、項目ID情報ファイル603を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者情報管理サーバ101の公開鍵213を用いて暗号化し、暗号化された項目ID情報ファイル603とともに送信する。
項目ID情報ファイル603を受け取った視聴者情報管理サーバ101は、項目ID情報ファイル603に含まれる項目IDに基づき、視聴者情報データベース210より視聴者情報を検索し、閲覧用視聴者情報ファイル604を作成する。視聴者情報管理サーバ101は、視聴者情報開示プログラム208により、以下のS1206、S1207の視聴者情報開示処理を行う。
S1206では、項目ID情報ファイル603が暗号化されている時は、視聴者情報管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの公開鍵213で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目ID情報ファイル603を復号する。
S1207では、S1206で受信した項目ID情報ファイル603の項目IDに基づいて、視聴者情報データベース210を検索して視聴者情報を取得し、閲覧用視聴者情報ファイルを作成して、要求元(S1202で受信した視聴者情報閲覧要求ファイル1301の送信元)に送信する。このS1207での視聴者情報開示処理は、図27に示すように、具体的には、以下の処理を行う。
S1207aでは、S1206で復号した項目ID情報ファイル603より、各項目名と項目IDあるいはハッシュ値を取得する。項目IDが記載されている項目を開示項目、ハッシュ値が記載されている項目を非開示項目と呼ぶ。
ここで、項目名「郵便番号」は開示項目であり、項目名「クレジット番号」は非開示項目である。そして、開示項目について、項目IDをキーとして、視聴者情報データベース210を検索し、項目値を取得する(例えば、項目ID「35」の項目値「ドラマ」)。
S1207bでは、S1202で受信した視聴者情報閲覧要求ファイル1301の送信元に対する図28に示すような閲覧用視聴者情報ファイル604を作成する。
閲覧用視聴者情報ファイル604は、S1202で受信した視聴者情報閲覧要求ファイル1301の要求項目1304に含まれる視聴者ID(閲覧対象の視聴者ID)と、S1206で復号した項目ID情報ファイル603に含まれる各項目名と、それらの各項目について、開示項目については、S1207aで取得した項目値、非開示項目については、S1206で復号した項目ID情報ファイル603に含まれるハッシュ値と、視聴者情報データベース210に視聴者IDとともに記録されていた視聴者署名802(閲覧対象の視聴者情報に対する視聴者署名)と、視聴者情報管理サーバ101の署名1501からなる。ここで、視聴者情報管理サーバ101の署名1501は、S1202で受信した視聴者情報閲覧要求ファイル1301の要求項目1304に含まれる視聴者ID(閲覧対象の視聴者ID)と、S1206で復号した項目ID情報ファイル603に含まれる各項目名と、それらの各項目について、開示項目については、S1207aで取得した項目値、非開示項目については、S1206で復号した項目ID情報ファイル603に含まれるハッシュ値と、視聴者情報データベース210に視聴者IDとともに記録されていた視聴者署名802(閲覧対象の視聴者情報に対する視聴者署名)を合わせたものに対して、視聴者情報管理サーバの秘密鍵212を用いて作成されたものである。
S1207cでは、S1207bで作成した閲覧用視聴者情報ファイル604を、S1202で受信した視聴者情報閲覧要求ファイル1301の送信元である事業者端末104に送信する。送信の際は、共通鍵暗号方式などによって、閲覧用視聴者情報ファイル604を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、事業者端末の公開鍵419を用いて暗号化し、暗号化された閲覧用視聴者情報ファイル604とともに送信する。
閲覧用視聴者情報ファイル604を受け取った事業者端末104は、閲覧対象の視聴者情報の閲覧を行う。事業者端末104は、視聴者情報閲覧プログラム417により、以下のS1208、S1209の視聴者情報閲覧処理を行う。
S1208では、閲覧用視聴者情報ファイル604が暗号化されている時は、事業者端末の秘密鍵418を用いて、事業者端末の公開鍵419で暗号化された共通鍵を復元し、復元した共通鍵を用いて、閲覧用視聴者情報ファイル604を復号する。
S1209では、まず、閲覧用視聴者情報ファイル604に含まれる視聴者情報管理サーバの署名1501の検証を行う。
次に、閲覧用視聴者情報ファイル604に記載された各項目について、開示項目については、項目値が記載されているので、それを表示して閲覧する。また、非開示項目についても、その項目値に対するハッシュ値が記載されているので、閲覧用視聴者情報ファイル604に含まれる視聴者署名802の検証を行うことができる。具体的には、開示項目について、閲覧用視聴者情報ファイル604に記載された項目値および乱数を合わせたものに対してハッシュ関数を適用して、ハッシュ値を取得し、閲覧用視聴者情報ファイル604に記載された全項目のハッシュ値を全て合わせたもの(非開示項目については、記載されているハッシュ値をそのまま利用)と、閲覧用視聴者情報ファイル604に含まれる視聴者署名802との整合性を、閲覧対象の視聴者情報の持ち主である視聴者の公開鍵を利用して検証する。
この視聴者署名802の検証により、閲覧した視聴者情報が、正規の視聴者(視聴者情報の持ち主)が提供したものであり、かつ改ざんされていないことが分かる。さらに、事業者端末104に必要な項目以外の項目については、ハッシュ値が送られているため、項目値そのものを秘匿しながら、かつ改ざん検知を可能としている。
以上、事業者端末が視聴者情報の閲覧を行う場合の処理について記載したが、提供した情報の確認等を行うために、視聴者側装置が視聴者情報の閲覧を行う場合もある。以下に、視聴者側装置105による視聴者情報の閲覧処理を例に挙げて記載する。
まず、視聴者側装置105は、視聴者情報確認プログラム508により、図19に示すS1201の処理を行い、視聴者情報閲覧要求ファイル1301の作成・送信を行う。
視聴者情報閲覧要求ファイル1301は、端末ID1302、要求理由1303、要求項目1304、要求者署名1305からなる。
ここで、端末ID1302は、視聴者側装置105の端末ID(端末毎に固有の識別ID)である。この端末IDは、視聴者側装置毎に固有のものを持っても良いし、視聴者側装置に共通するIDであっても良い。要求理由1303は、視聴者情報を要求する理由を記載したものであり、ここでは、「視聴者情報閲覧」が記載される。要求時期を明らかにするために、日時のタイムスタンプを添付しても良い。要求時期の付与によって、同じ項目ID要求ファイルをコピーして複数回に渡って利用するといったような不正を防止することができる。
要求項目1304は、要求対象の視聴者に関する情報を記載したものであり、閲覧対象の視聴者情報の視聴者IDが記載される。要求者署名1305は、視聴者情報閲覧要求ファイルを作成した要求元の電子署名であり、ここでは、端末ID1302、要求理由1303、要求項目1304を合わせたものに対して、視聴者側装置の秘密鍵512を用いて、視聴者側装置105の電子署名を生成して添付する。
そして、作成した視聴者情報閲覧要求ファイル1301を、視聴者情報管理サーバ101に送信する。送信の際は、共通鍵暗号方式などによって、視聴者情報閲覧要求ファイル1301を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者情報管理サーバの公開鍵213を用いて暗号化し、暗号化された視聴者情報閲覧要求ファイルとともに送信する。ここで使用する視聴者情報管理サーバの公開鍵213は、視聴者情報管理サーバ101より予め入手しておいても良いし、視聴者情報閲覧要求時に入手しても良い。
視聴者情報閲覧要求ファイル1301を受け取った視聴者情報管理サーバ101は、閲覧要求対象の視聴者情報について、項目値の取得に必要な項目IDを取得するために、項目ID要求ファイル602を項目ID管理サーバ102に送信する。視聴者情報管理サーバ101は、視聴者情報開示プログラム208により、以下のS1202、S1203の項目ID要求処理を行う。
S1202では、視聴者情報閲覧要求ファイル1301が暗号化されている時は、視聴者管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの公開鍵213で暗号化された共通鍵を復元し、復元した共通鍵を用いて、視聴者情報閲覧要求ファイル1301を復号する。
S1203では、視聴者情報閲覧要求ファイル1301に対する項目ID要求ファイル602の作成を行う。具体的には、以下のS1203a〜S1203cの処理を行う。
S1203aでは、S1202で復号した視聴者情報閲覧要求ファイル1301より、端末ID1302、要求理由1303、要求項目1304(閲覧対象の視聴者ID)、要求者署名1305を取得する。そして、要求項目1304に含まれる閲覧対象の視聴者IDをキーとして、視聴者情報データベース210を検索し、項目IDを取得する。例えば、閲覧対象の視聴者IDが「25643」である場合、視聴者情報データベース210を検索し、項目ID「10」を取得する。
S1203bでは、S1203aで取得した値より、項目ID要求ファイル602を作成する。項目ID要求ファイル602は、端末ID901、要求理由902、要求項目903、要求者署名904からなる。
端末ID901は、閲覧要求元の装置を識別するためのIDであり、視聴者情報閲覧要求ファイル1301の端末ID1302と同じである。
要求理由902は、項目IDを要求する理由を記載したものであり、ここでは、「視聴者情報閲覧」が記載され、これは視聴者情報閲覧要求ファイル1301の要求理由1303と同じである。
要求項目903は、項目IDを要求する項目を記載したものであり、視聴者情報閲覧要求ファイル1301の要求項目1303(閲覧対象の視聴者ID)と、S1203aで取得した項目IDが記載される。
要求者署名904は、視聴者情報閲覧要求ファイル1301の要求者署名1305(視聴者側装置の署名)と、視聴者情報管理サーバ101の署名が添付される。視聴者情報管理サーバ101の署名は、端末ID901、要求理由902、要求項目903、および視聴者側装置の署名を合わせたものに対して、視聴者情報管理サーバの秘密鍵212を用いて作成される。
S1203cでは、S1203bで作成した項目ID要求ファイル602を、項目ID管理サーバ102に送信する。送信の際は、共通鍵暗号方式などによって、項目ID要求ファイル602を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、項目ID管理サーバ102の公開鍵213を用いて暗号化し、暗号化された項目ID要求ファイル602とともに送信する。
項目ID要求ファイル602を受け取った項目ID管理サーバ102は、項目IDを検索して項目ID情報ファイル603を作成し、視聴者情報管理サーバ101に送信する。項目ID管理サーバ102は、項目ID検索プログラム308により、以下のS1204、S1205の項目ID作成・送信処理を行う。
S1204では、項目ID要求ファイル602に対して、項目IDデータベース309を検索し、項目ID情報ファイル603の作成を行う。具体的には、以下のS1204a〜S1204dの処理を行う。
S1204aでは、項目ID要求ファイル602が暗号化されている時は、項目ID管理サーバの秘密鍵311を用いて、項目ID管理サーバの公開鍵312で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目ID要求ファイル602を復号する。
S1204bでは、項目ID要求ファイル602に含まれる要求者署名904の検証を行う。ここでは、要求者である視聴者側装置105、および視聴者情報管理サーバ101の電子署名を検証する。検証に使用する視聴者側装置の公開鍵513、および視聴者情報管理サーバの公開鍵213は、視聴者側装置105や視聴者情報管理サーバ101より予め取得しておいても良いし、項目ID要求ファイルとともに、視聴者情報管理サーバ101から項目ID管理サーバ102に送られても良い。検証失敗した場合は、処理を終了する。要求者である視聴者側装置105の署名は、視聴者情報管理サーバ101において、項目ID要求ファイル602を作成する前に、S1203bで検証を行っても良い。
S1204cでは、項目ID要求ファイル602に含まれる端末ID901と要求理由902より、項目ID管理サーバ102の事業者開示ポリシーファイル310を参照して、項目IDを作成する項目の判定を行う。例えば、ここでは、要求者が視聴者側装置105であり、要求理由が視聴者情報閲覧である場合の開示ポリシーとして、全項目秘匿したまま開示とする。なお、本例では、要求者が視聴者側装置である場合、閲覧対象の視聴者情報が、要求する視聴者本人のものでない場合(S1204bの署名検証により、閲覧対象の視聴者IDと、署名作成者が不一致の場合)は、閲覧不可として処理を終了する。
S1204dでは、まず、閲覧対象の視聴者情報の各項目の項目IDを検索する。例えば、項目ID要求ファイル602の要求項目903に含まれる項目IDが「10」である場合、その項目ID「10」をキーとして、項目IDデータベース309を検索し、項目ID「10」のレコード(項目名「視聴者ID」、データID「A3281975894…」)を取得する。次に、取得したデータID「A3281975894…」をキーとして項目IDデータベース309を検索し、同一のデータIDを持つレコードを全て取得する(例えば、項目ID「35」のレコード)。そして、取得したレコードについて項目名およびハッシュ値を取得し、項目ID情報ファイル603に記載して、項目ID情報ファイル603を作成する。以上より、項目ID情報ファイル603には、項目ID要求ファイル602の要求項目903に含まれる視聴者IDと、閲覧対象の視聴者情報の各項目名とハッシュ値と、項目ID管理サーバの電子署名1001が記載される。電子署名1001は、項目ID管理サーバの秘密鍵311を用いて生成される。
S1205では、S1204で作成した項目ID情報ファイル603を、視聴者情報管理サーバ101に送信する。送信の際は、共通鍵暗号方式などによって、項目ID情報ファイル603を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者情報管理サーバ101の公開鍵213を用いて暗号化し、暗号化された項目ID情報ファイル603とともに送信する。
項目ID情報ファイル603を受け取った視聴者情報管理サーバ101は、項目ID情報ファイル603に含まれる各項目名およびハッシュ値より、閲覧用視聴者情報ファイル605を作成する。視聴者情報管理サーバ101は、視聴者情報開示プログラム208により、以下のS1206、S1207の視聴者情報開示処理を行う。
S1206では、項目ID情報ファイル603が暗号化されている時は、視聴者情報管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの公開鍵213で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目ID情報ファイル603を復号する。
S1207では、S1206で受信した項目ID情報ファイル603の各項目名およびハッシュ値より閲覧用視聴者情報ファイルを作成して、要求元(S1202で受信した視聴者情報閲覧要求ファイル1301の送信元)に送信する。具体的には、以下のS1207a〜 S1207cの処理を行う。
S1207aでは、S1206で復号した項目ID情報ファイル603より、各項目名とハッシュ値を取得する。
S1207bでは、S1202で受信した視聴者情報閲覧要求ファイル1301の送信元に対する閲覧用視聴者情報ファイル605を作成する。閲覧用視聴者情報ファイル605は、S1202で受信した視聴者情報閲覧要求ファイル1301の要求項目1304に含まれる視聴者ID(閲覧対象の視聴者IDであり、要求元の視聴者のIDでもある)と、S1206で復号した項目ID情報ファイル603に含まれる各項目名とハッシュ値と、視聴者情報データベース210に視聴者IDとともに記録されていた視聴者署名802(閲覧対象の視聴者情報に対する視聴者署名)と、視聴者情報管理サーバ101の署名からなる。ここで、視聴者情報管理サーバ101の署名は、S1202で受信した視聴者情報閲覧要求ファイル1301の要求項目1304に含まれる視聴者ID(閲覧対象の視聴者IDであり、要求元の視聴者のIDでもある)と、S1206で復号した項目ID情報ファイル603に含まれる各項目名とハッシュ値と、視聴者情報データベース210に視聴者IDとともに記録されていた視聴者署名802(閲覧対象の視聴者情報に対する視聴者署名)を合わせたものに対して、視聴者情報管理サーバの秘密鍵212を用いて作成されたものである。
S1207cでは、S1207bで作成した閲覧用視聴者情報ファイル605を、S1202で受信した視聴者情報閲覧要求ファイル1301の送信元である視聴者側装置105に送信する。送信の際は、共通鍵暗号方式などによって、閲覧用視聴者情報ファイル605を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者側装置の公開鍵513を用いて暗号化し、暗号化された閲覧用視聴者情報ファイル605とともに送信する。
閲覧用視聴者情報ファイル605を受け取った視聴者側装置105は、自身の視聴者情報の確認を行う。視聴者側装置105は、視聴者情報確認プログラム508により、以下のS1208、S1209の視聴者情報閲覧処理を行う。
S1208では、閲覧用視聴者情報ファイル605が暗号化されている時は、視聴者側装置の秘密鍵512を用いて、視聴者側装置の公開鍵513で暗号化された共通鍵を復元し、復元した共通鍵を用いて、閲覧用視聴者情報ファイル605を復号する。
S1209では、まず、閲覧用視聴者情報ファイル605に含まれる視聴者情報管理サーバの署名1501の検証を行う。次に、閲覧用視聴者情報ファイル605には、各項目名と、その項目値に対するハッシュ値が記載されているので、それを利用して、閲覧用視聴者情報ファイル605に含まれる視聴者署名802の検証を行う。具体的には、閲覧用視聴者情報ファイル605に記載された全項目について、そのハッシュ値を全て合わせたものと、閲覧用視聴者情報ファイル605に含まれる視聴者署名802との整合性を、視聴者側装置の公開鍵513を利用して検証する。この視聴者署名802の検証により、閲覧した視聴者情報が、自身が提供したものであり、かつ改ざんされていないことが分かる。また、各項目値については、個人情報データベース510に記録されている項目値を取得して表示し、閲覧することができる。視聴者署名802の検証が失敗した場合は、個人情報データベース510に記録されている各項目値のハッシュ値と、閲覧用視聴者情報ファイル605に含まれる各項目のハッシュ値とを比較することによって、どの項目値が、視聴者側装置105の保管する値と、視聴者情報管理サーバ101の管理している値とで異なっているか調べることができる。
上記、視聴者側装置105による閲覧の場合、閲覧用視聴者情報ファイル605には、各項目の値は記載されず、各項目のハッシュ値のみが記載されている。このため、視聴者側装置105以外の端末によって閲覧用視聴者情報605が盗聴された場合であっても、各項目の値、すなわち視聴者側装置105の個人情報の漏洩を防止できる。
以上、本実施の形態では、項目ID管理サーバ102にて、項目IDデータベース309に視聴者情報の各項目のハッシュ値を記録し、閲覧時の項目ID要求の際には、非開示項目については、項目IDではなくハッシュ値を送ることによって項目値を秘匿し、開示制御を行っている。しかしながら、項目IDデータベース309の軽量化などが必要な場合、項目IDデータベースにハッシュ値を記録せず、開示制御を行う以下の方法を用いても良い。
また、項目IDデータベース309に各項目のハッシュ値を記録しない場合、前記視聴者情報閲覧ステップのうち、項目ID管理サーバ102におけるS1204d、および視聴者情報管理サーバ101におけるS1207a、S1207bは、以下のようになる。
S1204dでは、まず、閲覧対象の視聴者情報の各項目の項目IDを検索する。項目ID要求ファイル602の要求項目903に含まれる項目ID「10」を取得し、その項目ID「10」をキーとして、項目IDデータベース309を検索し、項目ID「10」のレコード(項目名「視聴者ID」、データID「A3281975894…」)を取得する。次に、取得したデータID「A3281975894…」をキーとして項目IDデータベース309を検索し、同一のデータIDを持つレコードを全て取得する(例えば、項目ID「35」のレコード)。
そして、取得した全てのレコードについて項目名、項目IDを取得し、項目ID情報ファイル603に記載する。ここで、各項目について、S1204cの判定に基づき、閲覧可能項目であるか閲覧不可項目であるかも記載しておく。以上より、項目ID情報ファイル603には、項目ID要求ファイル602の要求項目903に含まれる視聴者IDと、閲覧対象の視聴者情報の各項目名と項目IDと、閲覧可否に関する情報と、項目ID管理サーバの電子署名1001が記載される。電子署名1001は、項目ID管理サーバの秘密鍵311を用いて生成される。
S1207aでは、S1206で復号した項目ID情報ファイル603より、各項目名と項目ID、および閲覧可否に関する情報を取得する。そして、項目IDをキーとして、視聴者情報データベース210を検索し、各項目の値、乱数を取得する(例えば、項目ID「35」の項目値「ドラマ」、乱数「r81」)。
S1207bでは、S1202で受信した視聴者情報閲覧要求ファイル1301の送信元に対する閲覧用視聴者情報ファイル604を作成する。
閲覧用視聴者情報ファイル604は、S1202で受信した視聴者情報閲覧要求ファイル1301の要求項目1304に含まれる視聴者ID(閲覧対象の視聴者ID)と、S1206で復号した項目ID情報ファイル603に含まれる各項目名と、それらの各項目についての項目値(閲覧可否情報が閲覧可能である項目、すなわち開示項目については、S1207aで取得した項目値、閲覧可否情報が閲覧不可である非開示項目については、S1206で復号した項目値に乱数を合わせたものに対してハッシュ関数を適用して生成したハッシュ値)と、視聴者情報データベース210に視聴者IDとともに記録されていた視聴者署名802(閲覧対象の視聴者情報に対する視聴者署名)と、視聴者情報管理サーバ101の署名1501からなる。ここで、視聴者情報管理サーバ101の署名1501は、S1202で受信した視聴者情報閲覧要求ファイル1301の要求項目1304に含まれる視聴者ID(閲覧対象の視聴者ID)と、S1206で復号した項目ID情報ファイル603に含まれる各項目名と、それらの各項目についての項目値(開示項目については、S1207aで取得した項目値、非開示項目については、ハッシュ値)と、視聴者情報データベース210に視聴者IDとともに記録されていた視聴者署名802(閲覧対象の視聴者情報に対する視聴者署名)を合わせたものに対して、視聴者情報管理サーバの秘密鍵212を用いて作成されたものである。
なお、項目IDデータベースにハッシュ値を記録せず、開示制御を行う場合、項目ID管理サーバ102の事業者開示ポリシーファイル310を、視聴者情報管理サーバ101の記憶装置202に保管し、S1204cのポリシー審査を、視聴者情報管理サーバ101にて行っても良い。この場合、項目ID管理サーバ101は、項目ID情報ファイル603において、各項目の閲覧可否情報を記載する必要はない。
<個人情報管理システムの番組編成処理>
次に、図29により、本発明の一実施の形態に係る個人情報管理システムの番組編成処理について説明する。図29は本発明の一実施の形態に係る個人情報管理システムの番組編成処理を示すフローチャートであり、視聴者情報管理サーバが収集した視聴者情報を、放送サービスに利用する場合の例として、視聴者情報管理サーバが、番組放送サーバに番組放送のための情報(番組編成情報と呼ぶ)、視聴者側装置に番組視聴のための情報(個別番組情報と呼ぶ)を送信する番組編成処理における全体シーケンスを示している。
まず、視聴者情報管理サーバ101は、コンテンツ関連プログラム209により、S1601の処理を行い、番組編成情報の作成・送信を行う。
S1601では、編成する曜日、時間帯に対する視聴者の視聴情報を取得し、解析を行う。具体的には、視聴者情報データベース210より、格納された視聴者の視聴情報、および趣味などの視聴者情報を取得し、それらから、人気のあるジャンル、チャンネル、出演者などの情報を集計する。
集計にあたっては、対象とする視聴者情報や視聴情報を、編成する曜日・時間帯に合わせても良いし、曜日・時間帯に関係なく全ての情報を対象としても良い。次に、前記集計した視聴者の視聴情報、およびコンテンツ属性情報データベース211に格納されたコンテンツの属性情報より、その曜日・時間帯の編成候補となるコンテンツを選定し、番組編成情報606を作成し、番組放送サーバ103に送信する。
番組編成情報606は、放送用の番組表であり、この番組編成情報606を基に、番組放送サーバ103は、コンテンツを選び、送出する。なお、この番組編成情報606に視聴者情報管理サーバの電子署名を付与することによって、成りすましや番組編成情報606の改ざんを検知することができる。また、番組編成情報606を共通鍵暗号方式などによって暗号化して送信しても良い。
番組編成情報606を受け取った番組放送サーバ103は、コンテンツ送出プログラム407により、S1602の処理を行い、番組コンテンツの配信を行う。ネットワークを利用してコンテンツを配信しても良いし、電波などを利用して配信しても良い。
また、視聴者情報管理サーバ101は、コンテンツ関連プログラム209により、S1603〜S1607までの処理を行い、各視聴者側装置に対して、個別番組情報の作成・送信を行う。
S1603では、個別番組情報の作成に必要な視聴者情報を取得するために、項目ID要求ファイル602を作成し、項目ID管理サーバ102に送信する。具体的には、以下のS1603a〜1603dの処理を行う。
S1603aでは、個別番組情報送信対象の視聴者の視聴者IDをキーとして、視聴者情報データベース210を検索し、項目IDを取得する。例えば、個別番組情報送信対象の視聴者IDが「25643」である場合、視聴者情報データベース210を検索し、項目ID「10」を取得する。
S1603bでは、S1603aで取得した値より、図13に示すような項目ID要求ファイル602を作成する。項目ID要求ファイル602は、端末ID901、要求理由902、要求項目903、要求者署名904からなる。
端末ID901は、項目ID要求元の装置を識別するためのID(例えば、端末ID「0001」は、視聴者情報管理サーバ101を表す)であり、要求理由902は、項目IDを要求する理由を記載したものであり、ここでは、「個別番組情報作成」が記載される。要求項目903は、項目IDを要求する項目を記載したものであり、個別番組情報送信対象の視聴者IDと、S1603aで取得した項目IDが記載される。
要求者署名904は、視聴者情報管理サーバ101の署名が添付される。視聴者情報管理サーバ101の署名は、端末ID901、要求理由902、要求項目903、および事業者端末の署名を合わせたものに対して、視聴者情報管理サーバの秘密鍵212を用いて作成される。
S1603cでは、S1603bで作成した項目ID要求ファイル602を、項目ID管理サーバ102に送信する。送信の際は、共通鍵暗号方式などによって、項目ID要求ファイル602を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、項目ID管理サーバ102の公開鍵213を用いて暗号化し、暗号化された項目ID要求ファイル602とともに送信する。
項目ID要求ファイル602を受け取った項目ID管理サーバ102は、項目IDを検索して項目ID情報ファイル603を作成し、視聴者情報管理サーバ101に送信する。項目ID管理サーバ102は、項目ID検索プログラム308により、以下のS1604、S1605の項目ID作成・送信処理を行う。
S1604では、項目ID要求ファイル602に対して、項目IDデータベース309を検索し、項目ID情報ファイル603の作成を行う。具体的には、以下のS1604a〜S1604dの処理を行う。
S1604aでは、項目ID要求ファイル602が暗号化されている時は、項目ID管理サーバの秘密鍵311を用いて、項目ID管理サーバの公開鍵312で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目ID要求ファイル602を復号する。
S1604bでは、項目ID要求ファイル602に含まれる要求者署名904の検証を行う。ここでは、要求者である視聴者情報管理サーバ101の電子署名を検証する。検証に使用する視聴者情報管理サーバの公開鍵213は、視聴者情報管理サーバ101より予め取得しておいても良いし、項目ID要求ファイルとともに、視聴者情報管理サーバ101から項目ID管理サーバ102に送られても良い。検証失敗した場合は、処理を終了する。
S1604cでは、項目ID要求ファイル602に含まれる端末ID901と要求理由902より、項目ID管理サーバ102の事業者開示ポリシーファイル310を参照して、項目IDを作成する項目の判定を行う。例えば、要求者が視聴者情報管理サーバ101であり、要求理由が「個別番組情報作成」である場合の開示ポリシーとして、項目名「クレジット番号」、項目名「氏名」、項目名「電話番号」の項目値は、閲覧不可とする。
S1604dでは、まず、項目ID要求対象の視聴者情報の各項目の項目IDを検索する。項目ID要求ファイル602の要求項目903に含まれる項目ID「10」を取得し、その項目ID「10」をキーとして、項目IDデータベース309を検索し、項目ID「10」のレコード(項目名「視聴者ID」、データID「A3281975894…」)を取得する。次に、取得したデータID「A3281975894…」をキーとして項目IDデータベース309を検索し、同一のデータIDを持つレコードを全て取得する(例えば、項目ID「35」のレコード)。
そして、取得したレコードについて項目名を参照し、S1604cで閲覧可能と判断された項目名については、項目IDを項目ID情報ファイル603に記載し、S1604cで閲覧不可と判断された項目名については、ハッシュ値を項目ID情報ファイル603に記載して、項目ID情報ファイル603を作成する。以上より、項目ID情報ファイル603には、項目ID要求ファイル602の要求項目903に含まれる視聴者IDと、閲覧対象の視聴者情報の各項目名と項目ID(閲覧不可項目については、ハッシュ値)と、項目ID管理サーバの電子署名1001が記載される。電子署名1001は、項目ID管理サーバの秘密鍵311を用いて生成される。
S1605では、S1604で作成した項目ID情報ファイル603を、視聴者情報管理サーバ101に送信する。送信の際は、共通鍵暗号方式などによって、項目ID情報ファイル603を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者情報管理サーバ101の公開鍵213を用いて暗号化し、暗号化された項目ID情報ファイル603とともに送信する。
項目ID情報ファイル603を受け取った視聴者情報管理サーバ101は、項目ID情報ファイル603に含まれる項目IDに基づき、視聴者情報データベース210より視聴者情報を検索し、個別番組情報送信対象の視聴者の視聴者情報を取得(例えば、個別番組情報作成に必要な項目を取得)する。視聴者情報管理サーバ101は、コンテンツ関連プログラム209により、以下のS1606、S1607の視聴者情報開示処理を行う。
S1606では、項目ID情報ファイル603が暗号化されている時は、視聴者情報管理サーバの秘密鍵212を用いて、視聴者情報管理サーバの公開鍵213で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目ID情報ファイル603を復号する。
S1607では、S1606で受信した項目ID情報ファイル603の項目IDに基づいて、視聴者情報データベース210を検索して個別番組情報作成に必要な項目を取得し、コンテンツ属性情報データベース211に格納されたコンテンツの属性情報、および各視聴者の視聴情報より、例えば、S1601で作成した番組編成情報606の中から、各視聴者それぞれに最適の編成パターンを選定し、個別番組情報を作成し、各視聴者側装置に送信する。
送信の際は、共通鍵暗号方式などによって、個別番組情報を暗号化して送信することが望ましい。その場合、暗号化に用いた共通鍵は、視聴者側装置105の公開鍵213を用いて暗号化し、暗号化された個別番組情報とともに送信する。
また、個別番組情報について、視聴者情報管理サーバの秘密鍵212を用いて、公開鍵暗号方式により、署名を生成し付与することによって、個別番組情報が視聴者情報管理サーバ101によって作成された正当なものであることを証明することができる。
個別番組情報を受け取った視聴者側装置105は、個別番組情報に基づき、番組放送サーバ103より放送されるコンテンツの視聴を行う。視聴者側装置105は、コンテンツ視聴プログラム509により、以下のS1608、S1609のコンテンツ視聴処理を行う。
S1608では、個別番組情報が暗号化されている時は、視聴者側装置105の秘密鍵512を用いて、視聴者側装置の公開鍵513で暗号化された共通鍵を復元し、復元した共通鍵を用いて、個別番組情報を復号する。
S1609では、視聴者情報管理サーバ101より送られた、個別番組情報を基に、コンテンツの視聴を行う。例えば、個別番組情報に、お薦めの視聴用マルチキャストアドレスが記載されている場合は、そのアドレスに接続して番組を視聴する。
以上、本実施の形態では、項目ID管理サーバ102を利用し、視聴者情報データベース210の中から視聴者情報を取得するための視聴者と視聴者情報とを関連付けるための情報を、項目IDデータベース309に保管することによって、視聴者情報データベース210を閲覧できる視聴者情報管理サーバ101の管理者であっても、特定の視聴者の個人情報を取得できないようにしている。
従って、従来のようにデータベースを暗号化しなくても視聴者の個人情報を保護することができ、任意の項目で検索・ソートすることができる。例えば、ある県の視聴者数を調べる場合など、住所により検索することが可能である。これは、データベースの利便性と安全性を両立する大きな優位性と言える。
さらに、項目ID管理サーバ102の機能を拡張することによって、データベース漏洩時の「総当り攻撃」や「差分攻撃」といった安全性に脅威を与える攻撃についても対処することができる。視聴者情報データベース210が漏洩した場合、「総当り攻撃」によれば、例えば、登録視聴者数が少ない場合には、視聴者情報データベース210に記録されている項目値より、氏名とクレジット番号の正しい組合せを見つけるのは容易である。
また、比較的短期間のうちに2回視聴者情報データベース210が漏洩した場合、「差分攻撃」によれば、1回目に取得したデータベースと2回目に取得したデータベースの差分を取ることにより、その間に更新された視聴者の個人情報を特定することができる(視聴者情報の更新件数が少ない場合は、特に個人の特定は容易である)。
<項目ID生成機能の拡張>
次に、図30および図31により、本発明の一実施の形態に係る個人情報管理システムの項目ID管理サーバにおける項目ID作成機能を拡張した場合の処理手順について説明する。図30は本発明の一実施の形態に係る個人情報管理システムの項目ID管理サーバにおける項目ID作成機能を拡張した場合の処理手順を示すフローチャート、図31は本発明の一実施の形態に係る個人情報管理システムで使用される項目ID情報ファイルの一例を示す図である。
前述した項目ID管理サーバ102の項目ID生成機能を拡張することにより、前述した各種攻撃を困難とすることができる。図8のS706の項目ID作成・送信処理を拡張した場合の処理を以下に記載する。
視聴者情報の新規登録、あるいは視聴者情報の更新時のための項目ID要求ファイル602を視聴者情報管理サーバ101より受け取った項目ID管理サーバ102は、項目IDを生成して図31に示すような項目ID情報ファイル603を作成し、視聴者情報管理サーバ101に送信する。項目ID管理サーバ102は、項目ID付与プログラム307により、図30に示す以下のS1701〜S1708の項目ID作成・送信処理を行う。
S1701では、項目ID要求ファイル602が暗号化されている時は、項目ID管理サーバの秘密鍵311を用いて、項目ID管理サーバの公開鍵312で暗号化された共通鍵を復元し、復元した共通鍵を用いて、項目ID要求ファイル602を復号する。
S1702では、項目ID要求ファイル602に含まれる要求者署名904の検証を行う。ここでは、要求者である視聴者情報管理サーバ101(端末ID「0001」)の電子署名を検証する。検証に使用する視聴者情報管理サーバの公開鍵213は、視聴者情報管理サーバ101より予め取得しておいても良いし、項目ID要求ファイルとともに、視聴者情報管理サーバ101から項目ID管理サーバ102に送られても良い。検証失敗した場合は、処理を終了する。
S1703では、項目ID要求ファイル602に含まれる端末ID901と要求理由902より、項目ID管理サーバ102の事業者開示ポリシーファイル310を参照して、項目IDを作成する項目の判定を行う。例えば、ここでは、要求者が視聴者情報管理サーバ101であり、要求理由が視聴者情報更新であるため、要求項目の全項目の項目IDを生成する。
S1704では、偽造データの生成を行う。例えば、苗字や名前などをランダムに組み合わせて、項目名「氏名」の偽造データを生成する。項目値が数値である場合は、桁数などを統一させて乱数を生成し、偽装データを生成する。
ここで生成する偽装データは、項目名(偽装項目名と呼ぶ)、項目値(偽装項目値と呼ぶ)、乱数(偽装乱数と呼ぶ)からなる。これにより、データベースの差分により、値が変化したもの(更新された値)を抽出された場合の個人情報漏洩を防止することができる。例えば、住所、名前、クレジット番号が書き変わった場合、差分攻撃によって、(住所,名前,クレジット番号)の組が1つだけ抽出されて個人が特定されるのを防ぐ。
本ステップにより、視聴者情報更新時に、視聴者情報データベース210に加えるための一定数の偽装データを生成する。ここで生成する偽装データの個数は、一度に更新する視聴者情報の数(多ければ多いほど偽装データの数は少なくて良い)、およびシステムの処理負荷の状況などにより決定すれば良い。
これらの偽装データは、後述のS1707により偽装データベース1709に記録される。偽装データの数が一定量を超えた場合は、そのいくつかを削除するなどメンテナンスを行う。
S1705では、項目IDの再生成を行う。具体的には、項目ID管理データベース309に登録されている項目のうち項目ID再生成対象となる一定数(一度に更新する視聴者情報の数および処理負荷により決定)のレコードを取得する。
S1701で取得した項目ID要求ファイルの項目ID要求対象以外の項目についても項目IDを再生成することにより、既に登録されている項目中のいくつかの項目が視聴者情報データベース210内で再配置されることになり、更新前のデータベースと更新後のデータベースの差分を取って、更新された視聴者の個人情報の特定を困難とすることができる。
S1706では、S1703の判定に基づき、項目ID要求ファイル602の要求項目903の各項目毎に項目IDの生成を行う。具体的には、各項目毎に固有のID(例えば、UUID:世界中でユニークな128bit幅の2進数値。UUIDの仕様は、OSF(Open Software Foundation)のDCE(Distributed Computing Environment)仕様によって決められている。)を生成し、それを項目IDとする。項目IDは、全視聴者の各項目を識別するためのものであるので、十分大きく、かつ重複しないことが必要である。なお、視聴者IDも1つの項目とみなし、項目名「視聴者ID」に対しても項目IDの生成を行う。
また、S1704で生成された偽装データに対しても、同様に項目ID(偽装項目IDと呼ぶ)の生成を行う。また、S1705で取得したレコードの項目に対する項目IDを生成する。
S1707では、S1706で作成した項目ID(項目ID要求ファイル602の要求項目903に含まれる各項目名に対して作成された項目ID)を項目IDデータベース309に記録する。項目IDデータベース309には、項目ID要求ファイル602の要求項目903に含まれる各項目名およびハッシュ値、S706dで作成した項目ID、およびデータIDが記録される。ここで、データIDは、同一視聴者の視聴者情報の項目であることを関連付けるIDであり、S1707において、視聴者情報更新のための項目ID要求ファイル602を処理するたびに毎回新規作成して、項目IDデータベース309に記録する。
例えば、項目ID「10」の項目名「視聴者ID」と、項目ID「35」の項目名「趣味・視聴情報」は、同一のデータID「A3281975894…」を持つので、同じ視聴者の情報であることが分かる。なお、項目ID要求ファイル602の要求項目903に視聴者IDとともに項目ID(例えば、項目ID「50」)が記載されている場合(視聴者情報更新処理の場合)は、その項目IDをキーとして、項目IDデータベース309を検索し、項目ID「50」のレコード(項目名「視聴者ID」、データID「F2748572013…」)を取得する。次に、取得したデータID「F2748572013…」をキーとして項目IDデータベース309を検索し、同一のデータIDを持つレコードを全て取得し、それらを項目IDデータベース309から削除する(例えば、項目ID「70」のレコード)。これにより、更新前の古いデータが削除される。
また、S1705で項目IDを再生成したレコードについて、再生成前の古い項目IDを再生成後の新しい項目IDに置き換え、その後、項目IDデータベース309を項目ID順に並べ替える。また、S1704で作成された偽装データについて、偽装項目ID、偽装項目名、偽装項目値、偽装乱数を偽造データベース1709に記録する。
S1708では、項目ID情報ファイル603の作成を行う。項目ID情報ファイル603は、項目ID要求ファイル602の要求項目903に含まれる視聴者IDと、項目ID要求ファイル602の要求項目903の各項目名とそれに対してS1706で作成した項目IDと、項目ID管理サーバの電子署名1001からなる。電子署名1001は、項目ID管理サーバの秘密鍵311を用いて生成される。
なお、S1707で削除したレコードがあった場合は、削除したレコードの項目IDも項目ID情報ファイル603に記載する。また、S1704で作成された偽装データについて、偽装項目ID、偽装項目名、偽装項目値、偽装乱数を項目ID情報ファイル603の偽装データ1710に追加する。
また、S1705で項目IDを再生成したレコードについて、再生成前の古い項目ID(旧IDと呼ぶ)および再生成後の新しい項目ID(新IDと呼ぶ)を再作成ID1711に追加する。
項目ID情報ファイルを受け取った視聴者情報管理サーバ101は、前記S709の処理を行い、さらに、偽装データ1710について、偽装項目IDに基づき、偽装項目名、偽装項目値、偽装乱数を視聴者情報データベース210に記録する。また、再作成ID1711に記載された旧IDと新IDの組について、旧IDをキーとして、ユーザ情報データベース210よりレコードを抽出し、そのレコードの項目IDを新IDに置き換え、その後、ユーザ情報データベース210を項目ID順に並べ替える。
以上S1701〜S1708の拡張は、比較的容易にデータベースが不正に取得された場合にも、個人情報の漏洩を防ぐことを可能とするものであり、本実施の形態のシステムに必ずしも必要となるわけではない。
本実施の形態のシステムにおいて、前述した拡張機能を搭載しない場合でも、管理者による頻繁なデータベースアクセスを禁止したり、定期的な項目IDの再生成などを行うことによって、個人情報漏洩防止の効果は十分得ることができる。
また、本実施の形態では、視聴者情報管理サーバ101での検索効率を低下させないために、視聴者情報データベースの内容の暗号化は行っていないが、通常の検索で使用されないクレジット番号などの情報は暗号化して、クレジット番号の漏洩を防止することも可能である。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
101…視聴者情報管理サーバ、102…項目ID管理サーバ、103…番組放送サーバ、104…事業者端末、105〜107…視聴者側装置、108…ネットワーク、201…CPU、202…記憶装置、203…インタフェース、204…通信装置、205…入力装置、206…表示装置、207…視聴者情報収集プログラム、208…視聴者情報開示プログラム、209…コンテンツ関連プログラム、210…視聴者情報データベース、211…コンテンツ属性情報データベース、212…視聴者情報管理サーバ秘密鍵、213…視聴者情報管理サーバ公開鍵、301…CPU、302…記憶装置、303…インタフェース、304…通信装置、305…入力装置、306…表示装置、307…項目ID付与プログラム、308…項目ID検索プログラム、309…項目IDデータベース、310…事業者開示ポリシーファイル、311…項目ID管理サーバ秘密鍵、312…項目ID管理サーバ公開鍵、401…CPU、402…記憶装置、403…インタフェース、404…通信装置、405…入力装置、406…表示装置、407…コンテンツ送出プログラム、408…コンテンツファイル、409…番組放送サーバ秘密鍵、410…番組放送サーバ公開鍵、411…CPU、412…記憶装置、413…インタフェース、414…通信装置、415…入力装置、416…表示装置、417…視聴者情報閲覧プログラム、418…事業者端末秘密鍵、419…事業者端末公開鍵、501…CPU、502…記憶装置、503…インタフェース、504…通信装置、505…入力装置、506…表示装置、507…視聴者情報送信プログラム、508…視聴者情報確認プログラム、509…コンテンツ視聴プログラム、510…個人情報データベース、511…視聴者開示ポリシーファイル、512…視聴者秘密鍵、513…視聴者公開鍵、601…視聴者情報ファイル、602…項目ID要求ファイル、603…項目ID情報ファイル、604、605…閲覧用視聴者情報ファイル、606…番組編成情報、607…コンテンツ、801…項目情報ファイル、802…視聴者署名、901…端末ID、902…要求理由、903…要求項目、904…要求者署名、1001…項目ID管理サーバの署名、1301…視聴者情報閲覧要求ファイル、1302…端末ID、1303…要求理由、1304…要求項目、1305…要求者署名、1501…視聴者情報管理サーバ署名、1709…偽装データベース、1710…偽装データ、1711…再作成ID。