(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-22
(45)【発行日】2024-04-01
(54)【発明の名称】情報処理装置、情報処理システム、及びプログラム
(51)【国際特許分類】
G06F 21/60 20130101AFI20240325BHJP
G09C 1/00 20060101ALI20240325BHJP
【FI】
G06F21/60 320
G09C1/00 660D
(21)【出願番号】P 2020016293
(22)【出願日】2020-02-03
【審査請求日】2023-01-05
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100141139
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100171446
【氏名又は名称】高田 尚幸
(74)【代理人】
【識別番号】100114937
【氏名又は名称】松本 裕幸
(74)【代理人】
【識別番号】100171930
【氏名又は名称】木下 郁一郎
(72)【発明者】
【氏名】田口 周平
(72)【発明者】
【氏名】関根 大輔
(72)【発明者】
【氏名】袴田 千草
(72)【発明者】
【氏名】大亦 寿之
(72)【発明者】
【氏名】藤井 亜里砂
(72)【発明者】
【氏名】梶田 海成
(72)【発明者】
【氏名】小川 一人
【審査官】金沢 史明
(56)【参考文献】
【文献】特開2014-157264(JP,A)
【文献】特開2018-180600(JP,A)
【文献】国際公開第2016/199474(WO,A1)
【文献】特開2013-127665(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
2以上の情報処理装置を含む情報処理システムにおける前記情報処理装置であって、
共通の要素情報の抽出のために照合を行う対象の照合データを、データ集合に含まれる要素情報のうち
、当該情報処理装置のユーザと
他の前記情報処理装置のうちの特定の情報処理装置のユーザとの間で開示してもよいと決められた少なくとも一部の要素情報に基づいて生成するためのデータ変換規則を指定する情報を受信する受信部と、
当該情報処理装置以外からの参照を許可しない記憶場所に格納され、当該情報処理装置のユーザに関する情報を示す要素情報を含
んだデータ集合を、指定された前記データ変換規則に従って生成した照合データの集合であ
る照合データ集合に変換する集合変換部と、
前
記照合データ集合を暗号化し
て暗号
化照合データ集合を生成する処理と、
前記暗号化照合データ集合を前記特定の情報処理装置からの参照を許可する記憶場所に書き込む処理とを行う秘匿共通集合計算部と、
を備え、
前記秘匿共通集合計算部は、前記特定の情報処理装置により生成された前記暗号
化照合データ集合を
、前記特定の情報処理装置
のユーザにより参照が許可された記憶場所から取得する処
理を行い、
取得した前記暗号化照合データ集合と当該秘匿共通集合計算部が生成した前記暗号
化照合データ集合
とを用いた秘匿共通集合計算を
、前記特定の情報処理装置
の前記秘匿共通集合計算部と協働して行うことにより
、前
記照合データ集合と
前記特定の情報処理装置により生成された前
記照合データ集合
とに共通して含まれる前記照合データを得
る、
ことを特徴とする情報処理装置。
【請求項2】
前記データ変換規則は、前記要素情報を所定の粒度の照合データへ変換するための規則を含む、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記受信
部は、
当該情報処理装置のユーザと前記
特定の情報処理装置のユーザとの間で使用することが決定された秘匿共通集合計算方式の情報を受信し、
前記秘匿共通集合計算部は、前記
特定の情報処理装置
の前記秘匿共通集合計算部と協働して、前記秘匿共通集合計算方式の秘匿共通集合計算を行う、
ことを特徴とする請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記受信部は、前記
特定の情報処理装置に参照を許可する記憶場所を示す第一記憶場所情報と、前記
特定の情報処理装置のユーザにより当該情報処理装置に参照が許可された記憶場所を示す第二記憶場所情報を受信し、
前記秘匿共通集合計算部は、
当該秘匿共通集合計算部が生成した秘匿共通集合計算において使用される前記暗号
化照合データ集合を
、前記第一記憶場所情報が示す記憶場所に書き込み、前記第二記憶場所情報が示す記憶場所
から、前記
特定の情報処理装置により書き込まれ
た前記秘匿共通集合計算において使用される前記暗号
化照合データ集合を読み出す、
ことを特徴とする請求項1から請求項3のいずれか一項に記載の情報処理装置。
【請求項5】
前記
集合変換部が変換する前記データ集合は、
当該情報処理装置のユーザの行動の履歴に関する要素情報を
含む、
ことを特徴とする請求項1から請求項4のいずれか一項に記載の情報処理装置。
【請求項6】
前記行動は、コンテンツの利用、検索の実行、又は、地理的な移動である、
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
コンピュータを、
請求項1から請求項6のいずれか一項に記載の情報処理装置として機能させるためのプログラム。
【請求項8】
第一ユーザに対応した情報処理装置と、第二ユーザに対応した情報処理装置とを含む情報処理システムであって、
前記第一ユーザに対応した情報処理装置は、
共通の要素情報の抽出のために照合を行う対象の照合データを、データ集合に含まれる要素情報のうち
前記第一ユーザと
前記第二ユーザとの間で開示してもよいと決められた少なくとも一部の要素情報に基づいて生成するためのデータ変換規則を指定する情報を受信する
第一受信部と、
当該情報処理装置以外からの参照を許可しない記憶場所に格納され、前記第一ユーザに関する情報を示す要素情報を含
んだ第一データ集合を、指定された前記データ変換規則に従って生成
した照合データの集合である第一照合データ集合に変換する
第一集合変換部と、
前記第一照合データ集合を暗号化し
て暗号化第一照合データ集合を生成する処理と、
前記暗号化第一照合データ集合を前記第二ユーザに対応した情報処理装置からの参照を許可する記憶場所に書き込む処理と、前記第二ユーザにより参照が許可された記憶場所から暗号化第二照合データ集合を取得する処理とを行う第一秘匿共通集合計算部と、
を備え、
前記第二ユーザに対応した情報処理装置は、
前記データ変換規則を指定する情報を受信する第二受信部と、
当該情報処理装置以外からの参照を許可しない記憶場所に格納され、前記第二ユーザに関する情報を示す要素情報を含んだ第二データ集合
を、指定された前記データ変換規則に従って生成
した照合データの集合である第二照合データ集合
に変換する第二集合変換部と、
前記第二照合データ集合を暗号化して
前記暗号化第二照合データ集合を
生成する処理と、前記暗号化第二照合データ集合を前記第一ユーザに対応した情報処理装置からの参照を許可する記憶場所に書き込む処理と、前記第一ユーザにより参照が許可された記憶場所から前記暗号化第一照合データ集合を取得する処理とを行
う第二秘匿共通集合計算部と、
を備え、
前記第一ユーザに対応した情報処理装置の第一秘匿共通集合計算部と前記第二ユーザに対応した情報処理装置の第二秘匿共通集合計算部とが協働して、前記暗号化第一照合データ集合
と前記暗号化第二照合データ集合とを用いた秘匿共通集合計算
を行うことにより
、前記第一照合データ集合及び前記第二照合データ集合に共通して含まれる前記照合データを得
る、
ことを特徴とする情報処理
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、及びプログラムに関する。
【背景技術】
【0002】
近年、ユーザのパーソナルデータをインターネット上のストレージにより管理するストレージサービスが提供されている。ユーザは、自分の端末を用いて、パーソナルデータをストレージへ書き込んだり、ストレージに書き込んだパーソナルデータを読み出したりすることができる。ストレージサービスでは、ユーザ自身で、ストレージに書き込まれたパーソナルデータの公開範囲を設定することが可能である。パーソナルデータに設定された公開範囲に含まれる他のユーザは、自分の端末を用いて、そのパーソナルデータを利用できる。このように、ユーザがデータの読み込みや書き込み、公開範囲の設定等の権限を有するストレージをパーソナルデータストアともいう。
【0003】
一方、従来から、秘匿共通集合計算(PSI:Private Set Intersection)が利用されている。秘匿共通集合計算は、各ユーザのデータ集合の内容を互いに開示することなく、共通する要素に関する情報を得るプロトコルである。秘匿共通集合計算として、ブラインド署名を用いた方式、Bloom Filterを用いて計算量を減らした方式など、データ集合の数や用途に応じた様々な方式が提案されている。また、専用サーバを利用して秘匿共通集合計算の計算量を削減する技術がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ストレージサービスを利用するユーザ間で、共通の話題の発見等を目的として、互いのパーソナルデータから共通要素を抽出したい場合がある。しかし、共通要素を抽出するため、ユーザ間でパーソナルデータの照合が可能なようにユーザがお互いにパーソナルデータストアへのアクセス権を与えてしまうと、共通要素のみならず、パーソナルデータに設定されている他の情報も相互に参照可能となってしまい、プライバシーの問題が生じる場合がある。そこで、秘匿共通集合計算を用いて共通要素を抽出することが考えられるが、共通要素であっても他のユーザに開示したくない情報が含まれる場合もある。
【0006】
本発明は、このような事情を考慮してなされたもので、各ユーザのパーソナルデータを秘匿しながら、ユーザ間で開示してもよいと決めた共通の情報をパーソナルデータから抽出することができる情報処理装置、情報処理システム、及びプログラムを提供する。
【課題を解決するための手段】
【0007】
本発明の一態様は、共通の要素情報の抽出のために照合を行う対象の照合データを、データ集合に含まれる少なくとも一部の要素情報に基づいて生成するためのデータ変換規則を指定する情報を受信する受信部と、第一ユーザに関する情報を示す要素情報を含んだ第一データ集合を、指定された前記データ変換規則に従って生成した照合データの集合である第一照合データ集合に変換する集合変換部と、第二ユーザに関する情報を示す要素情報を含んだ第二データ集合から変換され、かつ、指定された前記データ変換規則に従って生成された照合データの集合である第二照合データ集合と、前記第一照合データ集合とに共通して含まれる前記照合データを、秘匿共通集合計算により得る秘匿共通集合計算部と、を備えることを特徴とする情報処理装置である。
【0008】
本発明の一態様は、上述の情報処理装置であって、前記データ変換規則は、前記要素情報を所定の粒度の照合データへ変換するための規則を含む、ことを特徴とする。
【0009】
本発明の一態様は、上述の情報処理装置であって、前記受信部は、使用する秘匿共通集合計算方式の情報を受信し、前記秘匿共通集合計算部は、前記第二ユーザに対応した他の情報処理装置と協働して、前記秘匿共通集合計算方式の秘匿共通集合計算を行う、ことを特徴とする。
【0010】
本発明の一態様は、上述の情報処理装置であって、前記受信部は、前記第二ユーザに対応した他の情報処理装置に参照を許可する記憶場所を示す第一記憶場所情報と、前記第二ユーザにより当該情報処理装置に参照が許可された記憶場所を示す第二記憶場所情報を受信し、前記秘匿共通集合計算部は、前記第一記憶場所情報が示す記憶場所情報に秘匿共通集合計算において使用される暗号化した前記第一照合データ集合を書き込み、前記第二記憶場所情報が示す記憶場所情報から秘匿共通集合計算において使用される暗号化された前記第二照合データ集合を読み出す、ことを特徴とする。
【0011】
本発明の一態様は、上述の情報処理装置であって、前記第一データ集合は、前記第一ユーザの行動の履歴に関する要素情報を含み、前記第二データ集合は、前記第二ユーザの行動の履歴に関する要素情報を含む、ことを特徴とする。
【0012】
本発明の一態様は、上述の情報処理装置であって、前記行動は、コンテンツの利用、検索の実行、又は、地理的な移動である、ことを特徴とする。
【0013】
本発明の一態様は、コンピュータを、上述するいずれかの情報処理装置として機能させるためのプログラムである。
【発明の効果】
【0014】
本発明によれば、各ユーザのパーソナルデータを秘匿しながら、ユーザ間で開示してもよいと決めた共通の情報をパーソナルデータから抽出することができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態による情報処理システムの構成例を示す図である。
【
図2】同実施形態による情報処理装置及び入出力装置の構成例を示すブロック図である。
【
図3】同実施形態によるパーソナルデータの例を示す図である。
【
図4】同実施形態による照合データ集合の例を示す図である。
【
図5】同実施形態による情報処理システムにおける動作の流れを示す図である。
【
図6】同実施形態による情報処理システムにおける秘匿共通集合計算処理のシーケンス図である。
【
図7】同実施形態による情報処理システムにおける秘匿共通集合計算処理のシーケンス図である。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
図1は、本発明の一実施形態による情報処理システム1の構成例を示す図である。本実施形態の情報処理システム1は、各ユーザに対応した情報処理装置2及び入出力装置3を有する。情報処理装置2及び入出力装置3は、ネットワーク5と接続される。ネットワーク5は、インターネットなどの公衆ネットワークでもよく、LAN(Local Area Network)などの私設ネットワークでもよく、公衆ネットワークと私設ネットワークとの組み合わせでもよい。なお、同じユーザに対応した情報処理装置2と入出力装置3とが、ネットワーク5を介さずに接続されていてもよい。また、情報処理装置2間のネットワークと、情報処理装置2と入出力装置3の間のネットワークと、入出力装置3間のネットワークとが異なるネットワークでもよい。また、同じユーザに対応した情報処理装置2と入出力装置3とが同一の装置で実現されてもよい。
【0017】
情報処理装置2は、対応するユーザのパーソナルデータを記憶する。パーソナルデータの例は、視聴履歴、訪問履歴、検索履歴などであるが、これらに限定されない。視聴履歴は、ユーザが放送番組やインターネット配信されている動画等のコンテンツを視聴した履歴を示す。視聴履歴は、例えば、時刻を示す時刻情報と、時刻情報が示す時刻にユーザが視聴したコンテンツを特定する情報と、視聴したコンテンツに関する情報とを含む。訪問履歴は、ユーザが地理的な移動を行って訪問した場所の履歴を示す。訪問履歴は、例えば、時刻情報と、時刻情報が示す時刻にユーザが訪問した場所を示す訪問場所情報と、訪問した場所に関する情報とを含む。また、検索履歴は、ユーザがネットワーク上で行った検索の履歴を示す。検索情報は、時刻情報と、時刻情報が示す時刻にユーザがネットワーク上で検索を行ったときに用いたキーワードの情報とを含む。
【0018】
ユーザ同士が、共通の話題の発見を目的として、最近視聴したテレビ番組やインターネット上のコンテンツの情報、訪問したレストラン、観光地、国・地域などの情報、インターネット上の検索に用いたキーワードなどの共通情報をパーソナルデータから抽出したい場合がある。しかし、共通要素の抽出のために互いにパーソナルデータへのアクセス許可を与えてしまうと、共通要素を探索する対象ではない情報も開示されてしまう場合がある。また、パーソナルデータに設定されている情報が階層化された情報の場合、目的に応じて、どの階層まで一致した場合に共通要素であると判断するかの粒度が異なる場合がある。例えば、テレビ番組に関する情報には、「番組エピソード」<「番組シリーズ」<「ジャンル」の階層の情報がある。なお、「<」の左側は下位の階層、右側は上位の階層を示す。この場合、「番組エピソード」が一致した場合に共通要素と判断するか、「番組シリーズ」が一致した場合に共通要素と判断するか、「ジャンル」が一致した場合に共通要素と判断するかを変えたい場合がある。また、他の例として、訪問した場所の住所の情報が示す「世田谷区砧x丁目」<「世田谷区砧」<「世田谷区」<「東京23区内」<「東京都内」<「関東地方」<「日本国内」のいずれの階層が一致した場合に共通要素と判断するかを変えたい場合がある。あるいは、「東京都内」などの都道府県は共通要素である場合に開示してもよいが、それより詳細な住所の情報は共通要素であっても開示したくない場合がある。また、さらに他の例として、訪問した場所のカテゴリーの情報が示す、「XXカレー食堂(レストラン名)」<「インドカレー」<「カレー」<「洋食」<「レストラン」の階層のいずれの階層(粒度)の情報が一致した場合に共通要素と判断するかを変えたい場合がある。あるいは、レストランの種類は共通要素である場合に開示してもよいが、具体的なレストランの名前は共通要素であっても開示したくない場合がある。
【0019】
加えて、ユーザの組み合わせによっては、視聴番組や訪問場所などに関する情報を下位の階層まで照合すると、共通要素が得られない場合も考えられる。この場合、視聴履歴や訪問履歴を様々な粒度の情報に変換して照合することにより、ユーザ間で共通の視聴・訪問体験が抽出しやすくなる。例えば、視聴履歴に視聴番組に関する情報として、「スカーレット(第10回)」<「スカーレットシリーズ」<「XXチャネルのドラマ番組」<「ドラマ番組」のように階層化された情報が含まれる場合、視聴番組の番組エピソードや番組シリーズではユーザ間で共通の情報が得られないことがある。そこで、粒度をジャンルなどのより上位の階層とすることにより、共通要素が得られやすくなる。同様に、訪問履歴が示す場所の情報が上記のように階層化されて表される場合、「世田谷区」ではユーザ間で共通の情報が得られないことがある。そこで、粒度を「東京都内」、「関東地方」などの上記の階層とすることにより、共通の情報が得られやすくなる。
【0020】
本実施形態の情報処理システム1は、ユーザ間で互いのパーソナルデータを秘匿しながら、ユーザが指定した種類及び粒度の情報についてのみ、それらパーソナルデータに含まれる共通要素を抽出する。
【0021】
図2は、情報処理装置2及び入出力装置3の構成を示すブロック図である。
図2においては、本実施形態と関係する機能ブロックのみを抽出して示してある。
図2において、情報処理装置2及び入出力装置3との間を接続するネットワーク5の記載を省略している。
【0022】
情報処理装置2は、サーバコンピュータやパーソナルコンピュータなどのコンピュータ装置により実現される。情報処理装置2は、記憶部21と、制御部22と、集合変換部23-1~23-N(Nは1以上の整数)と、秘匿共通集合計算部24-1~24-M(Mは1以上の整数)とを備える。以下では、集合変換部23-1~23-Nを総称して、又は、いずれかを指定しない場合、集合変換部23と記載する。また、秘匿共通集合計算部24-1~24-Mを総称して、又は、いずれかを指定しない場合、秘匿共通集合計算部24と記載する。
【0023】
記憶部21は、ハードディスク装置や半導体メモリなどで実現される。記憶部21は、ストレージサービスにおいてユーザに提供されるパーソナルデータストアでもよい。パーソナルデータストアは、ユーザがデータの読み込みや書き込み、公開範囲の設定等の権限を有するストレージである。記憶部21は、プライベートディレクトリと、秘匿共通集合計算用ディレクトリとを有する。プライベートディレクトリは、他のユーザからのアクセスが許可されないディレクトリである。プライベートディレクトリには、パーソナルデータと、照合データ集合とが格納される。パーソナルデータは、1以上の要素情報を含むデータ集合である。要素情報は、ユーザに関する情報を示す。照合データ集合は、ユーザ間の共通要素の抽出に用いられる。照合データ集合は、1以上の照合データを含むデータ集合である。各照合データは、パーソナルデータに含まれる1以上の要素情報に基づき生成される。秘匿共通集合計算用ディレクトリは、ユーザが許可した他の情報処理装置2からのアクセスが許可されるディレクトリである。秘匿共通集合計算用ディレクトリには、秘匿共通集合計算の過程において用いられる情報である計算過程情報が格納される。なお、記憶部21は、パーソナルデータ及び照合データ集合を記憶する記憶部と、計算過程情報を記憶する記憶部とにより構成されてもよい。
【0024】
制御部22は、ユーザ間で互いのパーソナルデータを秘匿しながら、ユーザ間で開示してもよいと決めた共通の要素情報をパーソナルデータから抽出する処理に用いられる情報を入出力装置3から受信する受信部の機能を有する。入出力装置3から受信するこの情報は、ユーザ間で開示してもよいと決めた種類及び粒度の共通要素の抽出に用いられる照合データをパーソナルデータから生成するためのデータ変換規則を指定する情報や、照合データ集合を秘匿しながら共通の照合データを抽出する際に使用する秘匿共通集合計算方式を指定する情報を含む。制御部22は、入出力装置3から受信した情報に基づいて、パーソナルデータを照合データ集合に変換するよう集合変換部23に指示する。さらに、制御部22は、入出力装置3から受信した情報に基づいて、集合変換部23が生成した照合データ集合と、他の情報処理装置2が生成した他のユーザの照合データ集合とに共通して含まれる照合データを、秘匿共通集合計算により抽出するよう秘匿共通集合計算部24に指示する。制御部22は、秘匿共通集合計算部24が秘匿共通集合計算により抽出した照合データを入出力装置3に送信する送信部の機能をさらに有する。
【0025】
集合変換部23-1~23-Nはそれぞれ異なるデータ変換規則に従って、パーソナルデータから予め決められた情報種別の要素情報を取得して照合データを生成し、生成した照合データを含む照合データ集合を生成する。データ変換規則は、パーソナルデータに含まれる少なくとも一部の要素情報に基づいて照合データを生成するための規則を示す。この規則には、照合データの生成元となる1以上の要素情報と、生成元の要素情報の設定内容をそのまま照合データに設定するか、又は、生成元の要素情報の設定内容をどのように変換して照合データに設定するかの設定内容変換規則が含まれる。例えば、パーソナルデータに、第一階層の要素情報、第二階層の要素情報、…のように各階層の要素情報が含まれる場合、データ変換規則に、いずれの階層の要素情報を照合データの生成元とするかを規定することによって、共通情報を抽出する際の粒度を変更することができる。あるいは、要素情報の設定内容を所定の粒度の設定内容に変換して照合データを生成するように設定内容変換規則を規定することによって、共通情報を抽出する際の粒度を変更することができる。以下では、集合変換部23-n(nは1以上N以下の整数)が用いるデータ変換規則を、データ変換規則(n)とする。
【0026】
例えば、パーソナルデータは、要素情報D(1)、要素情報D(2)、…を含み、要素情報D(i)は(i=1,2、…)、属性D1の要素情報D1(i)、属性D2の要素情報D2(i)、属性D3の要素情報D3(i)を含むとする。さらに、要素情報D3(i)は、第1階層の要素情報D31(i)及び第2階層の要素情報D32(i)からなるとする。この場合に、データ変換規則(1)は、要素情報D1(i)を照合データX(i)に設定し、データ変換規則(2)は要素情報D2(i)の粒度を変換して照合データX(i)に設定し、データ変換規則(3)は要素情報D3(i)を照合データX(i)に設定し、データ変換規則(4)は要素情報D2(i)と要素情報D31(i)とを照合データX(i)に設定し、データ変換規則(5)は粒度を変換した要素情報D2(i)と要素情報D32(i)とを照合データX(i)に設定するような規則とすることができる。これらの場合、集合変換部23-1~23-5は、それぞれのデータ変換規則に従って、照合データ集合S{X(1)、X(2)、…}を生成する。また、データ変換規則(6)が、要素情報D2(i)を照合データX1(i)に設定し、要素情報D31(i)を照合データX2(i)に設定する規則である場合、集合変換部23-5は、照合データ集合S{X1(1)、X1(2)、…、X2(1)、X2(2)、…}を生成する。
【0027】
粒度の例について更に説明する。例えば、パーソナルデータに、ユーザが視聴した番組の情報として、「番組エピソード」<「番組シリーズ」<「ジャンル」の各階層の要素情報が含まれるとする。この場合、データ変換規則は、「番組エピソード」、「番組シリーズ」、「ジャンル」のいずれの粒度の要素情報を、照合データの生成元の要素情報とするかの規則を含み得る。
【0028】
また、例えば、パーソナルデータに情報種別が日時の要素情報が含まれるとする。日時の情報は、「時刻」<「1時間毎の時間帯(1時間毎)」<「1日の時間帯(朝、昼、夕、深夜など)」<「曜日」<「月」<「季節」の階層の情報に変換が可能である。データ変換規則は、情報種別が日時の要素情報から、「時刻」、「1時間毎の時間帯(1時間毎)」、「1日の時間帯(朝、昼、夕、深夜など)」、「曜日」、「月」、「季節」、又は、それらの任意の組み合わせのなどの粒度の照合データを生成するための設定内容変換規則を含み得る。
【0029】
また、例えば、パーソナルデータに情報種別が住所の要素情報が含まれるとする。日本の住所の情報は、「街区」<「市区町村」<「都道府県」<「地域」<「国」のような階層の情報に変換が可能である。データ変換規則は、住所「東京都世田谷区砧x丁目」の要素情報から、「東京都世田谷区砧」、「東京都世田谷区」、「東京都」、「関東地方」、「東日本」、又は、「日本」などの粒度の照合データを生成するための規則を含み得る。
【0030】
また、例えば、パーソナルデータに情報種別が訪問場所のカテゴリーの要素情報として、「XXカレー食堂(レストラン名)」<「インドカレー」<「カレー」<「洋食」<「レストラン」の各階層の要素情報が含まれるとする。この場合、データ変換規則には、これらの階層化された要素情報のうちいずれの階層を、照合データとするかの規則を含み得る。
【0031】
上記のように、データ変換規則は、パーソナルデータに含まれる階層化された情報を所定の階層(粒度)の情報を示す照合データに変換するための規則を含んでもよい。また、データ変換規則には、2以上の要素情報に基づいて一つの照合データを生成するための規則を含んでもよい。照合データは、異なる2以上の情報種別の情報の組み合わせでもよい。また、照合データは、データの属性や種類などの情報を含んでもよい。
【0032】
上記により、例えば、時刻情報と、時刻情報が示す時刻にユーザが視聴したテレビ番組のジャンル、シリーズ、エピソードを含む視聴履歴を、集合変換部23-1は、視聴した番組のエピソードを示す照合データの集合に変換し、集合変換部23-2は、視聴した番組のジャンルを示す照合データの集合に変換し、集合変換部23-3は、ユーザが番組を視聴した時間帯を示す照合データの集合に変換し、集合変換部23-4は、視聴時間帯とジャンルとを結合した照合データの集合に変換するように構成することができる。
【0033】
秘匿共通集合計算部24は、他の情報処理装置2の秘匿共通集合計算部24と協働して、集合変換部23が生成した照合データ集合と、他のユーザの照合データ集合との秘匿共通集合計算を行う。秘匿共通集合計算部24-1~24-Mは、それぞれ異なる秘匿共通集合計算方式の秘匿共通集合計算を行う。秘匿共通集合計算部24-m(mは1以上M以下の整数)が行う秘匿共通集合計算方式を、秘匿共通集合計算方式(m)と記載する。
【0034】
入出力装置3は、入力部31及び出力部32を備える。入出力装置3は、例えば、パーソナルコンピュータや、スマートフォンなどのコンピュータ装置である。入力部31は、キーボード、ポインティングデバイス、タッチパネル等の既存の入力装置を用いて構成される。出力部32は、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の画像表示装置であり、データを表示する。出力部32は、プリンタによりデータを印刷してもよく、記録媒体へデータを書き込んでもよい。入出力装置3は、入力部31によりユーザが入力した指示に基づき他の装置へデータを送信する処理や、入力部31によりユーザが入力したデータ、他の装置から受信したデータなどを出力部32により提示する処理を行う。
【0035】
なお、1台の情報処理装置2をネットワークに接続される複数のコンピュータ装置により実現してもよい。この場合、情報処理装置2の各機能部を、これら複数のコンピュータ装置のいずれにより実現するかは任意とすることができる。例えば、記憶部21と、制御部22、集合変換部23及び秘匿共通集合計算部24とを異なるコンピュータ装置により実現してもよく、集合変換部23と秘匿共通集合計算部24とを異なるコンピュータ装置により実現してもよく、集合変換部23-1~23-Nを複数台のコンピュータ装置で実現してもよく、秘匿共通集合計算部24-1~24-Mを複数台のコンピュータ装置で実現してもよい。また、同一の機能部を複数のコンピュータ装置により実現してもよい。例えば、記憶部21を、複数台のコンピュータ装置により実現してもよい。また、情報処理装置2と入出力装置3とが物理的に同一の装置であってもよく、複数台の情報処理装置2が物理的に同一の装置であってもよい。また、複数の情報処理装置2の一部の機能部が物理的に同一の装置により実現されてもよい。
【0036】
図3は、パーソナルデータの例を示す図である。
図3に示すパーソナルデータは、視聴履歴を示す。
図3に示す視聴履歴の情報は、ユーザが視聴した各番組の番組ID(identifier)、番組名(name)、番組概要(description)、番組の長さ(timeRequired)、出演者(actor)、ジャンル(genre)、publication等の要素情報を含む。publicationは、さらに、視聴開始時刻(startDate)や視聴終了時刻(endDate)などの要素情報を含む。
【0037】
図4は、照合データ集合の例を示す図である。
図4に示す照合データ集合は、視聴履歴を示すパーソナルデータに基づいて生成されたものである。同図に示す照合データ集合は、情報種別が番組(program)、ジャンル(genre)、放送局(broadcaster)の照合データを含む。同図に示す照合データは、情報種別の名称(program、genreなど)が含まれているが、例えば、照合データ集合に含まれる照合データが全て同じ情報種別である場合などは、情報種別の名称を含まなくてもよい。また、照合データに用いる情報種別の名称は、パーソナルデータに含まれる要素情報に用いられる情報種別の名称と異なってもよい。また、照合データに、その照合データの設定内容に応じた情報を付加してもよい。例えば、同図では、情報種別が番組(program)の照合データの設定内容には、放送局を表す値と、番組開始時刻を表す値とが設定され、さらに、この設定内容により表される番組の情報「//朝ドラ」が付加されている。
【0038】
次に、情報処理システム1の動作を説明する。以下では、ユーザAに対応した情報処理装置2を情報処理装置2aと記載し、情報処理装置2aが備える記憶部21、制御部22、集合変換部23-1~23-N、秘匿共通集合計算部24-1~24-Mをそれぞれ、記憶部21a、制御部22a、集合変換部23a-1~23a-N、秘匿共通集合計算部24a-1~24a-Mと記載する。また、ユーザBに対応した情報処理装置2を情報処理装置2bと記載し、情報処理装置2bが備える記憶部21、制御部22、集合変換部23-1~23-N、秘匿共通集合計算部24-1~24-Mをそれぞれ、記憶部21b、制御部22b、集合変換部23b-1~23b-N、秘匿共通集合計算部24b-1~24b-Mと記載する。また、ユーザAの入出力装置3を入出力装置3aと記載し、入出力装置3aが備える入力部31、出力部32をそれぞれ、入力部31a、出力部32aと記載する。また、ユーザBの入出力装置3を入出力装置3bと記載し、入出力装置3bが備える入力部31、出力部32をそれぞれ、入力部31b、出力部32bと記載する。
【0039】
図5は、情報処理システム1の動作の流れを示す図である。
まず、ユーザAとユーザBの間で、使用する変換規則および秘匿共通集合計算方式を決定する(ステップS0)。例えば、情報処理装置2は、放送番組の視聴履歴を、視聴した番組のエピソードを示す照合データの集合に変換する集合変換部23-1、視聴した番組のジャンルを示す照合データの集合に変換する集合変換部23-2、ユーザが番組を視聴した時間帯を示す照合データの集合に変換する集合変換部23-3、視聴時間帯とジャンルとを結合した照合データの集合に変換する23-4、…を有する。また、情報処理装置2は、様々な用途に応じた秘匿共通集合計算部24-1~24-Mを有する。ユーザAとユーザBとは、共通の番組エピソードを抽出することを決め、それに適したデータ変換規則(n)又は集合変換部23-n(nは1以上N以下のいずれかの整数)と、使用する秘匿共通集合計算方式(m)又は秘匿共通集合計算部24-m(mは1以上M以下のいずれかの整数)とを決定する。
【0040】
ユーザAは、情報処理装置2aの記憶部21aにおける自身の秘匿共通集合計算用ディレクトリのURLをユーザBに教える(ステップS1)。例えば、ユーザAは、入出力装置3aにより秘匿共通集合計算用ディレクトリのURLを入出力装置3bに送信する。同様に、ステップS2において、ユーザBは、情報処理装置2bの記憶部21bにおける自身の秘匿共通集合計算用ディレクトリのURLをユーザAに教える(ステップS2)。例えば、ユーザBは、入出力装置3bにより秘匿共通集合計算用ディレクトリのURLを入出力装置3aに送信する。
【0041】
情報処理装置2a及び情報処理装置2bは、それぞれ以下のように動作する。
ユーザAは、入出力装置3aの入力部31aによりパラメータを入力する。各パラメータは、ユーザAの秘匿共通集合計算用ディレクトリのURL、ユーザBの秘匿共通集合計算用ディレクトリのURL、ユーザAのパーソナルデータのURL、利用するデータ変換規則(n)、利用する秘匿共通集合計算方式(m)、アクセス許可情報を含む。アクセス許可情報は、アクセスを許可する情報処理装置2bの識別情報を示す。入出力装置3aは、入力されたこれらのパラメータを情報処理装置2aに送信する(ステップS3a)。利用するデータ変換規則(n)に代えて、利用する集合変換部23a-nの識別をパラメータとして用いてもよい。また、利用する秘匿共通集合計算方式(m)に代えて、利用する秘匿共通集合計算部24a-mの識別をパラメータとして用いてもよい。入出力装置3aは、入力されたこれらのパラメータを情報処理装置2aに送信する。
【0042】
情報処理装置2aの制御部22aは、入出力装置3aからパラメータを受信する。制御部22aは、アクセス許可情報が示す情報処理装置2bから秘匿共通集合計算用ディレクトリへのアクセスを許可するように記憶部21aの設定を行う(ステップS4a)。制御部22aは、利用するデータ変換規則(n)のパラメータに対応した集合変換部23a-nに、ユーザAのパーソナルデータのURLを出力する(ステップS5a)。集合変換部23a-nは、受信したURLのパーソナルデータを参照し、照合データ集合に変換する。参照するパーソナルデータはデータ変換前の生パーソナルデータであり、変換された照合データ集合は、暗号化されていない照合データの生集合である。集合変換部23a-nは、照合データ集合を記憶部21aのプライベートディレクトリに書き込み、照合データ集合の記憶場所のURLを制御部22aに通知する(ステップS6a)。
【0043】
制御部22aは、利用する秘匿共通集合計算方式(m)のパラメータに対応した秘匿共通集合計算部24a-mに、ユーザAの秘匿共通集合計算用ディレクトリのURL、ユーザBの秘匿共通集合計算用ディレクトリのURL、及び、ユーザAの照合データ集合のURLを出力する(ステップS7a)。秘匿共通集合計算部24a-mは、記憶部21aのユーザAの秘匿共通集合計算用ディレクトリに記憶される計算過程要素情報と、記憶部21bのユーザBの秘匿共通集合計算用ディレクトリに記憶される計算過程要素情報とを情報処理装置2bの秘匿共通集合計算部24b-mと共有しつつ、共通要素の照合データを抽出する。計算過程要素情報は、秘匿共通集合計算を行う際に用いられる暗号化された情報である。秘匿共通集合計算部24a-mは、抽出した共通要素の照合データを制御部22aに出力する(ステップS8a)。
【0044】
制御部22aは、抽出された共通要素の照合データを入出力装置3aに送信する(ステップS9a)。入出力装置3aの出力部32aは、受信した照合データをディスプレイに表示するなどして提示する(ステップS10a)。
【0045】
一方、ユーザBは、入出力装置3bの入力部31bによりパラメータを入力する。各パラメータは、ユーザBの秘匿共通集合計算用ディレクトリのURL、ユーザAの秘匿共通集合計算用ディレクトリのURL、ユーザBのパーソナルデータのURL、利用するデータ変換規則(n)、利用する秘匿共通集合計算方式(m)、アクセス許可情報を含む。アクセス許可情報は、アクセスを許可する情報処理装置2aの識別情報を示す。入出力装置3bは、入力されたこれらのパラメータを情報処理装置2bに送信する(ステップS3b)。利用するデータ変換規則(n)に代えて、利用する集合変換部23b-nの識別をパラメータとして用いてもよい。また、利用する秘匿共通集合計算方式(m)に代えて、利用する秘匿共通集合計算部24b-mの識別をパラメータとして用いてもよい。入出力装置3bは、入力されたこれらのパラメータを情報処理装置2bに送信する。
【0046】
情報処理装置2bの制御部22bは、入出力装置3bからパラメータを受信する。制御部22bは、アクセス許可情報が示す情報処理装置2aから秘匿共通集合計算用ディレクトリへのアクセスを許可するように記憶部21bの設定を行う(ステップS4b)。制御部22bは、利用するデータ変換規則(n)のパラメータに対応した集合変換部23b-nに、ユーザBのパーソナルデータのURLを出力する(ステップS5b)。集合変換部23b-nは、受信したURLのパーソナルデータを参照し、照合データ集合に変換する。参照するパーソナルデータはデータ変換前の生パーソナルデータであり、変換された照合データ集合は、暗号化されていない照合データの生集合である。集合変換部23b-nは、照合データ集合を記憶部21bのプライベートディレクトリに書き込み、照合データ集合の記憶場所のURLを制御部22bに通知する(ステップS6b)。
【0047】
制御部22bは、利用する秘匿共通集合計算方式(m)のパラメータに対応した秘匿共通集合計算部24b-mに、ユーザBの秘匿共通集合計算用ディレクトリのURL、ユーザAの秘匿共通集合計算用ディレクトリのURL、及び、ユーザBの照合データ集合のURLを出力する(ステップS7b)。秘匿共通集合計算部24b-mは、記憶部21bのユーザBの秘匿共通集合計算用ディレクトリに記憶される計算過程要素情報と、記憶部21aのユーザAの秘匿共通集合計算用ディレクトリに記憶される計算過程要素情報とを情報処理装置2aの秘匿共通集合計算部24a-mと共有しつつ、共通要素の照合データを抽出する。秘匿共通集合計算部24b-mは、抽出した共通要素の照合データを制御部22bに出力する(ステップS8b)。
【0048】
制御部22bは、抽出された共通要素の照合データを入出力装置3bに出力する(ステップS9b)。入出力装置3bの出力部32bは、受信した照合データをディスプレイに表示するなどして提示する(ステップS10b)。
【0049】
上記により、例えば、ユーザAとユーザBとが共通の番組エピソードを抽出することを決めた場合、ユーザAの入出力装置3aとユーザBの入出力装置3bとに、ユーザAの視聴履歴とユーザBの視聴履歴に共通した番組エピソードが提示される。続いて、ユーザAとユーザBは、共通の視聴時間帯を抽出することを決め、それに適したデータ変換規則(n)又は集合変換部23-nと、秘匿共通集合計算方式(m)又は秘匿共通集合計算部24-mとを決定する。上記の処理によって、ユーザAの入出力装置3aとユーザBの入出力装置3bとに、ユーザAの視聴履歴とユーザBの視聴履歴に共通した視聴時間帯が出力される。
【0050】
続いて、秘匿共通集合計算部24に用いられ得る秘匿共通集合計算の例を説明する。
図6は、情報処理システム1の秘匿共通集合計算処理の例を示すシーケンス図である。なお、共通要素の抽出のために照合する対象として用いられ得る全要素情報の集合Sc={c
1,…,c
NC}は公開されている場合がある(NCは1以上の整数)。
【0051】
まず、ユーザA及びユーザBの間で、使用するデータ変換規則及び秘匿共通集合計算方式を決定する(ステップS105)。情報処理装置2aの集合変換部23aは、決定されたデータ変換規則により、ユーザAのパーソナルデータをデータ変換して照合データ集合SA={a1,…,aNA}を作成し(NAは1以上の整数)、記憶部21aのプライベートディレクトリに生集合の照合データ集合SAを書き込む(ステップS110)。情報処理装置2bの集合変換部23bは、決定されたデータ変換規則により、ユーザBのパーソナルデータをデータ変換して照合データ集合SB={b1,…,bNB}を作成し(NBは1以上の整数)、記憶部21bのプライベートディレクトリに生集合の照合データ集合SBを書き込む(ステップS115)。
【0052】
情報処理装置2aの秘匿共通集合計算部24aは、鍵生成アルゴリズムKeyGenを用いて、公開鍵pk及び秘密鍵skを作成し(ステップS120)、作成した公開鍵pkを情報処理装置2bの秘匿共通集合計算部24bに渡す(ステップS125)。例えば、秘匿共通集合計算部24aは、公開鍵pkを記憶部21aの秘匿共通集合計算用ディレクトリに書き込み、秘匿共通集合計算部24bは、記憶部21aの秘匿共通集合計算用ディレクトリから公開鍵pkを読み出す。あるいは、秘匿共通集合計算部24aから秘匿共通集合計算部24bへ公開鍵pkを送信してもよい。秘匿共通集合計算部24bは、公開鍵pkを用いて各照合データbj(jは1以上NB以下の整数)を暗号化し、暗号化照合データb’jを生成する。これにより、秘匿共通集合計算部24bは、暗号化照合データ集合SB’={b’1,…,b’NB}を得る(ステップS130)。
【0053】
一方、秘匿共通集合計算部24aは、公開鍵pkを用いて照合データai(iは1以上NA以下の整数)を暗号化し、暗号化照合データa’iを生成する。これにより、秘匿共通集合計算部24aは、暗号化照合データ集合SA’={a’1,…,a’NA}を得る(ステップS135)。秘匿共通集合計算部24aは、暗号化照合データ集合SA’を秘匿共通集合計算部24bに渡す(ステップS140)。例えば、秘匿共通集合計算部24aは、暗号化照合データ集合SA’を記憶部21aの秘匿共通集合計算用ディレクトリに書き込み、秘匿共通集合計算部24bは、記憶部21aの秘匿共通集合計算用ディレクトリから暗号化照合データ集合SA’を読み出す。
【0054】
秘匿共通集合計算部24bは、一致する暗号化照合データa’iと暗号化照合データb’jを総当たりで探索する(ステップS145)。具体的には、秘匿共通集合計算部24bは、全てのiと全てのjの組み合わせについて、a’i-b’jが0となるiとjの組み合わせを探索する。秘匿共通集合計算部24bは、探索により見つかったjにより特定される照合データbjを照合データ集合SBから抽出する(ステップS150)。
【0055】
なお、上記の情報処理装置2aと情報処理装置2bのステップS120以降の処理を入れ替えることにより、秘匿共通集合計算部24aは、照合データ集合SAから照合データ集合SBと共通の照合データaiを得る。あるいは、秘匿共通集合計算部24bが、探索により得られたi、又は、暗号化照合データa’iを秘匿共通集合計算部24aに通知してもよい。秘匿共通集合計算部24aは、通知されたi、又は、暗号化照合データa’iに基づいて、照合データ集合SAから照合データ集合SBと共通の照合データaiを得る。
【0056】
図7は、情報処理システム1の他の秘匿共通集合計算処理を示すシーケンス図である。
図6の場合と同様に集合Sc={c
1,…,c
NC}は公開されている場合がある。
【0057】
まず、ユーザA及びユーザBの間で、使用するデータ変換規則及び秘匿共通集合計算方式を決定する(ステップS205)。情報処理装置2aの集合変換部23aは、決定されたデータ変換規則により、ユーザAのパーソナルデータをデータ変換して照合データ集合SA={a1,…,aNA}を作成し、記憶部21aのプライベートディレクトリに生集合の照合データ集合SAを書き込む(ステップS210)。情報処理装置2bの集合変換部23bは、決定されたデータ変換規則により、ユーザBのパーソナルデータをデータ変換して照合データ集合SB={b1,…,bNB}を作成し、記憶部21bのプライベートディレクトリに生集合の照合データ集合SBを書き込む(ステップS215)。
【0058】
情報処理装置2aの秘匿共通集合計算部24aは、鍵生成アルゴリズムKeyGenを用いて、公開鍵pk及び秘密鍵skを作成し(ステップS220)、作成した公開鍵pkと、使用するハッシュ関数Hとを情報処理装置2bの秘匿共通集合計算部24bに渡す(ステップS225)。例えば、秘匿共通集合計算部24aは、公開鍵pk及びハッシュ関数Hを記憶部21aの秘匿共通集合計算用ディレクトリに書き込み、秘匿共通集合計算部24bは、記憶部21aの秘匿共通集合計算用ディレクトリから公開鍵pk及びハッシュ関数Hを読み出す。あるいは、秘匿共通集合計算部24aから秘匿共通集合計算部24bへ公開鍵pk及びハッシュ関数Hを送信してもよい。
【0059】
秘匿共通集合計算部24bは、乱数rを発生させると、公開鍵pk及び乱数rを用いて各照合データbjをblind関数によりブラインド化(暗号化)し、暗号化照合データb’j(jは1以上NB以下の整数)を生成する。これにより、秘匿共通集合計算部24bは、暗号化照合データ集合SB’={b’1,…,b’NB}を生成する(ステップS230)。秘匿共通集合計算部24bは、暗号化照合データ集合SB’を秘匿共通集合計算部24aに渡す(ステップS235)。例えば、秘匿共通集合計算部24bは、暗号化照合データ集合SB’を記憶部21bの秘匿共通集合計算用ディレクトリに書き込み、秘匿共通集合計算部24aは、記憶部21bの秘匿共通集合計算用ディレクトリから暗号化照合データ集合SB’を読み出す。
【0060】
秘匿共通集合計算部24aは、秘密鍵skを用いて各暗号化照合データb’jを暗号化することによりユーザAの署名を行った、暗号化照合データb’’jを生成する。これにより、秘匿共通集合計算部24aは、暗号化照合データ集合SB’’={b’’1,…,b’’NB}を生成し(ステップS240)、秘匿共通集合計算部24bに渡す(ステップS245)。例えば、秘匿共通集合計算部24aは、暗号化照合データ集合SB’’を記憶部21aの秘匿共通集合計算用ディレクトリに書き込み、秘匿共通集合計算部24bは、記憶部21aの秘匿共通集合計算用ディレクトリから暗号化照合データ集合SB’’を読み出す。
【0061】
秘匿共通集合計算部24bは、ステップS230において用いたblind関数に対応するunblind関数により各暗号化照合データb’’jを復号し、暗号化照合データb’’’jを得る(ステップS250)。秘匿共通集合計算部24bは、ステップS225において取得したハッシュ関数を用いて暗号化照合データb’’’jのハッシュ値b’’’’jを生成する。これにより、秘匿共通集合計算部24bは、暗号化照合データ集合SB’’’’={b’’’’1,…,b’’’’NB}を生成する(ステップS255)。
【0062】
一方、秘匿共通集合計算部24aは、照合データaiを、秘密鍵skを用いて暗号化し、暗号化照合データa’i(iは1以上NA以下の整数)を生成する。これにより、秘匿共通集合計算部24aは、暗号化照合データ集合SA’={a’1,…,a’NA}を得る(ステップS260)。暗号化照合データa’iは、暗号化照合データb’’’jと同等の暗号化が行われた照合データである。
【0063】
さらに、秘匿共通集合計算部24aは、ステップS225において通知したハッシュ関数を用いて暗号化照合データa’iのハッシュ値a’’jを生成する。これにより、秘匿共通集合計算部24aは、暗号化照合データ集合SA’’={a’’1,…,a’’NA}を得る(ステップS265)。ハッシュ値a’’jは、ハッシュ値b’’’’jと同等の演算が行われた照合データである。秘匿共通集合計算部24aは、秘匿共通集合計算部24bに暗号化照合データ集合SA’’を渡す(ステップS270)。例えば、秘匿共通集合計算部24aは、暗号化照合データ集合SA’’を記憶部21aの秘匿共通集合計算用ディレクトリに書き込み、秘匿共通集合計算部24bは、記憶部21aの秘匿共通集合計算用ディレクトリから暗号化照合データ集合SA’’を読み出す。
【0064】
秘匿共通集合計算部24bは、全てのiと全てのjの組み合わせについて、一致するハッシュ値a’’iとハッシュ値b’’’’jを総当たりで探索する(ステップS275)。秘匿共通集合計算部24bは、探索により見つかったハッシュ値a’’iを設定した{a’’α,a’’β,…}を秘匿共通集合計算部24aに受け渡す(ステップS280)。秘匿共通集合計算部24aは、ハッシュ値a’’α,a’’β,…の生成元となった照合データaα,aβ,…を照合データ集合SAから抽出する(ステップS285)。また、秘匿共通集合計算部24bは、探索により見つかったjにより特定される照合データbjを照合データ集合SBから抽出する(ステップS290)。
【0065】
なお、情報処理装置2は、上述した秘匿共通集合計算方式以外の秘匿共通集合計算方式を適用してもよい。また、上記実施形態においては、情報処理装置2は、それぞれデータ変換規則が異なる集合変換部23を複数有しているが、入力したデータ変換規則に従ってパーソナルデータを照合データ集合に変換する集合変換部を備えてもよい。この場合、制御部22は、ユーザが選択したデータ変換規則を記憶部21から読み出して集合変換部に出力するか、集合変換部は選択されたデータ変換規則を記憶部21から読み出して実行する。
【0066】
なお、上述の情報処理装置2は、内部にコンピュータシステムを有している。そして、情報処理装置2の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含むものである。
【0067】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0068】
上述した実施形態によれば、情報処理装置は、受信部と、集合変換部と、秘匿共通集合計算部とを備える。受信部は、共通の要素情報の抽出のために照合を行う対象の照合データを、データ集合に含まれる少なくとも一部の要素情報に基づいて生成するためのデータ変換規則を指定する情報を受信する。データ変換規則は、要素情報を所定の粒度の照合データへ変換するための規則を含んでもよい。受信部は、例えば、制御部22である。集合変換部は、第一ユーザに関する情報を示す要素情報を含んだ第一データ集合を、指定されたデータ変換規則に従って生成した照合データの集合である第一照合データ集合に変換する。秘匿共通集合計算部は、第二ユーザに関する情報を示す要素情報を含んだ第二データ集合から変換され、かつ、指定されたデータ変換規則に従って生成された照合データの集合である第二照合データ集合と、集合変換部が変換した第一照合データ集合とに共通して含まれる照合データを、秘匿共通集合計算により得る。
【0069】
受信部は、使用する秘匿共通集合計算方式の情報を受信してもよい。秘匿共通集合計算部は、第二ユーザに対応した他の情報処理装置と協働して、受信部が受信した情報が示す秘匿共通集合計算方式の秘匿共通集合計算を行う。
【0070】
受信部は、第二ユーザに対応した他の情報処理装置に参照を許可する記憶場所を示す第一記憶場所情報と、第二ユーザにより当該情報処理装置に参照が許可された記憶場所を示す第二記憶場所情報を受信してもよい。例えば、第一記憶場所情報は、自装置における秘匿共通集合計算用ディレクトリである。第二記憶場所情報は、自装置と協働して秘匿共通集合計算を行う他の情報処理装置の秘匿共通集合計算用ディレクトリである。秘匿共通集合計算部は、第一記憶場所情報が示す記憶場所情報に秘匿共通集合計算において使用される暗号化した第一照合データ集合を書き込み、第二記憶場所情報が示す記憶場所情報から秘匿共通集合計算において使用される暗号化された第二照合データ集合を読み出す。
【0071】
第一データ集合は、第一ユーザの行動の履歴に関する要素情報を含み、第二データ集合は、前記第二ユーザの行動の履歴に関する要素情報を含む。行動は、例えば、コンテンツの利用、検索の実行、又は、地理的な移動である。
【0072】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこれら実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0073】
1…情報処理システム、 2…情報処理装置、 21…記憶部、 22…制御部、 23-1~23-N…集合変換部、 24-1~24-M…秘匿共通集合計算部、 3…入出力装置、 31…入力部、 32…出力部、 5…ネットワーク