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