(57)【要約】  本発明の乱数値特定装置は、元データの値に乱数値を加えることにより元データの値を隠蔽する際に、ユーザ識別子とユーザに関する情報の属性の属性名とを受け取り、属性名で示される属性の間の相関関係を特定し、ユーザ識別子で識別されるユーザの属性の属性値を少なくとも一つを取得し、取得された属性値と特定された相関関係とに基づいて特定される乱数値範囲内で、属性ごとに乱数を発生する。
2012121025.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ識別子とユーザに関する情報の属性の属性名とを受け取る受付手段と、
前記属性名で示される属性の相関関係を特定する相関関係特定手段と、
前記ユーザ識別子で識別されるユーザの前記属性の属性値を少なくとも一つ取得する属性値取得手段と、
前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、
を含む、乱数値特定装置。
【請求項２】
請求項１に記載の乱数値特定装置であって、
属性の相関関係を記憶する相関関係記憶手段を含み、
前記相関関係特定手段は、前記属性に基づいて前記相関関係記憶手段から相関関係を読み出して、当該属性の間の相関関係を特定する、乱数値特定装置。
【請求項３】
請求項１または２に記載の乱数値特定装置であって、
属性毎の値域を示す値域情報を記憶し、前記値域情報と前記取得された属性値と前記特定された相関関係とに基づいて、前記乱数値範囲を特定する乱数値範囲特定手段を含む、乱数値特定装置。
【請求項４】
請求項３に記載の乱数値特定装置であって、
前記乱数値範囲特定手段は、前記属性の相関関係に対応する関数の微分値に基づいて、前記乱数値範囲を特定する、乱数値特定装置。
【請求項５】
請求項４に記載の乱数値特定装置であって、
前記乱数値範囲特定手段は、前記相関関係に対応する関数のうち、前記取得した属性値との距離が最も近い関数の微分値に基づいて、前記乱数値範囲を特定する、乱数値特定装置。
【請求項６】
請求項４または５に記載の乱数値特定装置であって、
前記乱数値範囲特定手段は、前記取得された属性値と前記相関関係に対応する関数との距離に基づいて、前記記憶される値域情報の値を更新し、更新した値域情報に基づいて、前記乱数値範囲を特定する、乱数値特定装置。
【請求項７】
請求項２に記載の乱数値特定装置であって、
前記相関関係特定手段は、ユーザに対応する属性値に基づいて、属性の間の相関関係を計算し、計算した相関関係を前記相関関係記憶手段に記憶する、乱数値特定装置。
【請求項８】
請求項７に記載の乱数値特定装置であって、
前記相関関係特定手段は、所定の値を有する属性値に基づいて、相関関係を計算する、乱数値特定装置。
【請求項９】
請求項３に記載の乱数値特定装置であって、
前記受付手段は、属性値の範囲を示す範囲情報を受け取り、
前記乱数値範囲特定手段は、前記範囲情報に基づいて値域情報を生成する、乱数値特定装置。
【請求項１０】
請求項１ないし９のいずれか１項に記載の乱数値特定装置であって、
ユーザ識別子と属性名と属性値とを対応付けて記憶する属性値記憶手段と、
前記乱数値特定手段から属性毎に乱数を受け取り、前記属性値記憶手段から前記受付手段が受け取るユーザ識別子と当該属性に対応する属性名とに対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加する乱数付加手段と、
を含み、
前記属性値取得手段は、前記属性値記憶手段から前記受付手段が受け取るユーザ識別子と前記受付手段が受け取る属性名とに対応付けられる属性値を少なくとも一つ取得する、乱数値特定装置。
【請求項１１】
請求項１０に記載の乱数値特定装置であって、
ユーザ識別子と当該ユーザ識別子で識別されるユーザが開示を許諾する属性を示す許諾情報とを対応付けて記憶する許諾情報記憶手段と、
受付手段が受け取ったユーザ識別子に基づいて、当該ユーザ識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報のうちから少なくとも一つの属性を特定する検索予測手段と、
ユーザ識別子と属性名と乱数値とを対応付けて記憶する乱数値記憶手段と、を含み、
前記相関関係特定手段は、前記受付手段が受け取った属性名で示される属性および前記検索予測手段が特定した属性の間の相関関係を特定する、乱数値特定装置。
【請求項１２】
検索事業者装置と、情報保持事業者装置と、乱数値特定装置とを含み、
前記検索事業者装置は、
ユーザ識別子とユーザに関する情報の属性の属性名とを前記情報保持事業者装置に送信するクエリ送信手段を含み、
前記情報保持事業者装置は、
前記検索事業者装置からユーザ識別子と属性名とを受け取る受付手段と、
ユーザ識別子と属性名と属性値とを対応付けて記憶する属性値記憶手段と、
当該ユーザ識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得する属性値取得手段と、
当該ユーザ識別子と当該属性名と当該属性値とを前記乱数値特定装置に送信する送信手段と、
前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から前記受付手段が受け取るユーザ識別子と当該属性を示す属性名とに対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加する乱数付加手段と、
を含み、
前記乱数値特定装置は、
前記情報保持事業者装置からユーザ識別子と属性名と属性値とを受け取る受付手段と、
ユーザ識別子と当該ユーザ識別子で識別されるユーザが開示を許諾する属性を示す許諾情報とを対応付けて記憶する許諾情報記憶手段と、
前記受付手段が受け取ったユーザ識別子に基づいて、当該ユーザ識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報が示す属性から少なくとも一つの属性を特定する検索予測手段と、
前記特定された属性および前記受付手段が受け取る属性名が示す属性の間の相関関係を特定する相関関係特定手段と、
前記受付手段が受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、
前記乱数を前記情報保持事業者装置に送信する乱数送信手段と、
を含む、乱数値特定システム。
【請求項１３】
請求項１ないし１１のいずれか１項に記載の乱数値特定装置と、
当該乱数値特定装置に、ユーザ識別子と属性名とを送信する検索事業者装置と、
を含む乱数値特定システム。
【請求項１４】
請求項１２または１３に記載の乱数値特定システムであって、
属性値の範囲を示す範囲情報を前記検索事業者装置に送信する検索依頼事業者装置を含み、
前記検索事業者装置は、前記検索依頼事業者装置から範囲情報を受け取ると、当該範囲情報が示す属性値に対応する属性名を特定し、特定した属性名とユーザ識別子とを前記情報保持事業者装置に送信する、乱数値特定システム。
【請求項１５】
ユーザ識別子とユーザに関する情報の属性の属性名とを受け取り、
前記属性の間の相関関係を特定し、
前記ユーザ識別子で識別されるユーザの前記属性の属性値を少なくとも一つを取得し、
前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する、乱数値特定方法。
【請求項１６】
検索事業者装置が、
ユーザ識別子とユーザに関する情報の属性の属性名とを情報保持事業者装置に送信し、
前記情報保持事業者装置が、
前記検索事業者装置からユーザ識別子と属性名とを受け取り、
ユーザを識別できるユーザ識別子と属性名と属性値とを対応付けて属性値記憶手段に記憶し、
当該ユーザ識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得し、
当該ユーザ識別子と当該属性名と当該属性値とを乱数値特定装置に送信し、
前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から前記受付手段が受け取るユーザ識別子と前記受付手段が受け取る属性名に対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加し、
前記乱数値特定装置が、
前記情報保持事業者装置からユーザ識別子と属性名と属性値とを受け取り、
ユーザ識別子と当該ユーザ識別子で識別されるユーザが開示を許諾する属性を示す許諾情報とを対応付けて許諾情報記憶手段に記憶し、
前記受け取ったユーザ識別子に基づいて、当該ユーザ識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報から少なくとも一つの属性を特定し、
ユーザ識別子と属性名と乱数値とを対応付けて乱数値記憶手段に記憶し、
前記情報保持事業者装置から受け取った属性名で示される属性および前記特定した少なくとも一つの属性の間の相関関係を特定し、
前記受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生し、
発生させた乱数を前記情報保持事業者装置に送信する、乱数値特定方法。
【請求項１７】
コンピュータに、
ユーザ識別子とユーザに関する情報の属性の属性名とを受け取る処理と、
前記属性名で示される属性の間の相関関係を特定する処理と、
前記ユーザ識別子で識別されるユーザの前記属性の属性値を少なくとも一つ取得する処理と、
前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する処理と、を実行させるための乱数値特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、元データの値を隠蔽するための乱数値を特定する技術に関する。
【背景技術】
【０００２】
元データの値にランダムな値（乱数値）を加えることで、元データの値を隠蔽させる技術が知られている。
例えば、特許文献１に記載された技術は、元データを、ランダムステップを含む処理を用いて撹乱データに変換する。そして、当該技術は、その撹乱データに基づいてランダムステップの効果が除去されるような統計処理を行う。
また、非特許文献１に記載された技術は、所定の属性の間の属性値の相関に基づいて、ランダムなノイズ（乱数）を元データに加えて撹乱データを生成する。そして、当該技術は、その撹乱データに基づいて統計処理を行う。
【特許文献１】特開２００７−２８８４８０号公報
【非特許文献１】Ｚｈｅｎｇｌｉ  Ｈｕａｎｇ  ｅｔ  ａｌ．，″Ｄｅｒｉｖｉｎｇ  Ｐｒｉｖａｔｅ  Ｉｎｆｏｒｍａｔｉｏｎ  ｆｒｏｍ  Ｒａｎｄｏｍｉｚｅｄ  Ｄａｔａ，″Ｉｎ  Ｐｒｏｃ．ｏｆ  ｔｈｅ  ＡＣＭ  ＳＩＧＭＯＤ，ｐａｇｅｓ  ３７−４８，２００５．
【発明の概要】
【発明が解決しようとする課題】
【０００３】
特許文献１および非特許文献１に記載された技術は、複数の撹乱データを用いる統計処理を行い、ランダムデータの影響を取り除く。よって、特許文献１および非特許文献１に記載された技術は、個々の撹乱データの値が元データの値から大きく異なってしまい、撹乱データに元データが本来とり得ない値を有するデータが含まれてしまう。このような個々の撹乱データは、データの有効性が損なわれる。したがって、特許文献１および非特許文献１に記載された技術は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できない。
本発明の目的の一つは、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定する乱数値特定装置、乱数値特定システム、および乱数値特定方法を提供することにある。
【課題を解決するための手段】
【０００４】
本発明の一形態における第一の乱数値特定装置は、ユーザ識別子とユーザに関する情報の属性の属性名とを受け取る受付手段と、前記属性名で示される属性の相関関係を特定する相関関係特定手段と、前記ユーザ識別子で識別されるユーザの前記属性の属性値を少なくとも一つ取得する属性値取得手段と、前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、を含む。
本発明の一形態における第一の乱数値特定システムは、検索事業者装置と、情報保持事業者装置と、乱数値特定装置とを含み、前記検索事業者装置は、ユーザ識別子とユーザに関する情報の属性の属性名とを前記情報保持事業者装置に送信するクエリ送信手段を含み、前記情報保持事業者装置は、前記検索事業者装置からユーザ識別子と属性名とを受け取る受付手段と、ユーザ識別子と属性名と属性値とを対応付けて記憶する属性値記憶手段と、当該ユーザ識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得する属性値取得手段と、当該ユーザ識別子と当該属性名と当該属性値とを前記乱数値特定装置に送信する送信手段と、前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から前記受付手段が受け取るユーザ識別子と当該属性を示す属性名とに対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加する乱数付加手段と、を含み、前記乱数値特定装置は、前記情報保持事業者装置からユーザ識別子と属性名と属性値とを受け取る受付手段と、ユーザ識別子と当該ユーザ識別子で識別されるユーザが開示を許諾する属性を示す許諾情報とを対応付けて記憶する許諾情報記憶手段と、前記受付手段が受け取ったユーザ識別子に基づいて、当該ユーザ識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報が示す属性から少なくとも一つの属性を特定する検索予測手段と、前記特定された属性および前記受付手段が受け取る属性名が示す属性の間の相関関係を特定する相関関係特定手段と、前記受付手段が受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、前記乱数を前記情報保持事業者装置に送信する乱数送信手段と、を含む。
本発明の一形態における第一の乱数値特定方法は、ユーザ識別子とユーザに関する情報の属性の属性名とを受け取り、前記属性の間の相関関係を特定し、前記ユーザ識別子で識別されるユーザの前記属性の属性値を少なくとも一つを取得し、前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する。
本発明の一形態における第二の乱数値特定方法は、検索事業者装置が、ユーザ識別子とユーザに関する情報の属性の属性名とを情報保持事業者装置に送信し、前記情報保持事業者装置が、前記検索事業者装置からユーザ識別子と属性名とを受け取り、ユーザを識別できるユーザ識別子と属性名と属性値とを対応付けて属性値記憶手段に記憶し、当該ユーザ識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得し、当該ユーザ識別子と当該属性名と当該属性値とを乱数値特定装置に送信し、前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から前記受付手段が受け取るユーザ識別子と前記受付手段が受け取る属性名に対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加し、前記乱数値特定装置が、前記情報保持事業者装置からユーザ識別子と属性名と属性値とを受け取り、ユーザ識別子と当該ユーザ識別子で識別されるユーザが開示を許諾する属性を示す許諾情報とを対応付けて許諾情報記憶手段に記憶し、前記受け取ったユーザ識別子に基づいて、当該ユーザ識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報から少なくとも一つの属性を特定し、ユーザ識別子と属性名と乱数値とを対応付けて乱数値記憶手段に記憶し、前記情報保持事業者装置から受け取った属性名で示される属性および前記特定した少なくとも一つの属性の間の相関関係を特定し、前記受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生し、発生させた乱数を前記情報保持事業者装置に送信する。
本発明の一形態における第一の乱数値特定プログラムは、コンピュータに、ユーザ識別子とユーザに関する情報の属性の属性名とを受け取る処理と、前記属性名で示される属性の間の相関関係を特定する処理と、前記ユーザ識別子で識別されるユーザの前記属性の属性値を少なくとも一つ取得する処理と、前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する処理と、を実行させる。
【発明の効果】
【０００５】
本発明の効果の一例は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できることである。
【図面の簡単な説明】
【０００６】
【図１】図１は、第一の実施の形態における乱数値特定装置の構成を示すブロック図である。
【図２】図２は、第一の実施の形態における乱数値特定装置とその周辺装置のハードウェア構成を示す図である。
【図３】図３は、第一の実施の形態における乱数値特定装置の動作の概要を示すフローチャートである。
【図４】図４は、第二の実施の形態における乱数値特定システムの構成を示すブロック図である。
【図５】図５は、相関関係記憶部が記憶する情報の一例を示す情報である。
【図６】図６は、属性値記憶部が記憶する情報の一例を示す図である。
【図７】図７は、乱数値範囲特定部が特定する所定の部分空間の一例を示す図である。
【図８】図８は、乱数値範囲特定部が特定する所定の部分空間の一例を示す図である。
【図９】図９は、乱数値範囲特定部が特定する所定の部分空間の一例を示す図である。
【図１０】図１０は、図７で示される部分空間が回転された例を示す図である。
【図１１】図１１は、ある属性情報と、その属性情報が含む各属性値に対して乱数が付加された後の値が取りうる範囲と、属性「年齢」および「年収」の間の相関関係を示す関数と、を示す図である。
【図１２】図１２は、第二の実施の形態における乱数値特定システムの動作の概要を示すフローチャートである。
【図１３】図１３は、第一の実施の形態における乱数値範囲特定部の動作の概要を示すフローチャートである。
【図１４】図１４は、第二の実施の形態の第一の変形例における乱数値特定システムの構成を示すブロック図である。
【図１５】図１５は、第二の実施の形態の第二の変形例における乱数値特定システムの構成を示すブロック図である。
【図１６】図１６は、第三の実施の形態における乱数値特定システムの構成を示すブロック図である。
【図１７】図１７は、許諾情報記憶部が記憶する情報の一例を示す図である。
【図１８】図１８は、属性値記憶部が記憶する情報の一例を示す図である。
【図１９】図１９は、第三の実施の形態における乱数値特定システムの動作の概要を示すフローチャートである。
【図２０】図２０は、第三の実施の形態の第一の変形例における乱数値特定システムの構成を示すブロック図である。
【図２１】図２１は、第四の実施の形態における乱数値特定システムの構成を示すブロック図である。
【図２２】図２２は、第四の実施の形態における情報保持事業者装置の構成を示すブロック図である。
【図２３】図２３は、第四の実施の形態における乱数値特定装置の構成を示すブロック図である。
【図２４】図２４は、第四の実施の形態における乱数値特定システムの動作の概要を示すフローチャートである。
【図２５】図２５は、年齢と年収との相関関係および元データに乱数値が付加された後の値の範囲の具体例を示す図である。
【発明を実施するための形態】
【０００７】
本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図面および明細書記載の各実施の形態において、同様の機能を備える構成要素には同じ符号が与えられている。また、同様の符号が与えられた構成要素の詳細な説明は、省略する場合がある。
［第一の実施の形態］
図１は、本発明の第一の実施の形態における乱数値特定装置１００の構成を示すブロック図である。図１を参照すると、乱数値特定装置１００は、受付部１０１と相関関係特定部１０２と属性値取得部１０３と乱数発生部１０５とを含む。
＝＝＝受付部１０１＝＝＝
受付部１０１は、ユーザ識別子とユーザに関する情報の属性を示す属性名とを、図示しない他の機能手段または外部装置から受け取る。
ユーザ識別子とは、ユーザの名称またはユーザを識別するための記号である。
ユーザに関する情報とは、例えばユーザの年齢や年収といった個人情報、ユーザが住む家の家賃や築年数や駅からの距離、ユーザの子供の学力、ユーザの嗜好に関する情報（喫煙、飲酒、運動の経験に関する情報）など、あらゆる情報を含む。
ユーザに関する情報の属性とは、そのユーザに関するある特定の項目とその項目に対する値とを示す情報である。ユーザに関する情報の属性の属性名とは、そのユーザに関するある特定の項目を示す情報である。ユーザに関する情報の属性の属性値とは、そのユーザに関するある特定の項目に対する値である。
つまり、ユーザに関する情報の属性とは、例えば「Ａｌｉｃｅの年齢が１０歳」という情報における「年齢＝１０歳」という情報のことである。そして、前述の例において、ユーザに関する情報の属性名とは、「年齢」である。同様に、ユーザに関する情報の属性の属性値は、「１０歳」である。また、前述の例において、「Ａｌｉｃｅ」は、ユーザ識別子である。
＝＝＝相関関係特定部１０２＝＝＝
相関関係特定部１０２は、受付部１０１が受け取った属性名で示される属性の間の相関関係を特定する。
相関関係とは、例えば、その属性に対応する属性値の間の関数である。ただし、この相関関係は一対一である必要はない。相関関係は、例えば、多価関数でもよい。
相関関係特定部１０２は、図示しない相関関係記憶部から相関関係を受け取ってもよい。あるいは、相関関係特定部１０２は、属性名と対応する属性値とを受け取り、受け取った属性名と属性値とに基づいて属性の間における回帰曲線または回帰直線を算出し、その回帰曲線または回帰直線を示す情報を相関関係として特定してもよい。
相関関係特定部１０２は、属性の間における回帰曲線または回帰直線を算出する場合、属性値が所定の値を示す属性を用いて算出してもよい。例えば、この所定の値を示す属性とは、検索範囲に含まれる値を示す属性でもよい。検索範囲とは、ある属性の属性値の範囲を指定する情報である。
相関関係特定部１０２が相関関係を算出する代わりに、図示しない相関関係計算部が相関関係を算出してもよい。
＝＝＝属性値取得部１０３＝＝＝
属性値取得部１０３は、受付部１０１が受け取ったユーザ識別子で識別されるユーザについての情報のうち、受付部１０１が受け取った属性名に対応する属性値を少なくとも一つ含む属性情報を取得する。属性情報とは、一人のユーザの複数の属性の属性値を含む情報である。例えば、属性「年齢」および「年収」の属性値として、（３５歳、１１００万円）というデータが、属性情報である。
属性値取得部１０３は、例えば、ユーザ識別子と属性名と属性値とを対応付けて記憶する図示しない属性値記憶部から、受付部１０１が受け取ったユーザ識別子に対応付けられる属性値のうちの少なくとも一つを含む属性情報を取得してもよい。この属性値記憶部は、乱数値特定装置１００に含まれてもよいし、図示しない外部装置に含まれてもよい。また、この属性値記憶部が記憶する属性値は、対応付けられるユーザ識別子で識別されるユーザに関する属性値であり、対応付けられる属性名で示される属性の属性値である。
＝＝＝乱数発生部１０５＝＝＝
乱数発生部１０５は、属性値取得部１０３が取得した属性情報と、相関関係特定部１０２が特定した属性の間の相関関係とに基づいて特定される乱数値範囲内で、属性毎に乱数を発生する。乱数値範囲とは、相関関係特定部１０２が特定した属性の間において乱数が取りうる範囲である。乱数値範囲は、図示しない乱数値範囲特定部を用いて特定される。この乱数値範囲特定部を、乱数値特定装置１００が含んでもよいし、図示しない他の外部装置が含んでもよい。
図２は、本発明の第一の実施の形態における乱数値特定装置１００とその周辺装置のハードウェア構成の一例を示す図である。図２に示すように、乱数値特定装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１９１、ネットワーク接続用の通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１９２（通信インターフェース１９２）、メモリ１９３、およびプログラムを格納するハードディスク等の記憶装置１９４を含む。また、乱数値特定装置１００は、バス１９７を介して入力装置１９５および出力装置１９６に接続する。
ＣＰＵ１９１は、オペレーティングシステムを動作させて本発明の第一の実施の形態に係る乱数値特定装置１００の全体を制御する。また、ＣＰＵ１９１は、例えば、ドライブ装置などに装着された記録媒体１９８からメモリ１９３にプログラムやデータを読み出し、このプログラムやデータにしたがって、第一の実施の形態における受付部１０１、相関関係特定部１０２、属性値取得部１０３および乱数発生部１０５として各種の処理を実行する。
記憶装置１９４は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続される図示しない外部コンピュータからダウンロードされてもよい。
入力装置１９５は、例えば、マウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力装置１９５は、マウスやキーボード、内蔵のキーボタンに限らず、例えば、タッチパネル、加速度計、ジャイロセンサ、カメラなどでもよい。
出力装置１９６は、例えば、ディスプレイで実現され、出力を確認するために用いられる。
なお、第一の実施の形態の説明において利用されるブロック図（図１）には、ハードウェア単位の構成ではなく、機能単位のブロックが示される。これらの機能ブロックは、図２に示すハードウェア構成を基に実現される。ただし、乱数値特定装置１００が含む各部の実現手段は、図１および図２の記載に限定されない。すなわち、乱数値特定装置１００は、物理的に結合した一つの装置で実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置で実現されてもよい。
また、ＣＰＵ１９１は、記憶装置１９４に記録されているコンピュータプログラムを読み込み、そのプログラムにしたがって、受付部１０１、相関関係特定部１０２、属性値取得部１０３、および乱数発生部１０５として動作してもよい。
また、前述のプログラムのコードを記録した記録媒体（または記憶媒体）が、乱数値特定装置１００に供給され、乱数値特定装置１００が記録媒体に格納されたプログラムのコードを読み出して、プログラムを実行してもよい。すなわち、本発明は、第一の実施の形態における乱数値特定装置１００が実行するソフトウェア（情報処理プログラム）を一時的に記憶する、または、非一時的に記憶する記録媒体１９８も含む。
図３は、第一の実施の形態における乱数値特定装置１００の動作の概要を示すフローチャートである。
受付部１０１は、ユーザ識別子と対応するユーザに関する属性名とを受け取る（ステップＳ１０１）。相関関係特定部１０２は、受付部１０１が受け取った属性名で示される属性の間の相関関係を特定する（ステップＳ１０２）。属性値取得部１０３は、受付部１０１が受け取ったユーザ識別子で識別されるユーザについての情報のうち、受付部１０１が受け取った属性名に対応する属性値を少なくとも一つ含む属性情報を取得する（ステップＳ１０３）。
乱数発生部１０５は、属性値取得部１０３が取得した属性情報と相関関係特定部１０２が特定した属性の間の相関関係とに基づいて特定される乱数値範囲内で、属性毎に乱数を発生する（ステップＳ１０４）。
第一の実施の形態における乱数値特定装置１００は、ユーザに関する情報の属性の属性名を受け取り、受け取った属性名が示す属性の間の相関関係を特定する。また乱数値特定装置１００は、ユーザの属性名に対応する属性値を少なくとも一つ含む属性情報を取得する。そして、乱数値特定装置１００は、取得した属性情報と前述の特定した相関関係との両方の情報に基づいて特定される乱数値範囲に基づいて、属性値に付加する乱数を発生する。
乱数値範囲は、属性の間において乱数が取りうる範囲である。乱数値範囲は、乱数が付加される属性値の値に基づくので、属性値毎に異なるものとなる。また、乱数値範囲は、属性間の相関関係に基づくので、その乱数値範囲に含まれる乱数も属性間の相関関係に基づく値となる。したがって、かかる乱数が属性値に付加されても、乱数値が付加された属性値の値がデータの取り得る値である可能性は、高くなる。さらに、元のデータの秘密性は、保持される。
したがって、第一の実施の形態における乱数値特定装置１００は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できる。
例えば、非特許文献１に記載の技術では、属性間の相関値に基づいて乱数値が算出される。ここで、非特許文献１に記載の技術では、元データの値に関わらない単一の計算方法を用いてランダムなノイズ値が算出される。よって、非特許文献１に記載の技術は、元データの属性の間に明確な相関値がある場合、つまり、元データの属性の間の相関関係が一次の直線である場合でなければ適用できない。また、特許文献１および特許文献１に記載の技術は、元のデータに応じてその元のデータに付加する乱数値の取りうる範囲が特定されない。よって、乱数値が付加されたデータの値は、元のデータの値と大きく異なり、そのデータの有効性を低減させてしまう。
一方、第一の実施の形態における乱数値特定装置１００は、元のデータの値に基づいて特定される乱数値範囲に基づいて、元のデータに付加する乱数を発生する。よって、乱数値特定装置１００は、属性の間の相関関係が一次の直線以外、例えば曲線である場合でも適用可能である。さらに、第一の実施の形態において、元のデータにその乱数値範囲に含まれる乱数値が付加されても、乱数値が付加されたデータの値は、元のデータと比較的近い値になる。その上、元のデータの秘密性は、保持される。この利点は、乱数値特定装置１００が記憶する値域情報に基づいて特定される所定の部分空間の大きさに応じた大きさが、乱数値範囲の大きさとして保証されることに基づいて得られる。
［第二の実施の形態］
図４は、本発明の第二の実施の形態における乱数値特定システム２０の構成を示すブロック図である。図４を参照すると、乱数値特定システム２０は、検索事業者装置２３０と乱数値特定装置２００とを含む。
＜検索事業者装置２３０＞
検索事業者装置２３０は、ユーザ識別子と、ユーザに関する情報の属性の属性名とを、後述の乱数値特定装置２００へ送信する。検索事業者装置２３０は、図示しない外部装置からユーザ識別子を受け取ってもよいし、ユーザ識別子を記憶する図示しないユーザ情報記憶部を含み、そのユーザ情報記憶部に記憶されているユーザ識別子を読み出してもよい。
検索事業者装置２３０は、前述の属性名に対応する属性値の範囲を示す情報である検索範囲を、乱数値特定装置２００へ送信してもよい。
検索事業者装置２３０は、乱数値の付加された属性値を受け取ると、受け取った属性値を出力する。
＜乱数値特定装置２００＞
乱数値特定装置２００は、受付部２０１と相関関係特定部２０２と属性値取得部２０３と乱数値範囲特定部２０４と乱数発生部２０５と相関関係記憶部２０７と属性値記憶部２１１と乱数付加部２１２とを含む。
＝＝＝相関関係記憶部２０７＝＝＝
相関関係記憶部２０７は、属性の間における相関関係を記憶する。図５は、相関関係記憶部２０７が記憶する情報の一例を示す情報である。図５を参照すると、例えば、相関関係記憶部２０７は、属性の属性名「年収」および「年齢」と、相関関係としてその属性の間の相関を示す関数の実体「Ｆｕｎｃ１」とを対応付けて記憶する。
＝＝＝属性値記憶部２１１＝＝＝
属性値記憶部２１１は、ユーザ識別子と属性名と属性値とを対応付けて記憶する。この属性値は、その属性値に対応付けられるユーザ識別子で識別されるユーザに関する属性の属性値である。また、この属性名は、前述の属性の属性名である。図６は、属性値記憶部２１１が記憶する情報の一例を示す図である。図６を参照すると、属性値記憶部２１１は、例えば、ユーザ識別子「Ａｌｉｃｅ」と、属性名「年収」およびその属性値「１０００万円」と、属性名「年齢」およびその属性値「３０歳」とを対応付けて記憶する。
＝＝＝受付部２０１＝＝＝
受付部２０１は、受付部１０１が備える機能と同様の機能を備える。例えば、受付部２０１は、検索事業者装置２３０からユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを相関関係特定部２０２に渡す。また、受付部２０１は、検索事業者装置２３０から検索範囲を受け取ると、受け取った検索範囲を相関関係特定部２０２に渡す。
検索範囲とは、ある属性の属性値の範囲を指定する情報である。
＝＝＝相関関係特定部２０２＝＝＝
相関関係特定部２０２は、相関関係特定部１０２が備える機能と同様の機能を備える。また、相関関係特定部２０２は、受付部２０１から検索範囲を受け取る。相関関係特定部２０２は、属性名と対応する属性値とを受け取ると、検索範囲に含まれる値を示す属性値を特定する。例えば、相関関係特定部２０２は、特定した属性値と対応する属性名とに基づいて属性の間における回帰曲線または回帰直線を算出する。相関関係特定部２０２は、算出した回帰直線または回帰直線を示す情報を相関関係として特定し、その相関関係を相関関係記憶部２０７に記憶する。
相関関係特定部２０２が相関関係を算出する代わりに、図示しない相関関係計算部が、相関関係を算出してもよい。
＝＝＝属性値取得部２０３＝＝＝
属性値取得部２０３は、属性値取得部１０３が備える機能と同様の機能を備える。例えば、属性値取得部２０３は、受付部２０１が受け取ったユーザ識別子に基づいて、受付部２０１が受け取った属性名に対応する属性値を少なくとも一つ含む属性情報を、属性値記憶部２１１から取得する。この属性情報は、受付部２０１が受け取ったユーザ識別子で識別されるユーザに関する情報から特定される情報である。具体的には、属性値取得部２０３は、受付部２０１が受け取ったユーザ識別子に対応付けられる属性値を属性値記憶部２１１から読み出す。そして、属性値取得部２０３は、読み出した属性値のうち受付部２０１が受け取った属性名に対応する属性値を特定し、特定した属性値を少なくとも一つ含む属性情報を特定する。
＝＝＝乱数値範囲特定部２０４＝＝＝
乱数値範囲特定部２０４は、属性値取得部２０３が取得した属性情報と、相関関係特定部２０２が特定した属性の間の相関関係とに基づいて、乱数値範囲を特定する。乱数値範囲とは、相関関係特定部２０２が特定した属性の間において乱数が取りうる範囲である。
乱数値範囲特定部２０４は、属性毎に所定の値域または属性値の範囲を示す値域情報を記憶してもよい。そして、乱数値範囲特定部２０４は、受付部２０１が受け取った属性名で示される属性に対応する値域情報と属性値取得部２０３が取得した属性情報と相関関係特定部２０２が特定した相関関係とに基づいて、乱数値範囲を特定してもよい。
具体的には、乱数値範囲特定部２０４は、以下の処理に基づいて乱数値範囲を特定してもよい。第一に、乱数値範囲特定部２０４は、相関関係特定部１０２が特定した相関関係に対応する所定の関数に対して、属性値取得部２０３が取得した属性情報に含まれる各属性値に基づいて、接ベクトルを算出する。
例えば、相関関係に対応する所定の関数が二次元（「年齢」および「年収」）の関数であると仮定する。この二次元空間上の属性情報で示される一点が（ｘ０，ｙ０）と示されると仮定する。乱数値範囲特定部２０４は、法線ベクトルが（ｘ０，ｙ０）を通るような関数上のある点（ｐ，ｑ）における接線（接ベクトル）を算出する。
または、乱数値範囲特定部２０４は、関数上のある点（ｘ０，ｑ）または（ｐ，ｙ０）における接線（接ベクトル）を算出してもよい。例えば、相関関係に対応する所定の関数が定義される空間の次元数が、属性値取得部２０３が取得した属性情報に含まれる属性値の個数より大きい場合、乱数値範囲特定部２０４は、その属性値を含む関数上のある点における接ベクトルを算出する。
前述の例で、二次元空間における算出方法を例示したが、相関関係に対応する所定の関数は、三次元以上でもよい。かかる場合でも、乱数値範囲特定部２０４は、前述と同様の方法を用いて接ベクトルを算出する。
相関関係に対応する関数は、複数でもよい。相関関係に対応する関数が複数の場合、乱数値範囲特定部２０４は、属性値取得部２０３が取得した属性情報との距離が最も近い関数を選択し、その関数に対して前述の属性情報に基づいて接ベクトルを算出する。
第二に、乱数値範囲特定部２０４は、受付部２０１が受け取った属性名で示される属性に対応する値域情報に基づいて、その属性を軸とする空間の一部である所定の部分空間を特定する。
図７、図８および図９は、乱数値範囲特定部２０４が特定する所定の部分空間の一例を示す図である。これらの図は例示であって、所定の部分空間は、例示の図形に限定されない。図７、図８および図９を参照すると、乱数値範囲特定部２０４は、値域情報として、属性名「年齢」についての値域情報１８１ａと、属性名「年収」についての値域情報１８１ｂとを記憶する。値域情報１８１ａの値は、「プラスマイナス１０歳」である。値域情報１８１ｂの値は、「プラスマイナス２００万」である。そして、乱数値範囲特定部２０４は、これらの値域情報１８１ａ、１８１ｂに基づいて、所定の部分空間１８２を特定する。
第三に、乱数値範囲特定部２０４は、算出した接ベクトルに基づいて、特定した部分空間を回転させる。図１０は、図７で示される部分空間１８２が回転させられた例を示す図である。
説明の簡単にするため、例えば、乱数値範囲特定部２０４が算出した接ベクトルは、ある点（ｐ，ｑ）における接ベクトルであると仮定する。乱数値範囲特定部２０４は、この接ベクトルが示す傾き（微分値）ｆ’を算出してもよい。この場合、乱数値範囲特定部２０４は、算出した微分値ｆ’に基づいて、特定した部分空間を角度θだけ回転させる。この角度θは、微分値ｆ’に対応する接ベクトル（接線）の傾き角度に対応する。例えば、角度θは、以下の［数１］を用いて求められる値である。［数１］において、αは所定の定数である。
【数１】
2012121025.tif 000003
所定の定数αは、あらかじめ乱数値範囲特定部２０４が記憶してもよいし、図示しない外部装置から受け取る情報でもよい。
属性が３以上ある場合、前述の角度θまたは微分値ｆ’は、２つの属性からなる平面上での角度または関数である。乱数値範囲特定部２０４は、３以上の属性から２つの属性を選択し、角度θまたは微分値ｆ’を算出する。
図７における所定の部分空間１８２に含まれる乱数値の座標が［数２］に示される値で表されるとき、その乱数値が角度θだけ回転された空間にマッピングされた際の乱数値の座標は、［数３］の式を用いて求められる。
【数２】
2012121025.tif 000004
【数３】
2012121025.tif 000005
乱数値範囲特定部２０４は、以上の処理を用いて求められた部分空間を乱数値範囲として特定する。
図１１は、ある属性情報と、その属性情報が含む各属性値に対して乱数が付加された後の値が取りうる範囲と、属性「年齢」および「年収」の間の相関関係を示す関数（相関関係１８５）と、を示す図である。図１１を参照すると、元の属性情報のデータである元データ１８４は、乱数値が付加されて新部分空間１８３内のいずれかの値に変換される。変換後のデータがとりうる値の範囲の大きさは、図７で示される部分空間１８２の大きさと同一である。変換後のデータから元のデータが解読される可能性は、部分空間１８２の大きさに依存する。この新部分空間１８３の大きさが十分であれば、元のデータの安全性が保証されることとなる。この新部分空間１８３の大きさは、乱数値範囲特定部２０４が記憶する値域情報に依存する。
乱数値範囲特定部２０４は、属性値取得部２０３が取得した属性情報と相関関係特定部２０２が特定した相関関係に対応する相関関係に対応する関数との距離に基づいて、記憶する値域情報の値を更新してもよい。例えば、乱数値範囲特定部２０４は、属性情報で示されるある点と関数との距離に比例する係数を値域情報の範囲の大きさに掛けることで、値域情報の値を更新してもよい。
属性値取得部２０３が取得した属性情報と相関関係特定部２０２が特定した相関関係に対応する相関関係に対応する関数との距離は、乱数値範囲特定部２０４が接ベクトルを算出する際に用いた法線ベクトルの長さでもよい。前述の二次元空間の属性情報の例において、この二次元空間上の属性情報で示される一点が（ｘ０，ｙ０）と示されると仮定する。乱数値範囲特定部２０４は、法線ベクトルが（ｘ０，ｙ０）を通るような関数上のある点（ｐ，ｑ）におけるその法線ベクトルの長さを算出する。そして乱数値範囲特定部２０４は、算出した法線ベクトルの長さを、前述の距離として特定する。
相関関係に対応する関数から距離の離れている属性情報は、特異な値を持つことを示す値であるので、その属性情報に対応するユーザが特定される可能性は、高くなる。したがって、相関関係に対応する関数からの距離に応じて値域情報の値を更新する（例えば、大きくする）ことで、かかるユーザのプライバシーを保護できる。また、相関関係に対応する関数から距離がそれほど離れていない属性情報は、特異でない一般的な値を持つことを示す値であるので、その属性情報に対応するユーザが特定される可能性は、低くなる。したがって、相関関係に対応する関数から距離に応じて値域情報の値を更新する（例えば、小さくする）ことで、ユーザのプライバシーを保護しつつ、データの有効性を高めることができる。
乱数値範囲特定部２０４は、図示しない外部装置または他の機能手段から受け取る情報に基づいて値域情報を生成し、生成した値域情報を記憶してもよい。例えば、受付部２０１が、属性名とともにその属性名と対応する属性値の範囲を示す範囲情報を受け取ると、乱数値範囲特定部２０４は、属性名が示す属性の値域情報として、その範囲情報の値を記憶する。
＝＝＝乱数発生部２０５＝＝＝
乱数発生部２０５は、乱数発生部１０５が備える機能と同様の機能を備える。例えば、乱数発生部２０５は、乱数値が、乱数値範囲特定部２０４が特定した乱数値範囲内になるように、対応する属性毎に乱数を発生させる。
＝＝＝乱数付加部２１２＝＝＝
乱数付加部２１２は、乱数発生部２０５が発生した、各属性に対応する乱数値を受け取る。乱数付加部２１２は、受付部２０１が受け取ったユーザ識別子に対応付けられる属性値のうち、受付部２０１が受け取った属性名に対応する属性値を、属性値記憶部２１１から読み出す。そして、乱数付加部２１２は、読み出した各属性値に、その属性名で示される属性に対応する乱数値を付加する。乱数付加部２１２は、乱数値を付加した各属性値を検索事業者装置２３０に送信する。
第二の実施の形態における乱数値特定装置２００は、乱数値範囲特定部２０４が用いる所定の定数αおよび値域情報を、検索事業者装置２３０から受け取ってもよい。検索事業者装置２３０を用いるユーザは、これらの値（定数αおよび値域情報）を乱数値特定装置２００に設定することで、乱数値範囲をカスタマイズできる。その結果、本発明の乱数特定システムの検索事業者装置２３０のユーザは、乱数値を加えた後のデータの有効性を高めることのでき、適切な乱数値を特定できる。
図１２は、第二の実施の形態における乱数値特定システム２０の動作の概要を示すフローチャートである。
検索事業者装置２３０は、ユーザ識別子と、対応するユーザに関する属性名とを乱数値特定装置２００へ送信する（ステップＳ２０１）。ユーザ識別子と属性名とは、図示しない外部装置から受け取る情報に基づいて定められてもよい。
受付部２０１は、ユーザ識別子と属性名とを受け取る（ステップＳ２０２）。相関関係特定部２０２は、受付部２０１が受け取った属性名で示される属性の間の相関関係を特定する（ステップＳ２０３）。属性値取得部２０３は、受付部２０１が受け取ったユーザ識別子に基づいて、受付部２０１が受け取った属性名に対応する属性値を少なくとも一つ含む属性情報を属性値記憶部２１１から取得する（ステップＳ２０４）。この属性情報は、受付部２０１が受け取ったユーザ識別子で識別されるユーザに関する情報の中から特定される。
乱数値範囲特定部２０４は、属性値取得部２０３が取得した属性情報と、相関関係特定部２０２が特定した属性の間の相関関係とに基づいて、その属性の間において乱数が取りうる範囲である乱数値範囲を特定する（ステップＳ２０５）。乱数発生部２０５は、乱数値が、乱数値範囲特定部２０４が特定した乱数値範囲内になるように、対応する属性毎に乱数を発生する（ステップＳ２０６）。
乱数付加部２１２は、乱数発生部２０５が発生した、各属性に対応する乱数値を受け取る。乱数付加部２１２は、受付部２０１が受け取ったユーザ識別子に対応付けられる属性値のうち、受付部２０１が受け取った属性名に対応する属性値を属性値記憶部２１１から読み出す（ステップＳ２０７）。そして、乱数付加部２１２は、読み出した各属性値に対し、対応する属性名で示される属性に対応する乱数値を付加する（ステップＳ２０８）。乱数付加部２１２は、乱数値を付加した各属性値を検索事業者装置２３０に送信する（ステップＳ２０９）。検索事業者装置２３０は、乱数値特定装置２００から乱数値が付加された属性値を受け取ると、受け取った属性値を出力する（ステップＳ２１０）。
図１３は、第二の実施の形態における乱数値範囲特定部２０４の動作の概要を示すフローチャートである。
乱数値範囲特定部２０４は、相関関係特定部２０２が特定した相関関係に含まれる所定の関数に対して、属性値取得部２０３が取得した属性情報に基づいて接ベクトル（微分値）を算出する（ステップＳ２０５１）。
乱数値範囲特定部２０４は、受付部２０１が受け取った属性名で示される属性に対応する値域情報に基づいて、その属性を軸とする空間の一部である所定の部分空間を特定する（ステップＳ２０５２）。
乱数値範囲特定部２０４は、算出した接ベクトル（微分値）に基づいて、特定した部分空間を回転させる（ステップＳ２０５３）。
乱数値範囲特定部２０４は、ステップＳ２０５３の処理で求められた部分空間を乱数値範囲として特定する（ステップＳ２０５４）。
第二の実施の形態における乱数値特定システム２０は、第一の実施の形態における乱数値特定装置１００が備える構成要素を含んでいる。したがって、第二の実施の形態における乱数値特定システム２０は、第一の実施の形態における乱数値特定装置１００と同様の効果を有する。
また、第二の実施の形態における乱数値特定システム２０は、ある属性値の範囲を指定する情報である検索範囲に基づいて、相関関係を計算するための属性値を特定する。例えば、ユーザが検索範囲を特定した場合、属性値に付加される乱数値の値の範囲である乱数値範囲は、その検索範囲に含まれる値を有する属性値に基づいて計算される相関関係を用いて特定される。つまり、乱数値範囲はユーザが指定する検索範囲に含まれる属性値の値に応じて特定される。例えば、局所的に、検索範囲に含まれる属性値の間で相関関係があり、すべての属性値の間では大きな相関関係がない場合でも、第二の実施の形態における乱数値特定システム２０は、その相関関係が適切に反映された乱数値範囲を特定できる。
よって、第二の実施の形態における乱数値特定システム２０は、乱数値を加えた後のデータの有効性を高めることのできる乱数値を特定できる。
第二の実施の形態における乱数値特定システム２０は、受け取った検索範囲に含まれる値を示す属性値を特定し、特定した属性値と対応する属性名とに基づいて属性の間における回帰曲線または回帰直線を算出する。つまり、属性値が頻繁に変化するような場合でも、乱数値特定システム２０は、検索範囲を受け取った時点での属性値に基づいて、属性値に付加する乱数値を特定する乱数値範囲を特定する。よって、第二の実施の形態における乱数値特定システム２０は、属性値が頻繁に変化する場合でも、その変化した属性値に応じた相関関係が適切に反映された乱数値範囲を特定できる。すなわち、第二の実施の形態における乱数値特定システム２０は、乱数値を加えた後のデータの有効性を高めることのできる乱数値を特定できる。
例えば、第二の実施の形態における乱数値特定システム２０のユーザが、「年齢２５歳ないし４５歳、年収８００万円ないし１２００万円」の人物を検索すると仮定する。このユーザは、乱数値特定システム２０に、属性名「年齢」と「年収」、属性値「３５歳」と「１０００万円」、および「年齢」に対する検索範囲「プラスマイナス１０歳」と「年収」に対する検索範囲「プラスマイナス２００万円」を入力する。乱数値特定装置２００は、属性名「年齢」および「年収」の間の相関関係を特定する。例えば、図２５は、「年齢」と「年収」との相関関係を示す図である。乱数値特定システム２０は、検索範囲「２５歳ないし４５歳」および「８００万円ないし１２００万円」に含まれる属性値（元データ１８４）を特定する。そして、乱数値特定システム２０は、その属性値に基づいて乱数値範囲を特定する。そして、乱数値特定システム２０は、乱数値範囲からある乱数値を特定し、属性値に付加する。乱数値が付加された値は、新部分空間１８３に含まれるいずれかの値となる。
関連技術の乱数を付加するシステムは、各属性に対して、その属性に対応する値域情報を適用して、属性値に乱数を付加する。よって、例えば、値域情報が「プラスマイナス１０歳、プラスマイナス２００万円」であった場合、関連技術では、元データ「３５歳、１０００万円」が「４５歳、８００万円」に変換されてしまう。この値は、「年齢」が取り得る最大値であり、「年収」がとりうる最小値である。この変換後の値は、「年齢」と「年収」との相関関係から大きく離れた値である。一方、第二の実施の形態における乱数値特定システム２０は、元データ１８４が取り得る値を、部分空間１８２ではなく、新部分空間１８３と特定できる。よって、第二の実施の形態における乱数値特定システム２０では、前述の例のように元データ「３５歳、１０００万円」が「４５歳、８００万円」に変換されることはない。
［第二の実施の形態の第一の変形例］
図１４は、本発明の第二の実施の形態の第一の変形例における乱数値特定システム２０ａの構成を示すブロック図である。図１４を参照すると、乱数値特定システム２０ａは、検索事業者装置２３０ａと情報保持事業者装置２２０とを含む。
＜検索事業者装置２３０ａ＞
検索事業者装置２３０ａは、ユーザ識別子とユーザに関する情報の属性の属性名とを、後述の情報保持事業者装置２２０へ送信する。検索事業者装置２３０ａは、図示しない外部装置からユーザ識別子を受け取ってもよいし、ユーザ識別子を記憶する図示しないユーザ情報記憶部を含み、そのユーザ情報記憶部に記憶されているユーザ識別子を読み出してもよい。
検索事業者装置２３０ａは、前述の属性名に対応する属性値の範囲を示す情報である検索範囲を情報保持事業者装置２２０へ送信してもよい。
検索事業者装置２３０ａは、乱数値の付加された属性値を受け取ると、受け取った属性値を出力する。
＜情報保持事業者装置２２０＞
情報保持事業者装置２２０は、乱数値特定装置２００ａと受付部２２１と属性値記憶部２１１と乱数付加部２１２とを含む。
＝＝＝受付部２２１＝＝＝
受付部２２１は、検索事業者装置２３０ａからユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを乱数値特定装置２００ａに渡す。また、受付部２２１は、検索事業者装置２３０ａから検索範囲を受け取ると、受け取った検索範囲を乱数値特定装置２００ａに渡す。
＜乱数値特定装置２００ａ＞
乱数値特定装置２００ａは、受付部２０１ａと相関関係特定部２０２と属性値取得部２０３と乱数値範囲特定部２０４と乱数発生部２０５と相関関係記憶部２０７とを含む。
＝＝＝受付部２０１ａ＝＝＝
受付部２０１ａは、受付部２２１からユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを相関関係特定部２０２に渡す。また、受付部２０１ａは、受付部２２１から検索範囲を受け取ると、受け取った検索範囲を相関関係特定部２０２に渡す。
第二の実施の形態の第一の変形例における乱数値特定システム２０ａは、第二の実施の形態における乱数値特定システム２０と同様の構成要素を含んでいる。したがって、第二の実施の形態の第一の変形例における乱数値特定システム２０ａは、第二の実施の形態における乱数値特定システム２０と同様の効果を有する。
［第二の実施の形態の第二の変形例］
図１５は、本発明の第二の実施の形態の第二の変形例における乱数値特定システム２０ｂの構成を示すブロック図である。図１５を参照すると、乱数値特定システム２０ｂは、検索依頼事業者装置２４０と検索事業者装置２３０ｂとを含む。
＜検索依頼事業者装置２４０＞
検索依頼事業者装置２４０は、ある属性値の範囲を示す検索範囲を検索事業者装置２３０ｂに送信する。検索依頼事業者装置２４０は、ユーザ識別子を検索事業者装置２３０ｂに送信してもよい。
検索依頼事業者装置２４０は、乱数値の付加された属性値を受け取ると、受け取った属性値を各属性値に対応するユーザ毎に出力する。
＜検索事業者装置２３０ｂ＞
検索事業者装置２３０ｂは、検索受付部２３１と受付部２０１ｂと相関関係特定部２０２と属性値取得部２０３と乱数値範囲特定部２０４と乱数発生部２０５と相関関係記憶部２０７と属性値記憶部２１１と乱数付加部２１２ｂとを含む。
＝＝＝検索受付部２３１＝＝＝
検索受付部２３１は、検索依頼事業者装置２４０からある属性値の範囲を示す検索範囲を受け取る。そして、検索受付部２３１は、受け取った検索範囲とユーザ識別子とユーザに関する情報の属性の属性名とを、後述の受付部２０１ｂへ渡す。この属性名は、受け取った検索範囲が示す属性値に対応する属性の属性名である。
検索受付部２３１は、検索依頼事業者装置２４０からユーザ識別子を受け取ってもよい。また、検索受付部２３１は、ユーザ識別子を記憶する図示しないユーザ情報記憶部を含み、そのユーザ情報記憶部に記憶されているユーザ識別子を読み出してもよい。検索受付部２３１は、検索依頼事業者装置２４０から受け取ったすべてのユーザ識別子を受付部２０１ｂに渡してもよい。あるいは、検索受付部２３１は、図示しないユーザ情報記憶部に記憶されているすべてのユーザ識別子を受付部２０１ｂに渡してもよい。
検索受付部２３１は、乱数付加部２１２ｂから乱数値の付加された属性値を受け取ると、各属性値に対応するユーザ毎に以下を処理する。まず、検索受付部２３１は、検索依頼事業者装置２４０から受け取る検索範囲が示す属性値の範囲に対応する属性を特定する。そして、検索受付部２３１は、特定した属性に対応する属性値がすべて揃ったユーザの乱数値の付加された属性値を、検索依頼事業者装置２４０に送信する。
検索受付部２３１が受付部２０１ｂにユーザ識別子を渡す処理は、検索依頼事業者装置２４０から検索範囲を受け取るたびに行われてもよいし、検索依頼事業者装置２４０から検索範囲を受け取る処理と独立に行われてもよい。
＝＝＝受付部２０１ｂ＝＝＝
受付部２０１ｂは、検索受付部２３１からユーザ識別子と属性名とを受け取り、そのユーザ識別子と属性名とを相関関係特定部２０２に渡す。また、受付部２０１ｂは、検索受付部２３１から検索範囲を受け取ると、受け取った検索範囲を相関関係特定部２０２に渡す。
＝＝＝乱数付加部２１２ｂ＝＝＝
乱数付加部２１２ｂは、乱数発生部２０５が発生した、各属性に対応する乱数値を受け取る。乱数付加部２１２は、受付部２０１ｂが受け取ったユーザ識別子に対応付けられる属性値のうち、受付部２０１ｂが受け取った属性名に対応する属性値を属性値記憶部２１１から読み出す。そして、乱数付加部２１２ｂは、読み出した各属性値に対し、その属性名で示される属性に対応する乱数値を付加する。乱数付加部２１２ｂは、乱数値を付加した各属性値を検索受付部２３１に渡す。
第二の実施の形態の第二の変形例における乱数値特定システム２０ｂは、第二の実施の形態における乱数値特定システム２０と同様の構成要素を含んでいる。したがって、第二の実施の形態の第二の変形例における乱数値特定システム２０ｂは、第二の実施の形態における乱数値特定システム２０と同様の効果を有する。
［第三の実施の形態］
図１６は、本発明の第三の実施の形態における乱数値特定システム３０の構成を示すブロック図である。図１６を参照すると、乱数値特定システム３０は、検索事業者装置２３０と乱数値特定装置３００とを含む。
＜乱数値特定装置３００＞
乱数値特定装置３００は、受付部３０１と相関関係特定部３０２と属性値取得部２０３と乱数値範囲特定部２０４と乱数発生部２０５と相関関係記憶部２０７と属性値記憶部２１１と乱数付加部３１２と検索予測部３１３と許諾情報記憶部３１４と乱数値記憶部３１５とを含む。
＝＝＝受付部３０１＝＝＝
受付部３０１は、検索事業者装置２３０からユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを検索予測部３１３に渡す。また、受付部３０１は、検索事業者装置２３０から検索範囲を受け取ると、受け取った検索範囲を検索予測部３１３に渡す。
＝＝＝許諾情報記憶部３１４＝＝＝
許諾情報記憶部３１４は、ユーザが公開の許諾する属性を少なくとも一つ示す許諾情報と、そのユーザを識別するユーザ識別子とを対応付けて記憶する。
図１７は、許諾情報記憶部３１４が記憶する情報の一例を示す図である。図１７を参照すると、許諾情報記憶部３１４は、ユーザ識別子「Ａｌｉｃｅ」と、許諾情報とを対応付けて記憶する。ユーザ「Ａｌｉｃｅ」の許諾情報は、属性名「年収」、「年齢」、「ｘｘ１」の開示の許可を示す。同様に、許諾情報記憶部３１４は、ユーザ識別子「Ｂｏｂ」、「Ｃｌａｉｒｅ」、「Ｄａｖｅ」、「Ｅｌｌｅｎ」と、各ユーザの許諾情報とを対応付けて記憶する。図１７の例では、情報保持事業者ＡＰ＿Ａが属性名「年収」に関する情報を保持するとの条件が仮定される。他の情報保持事業者についても同様の条件が仮定される。
許諾情報記憶部３１４は、ユーザが公開を許諾する事業者を示す事業者許諾情報を、ユーザ識別子と許諾情報と対応付けて記憶してもよい。事業者許諾情報を用いた情報処理の例は、後述される。
乱数値特定システム３０は、事業者毎に許諾情報記憶部３１４を備えてもよい。この場合、各検索事業者装置２３０は、ユーザ識別子および属性名とともに事業者を示す事業者識別子を乱数値特定装置３００に送信する。そして、乱数値特定装置３００は、受け取った事業者識別子に対応する許諾情報記憶部３１４に記憶される情報を基に処理する。
＝＝＝乱数値記憶部３１５＝＝＝
乱数値記憶部３１５は、ユーザ識別子と属性名とその属性名に対応する属性値に付加する乱数値とを対応付けて記憶する。図１８は、乱数値記憶部３１５が記憶する情報の一例を示す図である。図１８を参照すると、例えば乱数値記憶部３１５は、ユーザ識別子「Ａｌｉｃｅ」と属性名「年収」およびその乱数値「＋１００万円」と、属性名「年齢」およびその乱数値「＋５歳」とを対応付けて記憶する。
乱数値記憶部３１５は、前述の情報に検索範囲をさらに対応付けて記憶してもよい。
＝＝＝検索予測部３１３＝＝＝
検索予測部３１３は、受付部３０１からユーザ識別子と属性名とを受け取ると、そのユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されているか否か判定する。そして、検索予測部３１３は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されていると判定した場合、以下を処理する。すなわち、検索予測部３１３は、そのユーザ識別子と属性名とに対応付けられる乱数値を乱数値記憶部３１５から読み出す。そして、検索予測部３１３は、その属性名と乱数値とを後述の乱数付加部３１２に渡す。
検索予測部３１３は、受付部３０１からユーザ識別子と属性名と検索範囲とを受け取ると、そのユーザ識別子と属性名と検索範囲とが対応付けられて乱数値記憶部３１５に記憶されているか否か判定する。検索予測部３１３が、ユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されていると判定した場合における検索予測部３１３の処理は、前述の処理と同様である。
検索予測部３１３が、ユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されていると判定した場合、以下に例示される構成要素における処理の一部またはすべてが省略されてもよい。その構成要素とは、例えば、相関関係特定部３０２、属性値取得部２０３、乱数値範囲特定部２０４、および乱数発生部２０５である。
検索予測部３１３は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されていないと判定した場合、以下を処理する。すなわち、検索予測部３１３は、受付部３０１が受け取ったユーザ識別子に基づいて、そのユーザ識別子に対応付けられる許諾情報が許諾情報記憶部３１４に記憶されているか否か判定する。そして、検索予測部３１３は、許諾情報が記憶されていると判定した場合、その許諾情報を許諾情報記憶部３１４から読み出す。そして、検索予測部３１３は、読み出した許諾情報のうちから少なくとも一つの属性を特定する。例えば、検索予測部３１３は、受付部３０１から受け取った属性名に対応する属性以外の属性を少なくとも一つ特定してもよい。
検索予測部３１３は、受付部３０１から受け取ったユーザ識別子と属性名と前述の特定した属性を示す属性名とを相関関係特定部３０２に渡す。
また、検索予測部３１３は、乱数値特定部１０６が特定した乱数値を受け取ると、その乱数値とその乱数値が付加される属性値に対応する属性の属性名と受付部３０１から受け取ったユーザ識別子とを対応付けて乱数値記憶部３１５に記憶する。
受付部３０１が検索範囲を受け取った場合、検索予測部３１３は、前述の乱数値と属性名とユーザ識別子とその検索範囲とを対応付けて記憶する。
許諾情報記憶部３１４が事業者許諾情報を記憶する場合、検索事業者装置２３０は、所定の事業者を示す事業者識別子を乱数値特定装置３００に送る。
そして、検索予測部３１３は、受け取った事業者識別子で示される事業者が、許諾情報記憶部３１４から読み出した許諾情報に対応付けられる事業者許諾情報で示される事業者に含まれる場合、以下を処理してもよい。すなわち、検索予測部３１３は、ユーザ識別子と属性情報とを相関関係特定部３０２に渡してもよい。
一方、検索予測部３１３は、受け取った事業者識別子で示される事業者が、許諾情報記憶部３１４から読み出した許諾情報に対応付けられる事業者許諾情報で示される事業者に含まれない場合、以下を処理する。すなわち、検索予測部３１３は、検索が失敗したことを示す情報を検索事業者装置２３０に送信する。
＝＝＝相関関係特定部３０２＝＝＝
相関関係特定部３０２は、ユーザ識別子、属性名および検索範囲を検索予測部３１３から受け取る点を除いて、第二の実施の形態における相関関係特定部２０２と同様の機能を含む。
＝＝＝乱数付加部３１２＝＝＝
乱数付加部３１２は、乱数発生部２０５が発生した各属性に対応する乱数値、または検索予測部３１３が乱数値記憶部３１５から読み出した乱数値を受け取る。乱数付加部３１２は、検索予測部３１３が受付部３０１から受け取ったユーザ識別子に対応付けられる属性値のうち、検索予測部３１３が受付部３０１から受け取った属性名に対応する属性値を、属性値記憶部２１１から読み出す。そして、乱数付加部３１２は、読み出した各属性値に、その属性名で示される属性に対応する乱数値を付加する。乱数付加部３１２は、乱数値を付加した各属性値を出力する。
図１９は、第三の実施の形態における乱数値特定システム３０の動作の概要を示すフローチャートである。
検索事業者装置２３０は、ユーザ識別子と属性名とを乱数値特定装置３００へ送信する（ステップＳ３０１）。ユーザ識別子と属性名とは、図示しない外部装置から受け取る情報に基づいて定められてもよい。
受付部３０１は、ユーザ識別子と対応するユーザに関する属性名とを受け取る（ステップＳ３０２）。検索予測部３１３は、受付部３０１が受け取ったユーザ識別子と属性名とが、対応付けられて乱数値記憶部３１５に記憶されているか否か判定する（ステップＳ３０３）。
検索予測部３１３は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されていると判定した場合（ステップＳ３０３の″Ｙｅｓ″）、以下を処理する。すなわち、検索予測部３１３は、そのユーザ識別子と属性名とに対応付けられる乱数値を乱数値記憶部３１５から読み出し、乱数付加部３１２に渡す（ステップＳ３０４）。
乱数付加部３１２は、検索予測部３１３が乱数値記憶部３１５から読み出した乱数値を受け取る。乱数付加部３１２は、受付部３０１が受け取ったユーザ識別子に対応付けられる属性値のうち、受付部３０１が受け取った属性名に対応する属性値を属性値記憶部２１１から読み出す（ステップＳ３０５）。
そして、乱数付加部３１２は、読み出した各属性値に対し、その属性名で示される属性に対応する乱数値を付加する（ステップＳ３０６）。乱数付加部３１２は、乱数値を付加した各属性値を送信する（ステップＳ３０７）。検索事業者装置２３０は、乱数値特定装置３００から乱数値の付加された属性値を受け取ると、受け取った属性値を出力する（ステップＳ３０８）。そして、乱数値特定システム３０の処理は、終了する。
一方、検索予測部３１３は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されていないと判定した場合（ステップＳ３０３の″Ｎｏ″）、以下を処理する。すなわち、検索予測部３１３は、受付部３０１が受け取ったユーザ識別子に基づいて、そのユーザ識別子に対応付けられる許諾情報が許諾情報記憶部３１４に記憶されているか否か判定する（ステップＳ３０９）。
検索予測部３１３は、許諾情報が記憶されていると判定した場合（ステップＳ３０９の″Ｙｅｓ″）、その許諾情報を許諾情報記憶部３１４から読み出す。そして、検索予測部３１３は、読み出した許諾情報のうちから少なくとも一つの属性を特定する（ステップＳ３１０）。そして、乱数値特定システム３０の処理は、ステップＳ３１２へ進む。一方、検索予測部３１３は、許諾情報が記憶されていないと判定した場合（ステップＳ３０９の″Ｎｏ″）、検索に失敗したことを示す情報を検索事業者装置２３０に送信する（ステップＳ３１１）。そして、乱数値特定システム３０の処理は、終了する。
ステップＳ３１０で読み出した許諾情報のうちから少なくとも一つの属性を特定すると、検索予測部３１３は、ユーザ識別子、属性名および検索範囲を相関関係特定部３０２に渡す。相関関係特定部３０２は、受付部３０１が受け取った属性名で示される属性の間の相関関係を特定する（ステップＳ３１２）。属性値取得部２０３は、受付部３０１が受け取ったユーザ識別子に基づいて、受付部３０１が受け取った属性名で示される属性に対応する属性値を少なくとも一つ含む属性情報を属性値記憶部２１１から取得する（ステップＳ３１３）。この属性情報は、受付部３０１が受け取ったユーザ識別子で識別されるユーザに関する情報の中から特定される情報である。
乱数値範囲特定部２０４は、属性値取得部２０３が取得した属性情報と、相関関係特定部３０２が特定した属性の間の相関関係とに基づいて、その属性の間において乱数が取りうる範囲である乱数値範囲を特定する（ステップＳ３１４）。乱数発生部２０５は、乱数値が、乱数値範囲特定部２０４が特定した乱数値範囲内になるように、対応する属性毎に乱数を発生する（ステップＳ３１５）。
乱数付加部３１２は、乱数発生部２０５が発生した、各属性に対応する乱数値を受け取る。乱数付加部３１２は、受付部３０１が受け取ったユーザ識別子に対応付けられる属性値のうち、受付部３０１が受け取った属性名に対応する属性値を属性値記憶部２１１から読み出す（ステップＳ３１６）。そして、乱数値特定システム３０の処理は、ステップＳ３０６へ進む。
第三の実施の形態における乱数値特定システム３０は、第一の実施の形態における乱数値特定装置１００が備える構成要素を含んでいる。したがって、第三の実施の形態における乱数値特定システム３０は、第一の実施の形態における乱数値特定装置１００と同様の効果を有する。
また、第三の実施の形態における乱数値特定システム３０は、ユーザが公開を許諾する属性を少なくとも一つ示す許諾情報と、検索事業者装置２３０が送信する属性名とに基づいて、そのユーザが許諾する他の属性を特定する。そして、乱数値特定システム３０は、属性名で特定される属性と、前述の他の属性との間の相関関係を特定し、その相関関係に基づいて属性値に付加する乱数値の範囲である乱数値範囲を特定する。
例えば、検索事業者装置２３０が、一つの事実を検索するために複数の検索クエリを用いることがある。例えば、ユーザ識別子「Ａｌｉｃｅ」の「年齢」および「年収」が検索される場合を仮定する。ここで、例えば、検索事業者装置２３０が、ユーザ識別子「Ａｌｉｃｅ」と属性名「年齢」とを乱数値特定装置３００に送信する。乱数値特定装置３００は、ユーザ識別子「Ａｌｉｃｅ」と属性名「年齢」とを受け取り、許諾情報記憶部３１４にユーザ識別子「Ａｌｉｃｅ」に対応付けられる許諾情報を読み出す。
図１７を参照すると、「Ａｌｉｃｅ」の許諾情報は、属性「年齢」、「年収」、「ｘｘ１」の開示を許可する。乱数値特定装置３００は、受け取った属性名が示していない属性「年収」を特定し、属性「年齢」および「年収」の間の相関関係を特定する。乱数値特定装置３００は、特定した相関関係に基づいて乱数値範囲を特定する。乱数値特定装置３００は、特定した乱数値範囲のいずれかに含まれる乱数値を「Ａｌｉｃｅ」の「年齢」の属性値に付加し、検索事業者装置２３０に返す。
次に、検索事業者装置２３０がユーザ識別子「Ａｌｉｃｅ」と属性名「年収」とを乱数値特定装置３００に送信する。この場合、乱数値特定装置３００は、乱数値記憶部３１５にユーザ識別子「Ａｌｉｃｅ」と属性名「年収」と所定の乱数値とが記憶されていると判定し、その乱数値を「Ａｌｉｃｅ」の「年収」の属性値に付加し、検索事業者装置２３０に返す。
よって、第三の実施の形態における乱数値特定システム３０は、前述のように一つの事実を検索するために複数の検索のクエリが用いられる場合でも、一回目の検索クエリに基づいて、次回以降の検索のクエリを推測できる。さらに、第三の実施の形態における乱数値特定システム３０は、その推測結果に基づいて適切な乱数値範囲を特定できる。つまり、第三の実施の形態における乱数値特定システム３０は、乱数値を加えた後のデータの有効性を高めることのできる乱数値を特定できる。
［第三の実施の形態の第一の変形例］
図２０は、本発明の第三の実施の形態の第一の変形例における乱数値特定システム３０ａの構成を示すブロック図である。図２０を参照すると、乱数値特定システム３０ａは、検索事業者装置２３０ａと情報保持事業者装置３２０とを含む。
＜情報保持事業者装置３２０＞
情報保持事業者装置３２０は、受付部３２１と検索予測部３１３と許諾情報記憶部３１４と乱数値記憶部３１５と乱数値特定装置３００ａとを含む。
＝＝＝受付部３２１＝＝＝
受付部３２１は、検索事業者装置２３０ａからユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを検索予測部３１３に渡す。また、受付部３２１は、検索事業者装置２３０ａから検索範囲を受け取ると、受け取った検索範囲を乱数値特定装置３００ａに渡す。
＜乱数値特定装置３００ａ＞
乱数値特定装置３００ａは、受付部３０１ａと相関関係特定部３０２と属性値取得部２０３と乱数値範囲特定部２０４と乱数発生部２０５と相関関係記憶部２０７と乱数付加部３１２とを含む。
＝＝＝受付部３０１ａ＝＝＝
受付部３０１ａは、情報保持事業者装置３２０の検索予測部３１３からユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを相関関係特定部２０２に渡す。また、受付部３０１ａは、情報保持事業者装置３２０の受付部３２１から検索範囲を受け取ると、受け取った検索範囲を相関関係特定部３０２に渡す。
第三の実施の形態の第一の変形例における乱数値特定システム３０ａは、第三の実施の形態における乱数値特定システム３０と同様の構成要素を含んでいる。したがって、第三の実施の形態の第一の変形例における乱数値特定システム３０ａは、第三の実施の形態における乱数値特定システム３０と同様の効果を有する。
［第四の実施の形態］
図２１は、本発明の第四の実施の形態における乱数値特定システム４０の構成を示すブロック図である。図２１を参照すると、乱数値特定システム４０は、検索事業者装置４３０、情報保持事業者装置４２０ａ、情報保持事業者装置４２０ｂ、および乱数値特定装置４００とを含む。
第四の実施の形態において、情報保持事業者装置４２０は、情報保持事業者装置４２０ａ、および４２０ｂを総称したものである。
＜検索事業者装置４３０＞
検索事業者装置４３０は、ユーザ識別子とユーザに関する情報の属性の属性名とを、後述の情報保持事業者装置４２０ａ、および情報保持事業者装置４２０ｂへ送信する。検索事業者装置４３０は、図示しない外部装置からユーザ識別子を受け取ってもよいし、ユーザ識別子を記憶する図示しないユーザ情報記憶部を含み、そのユーザ情報記憶部に記憶されているユーザ識別子を読み出してもよい。
また、検索事業者装置４３０は、検索事業者装置４３０が生成した公開鍵を情報保持事業者装置４２０に送信してもよい。この公開鍵は、完全準同型暗号である公開鍵である。
検索事業者装置４３０は、乱数値の付加された属性値を受け取ると、受け取った属性値を出力する。また、検索事業者装置４３０は、暗号化され、乱数値が付加された属性値を受け取ると、受け取った属性値を、前述の公開鍵に対応する秘密鍵を用いて復号する。そして、検索事業者装置４３０は、復号された属性値を出力する。
第四の実施の形態において、検索事業者装置４３０は、ユーザ識別子と属性名とを情報保持事業者装置４２０に送信する際に公開鍵を送信してもよいし、あらかじめ情報保持事業者装置４２０に公開鍵を送信してもよい。
＜情報保持事業者装置４２０＞
図２２は、本発明の第四の実施の形態における情報保持事業者装置４２０の構成の一例を示すブロック図である。図２２を参照すると、情報保持事業者装置４２０は、受付部４２１と属性値記憶部２１１と属性値取得部４２２と送信部４２３と乱数付加部４２４とを含む。
＝＝＝受付部４２１＝＝＝
受付部４２１は、検索事業者装置４３０からユーザ識別子と属性名とを受け取る。そして受付部４２１は、受け取ったユーザ識別子と属性名とを属性値取得部４２２に渡す。
受付部４２１は、検索事業者装置４３０から、検索事業者装置４３０が生成した公開鍵を受け取る場合、受け取った公開鍵を送信部４２３に渡す。
＝＝＝属性値取得部４２２＝＝＝
属性値取得部４２２は、受付部４２１からユーザ識別子と属性名とを受け取る。そして、属性値取得部４２２は、受け取ったユーザ識別子と属性名とに対応付けられる属性値を属性値記憶部２１１から読み出す。
属性値取得部４２２は、読み出した属性値と、受け取ったユーザ識別子と属性名とを、送信部４２３に渡す。
＝＝＝送信部４２３＝＝＝
送信部４２３は、属性値取得部４２２からユーザ識別子と属性名と属性値とを受け取り、受け取ったユーザ識別子と属性名と属性値とを乱数値特定装置４００に送信する。
送信部４２３は、属性値を、所定の暗号で暗号化して乱数値特定装置４００に送信してもよい。例えば、送信部４２３は、検索事業者装置４３０が生成した完全準同型暗号の公開鍵を用いて属性値を暗号化する。そして、送信部４２３は、暗号化された属性値を乱数値特定装置４００に送信する。乱数値特定装置４００は、完全準同型暗号で暗号化されたデータに対して、平文や秘密鍵なしで加法および乗法の演算が可能である。つまり、乱数値特定装置４００は、暗号化された属性値を用いて、その属性値を暗号化したまま乱数値の演算が可能である。
＝＝＝乱数付加部４２４＝＝＝
乱数付加部４２４は、乱数値特定装置４００から乱数値を受け取る。乱数付加部４２４は、属性値取得部４２２が取得した属性値に、その属性値に対応する属性の乱数値を付加する。
乱数付加部４２４は、乱数値とともに属性値が暗号化されていたことを示す情報を受け取った場合、以下を処理する。すなわち、乱数付加部４２４は、暗号化された受け取った乱数値と、暗号化された受け取った属性値とを暗号化したまま加法演算を処理する。この加法演算の処理は、送信部４２３が属性値に対して適用した暗号化処理に対応するアルゴリズムを基に行われる。
乱数付加部４２４は、乱数値を付加した属性値を検索事業者装置４３０に送信する。また、乱数付加部４２４は、属性値が暗号化されている場合、乱数値を付加した暗号化された属性値を検索事業者装置４３０に送信する。
＜乱数値特定装置４００＞
図２３は、本発明の第四の実施の形態における乱数値特定装置４００の構成の一例を示すブロック図である。図２３を参照すると、乱数値特定装置４００は、受付部４０１と相関関係特定部３０２と乱数値範囲特定部４０４と乱数発生部２０５と相関関係記憶部２０７と乱数送信部４０８と検索予測部４１３と許諾情報記憶部３１４と乱数値記憶部３１５とを含む。
＝＝＝受付部４０１＝＝＝
受付部４０１は、情報保持事業者装置４２０からユーザ識別子と属性名と属性値とを受け取る。そして、受付部４０１は、受け取ったユーザ識別子と属性名と属性値とを検索予測部４１３に渡す。
＝＝＝乱数値範囲特定部４０４＝＝＝
乱数値範囲特定部４０４は、検索予測部４１３が受付部４０１から受け取った属性値と、相関関係特定部３０２が特定した属性の間の相関関係とに基づいて、その属性の間において乱数が取りうる範囲である乱数値範囲を特定する。また、属性値が完全準同型暗号で暗号化される場合、乱数値範囲特定部４０４は、暗号化された属性値に基づいて、暗号化されていない属性値の場合と同様の処理を用いて乱数値範囲を特定する。
乱数値範囲特定部４０４が乱数値範囲を特定する具体的な処理は、第一の実施の形態における乱数値範囲特定部１０４の処理と同様である。
＝＝＝検索予測部４１３＝＝＝
検索予測部４１３は、受付部４０１からユーザ識別子と属性名とを受け取ると、そのユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されているか否か判定する。そして、検索予測部４１３は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されていると判定した場合、以下を処理する。すなわち、検索予測部４１３は、そのユーザ識別子と属性名とに対応付けられる乱数値を乱数値記憶部３１５から読み出す。そして、検索予測部４１３は、その属性名と乱数値とを後述の乱数送信部４０８に渡す。
検索予測部４１３が備える他の機能は、第三の実施の形態における検索予測部３１３が備える機能と同様である。
＝＝＝乱数送信部４０８＝＝＝
乱数送信部４０８は、乱数発生部２０５が発生した乱数値、または検索予測部４１３が乱数値記憶部３１５から読み出した乱数値を受け取る。乱数送信部４０８は、受け取った乱数値を情報保持事業者装置４２０に送信する。特に、乱数送信部４０８は、受付部４０１が受け取った属性値に対応する属性に付加する乱数値を情報保持事業者装置４２０に送信する。
乱数送信部４０８は、受付部４０１が受け取った属性値が暗号化されていた場合、属性値が暗号化されていたことを示す情報を合わせて情報保持事業者装置４２０に送信する。
図２４は、第四の実施の形態における乱数値特定システム４０の動作の概要を示すフローチャートである。本例は、検索事業者装置４３０が、情報保持事業者装置４２０ａに対してユーザ識別子と属性名とを送信する例である。
検索事業者装置４３０は、ユーザ識別子とユーザに関する情報の属性の属性名とを、情報保持事業者装置４２０ａへ送信する（ステップＳ４０１）。情報保持事業者装置４２０ａの受付部４２１は、検索事業者装置４３０からユーザ識別子と属性名とを受け取る（ステップＳ４０２）。受付部４２１は、受け取ったユーザ識別子と属性名とを属性値取得部４２２に渡す。
属性値取得部４２２は、受付部４２１からユーザ識別子と属性名とを受け取る。そして、属性値取得部４２２は、受け取ったユーザ識別子と属性名とに対応付けられる属性値を属性値記憶部２１１から取得する（ステップＳ４０３）。属性値取得部４２２は、取得した属性値と、受け取ったユーザ識別子と属性名とを、送信部４２３に渡す。
送信部４２３は、属性値取得部４２２からユーザ識別子と属性名と属性値とを受け取り、受け取ったユーザ識別子と属性名と属性値とを乱数値特定装置４００に送信する（ステップＳ４０４）。
乱数値特定装置４００の受付部４０１は、情報保持事業者装置４２０ａからユーザ識別子と属性名と属性値とを受け取る（ステップＳ４０５）。そして、受付部４０１は、受け取ったユーザ識別子と属性名と属性値とを検索予測部４１３に渡す。
検索予測部４１３は、受付部４０１が受け取ったユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されているか否か判定する（ステップＳ４０６）。
検索予測部４１３は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されていると判定した場合（ステップＳ４０６の″Ｙｅｓ″）、以下を処理する。すなわち、検索予測部４１３は、そのユーザ識別子と属性名とに対応付けられる乱数値を乱数値記憶部３１５から読み出し、乱数送信部４０８に渡す（ステップＳ４０７）。
乱数送信部４０８は、乱数発生部２０５が発生した乱数値、または検索予測部４１３が乱数値記憶部３１５から読み出した乱数値を受け取る。乱数送信部４０８は、受け取った乱数値を情報保持事業者装置４２０ａに送信する（ステップＳ４０８）。
情報保持事業者装置４２０ａの乱数付加部４２４は、乱数値特定装置４００から乱数値を受け取る。乱数付加部４２４は、属性値取得部４２２が取得した属性値に、その属性値に対応する属性の乱数値を付加する（ステップＳ４０９）。
乱数付加部４２４は、乱数値を付加した属性値を検索事業者装置４３０に送信する（ステップＳ４１０）。検索事業者装置４３０は、乱数値の付加された属性値を受け取ると、受け取った属性値を出力する（ステップＳ４１１）。そして、乱数値特定システム４０の処理は、終了する。
一方、検索予測部４１３は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部３１５に記憶されていないと判定した場合（ステップＳ４０６の″Ｎｏ″）、以下を処理する。すなわち、検索予測部４１３は、受付部４０１が受け取ったユーザ識別子に基づいて、そのユーザ識別子に対応付けられる許諾情報が許諾情報記憶部３１４に記憶されているか否か判定する（ステップＳ４１２）。
検索予測部４１３は、許諾情報が記憶されていると判定した場合（ステップＳ４１２の″Ｙｅｓ″）、その許諾情報を許諾情報記憶部３１４から読み出す。そして、検索予測部４１３は、読み出した許諾情報のうちから少なくとも一つの属性を特定する（ステップＳ４１３）。そして、乱数値特定システム４０の処理は、ステップＳ４１５へ進む。
一方、検索予測部４１３は、許諾情報が記憶されていないと判定した場合（ステップＳ４１２の″Ｎｏ″）、検索に失敗したことを示す情報を情報保持事業者装置４２０ａに送信する。情報保持事業者装置４２０ａは、検索に失敗したことを示す情報を検索事業者装置４３０に送信する（ステップＳ４１４）。そして、乱数値特定システム４０の処理は、終了する。
ステップＳ４１３で読み出した許諾情報のうちから少なくとも一つの属性を特定すると、検索予測部４１３は、受付部４０１が受け取ったユーザ識別子、属性名、属性値および検索範囲を相関関係特定部４０２に渡す。相関関係特定部４０２は、受付部４０１が受け取った属性名で示される属性の間の相関関係を特定する（ステップＳ４１５）。
乱数値範囲特定部４０４は、受付部４０１が受け取った属性値と、相関関係特定部４０２が特定した属性の間の相関関係とに基づいて、その属性の間において乱数が取りうる範囲である乱数値範囲を特定する（ステップＳ４１６）。乱数発生部２０５は、乱数値が、乱数値範囲特定部４０４が特定した乱数値範囲内になるように、対応する属性毎に乱数を発生させる（ステップＳ４１７）。
乱数送信部４０８は、乱数発生部２０５が発生した、各属性に対応する乱数値を受け取る。乱数送信部４０８は、受け取った乱数値を情報保持事業者装置４２０ａに送信する（ステップＳ４１９）。そして、乱数値特定システム４０の処理は、ステップＳ４０９へ進む。
第四の実施の形態における乱数値特定システム４０は、第三の実施の形態における乱数値特定システム３０と同様の構成要素を含んでいる。したがって、第四の実施の形態の第一の変形例における乱数値特定システム４０は、第三の実施の形態における乱数値特定システム３０と同様の効果を有する。
また、第四の実施の形態における乱数値特定装置４００は、属性値の真の値を知ることなく、暗号化された属性値の値に基づいて乱数値範囲を特定する。暗号化のアルゴリズムとして完全準同型暗号が用いられることで、乱数値特定装置４００は、暗号化に用いられた平文および秘密鍵を知ることなく、暗号化されたデータに対しての乗算、加算が可能となる。
乱数値特定装置４００が特定した乱数値範囲に基づいて特定された乱数値は、情報保持事業者装置４２０に送信される。そして、情報保持事業者装置４２０は、暗号化された乱数値をそのまま、暗号化された属性値に付加する。情報保持事業者装置４２０は、乱数値が付加された暗号化された属性値を、検索事業者装置４３０に送信する。
検索事業者装置４３０は、受け取った属性値を、検索事業者装置４３０が生成した秘密鍵を用いて復号し、復号された属性値を出力する。
したがって、第四の実施の形態における乱数値特定システム４０は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できる。特に、乱数値範囲を特定する乱数値特定装置４００は、元データの値を知ることなく、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できる。
本発明の効果の一例は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できることである。
以上、各実施の形態および実施例を参照して本発明を説明したが、本発明は上記実施の形態および実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。
また、本発明の各実施の形態における各構成要素は、その機能をハードウェア的な実現はもちろん、コンピュータとプログラムとで実現できる。プログラムは、磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御し、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
この出願は、２０１１年３月４日に出願された日本出願特願２０１１−０４７９２８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０００８】
本発明の乱数値特定装置は、プライバシー保護データマイニングを実現する情報処理装置に適用可能である。
【符号の説明】
【０００９】
２０、２０ａ、２０ｂ、３０、３０ａ、４０  乱数値特定システム
１００、２００、２００ａ、３００、３００ａ、４００  乱数値特定装置
１０１、２０１、２０１ａ、２０１ｂ、３０１、４０１  受付部
１０２、２０２、３０２、４０２  相関関係特定部
１０３、２０３  属性値取得部
１０４、２０４、４０４  乱数値範囲特定部
１０５、２０５  乱数発生部
１８１ａ  値域情報
１８１ｂ  値域情報
１８２  部分空間
１８３  新部分空間
１８４  元データ
１８５  相関関係
１９１  ＣＰＵ
１９２  通信インターフェース
１９３  メモリ
１９４  記憶装置
１９５  入力装置
１９６  出力装置
１９７  バス
１９８  記録媒体
２０７  相関関係記憶部
２１１  属性値記憶部
２１２、２１２ｂ、３１２  乱数付加部
２２０、３２０、４２０、４２０ａ、４２０ｂ  情報保持事業者装置
２２１、３２１、４２１  受付部
２３０、２３０ａ、２３０ｂ、４３０  検索事業者装置
２３１  検索受付部
２４０  検索依頼事業者装置
３１３、４１３  検索予測部
３１４  許諾情報記憶部
３１５  乱数値記憶部
４０８  乱数送信部
４２２  属性値取得部
４２３  送信部
４２４  乱数付加部
【図１】
2012121025.tif 000006
【図２】
2012121025.tif 000007
【図３】
2012121025.tif 000008
【図４】
2012121025.tif 000009
【図５】
2012121025.tif 000010
【図６】
2012121025.tif 000011
【図７】
2012121025.tif 000012
【図８】
2012121025.tif 000013
【図９】
2012121025.tif 000014
【図１０】
2012121025.tif 000015
【図１１】
2012121025.tif 000016
【図１２】
2012121025.tif 000017
【図１３】
2012121025.tif 000018
【図１４】
2012121025.tif 000019
【図１５】
2012121025.tif 000020
【図１６】
2012121025.tif 000021
【図１７】
2012121025.tif 000022
【図１８】
2012121025.tif 000023
【図１９】
2012121025.tif 000024
【図２０】
2012121025.tif 000025
【図２１】
2012121025.tif 000026
【図２２】
2012121025.tif 000027
【図２３】
2012121025.tif 000028
【図２４】
2012121025.tif 000029
【図２５】
2012121025.tif 000030
【手続補正書】
【提出日】平成25年8月16日(2013.8.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象を識別する識別子と前記対象に関する情報の属性の属性名とを受け取る受付手段と、
前記属性名で示される属性の相関関係を特定する相関関係特定手段と、
前記識別子で識別される前記対象の前記属性の属性値を少なくとも一つ取得する属性値取得手段と、
前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、
を含む、乱数値特定装置。
【請求項２】
前記対象は、ユーザである
請求項１に記載の乱数値特定装置。
【請求項３】
請求項１または２に記載の乱数値特定装置であって、
属性の相関関係を記憶する相関関係記憶手段を含み、
前記相関関係特定手段は、前記属性に基づいて前記相関関係記憶手段から相関関係を読み出して、当該属性の間の相関関係を特定する、乱数値特定装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の乱数値特定装置であって、
属性毎の値域を示す値域情報を記憶し、前記値域情報と前記取得された属性値と前記特定された相関関係とに基づいて、前記乱数値範囲を特定する乱数値範囲特定手段を含む、乱数値特定装置。
【請求項５】
請求項４に記載の乱数値特定装置であって、
前記乱数値範囲特定手段は、前記属性の相関関係に対応する関数の微分値に基づいて、前記乱数値範囲を特定する、乱数値特定装置。
【請求項６】
請求項５に記載の乱数値特定装置であって、
前記乱数値範囲特定手段は、前記相関関係に対応する関数のうち、前記取得した属性値との距離が最も近い関数の微分値に基づいて、前記乱数値範囲を特定する、乱数値特定装置。
【請求項７】
請求項５または６に記載の乱数値特定装置であって、
前記乱数値範囲特定手段は、前記取得された属性値と前記相関関係に対応する関数との距離に基づいて、前記記憶される値域情報の値を更新し、更新した値域情報に基づいて、前記乱数値範囲を特定する、乱数値特定装置。
【請求項８】
請求項３に記載の乱数値特定装置であって、
前記相関関係特定手段は、対象に対応する属性値に基づいて、属性の間の相関関係を計算し、計算した相関関係を前記相関関係記憶手段に記憶する、乱数値特定装置。
【請求項９】
請求項８に記載の乱数値特定装置であって、
前記相関関係特定手段は、所定の値を有する属性値に基づいて、相関関係を計算する、乱数値特定装置。
【請求項１０】
請求項４に記載の乱数値特定装置であって、
前記受付手段は、属性値の範囲を示す範囲情報を受け取り、
前記乱数値範囲特定手段は、前記範囲情報に基づいて値域情報を生成する、乱数値特定装置。
【請求項１１】
請求項１ないし１０のいずれか１項に記載の乱数値特定装置であって、
前記識別子と属性名と属性値とを対応付けて記憶する属性値記憶手段と、
前記乱数値特定手段から属性毎に乱数を受け取り、前記属性値記憶手段から前記受付手段が受け取る前記識別子と当該属性に対応する属性名とに対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加する乱数付加手段と、
を含み、
前記属性値取得手段は、前記属性値記憶手段から前記受付手段が受け取る前記識別子と前記受付手段が受け取る属性名とに対応付けられる属性値を少なくとも一つ取得する、乱数値特定装置。
【請求項１２】
請求項１１に記載の乱数値特定装置であって、
前記識別子と当該識別子で識別される前記対象が開示を許諾する属性を示す許諾情報とを対応付けて記憶する許諾情報記憶手段と、
受付手段が受け取った前記識別子に基づいて、当該識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報のうちから少なくとも一つの属性を特定する検索予測手段と、
前記識別子と属性名と乱数値とを対応付けて記憶する乱数値記憶手段と、を含み、
前記相関関係特定手段は、前記受付手段が受け取った属性名で示される属性および前記検索予測手段が特定した属性の間の相関関係を特定する、乱数値特定装置。
【請求項１３】
検索事業者装置と、情報保持事業者装置と、乱数値特定装置とを含み、
前記検索事業者装置は、
対象を識別する識別子と前記対象に関する情報の属性の属性名とを前記情報保持事業者装置に送信するクエリ送信手段を含み、
前記情報保持事業者装置は、
前記検索事業者装置から前記識別子と属性名とを受け取る受付手段と、
前記識別子と属性名と属性値とを対応付けて記憶する属性値記憶手段と、
当該識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得する属性値取得手段と、
当該識別子と当該属性名と当該属性値とを前記乱数値特定装置に送信する送信手段と、
前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から前記受付手段が受け取る前記識別子と当該属性を示す属性名とに対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加する乱数付加手段と、
を含み、
前記乱数値特定装置は、
前記情報保持事業者装置から前記識別子と属性名と属性値とを受け取る受付手段と、
前記識別子と当該識別子で識別される前記対象が開示を許諾する属性を示す許諾情報とを対応付けて記憶する許諾情報記憶手段と、
前記受付手段が受け取った前記識別子に基づいて、当該識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報が示す属性から少なくとも一つの属性を特定する検索予測手段と、
前記特定された属性および前記受付手段が受け取る属性名が示す属性の間の相関関係を特定する相関関係特定手段と、
前記受付手段が受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、
前記乱数を前記情報保持事業者装置に送信する乱数送信手段と、
を含む、乱数値特定システム。
【請求項１４】
請求項１ないし１２のいずれか１項に記載の乱数値特定装置と、
当該乱数値特定装置に、前記識別子と属性名とを送信する検索事業者装置と、
を含む乱数値特定システム。
【請求項１５】
請求項１３または１４に記載の乱数値特定システムであって、
属性値の範囲を示す範囲情報を前記検索事業者装置に送信する検索依頼事業者装置を含み、
前記検索事業者装置は、前記検索依頼事業者装置から範囲情報を受け取ると、当該範囲情報が示す属性値に対応する属性名を特定し、特定した属性名と前記識別子とを前記情報保持事業者装置に送信する、乱数値特定システム。
【請求項１６】
対象を識別する識別子と前記対象に関する情報の属性の属性名とを受け取り、
前記属性の間の相関関係を特定し、
前記識別子で識別される前記対象の前記属性の属性値を少なくとも一つを取得し、
前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する、乱数値特定方法。
【請求項１７】
検索事業者装置が、
対象を識別する識別子と前記対象に関する情報の属性の属性名とを情報保持事業者装置に送信し、
前記情報保持事業者装置が、
前記検索事業者装置から前記識別子と属性名とを受け取り、
前記対象を識別できる前記識別子と属性名と属性値とを対応付けて属性値記憶手段に記憶し、
当該識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得し、
当該識別子と当該属性名と当該属性値とを乱数値特定装置に送信し、
前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から受け取る前記識別子と属性名に対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加し、
前記乱数値特定装置が、
前記情報保持事業者装置から前記識別子と属性名と属性値とを受け取り、
前記識別子と当該識別子で識別される前記対象が開示を許諾する属性を示す許諾情報とを対応付けて許諾情報記憶手段に記憶し、
前記受け取った前記識別子に基づいて、当該識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報から少なくとも一つの属性を特定し、
前記識別子と属性名と乱数値とを対応付けて乱数値記憶手段に記憶し、
前記情報保持事業者装置から受け取った属性名で示される属性および前記特定した少なくとも一つの属性の間の相関関係を特定し、
前記受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生し、
発生させた乱数を前記情報保持事業者装置に送信する、乱数値特定方法。
【請求項１８】
コンピュータに、
対象を識別する識別子と前記対象に関する情報の属性の属性名とを受け取る処理と、
前記属性名で示される属性の間の相関関係を特定する処理と、
前記識別子で識別される前記対象の前記属性の属性値を少なくとも一つ取得する処理と、
前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する処理と、を実行させるための乱数値特定プログラム。
【国際調査報告】
2012121025.tif 000031
2012121025.tif 000032