JP5846198B2 - 乱数値特定装置、乱数値特定システム、および、乱数値特定方法 - Google Patents

乱数値特定装置、乱数値特定システム、および、乱数値特定方法 Download PDF

Info

Publication number
JP5846198B2
JP5846198B2 JP2013503451A JP2013503451A JP5846198B2 JP 5846198 B2 JP5846198 B2 JP 5846198B2 JP 2013503451 A JP2013503451 A JP 2013503451A JP 2013503451 A JP2013503451 A JP 2013503451A JP 5846198 B2 JP5846198 B2 JP 5846198B2
Authority
JP
Japan
Prior art keywords
attribute
value
random value
unit
correlation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013503451A
Other languages
English (en)
Other versions
JPWO2012121025A1 (ja
Inventor
隆夫 竹之内
隆夫 竹之内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013503451A priority Critical patent/JP5846198B2/ja
Publication of JPWO2012121025A1 publication Critical patent/JPWO2012121025A1/ja
Application granted granted Critical
Publication of JP5846198B2 publication Critical patent/JP5846198B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、元データの値を隠蔽するための乱数値を特定する技術に関する。
元データの値にランダムな値(乱数値)を加えることで、元データの値を隠蔽させる技術が知られている。
例えば、特許文献1に記載された技術は、元データを、ランダムステップを含む処理を用いて撹乱データに変換する。そして、当該技術は、その撹乱データに基づいてランダムステップの効果が除去されるような統計処理を行う。
また、非特許文献1に記載された技術は、所定の属性の間の属性値の相関に基づいて、ランダムなノイズ(乱数)を元データに加えて撹乱データを生成する。そして、当該技術は、その撹乱データに基づいて統計処理を行う。
特開2007−288480号公報 Zhengli Huang et al.,″Deriving Private Information from Randomized Data,″In Proc.of the ACM SIGMOD,pages 37−48,2005.
特許文献1および非特許文献1に記載された技術は、複数の撹乱データを用いる統計処理を行い、ランダムデータの影響を取り除く。よって、特許文献1および非特許文献1に記載された技術は、個々の撹乱データの値が元データの値から大きく異なってしまい、撹乱データに元データが本来とり得ない値を有するデータが含まれてしまう。このような個々の撹乱データは、データの有効性が損なわれる。したがって、特許文献1および非特許文献1に記載された技術は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できない。
本発明の目的の一つは、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定する乱数値特定装置、乱数値特定システム、および乱数値特定方法を提供することにある。
本発明の一形態における第一の乱数値特定装置は、ユーザ識別子とユーザに関する情報の属性の属性名とを受け取る受付手段と、前記属性名で示される属性の相関関係を特定する相関関係特定手段と、前記ユーザ識別子で識別されるユーザの前記属性の属性値を少なくとも一つ取得する属性値取得手段と、前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、を含む。
本発明の一形態における第一の乱数値特定システムは、検索事業者装置と、情報保持事業者装置と、乱数値特定装置とを含み、前記検索事業者装置は、ユーザ識別子とユーザに関する情報の属性の属性名とを前記情報保持事業者装置に送信するクエリ送信手段を含み、前記情報保持事業者装置は、前記検索事業者装置からユーザ識別子と属性名とを受け取る受付手段と、ユーザ識別子と属性名と属性値とを対応付けて記憶する属性値記憶手段と、当該ユーザ識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得する属性値取得手段と、当該ユーザ識別子と当該属性名と当該属性値とを前記乱数値特定装置に送信する送信手段と、前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から前記受付手段が受け取るユーザ識別子と当該属性を示す属性名とに対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加する乱数付加手段と、を含み、前記乱数値特定装置は、前記情報保持事業者装置からユーザ識別子と属性名と属性値とを受け取る受付手段と、ユーザ識別子と当該ユーザ識別子で識別されるユーザが開示を許諾する属性を示す許諾情報とを対応付けて記憶する許諾情報記憶手段と、前記受付手段が受け取ったユーザ識別子に基づいて、当該ユーザ識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報が示す属性から少なくとも一つの属性を特定する検索予測手段と、前記特定された属性および前記受付手段が受け取る属性名が示す属性の間の相関関係を特定する相関関係特定手段と、前記受付手段が受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、前記乱数を前記情報保持事業者装置に送信する乱数送信手段と、を含む。
本発明の一形態における第一の乱数値特定方法は、ユーザ識別子とユーザに関する情報の属性の属性名とを受け取り、前記属性の間の相関関係を特定し、前記ユーザ識別子で識別されるユーザの前記属性の属性値を少なくとも一つを取得し、前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する。
本発明の一形態における第二の乱数値特定方法は、検索事業者装置が、ユーザ識別子とユーザに関する情報の属性の属性名とを情報保持事業者装置に送信し、前記情報保持事業者装置が、前記検索事業者装置からユーザ識別子と属性名とを受け取り、ユーザを識別できるユーザ識別子と属性名と属性値とを対応付けて属性値記憶手段に記憶し、当該ユーザ識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得し、当該ユーザ識別子と当該属性名と当該属性値とを乱数値特定装置に送信し、前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から前記受付手段が受け取るユーザ識別子と前記受付手段が受け取る属性名に対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加し、前記乱数値特定装置が、前記情報保持事業者装置からユーザ識別子と属性名と属性値とを受け取り、ユーザ識別子と当該ユーザ識別子で識別されるユーザが開示を許諾する属性を示す許諾情報とを対応付けて許諾情報記憶手段に記憶し、前記受け取ったユーザ識別子に基づいて、当該ユーザ識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報から少なくとも一つの属性を特定し、ユーザ識別子と属性名と乱数値とを対応付けて乱数値記憶手段に記憶し、前記情報保持事業者装置から受け取った属性名で示される属性および前記特定した少なくとも一つの属性の間の相関関係を特定し、前記受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生し、発生させた乱数を前記情報保持事業者装置に送信する。
本発明の一形態における第一の乱数値特定プログラムは、コンピュータに、ユーザ識別子とユーザに関する情報の属性の属性名とを受け取る処理と、前記属性名で示される属性の間の相関関係を特定する処理と、前記ユーザ識別子で識別されるユーザの前記属性の属性値を少なくとも一つ取得する処理と、前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する処理と、を実行させる。
本発明の効果の一例は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できることである。
図1は、第一の実施の形態における乱数値特定装置の構成を示すブロック図である。 図2は、第一の実施の形態における乱数値特定装置とその周辺装置のハードウェア構成を示す図である。 図3は、第一の実施の形態における乱数値特定装置の動作の概要を示すフローチャートである。 図4は、第二の実施の形態における乱数値特定システムの構成を示すブロック図である。 図5は、相関関係記憶部が記憶する情報の一例を示す情報である。 図6は、属性値記憶部が記憶する情報の一例を示す図である。 図7は、乱数値範囲特定部が特定する所定の部分空間の一例を示す図である。 図8は、乱数値範囲特定部が特定する所定の部分空間の一例を示す図である。 図9は、乱数値範囲特定部が特定する所定の部分空間の一例を示す図である。 図10は、図7で示される部分空間が回転された例を示す図である。 図11は、ある属性情報と、その属性情報が含む各属性値に対して乱数が付加された後の値が取りうる範囲と、属性「年齢」および「年収」の間の相関関係を示す関数と、を示す図である。 図12は、第二の実施の形態における乱数値特定システムの動作の概要を示すフローチャートである。 図13は、第一の実施の形態における乱数値範囲特定部の動作の概要を示すフローチャートである。 図14は、第二の実施の形態の第一の変形例における乱数値特定システムの構成を示すブロック図である。 図15は、第二の実施の形態の第二の変形例における乱数値特定システムの構成を示すブロック図である。 図16は、第三の実施の形態における乱数値特定システムの構成を示すブロック図である。 図17は、許諾情報記憶部が記憶する情報の一例を示す図である。 図18は、属性値記憶部が記憶する情報の一例を示す図である。 図19は、第三の実施の形態における乱数値特定システムの動作の概要を示すフローチャートである。 図20は、第三の実施の形態の第一の変形例における乱数値特定システムの構成を示すブロック図である。 図21は、第四の実施の形態における乱数値特定システムの構成を示すブロック図である。 図22は、第四の実施の形態における情報保持事業者装置の構成を示すブロック図である。 図23は、第四の実施の形態における乱数値特定装置の構成を示すブロック図である。 図24は、第四の実施の形態における乱数値特定システムの動作の概要を示すフローチャートである。 図25は、年齢と年収との相関関係および元データに乱数値が付加された後の値の範囲の具体例を示す図である。
本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図面および明細書記載の各実施の形態において、同様の機能を備える構成要素には同じ符号が与えられている。また、同様の符号が与えられた構成要素の詳細な説明は、省略する場合がある。
[第一の実施の形態]
図1は、本発明の第一の実施の形態における乱数値特定装置100の構成を示すブロック図である。図1を参照すると、乱数値特定装置100は、受付部101と相関関係特定部102と属性値取得部103と乱数発生部105とを含む。
===受付部101===
受付部101は、ユーザ識別子とユーザに関する情報の属性を示す属性名とを、図示しない他の機能手段または外部装置から受け取る。
ユーザ識別子とは、ユーザの名称またはユーザを識別するための記号である。
ユーザに関する情報とは、例えばユーザの年齢や年収といった個人情報、ユーザが住む家の家賃や築年数や駅からの距離、ユーザの子供の学力、ユーザの嗜好に関する情報(喫煙、飲酒、運動の経験に関する情報)など、あらゆる情報を含む。
ユーザに関する情報の属性とは、そのユーザに関するある特定の項目とその項目に対する値とを示す情報である。ユーザに関する情報の属性の属性名とは、そのユーザに関するある特定の項目を示す情報である。ユーザに関する情報の属性の属性値とは、そのユーザに関するある特定の項目に対する値である。
つまり、ユーザに関する情報の属性とは、例えば「Aliceの年齢が10歳」という情報における「年齢=10歳」という情報のことである。そして、前述の例において、ユーザに関する情報の属性名とは、「年齢」である。同様に、ユーザに関する情報の属性の属性値は、「10歳」である。また、前述の例において、「Alice」は、ユーザ識別子である。
===相関関係特定部102===
相関関係特定部102は、受付部101が受け取った属性名で示される属性の間の相関関係を特定する。
相関関係とは、例えば、その属性に対応する属性値の間の関数である。ただし、この相関関係は一対一である必要はない。相関関係は、例えば、多価関数でもよい。
相関関係特定部102は、図示しない相関関係記憶部から相関関係を受け取ってもよい。あるいは、相関関係特定部102は、属性名と対応する属性値とを受け取り、受け取った属性名と属性値とに基づいて属性の間における回帰曲線または回帰直線を算出し、その回帰曲線または回帰直線を示す情報を相関関係として特定してもよい。
相関関係特定部102は、属性の間における回帰曲線または回帰直線を算出する場合、属性値が所定の値を示す属性を用いて算出してもよい。例えば、この所定の値を示す属性とは、検索範囲に含まれる値を示す属性でもよい。検索範囲とは、ある属性の属性値の範囲を指定する情報である。
相関関係特定部102が相関関係を算出する代わりに、図示しない相関関係計算部が相関関係を算出してもよい。
===属性値取得部103===
属性値取得部103は、受付部101が受け取ったユーザ識別子で識別されるユーザについての情報のうち、受付部101が受け取った属性名に対応する属性値を少なくとも一つ含む属性情報を取得する。属性情報とは、一人のユーザの複数の属性の属性値を含む情報である。例えば、属性「年齢」および「年収」の属性値として、(35歳、1100万円)というデータが、属性情報である。
属性値取得部103は、例えば、ユーザ識別子と属性名と属性値とを対応付けて記憶する図示しない属性値記憶部から、受付部101が受け取ったユーザ識別子に対応付けられる属性値のうちの少なくとも一つを含む属性情報を取得してもよい。この属性値記憶部は、乱数値特定装置100に含まれてもよいし、図示しない外部装置に含まれてもよい。また、この属性値記憶部が記憶する属性値は、対応付けられるユーザ識別子で識別されるユーザに関する属性値であり、対応付けられる属性名で示される属性の属性値である。
===乱数発生部105===
乱数発生部105は、属性値取得部103が取得した属性情報と、相関関係特定部102が特定した属性の間の相関関係とに基づいて特定される乱数値範囲内で、属性毎に乱数を発生する。乱数値範囲とは、相関関係特定部102が特定した属性の間において乱数が取りうる範囲である。乱数値範囲は、図示しない乱数値範囲特定部を用いて特定される。この乱数値範囲特定部を、乱数値特定装置100が含んでもよいし、図示しない他の外部装置が含んでもよい。
図2は、本発明の第一の実施の形態における乱数値特定装置100とその周辺装置のハードウェア構成の一例を示す図である。図2に示すように、乱数値特定装置100は、CPU(Central Processing Unit)191、ネットワーク接続用の通信I/F(Interface)192(通信インターフェース192)、メモリ193、およびプログラムを格納するハードディスク等の記憶装置194を含む。また、乱数値特定装置100は、バス197を介して入力装置195および出力装置196に接続する。
CPU191は、オペレーティングシステムを動作させて本発明の第一の実施の形態に係る乱数値特定装置100の全体を制御する。また、CPU191は、例えば、ドライブ装置などに装着された記録媒体198からメモリ193にプログラムやデータを読み出し、このプログラムやデータにしたがって、第一の実施の形態における受付部101、相関関係特定部102、属性値取得部103および乱数発生部105として各種の処理を実行する。
記憶装置194は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続される図示しない外部コンピュータからダウンロードされてもよい。
入力装置195は、例えば、マウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力装置195は、マウスやキーボード、内蔵のキーボタンに限らず、例えば、タッチパネル、加速度計、ジャイロセンサ、カメラなどでもよい。
出力装置196は、例えば、ディスプレイで実現され、出力を確認するために用いられる。
なお、第一の実施の形態の説明において利用されるブロック図(図1)には、ハードウェア単位の構成ではなく、機能単位のブロックが示される。これらの機能ブロックは、図2に示すハードウェア構成を基に実現される。ただし、乱数値特定装置100が含む各部の実現手段は、図1および図2の記載に限定されない。すなわち、乱数値特定装置100は、物理的に結合した一つの装置で実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置で実現されてもよい。
また、CPU191は、記憶装置194に記録されているコンピュータプログラムを読み込み、そのプログラムにしたがって、受付部101、相関関係特定部102、属性値取得部103、および乱数発生部105として動作してもよい。
また、前述のプログラムのコードを記録した記録媒体(または記憶媒体)が、乱数値特定装置100に供給され、乱数値特定装置100が記録媒体に格納されたプログラムのコードを読み出して、プログラムを実行してもよい。すなわち、本発明は、第一の実施の形態における乱数値特定装置100が実行するソフトウェア(情報処理プログラム)を一時的に記憶する、または、非一時的に記憶する記録媒体198も含む。
図3は、第一の実施の形態における乱数値特定装置100の動作の概要を示すフローチャートである。
受付部101は、ユーザ識別子と対応するユーザに関する属性名とを受け取る(ステップS101)。相関関係特定部102は、受付部101が受け取った属性名で示される属性の間の相関関係を特定する(ステップS102)。属性値取得部103は、受付部101が受け取ったユーザ識別子で識別されるユーザについての情報のうち、受付部101が受け取った属性名に対応する属性値を少なくとも一つ含む属性情報を取得する(ステップS103)。
乱数発生部105は、属性値取得部103が取得した属性情報と相関関係特定部102が特定した属性の間の相関関係とに基づいて特定される乱数値範囲内で、属性毎に乱数を発生する(ステップS104)。
第一の実施の形態における乱数値特定装置100は、ユーザに関する情報の属性の属性名を受け取り、受け取った属性名が示す属性の間の相関関係を特定する。また乱数値特定装置100は、ユーザの属性名に対応する属性値を少なくとも一つ含む属性情報を取得する。そして、乱数値特定装置100は、取得した属性情報と前述の特定した相関関係との両方の情報に基づいて特定される乱数値範囲に基づいて、属性値に付加する乱数を発生する。
乱数値範囲は、属性の間において乱数が取りうる範囲である。乱数値範囲は、乱数が付加される属性値の値に基づくので、属性値毎に異なるものとなる。また、乱数値範囲は、属性間の相関関係に基づくので、その乱数値範囲に含まれる乱数も属性間の相関関係に基づく値となる。したがって、かかる乱数が属性値に付加されても、乱数値が付加された属性値の値がデータの取り得る値である可能性は、高くなる。さらに、元のデータの秘密性は、保持される。
したがって、第一の実施の形態における乱数値特定装置100は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できる。
例えば、非特許文献1に記載の技術では、属性間の相関値に基づいて乱数値が算出される。ここで、非特許文献1に記載の技術では、元データの値に関わらない単一の計算方法を用いてランダムなノイズ値が算出される。よって、非特許文献1に記載の技術は、元データの属性の間に明確な相関値がある場合、つまり、元データの属性の間の相関関係が一次の直線である場合でなければ適用できない。また、特許文献1および特許文献1に記載の技術は、元のデータに応じてその元のデータに付加する乱数値の取りうる範囲が特定されない。よって、乱数値が付加されたデータの値は、元のデータの値と大きく異なり、そのデータの有効性を低減させてしまう。
一方、第一の実施の形態における乱数値特定装置100は、元のデータの値に基づいて特定される乱数値範囲に基づいて、元のデータに付加する乱数を発生する。よって、乱数値特定装置100は、属性の間の相関関係が一次の直線以外、例えば曲線である場合でも適用可能である。さらに、第一の実施の形態において、元のデータにその乱数値範囲に含まれる乱数値が付加されても、乱数値が付加されたデータの値は、元のデータと比較的近い値になる。その上、元のデータの秘密性は、保持される。この利点は、乱数値特定装置100が記憶する値域情報に基づいて特定される所定の部分空間の大きさに応じた大きさが、乱数値範囲の大きさとして保証されることに基づいて得られる。
[第二の実施の形態]
図4は、本発明の第二の実施の形態における乱数値特定システム20の構成を示すブロック図である。図4を参照すると、乱数値特定システム20は、検索事業者装置230と乱数値特定装置200とを含む。
<検索事業者装置230>
検索事業者装置230は、ユーザ識別子と、ユーザに関する情報の属性の属性名とを、後述の乱数値特定装置200へ送信する。検索事業者装置230は、図示しない外部装置からユーザ識別子を受け取ってもよいし、ユーザ識別子を記憶する図示しないユーザ情報記憶部を含み、そのユーザ情報記憶部に記憶されているユーザ識別子を読み出してもよい。
検索事業者装置230は、前述の属性名に対応する属性値の範囲を示す情報である検索範囲を、乱数値特定装置200へ送信してもよい。
検索事業者装置230は、乱数値の付加された属性値を受け取ると、受け取った属性値を出力する。
<乱数値特定装置200>
乱数値特定装置200は、受付部201と相関関係特定部202と属性値取得部203と乱数値範囲特定部204と乱数発生部205と相関関係記憶部207と属性値記憶部211と乱数付加部212とを含む。
===相関関係記憶部207===
相関関係記憶部207は、属性の間における相関関係を記憶する。図5は、相関関係記憶部207が記憶する情報の一例を示す情報である。図5を参照すると、例えば、相関関係記憶部207は、属性の属性名「年収」および「年齢」と、相関関係としてその属性の間の相関を示す関数の実体「Func1」とを対応付けて記憶する。
===属性値記憶部211===
属性値記憶部211は、ユーザ識別子と属性名と属性値とを対応付けて記憶する。この属性値は、その属性値に対応付けられるユーザ識別子で識別されるユーザに関する属性の属性値である。また、この属性名は、前述の属性の属性名である。図6は、属性値記憶部211が記憶する情報の一例を示す図である。図6を参照すると、属性値記憶部211は、例えば、ユーザ識別子「Alice」と、属性名「年収」およびその属性値「1000万円」と、属性名「年齢」およびその属性値「30歳」とを対応付けて記憶する。
===受付部201===
受付部201は、受付部101が備える機能と同様の機能を備える。例えば、受付部201は、検索事業者装置230からユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを相関関係特定部202に渡す。また、受付部201は、検索事業者装置230から検索範囲を受け取ると、受け取った検索範囲を相関関係特定部202に渡す。
検索範囲とは、ある属性の属性値の範囲を指定する情報である。
===相関関係特定部202===
相関関係特定部202は、相関関係特定部102が備える機能と同様の機能を備える。また、相関関係特定部202は、受付部201から検索範囲を受け取る。相関関係特定部202は、属性名と対応する属性値とを受け取ると、検索範囲に含まれる値を示す属性値を特定する。例えば、相関関係特定部202は、特定した属性値と対応する属性名とに基づいて属性の間における回帰曲線または回帰直線を算出する。相関関係特定部202は、算出した回帰直線または回帰直線を示す情報を相関関係として特定し、その相関関係を相関関係記憶部207に記憶する。
相関関係特定部202が相関関係を算出する代わりに、図示しない相関関係計算部が、相関関係を算出してもよい。
===属性値取得部203===
属性値取得部203は、属性値取得部103が備える機能と同様の機能を備える。例えば、属性値取得部203は、受付部201が受け取ったユーザ識別子に基づいて、受付部201が受け取った属性名に対応する属性値を少なくとも一つ含む属性情報を、属性値記憶部211から取得する。この属性情報は、受付部201が受け取ったユーザ識別子で識別されるユーザに関する情報から特定される情報である。具体的には、属性値取得部203は、受付部201が受け取ったユーザ識別子に対応付けられる属性値を属性値記憶部211から読み出す。そして、属性値取得部203は、読み出した属性値のうち受付部201が受け取った属性名に対応する属性値を特定し、特定した属性値を少なくとも一つ含む属性情報を特定する。
===乱数値範囲特定部204===
乱数値範囲特定部204は、属性値取得部203が取得した属性情報と、相関関係特定部202が特定した属性の間の相関関係とに基づいて、乱数値範囲を特定する。乱数値範囲とは、相関関係特定部202が特定した属性の間において乱数が取りうる範囲である。
乱数値範囲特定部204は、属性毎に所定の値域または属性値の範囲を示す値域情報を記憶してもよい。そして、乱数値範囲特定部204は、受付部201が受け取った属性名で示される属性に対応する値域情報と属性値取得部203が取得した属性情報と相関関係特定部202が特定した相関関係とに基づいて、乱数値範囲を特定してもよい。
具体的には、乱数値範囲特定部204は、以下の処理に基づいて乱数値範囲を特定してもよい。第一に、乱数値範囲特定部204は、相関関係特定部102が特定した相関関係に対応する所定の関数に対して、属性値取得部203が取得した属性情報に含まれる各属性値に基づいて、接ベクトルを算出する。
例えば、相関関係に対応する所定の関数が二次元(「年齢」および「年収」)の関数であると仮定する。この二次元空間上の属性情報で示される一点が(x0,y0)と示されると仮定する。乱数値範囲特定部204は、法線ベクトルが(x0,y0)を通るような関数上のある点(p,q)における接線(接ベクトル)を算出する。
または、乱数値範囲特定部204は、関数上のある点(x0,q)または(p,y0)における接線(接ベクトル)を算出してもよい。例えば、相関関係に対応する所定の関数が定義される空間の次元数が、属性値取得部203が取得した属性情報に含まれる属性値の個数より大きい場合、乱数値範囲特定部204は、その属性値を含む関数上のある点における接ベクトルを算出する。
前述の例で、二次元空間における算出方法を例示したが、相関関係に対応する所定の関数は、三次元以上でもよい。かかる場合でも、乱数値範囲特定部204は、前述と同様の方法を用いて接ベクトルを算出する。
相関関係に対応する関数は、複数でもよい。相関関係に対応する関数が複数の場合、乱数値範囲特定部204は、属性値取得部203が取得した属性情報との距離が最も近い関数を選択し、その関数に対して前述の属性情報に基づいて接ベクトルを算出する。
第二に、乱数値範囲特定部204は、受付部201が受け取った属性名で示される属性に対応する値域情報に基づいて、その属性を軸とする空間の一部である所定の部分空間を特定する。
図7、図8および図9は、乱数値範囲特定部204が特定する所定の部分空間の一例を示す図である。これらの図は例示であって、所定の部分空間は、例示の図形に限定されない。図7、図8および図9を参照すると、乱数値範囲特定部204は、値域情報として、属性名「年齢」についての値域情報181aと、属性名「年収」についての値域情報181bとを記憶する。値域情報181aの値は、「プラスマイナス10歳」である。値域情報181bの値は、「プラスマイナス200万」である。そして、乱数値範囲特定部204は、これらの値域情報181a、181bに基づいて、所定の部分空間182を特定する。
第三に、乱数値範囲特定部204は、算出した接ベクトルに基づいて、特定した部分空間を回転させる。図10は、図7で示される部分空間182が回転させられた例を示す図である。
説明の簡単にするため、例えば、乱数値範囲特定部204が算出した接ベクトルは、ある点(p,q)における接ベクトルであると仮定する。乱数値範囲特定部204は、この接ベクトルが示す傾き(微分値)f’を算出してもよい。この場合、乱数値範囲特定部204は、算出した微分値f’に基づいて、特定した部分空間を角度θだけ回転させる。この角度θは、微分値f’に対応する接ベクトル(接線)の傾き角度に対応する。例えば、角度θは、以下の[数1]を用いて求められる値である。[数1]において、αは所定の定数である。
Figure 0005846198
所定の定数αは、あらかじめ乱数値範囲特定部204が記憶してもよいし、図示しない外部装置から受け取る情報でもよい。
属性が3以上ある場合、前述の角度θまたは微分値f’は、2つの属性からなる平面上での角度または関数である。乱数値範囲特定部204は、3以上の属性から2つの属性を選択し、角度θまたは微分値f’を算出する。
図7における所定の部分空間182に含まれる乱数値の座標が[数2]に示される値で表されるとき、その乱数値が角度θだけ回転された空間にマッピングされた際の乱数値の座標は、[数3]の式を用いて求められる。
Figure 0005846198
Figure 0005846198
乱数値範囲特定部204は、以上の処理を用いて求められた部分空間を乱数値範囲として特定する。
図11は、ある属性情報と、その属性情報が含む各属性値に対して乱数が付加された後の値が取りうる範囲と、属性「年齢」および「年収」の間の相関関係を示す関数(相関関係185)と、を示す図である。図11を参照すると、元の属性情報のデータである元データ184は、乱数値が付加されて新部分空間183内のいずれかの値に変換される。変換後のデータがとりうる値の範囲の大きさは、図7で示される部分空間182の大きさと同一である。変換後のデータから元のデータが解読される可能性は、部分空間182の大きさに依存する。この新部分空間183の大きさが十分であれば、元のデータの安全性が保証されることとなる。この新部分空間183の大きさは、乱数値範囲特定部204が記憶する値域情報に依存する。
乱数値範囲特定部204は、属性値取得部203が取得した属性情報と相関関係特定部202が特定した相関関係に対応する相関関係に対応する関数との距離に基づいて、記憶する値域情報の値を更新してもよい。例えば、乱数値範囲特定部204は、属性情報で示されるある点と関数との距離に比例する係数を値域情報の範囲の大きさに掛けることで、値域情報の値を更新してもよい。
属性値取得部203が取得した属性情報と相関関係特定部202が特定した相関関係に対応する相関関係に対応する関数との距離は、乱数値範囲特定部204が接ベクトルを算出する際に用いた法線ベクトルの長さでもよい。前述の二次元空間の属性情報の例において、この二次元空間上の属性情報で示される一点が(x0,y0)と示されると仮定する。乱数値範囲特定部204は、法線ベクトルが(x0,y0)を通るような関数上のある点(p,q)におけるその法線ベクトルの長さを算出する。そして乱数値範囲特定部204は、算出した法線ベクトルの長さを、前述の距離として特定する。
相関関係に対応する関数から距離の離れている属性情報は、特異な値を持つことを示す値であるので、その属性情報に対応するユーザが特定される可能性は、高くなる。したがって、相関関係に対応する関数からの距離に応じて値域情報の値を更新する(例えば、大きくする)ことで、かかるユーザのプライバシーを保護できる。また、相関関係に対応する関数から距離がそれほど離れていない属性情報は、特異でない一般的な値を持つことを示す値であるので、その属性情報に対応するユーザが特定される可能性は、低くなる。したがって、相関関係に対応する関数から距離に応じて値域情報の値を更新する(例えば、小さくする)ことで、ユーザのプライバシーを保護しつつ、データの有効性を高めることができる。
乱数値範囲特定部204は、図示しない外部装置または他の機能手段から受け取る情報に基づいて値域情報を生成し、生成した値域情報を記憶してもよい。例えば、受付部201が、属性名とともにその属性名と対応する属性値の範囲を示す範囲情報を受け取ると、乱数値範囲特定部204は、属性名が示す属性の値域情報として、その範囲情報の値を記憶する。
===乱数発生部205===
乱数発生部205は、乱数発生部105が備える機能と同様の機能を備える。例えば、乱数発生部205は、乱数値が、乱数値範囲特定部204が特定した乱数値範囲内になるように、対応する属性毎に乱数を発生させる。
===乱数付加部212===
乱数付加部212は、乱数発生部205が発生した、各属性に対応する乱数値を受け取る。乱数付加部212は、受付部201が受け取ったユーザ識別子に対応付けられる属性値のうち、受付部201が受け取った属性名に対応する属性値を、属性値記憶部211から読み出す。そして、乱数付加部212は、読み出した各属性値に、その属性名で示される属性に対応する乱数値を付加する。乱数付加部212は、乱数値を付加した各属性値を検索事業者装置230に送信する。
第二の実施の形態における乱数値特定装置200は、乱数値範囲特定部204が用いる所定の定数αおよび値域情報を、検索事業者装置230から受け取ってもよい。検索事業者装置230を用いるユーザは、これらの値(定数αおよび値域情報)を乱数値特定装置200に設定することで、乱数値範囲をカスタマイズできる。その結果、本発明の乱数特定システムの検索事業者装置230のユーザは、乱数値を加えた後のデータの有効性を高めることのでき、適切な乱数値を特定できる。
図12は、第二の実施の形態における乱数値特定システム20の動作の概要を示すフローチャートである。
検索事業者装置230は、ユーザ識別子と、対応するユーザに関する属性名とを乱数値特定装置200へ送信する(ステップS201)。ユーザ識別子と属性名とは、図示しない外部装置から受け取る情報に基づいて定められてもよい。
受付部201は、ユーザ識別子と属性名とを受け取る(ステップS202)。相関関係特定部202は、受付部201が受け取った属性名で示される属性の間の相関関係を特定する(ステップS203)。属性値取得部203は、受付部201が受け取ったユーザ識別子に基づいて、受付部201が受け取った属性名に対応する属性値を少なくとも一つ含む属性情報を属性値記憶部211から取得する(ステップS204)。この属性情報は、受付部201が受け取ったユーザ識別子で識別されるユーザに関する情報の中から特定される。
乱数値範囲特定部204は、属性値取得部203が取得した属性情報と、相関関係特定部202が特定した属性の間の相関関係とに基づいて、その属性の間において乱数が取りうる範囲である乱数値範囲を特定する(ステップS205)。乱数発生部205は、乱数値が、乱数値範囲特定部204が特定した乱数値範囲内になるように、対応する属性毎に乱数を発生する(ステップS206)。
乱数付加部212は、乱数発生部205が発生した、各属性に対応する乱数値を受け取る。乱数付加部212は、受付部201が受け取ったユーザ識別子に対応付けられる属性値のうち、受付部201が受け取った属性名に対応する属性値を属性値記憶部211から読み出す(ステップS207)。そして、乱数付加部212は、読み出した各属性値に対し、対応する属性名で示される属性に対応する乱数値を付加する(ステップS208)。乱数付加部212は、乱数値を付加した各属性値を検索事業者装置230に送信する(ステップS209)。検索事業者装置230は、乱数値特定装置200から乱数値が付加された属性値を受け取ると、受け取った属性値を出力する(ステップS210)。
図13は、第二の実施の形態における乱数値範囲特定部204の動作の概要を示すフローチャートである。
乱数値範囲特定部204は、相関関係特定部202が特定した相関関係に含まれる所定の関数に対して、属性値取得部203が取得した属性情報に基づいて接ベクトル(微分値)を算出する(ステップS2051)。
乱数値範囲特定部204は、受付部201が受け取った属性名で示される属性に対応する値域情報に基づいて、その属性を軸とする空間の一部である所定の部分空間を特定する(ステップS2052)。
乱数値範囲特定部204は、算出した接ベクトル(微分値)に基づいて、特定した部分空間を回転させる(ステップS2053)。
乱数値範囲特定部204は、ステップS2053の処理で求められた部分空間を乱数値範囲として特定する(ステップS2054)。
第二の実施の形態における乱数値特定システム20は、第一の実施の形態における乱数値特定装置100が備える構成要素を含んでいる。したがって、第二の実施の形態における乱数値特定システム20は、第一の実施の形態における乱数値特定装置100と同様の効果を有する。
また、第二の実施の形態における乱数値特定システム20は、ある属性値の範囲を指定する情報である検索範囲に基づいて、相関関係を計算するための属性値を特定する。例えば、ユーザが検索範囲を特定した場合、属性値に付加される乱数値の値の範囲である乱数値範囲は、その検索範囲に含まれる値を有する属性値に基づいて計算される相関関係を用いて特定される。つまり、乱数値範囲はユーザが指定する検索範囲に含まれる属性値の値に応じて特定される。例えば、局所的に、検索範囲に含まれる属性値の間で相関関係があり、すべての属性値の間では大きな相関関係がない場合でも、第二の実施の形態における乱数値特定システム20は、その相関関係が適切に反映された乱数値範囲を特定できる。
よって、第二の実施の形態における乱数値特定システム20は、乱数値を加えた後のデータの有効性を高めることのできる乱数値を特定できる。
第二の実施の形態における乱数値特定システム20は、受け取った検索範囲に含まれる値を示す属性値を特定し、特定した属性値と対応する属性名とに基づいて属性の間における回帰曲線または回帰直線を算出する。つまり、属性値が頻繁に変化するような場合でも、乱数値特定システム20は、検索範囲を受け取った時点での属性値に基づいて、属性値に付加する乱数値を特定する乱数値範囲を特定する。よって、第二の実施の形態における乱数値特定システム20は、属性値が頻繁に変化する場合でも、その変化した属性値に応じた相関関係が適切に反映された乱数値範囲を特定できる。すなわち、第二の実施の形態における乱数値特定システム20は、乱数値を加えた後のデータの有効性を高めることのできる乱数値を特定できる。
例えば、第二の実施の形態における乱数値特定システム20のユーザが、「年齢25歳ないし45歳、年収800万円ないし1200万円」の人物を検索すると仮定する。このユーザは、乱数値特定システム20に、属性名「年齢」と「年収」、属性値「35歳」と「1000万円」、および「年齢」に対する検索範囲「プラスマイナス10歳」と「年収」に対する検索範囲「プラスマイナス200万円」を入力する。乱数値特定装置200は、属性名「年齢」および「年収」の間の相関関係を特定する。例えば、図25は、「年齢」と「年収」との相関関係を示す図である。乱数値特定システム20は、検索範囲「25歳ないし45歳」および「800万円ないし1200万円」に含まれる属性値(元データ184)を特定する。そして、乱数値特定システム20は、その属性値に基づいて乱数値範囲を特定する。そして、乱数値特定システム20は、乱数値範囲からある乱数値を特定し、属性値に付加する。乱数値が付加された値は、新部分空間183に含まれるいずれかの値となる。
関連技術の乱数を付加するシステムは、各属性に対して、その属性に対応する値域情報を適用して、属性値に乱数を付加する。よって、例えば、値域情報が「プラスマイナス10歳、プラスマイナス200万円」であった場合、関連技術では、元データ「35歳、1000万円」が「45歳、800万円」に変換されてしまう。この値は、「年齢」が取り得る最大値であり、「年収」がとりうる最小値である。この変換後の値は、「年齢」と「年収」との相関関係から大きく離れた値である。一方、第二の実施の形態における乱数値特定システム20は、元データ184が取り得る値を、部分空間182ではなく、新部分空間183と特定できる。よって、第二の実施の形態における乱数値特定システム20では、前述の例のように元データ「35歳、1000万円」が「45歳、800万円」に変換されることはない。
[第二の実施の形態の第一の変形例]
図14は、本発明の第二の実施の形態の第一の変形例における乱数値特定システム20aの構成を示すブロック図である。図14を参照すると、乱数値特定システム20aは、検索事業者装置230aと情報保持事業者装置220とを含む。
<検索事業者装置230a>
検索事業者装置230aは、ユーザ識別子とユーザに関する情報の属性の属性名とを、後述の情報保持事業者装置220へ送信する。検索事業者装置230aは、図示しない外部装置からユーザ識別子を受け取ってもよいし、ユーザ識別子を記憶する図示しないユーザ情報記憶部を含み、そのユーザ情報記憶部に記憶されているユーザ識別子を読み出してもよい。
検索事業者装置230aは、前述の属性名に対応する属性値の範囲を示す情報である検索範囲を情報保持事業者装置220へ送信してもよい。
検索事業者装置230aは、乱数値の付加された属性値を受け取ると、受け取った属性値を出力する。
<情報保持事業者装置220>
情報保持事業者装置220は、乱数値特定装置200aと受付部221と属性値記憶部211と乱数付加部212とを含む。
===受付部221===
受付部221は、検索事業者装置230aからユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを乱数値特定装置200aに渡す。また、受付部221は、検索事業者装置230aから検索範囲を受け取ると、受け取った検索範囲を乱数値特定装置200aに渡す。
<乱数値特定装置200a>
乱数値特定装置200aは、受付部201aと相関関係特定部202と属性値取得部203と乱数値範囲特定部204と乱数発生部205と相関関係記憶部207とを含む。
===受付部201a===
受付部201aは、受付部221からユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを相関関係特定部202に渡す。また、受付部201aは、受付部221から検索範囲を受け取ると、受け取った検索範囲を相関関係特定部202に渡す。
第二の実施の形態の第一の変形例における乱数値特定システム20aは、第二の実施の形態における乱数値特定システム20と同様の構成要素を含んでいる。したがって、第二の実施の形態の第一の変形例における乱数値特定システム20aは、第二の実施の形態における乱数値特定システム20と同様の効果を有する。
[第二の実施の形態の第二の変形例]
図15は、本発明の第二の実施の形態の第二の変形例における乱数値特定システム20bの構成を示すブロック図である。図15を参照すると、乱数値特定システム20bは、検索依頼事業者装置240と検索事業者装置230bとを含む。
<検索依頼事業者装置240>
検索依頼事業者装置240は、ある属性値の範囲を示す検索範囲を検索事業者装置230bに送信する。検索依頼事業者装置240は、ユーザ識別子を検索事業者装置230bに送信してもよい。
検索依頼事業者装置240は、乱数値の付加された属性値を受け取ると、受け取った属性値を各属性値に対応するユーザ毎に出力する。
<検索事業者装置230b>
検索事業者装置230bは、検索受付部231と受付部201bと相関関係特定部202と属性値取得部203と乱数値範囲特定部204と乱数発生部205と相関関係記憶部207と属性値記憶部211と乱数付加部212bとを含む。
===検索受付部231===
検索受付部231は、検索依頼事業者装置240からある属性値の範囲を示す検索範囲を受け取る。そして、検索受付部231は、受け取った検索範囲とユーザ識別子とユーザに関する情報の属性の属性名とを、後述の受付部201bへ渡す。この属性名は、受け取った検索範囲が示す属性値に対応する属性の属性名である。
検索受付部231は、検索依頼事業者装置240からユーザ識別子を受け取ってもよい。また、検索受付部231は、ユーザ識別子を記憶する図示しないユーザ情報記憶部を含み、そのユーザ情報記憶部に記憶されているユーザ識別子を読み出してもよい。検索受付部231は、検索依頼事業者装置240から受け取ったすべてのユーザ識別子を受付部201bに渡してもよい。あるいは、検索受付部231は、図示しないユーザ情報記憶部に記憶されているすべてのユーザ識別子を受付部201bに渡してもよい。
検索受付部231は、乱数付加部212bから乱数値の付加された属性値を受け取ると、各属性値に対応するユーザ毎に以下を処理する。まず、検索受付部231は、検索依頼事業者装置240から受け取る検索範囲が示す属性値の範囲に対応する属性を特定する。そして、検索受付部231は、特定した属性に対応する属性値がすべて揃ったユーザの乱数値の付加された属性値を、検索依頼事業者装置240に送信する。
検索受付部231が受付部201bにユーザ識別子を渡す処理は、検索依頼事業者装置240から検索範囲を受け取るたびに行われてもよいし、検索依頼事業者装置240から検索範囲を受け取る処理と独立に行われてもよい。
===受付部201b===
受付部201bは、検索受付部231からユーザ識別子と属性名とを受け取り、そのユーザ識別子と属性名とを相関関係特定部202に渡す。また、受付部201bは、検索受付部231から検索範囲を受け取ると、受け取った検索範囲を相関関係特定部202に渡す。
===乱数付加部212b===
乱数付加部212bは、乱数発生部205が発生した、各属性に対応する乱数値を受け取る。乱数付加部212は、受付部201bが受け取ったユーザ識別子に対応付けられる属性値のうち、受付部201bが受け取った属性名に対応する属性値を属性値記憶部211から読み出す。そして、乱数付加部212bは、読み出した各属性値に対し、その属性名で示される属性に対応する乱数値を付加する。乱数付加部212bは、乱数値を付加した各属性値を検索受付部231に渡す。
第二の実施の形態の第二の変形例における乱数値特定システム20bは、第二の実施の形態における乱数値特定システム20と同様の構成要素を含んでいる。したがって、第二の実施の形態の第二の変形例における乱数値特定システム20bは、第二の実施の形態における乱数値特定システム20と同様の効果を有する。
[第三の実施の形態]
図16は、本発明の第三の実施の形態における乱数値特定システム30の構成を示すブロック図である。図16を参照すると、乱数値特定システム30は、検索事業者装置230と乱数値特定装置300とを含む。
<乱数値特定装置300>
乱数値特定装置300は、受付部301と相関関係特定部302と属性値取得部203と乱数値範囲特定部204と乱数発生部205と相関関係記憶部207と属性値記憶部211と乱数付加部312と検索予測部313と許諾情報記憶部314と乱数値記憶部315とを含む。
===受付部301===
受付部301は、検索事業者装置230からユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを検索予測部313に渡す。また、受付部301は、検索事業者装置230から検索範囲を受け取ると、受け取った検索範囲を検索予測部313に渡す。
===許諾情報記憶部314===
許諾情報記憶部314は、ユーザが公開の許諾する属性を少なくとも一つ示す許諾情報と、そのユーザを識別するユーザ識別子とを対応付けて記憶する。
図17は、許諾情報記憶部314が記憶する情報の一例を示す図である。図17を参照すると、許諾情報記憶部314は、ユーザ識別子「Alice」と、許諾情報とを対応付けて記憶する。ユーザ「Alice」の許諾情報は、属性名「年収」、「年齢」、「xx1」の開示の許可を示す。同様に、許諾情報記憶部314は、ユーザ識別子「Bob」、「Claire」、「Dave」、「Ellen」と、各ユーザの許諾情報とを対応付けて記憶する。図17の例では、情報保持事業者AP_Aが属性名「年収」に関する情報を保持するとの条件が仮定される。他の情報保持事業者についても同様の条件が仮定される。
許諾情報記憶部314は、ユーザが公開を許諾する事業者を示す事業者許諾情報を、ユーザ識別子と許諾情報と対応付けて記憶してもよい。事業者許諾情報を用いた情報処理の例は、後述される。
乱数値特定システム30は、事業者毎に許諾情報記憶部314を備えてもよい。この場合、各検索事業者装置230は、ユーザ識別子および属性名とともに事業者を示す事業者識別子を乱数値特定装置300に送信する。そして、乱数値特定装置300は、受け取った事業者識別子に対応する許諾情報記憶部314に記憶される情報を基に処理する。
===乱数値記憶部315===
乱数値記憶部315は、ユーザ識別子と属性名とその属性名に対応する属性値に付加する乱数値とを対応付けて記憶する。図18は、乱数値記憶部315が記憶する情報の一例を示す図である。図18を参照すると、例えば乱数値記憶部315は、ユーザ識別子「Alice」と属性名「年収」およびその乱数値「+100万円」と、属性名「年齢」およびその乱数値「+5歳」とを対応付けて記憶する。
乱数値記憶部315は、前述の情報に検索範囲をさらに対応付けて記憶してもよい。
===検索予測部313===
検索予測部313は、受付部301からユーザ識別子と属性名とを受け取ると、そのユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されているか否か判定する。そして、検索予測部313は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されていると判定した場合、以下を処理する。すなわち、検索予測部313は、そのユーザ識別子と属性名とに対応付けられる乱数値を乱数値記憶部315から読み出す。そして、検索予測部313は、その属性名と乱数値とを後述の乱数付加部312に渡す。
検索予測部313は、受付部301からユーザ識別子と属性名と検索範囲とを受け取ると、そのユーザ識別子と属性名と検索範囲とが対応付けられて乱数値記憶部315に記憶されているか否か判定する。検索予測部313が、ユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されていると判定した場合における検索予測部313の処理は、前述の処理と同様である。
検索予測部313が、ユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されていると判定した場合、以下に例示される構成要素における処理の一部またはすべてが省略されてもよい。その構成要素とは、例えば、相関関係特定部302、属性値取得部203、乱数値範囲特定部204、および乱数発生部205である。
検索予測部313は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されていないと判定した場合、以下を処理する。すなわち、検索予測部313は、受付部301が受け取ったユーザ識別子に基づいて、そのユーザ識別子に対応付けられる許諾情報が許諾情報記憶部314に記憶されているか否か判定する。そして、検索予測部313は、許諾情報が記憶されていると判定した場合、その許諾情報を許諾情報記憶部314から読み出す。そして、検索予測部313は、読み出した許諾情報のうちから少なくとも一つの属性を特定する。例えば、検索予測部313は、受付部301から受け取った属性名に対応する属性以外の属性を少なくとも一つ特定してもよい。
検索予測部313は、受付部301から受け取ったユーザ識別子と属性名と前述の特定した属性を示す属性名とを相関関係特定部302に渡す。
また、検索予測部313は、乱数値特定部106が特定した乱数値を受け取ると、その乱数値とその乱数値が付加される属性値に対応する属性の属性名と受付部301から受け取ったユーザ識別子とを対応付けて乱数値記憶部315に記憶する。
受付部301が検索範囲を受け取った場合、検索予測部313は、前述の乱数値と属性名とユーザ識別子とその検索範囲とを対応付けて記憶する。
許諾情報記憶部314が事業者許諾情報を記憶する場合、検索事業者装置230は、所定の事業者を示す事業者識別子を乱数値特定装置300に送る。
そして、検索予測部313は、受け取った事業者識別子で示される事業者が、許諾情報記憶部314から読み出した許諾情報に対応付けられる事業者許諾情報で示される事業者に含まれる場合、以下を処理してもよい。すなわち、検索予測部313は、ユーザ識別子と属性情報とを相関関係特定部302に渡してもよい。
一方、検索予測部313は、受け取った事業者識別子で示される事業者が、許諾情報記憶部314から読み出した許諾情報に対応付けられる事業者許諾情報で示される事業者に含まれない場合、以下を処理する。すなわち、検索予測部313は、検索が失敗したことを示す情報を検索事業者装置230に送信する。
===相関関係特定部302===
相関関係特定部302は、ユーザ識別子、属性名および検索範囲を検索予測部313から受け取る点を除いて、第二の実施の形態における相関関係特定部202と同様の機能を含む。
===乱数付加部312===
乱数付加部312は、乱数発生部205が発生した各属性に対応する乱数値、または検索予測部313が乱数値記憶部315から読み出した乱数値を受け取る。乱数付加部312は、検索予測部313が受付部301から受け取ったユーザ識別子に対応付けられる属性値のうち、検索予測部313が受付部301から受け取った属性名に対応する属性値を、属性値記憶部211から読み出す。そして、乱数付加部312は、読み出した各属性値に、その属性名で示される属性に対応する乱数値を付加する。乱数付加部312は、乱数値を付加した各属性値を出力する。
図19は、第三の実施の形態における乱数値特定システム30の動作の概要を示すフローチャートである。
検索事業者装置230は、ユーザ識別子と属性名とを乱数値特定装置300へ送信する(ステップS301)。ユーザ識別子と属性名とは、図示しない外部装置から受け取る情報に基づいて定められてもよい。
受付部301は、ユーザ識別子と対応するユーザに関する属性名とを受け取る(ステップS302)。検索予測部313は、受付部301が受け取ったユーザ識別子と属性名とが、対応付けられて乱数値記憶部315に記憶されているか否か判定する(ステップS303)。
検索予測部313は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されていると判定した場合(ステップS303の″Yes″)、以下を処理する。すなわち、検索予測部313は、そのユーザ識別子と属性名とに対応付けられる乱数値を乱数値記憶部315から読み出し、乱数付加部312に渡す(ステップS304)。
乱数付加部312は、検索予測部313が乱数値記憶部315から読み出した乱数値を受け取る。乱数付加部312は、受付部301が受け取ったユーザ識別子に対応付けられる属性値のうち、受付部301が受け取った属性名に対応する属性値を属性値記憶部211から読み出す(ステップS305)。
そして、乱数付加部312は、読み出した各属性値に対し、その属性名で示される属性に対応する乱数値を付加する(ステップS306)。乱数付加部312は、乱数値を付加した各属性値を送信する(ステップS307)。検索事業者装置230は、乱数値特定装置300から乱数値の付加された属性値を受け取ると、受け取った属性値を出力する(ステップS308)。そして、乱数値特定システム30の処理は、終了する。
一方、検索予測部313は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されていないと判定した場合(ステップS303の″No″)、以下を処理する。すなわち、検索予測部313は、受付部301が受け取ったユーザ識別子に基づいて、そのユーザ識別子に対応付けられる許諾情報が許諾情報記憶部314に記憶されているか否か判定する(ステップS309)。
検索予測部313は、許諾情報が記憶されていると判定した場合(ステップS309の″Yes″)、その許諾情報を許諾情報記憶部314から読み出す。そして、検索予測部313は、読み出した許諾情報のうちから少なくとも一つの属性を特定する(ステップS310)。そして、乱数値特定システム30の処理は、ステップS312へ進む。一方、検索予測部313は、許諾情報が記憶されていないと判定した場合(ステップS309の″No″)、検索に失敗したことを示す情報を検索事業者装置230に送信する(ステップS311)。そして、乱数値特定システム30の処理は、終了する。
ステップS310で読み出した許諾情報のうちから少なくとも一つの属性を特定すると、検索予測部313は、ユーザ識別子、属性名および検索範囲を相関関係特定部302に渡す。相関関係特定部302は、受付部301が受け取った属性名で示される属性の間の相関関係を特定する(ステップS312)。属性値取得部203は、受付部301が受け取ったユーザ識別子に基づいて、受付部301が受け取った属性名で示される属性に対応する属性値を少なくとも一つ含む属性情報を属性値記憶部211から取得する(ステップS313)。この属性情報は、受付部301が受け取ったユーザ識別子で識別されるユーザに関する情報の中から特定される情報である。
乱数値範囲特定部204は、属性値取得部203が取得した属性情報と、相関関係特定部302が特定した属性の間の相関関係とに基づいて、その属性の間において乱数が取りうる範囲である乱数値範囲を特定する(ステップS314)。乱数発生部205は、乱数値が、乱数値範囲特定部204が特定した乱数値範囲内になるように、対応する属性毎に乱数を発生する(ステップS315)。
乱数付加部312は、乱数発生部205が発生した、各属性に対応する乱数値を受け取る。乱数付加部312は、受付部301が受け取ったユーザ識別子に対応付けられる属性値のうち、受付部301が受け取った属性名に対応する属性値を属性値記憶部211から読み出す(ステップS316)。そして、乱数値特定システム30の処理は、ステップS306へ進む。
第三の実施の形態における乱数値特定システム30は、第一の実施の形態における乱数値特定装置100が備える構成要素を含んでいる。したがって、第三の実施の形態における乱数値特定システム30は、第一の実施の形態における乱数値特定装置100と同様の効果を有する。
また、第三の実施の形態における乱数値特定システム30は、ユーザが公開を許諾する属性を少なくとも一つ示す許諾情報と、検索事業者装置230が送信する属性名とに基づいて、そのユーザが許諾する他の属性を特定する。そして、乱数値特定システム30は、属性名で特定される属性と、前述の他の属性との間の相関関係を特定し、その相関関係に基づいて属性値に付加する乱数値の範囲である乱数値範囲を特定する。
例えば、検索事業者装置230が、一つの事実を検索するために複数の検索クエリを用いることがある。例えば、ユーザ識別子「Alice」の「年齢」および「年収」が検索される場合を仮定する。ここで、例えば、検索事業者装置230が、ユーザ識別子「Alice」と属性名「年齢」とを乱数値特定装置300に送信する。乱数値特定装置300は、ユーザ識別子「Alice」と属性名「年齢」とを受け取り、許諾情報記憶部314にユーザ識別子「Alice」に対応付けられる許諾情報を読み出す。
図17を参照すると、「Alice」の許諾情報は、属性「年齢」、「年収」、「xx1」の開示を許可する。乱数値特定装置300は、受け取った属性名が示していない属性「年収」を特定し、属性「年齢」および「年収」の間の相関関係を特定する。乱数値特定装置300は、特定した相関関係に基づいて乱数値範囲を特定する。乱数値特定装置300は、特定した乱数値範囲のいずれかに含まれる乱数値を「Alice」の「年齢」の属性値に付加し、検索事業者装置230に返す。
次に、検索事業者装置230がユーザ識別子「Alice」と属性名「年収」とを乱数値特定装置300に送信する。この場合、乱数値特定装置300は、乱数値記憶部315にユーザ識別子「Alice」と属性名「年収」と所定の乱数値とが記憶されていると判定し、その乱数値を「Alice」の「年収」の属性値に付加し、検索事業者装置230に返す。
よって、第三の実施の形態における乱数値特定システム30は、前述のように一つの事実を検索するために複数の検索のクエリが用いられる場合でも、一回目の検索クエリに基づいて、次回以降の検索のクエリを推測できる。さらに、第三の実施の形態における乱数値特定システム30は、その推測結果に基づいて適切な乱数値範囲を特定できる。つまり、第三の実施の形態における乱数値特定システム30は、乱数値を加えた後のデータの有効性を高めることのできる乱数値を特定できる。
[第三の実施の形態の第一の変形例]
図20は、本発明の第三の実施の形態の第一の変形例における乱数値特定システム30aの構成を示すブロック図である。図20を参照すると、乱数値特定システム30aは、検索事業者装置230aと情報保持事業者装置320とを含む。
<情報保持事業者装置320>
情報保持事業者装置320は、受付部321と検索予測部313と許諾情報記憶部314と乱数値記憶部315と乱数値特定装置300aとを含む。
===受付部321===
受付部321は、検索事業者装置230aからユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを検索予測部313に渡す。また、受付部321は、検索事業者装置230aから検索範囲を受け取ると、受け取った検索範囲を乱数値特定装置300aに渡す。
<乱数値特定装置300a>
乱数値特定装置300aは、受付部301aと相関関係特定部302と属性値取得部203と乱数値範囲特定部204と乱数発生部205と相関関係記憶部207と乱数付加部312とを含む。
===受付部301a===
受付部301aは、情報保持事業者装置320の検索予測部313からユーザ識別子と属性名とを受け取り、受け取ったユーザ識別子と属性名とを相関関係特定部202に渡す。また、受付部301aは、情報保持事業者装置320の受付部321から検索範囲を受け取ると、受け取った検索範囲を相関関係特定部302に渡す。
第三の実施の形態の第一の変形例における乱数値特定システム30aは、第三の実施の形態における乱数値特定システム30と同様の構成要素を含んでいる。したがって、第三の実施の形態の第一の変形例における乱数値特定システム30aは、第三の実施の形態における乱数値特定システム30と同様の効果を有する。
[第四の実施の形態]
図21は、本発明の第四の実施の形態における乱数値特定システム40の構成を示すブロック図である。図21を参照すると、乱数値特定システム40は、検索事業者装置430、情報保持事業者装置420a、情報保持事業者装置420b、および乱数値特定装置400とを含む。
第四の実施の形態において、情報保持事業者装置420は、情報保持事業者装置420a、および420bを総称したものである。
<検索事業者装置430>
検索事業者装置430は、ユーザ識別子とユーザに関する情報の属性の属性名とを、後述の情報保持事業者装置420a、および情報保持事業者装置420bへ送信する。検索事業者装置430は、図示しない外部装置からユーザ識別子を受け取ってもよいし、ユーザ識別子を記憶する図示しないユーザ情報記憶部を含み、そのユーザ情報記憶部に記憶されているユーザ識別子を読み出してもよい。
また、検索事業者装置430は、検索事業者装置430が生成した公開鍵を情報保持事業者装置420に送信してもよい。この公開鍵は、完全準同型暗号である公開鍵である。
検索事業者装置430は、乱数値の付加された属性値を受け取ると、受け取った属性値を出力する。また、検索事業者装置430は、暗号化され、乱数値が付加された属性値を受け取ると、受け取った属性値を、前述の公開鍵に対応する秘密鍵を用いて復号する。そして、検索事業者装置430は、復号された属性値を出力する。
第四の実施の形態において、検索事業者装置430は、ユーザ識別子と属性名とを情報保持事業者装置420に送信する際に公開鍵を送信してもよいし、あらかじめ情報保持事業者装置420に公開鍵を送信してもよい。
<情報保持事業者装置420>
図22は、本発明の第四の実施の形態における情報保持事業者装置420の構成の一例を示すブロック図である。図22を参照すると、情報保持事業者装置420は、受付部421と属性値記憶部211と属性値取得部422と送信部423と乱数付加部424とを含む。
===受付部421===
受付部421は、検索事業者装置430からユーザ識別子と属性名とを受け取る。そして受付部421は、受け取ったユーザ識別子と属性名とを属性値取得部422に渡す。
受付部421は、検索事業者装置430から、検索事業者装置430が生成した公開鍵を受け取る場合、受け取った公開鍵を送信部423に渡す。
===属性値取得部422===
属性値取得部422は、受付部421からユーザ識別子と属性名とを受け取る。そして、属性値取得部422は、受け取ったユーザ識別子と属性名とに対応付けられる属性値を属性値記憶部211から読み出す。
属性値取得部422は、読み出した属性値と、受け取ったユーザ識別子と属性名とを、送信部423に渡す。
===送信部423===
送信部423は、属性値取得部422からユーザ識別子と属性名と属性値とを受け取り、受け取ったユーザ識別子と属性名と属性値とを乱数値特定装置400に送信する。
送信部423は、属性値を、所定の暗号で暗号化して乱数値特定装置400に送信してもよい。例えば、送信部423は、検索事業者装置430が生成した完全準同型暗号の公開鍵を用いて属性値を暗号化する。そして、送信部423は、暗号化された属性値を乱数値特定装置400に送信する。乱数値特定装置400は、完全準同型暗号で暗号化されたデータに対して、平文や秘密鍵なしで加法および乗法の演算が可能である。つまり、乱数値特定装置400は、暗号化された属性値を用いて、その属性値を暗号化したまま乱数値の演算が可能である。
===乱数付加部424===
乱数付加部424は、乱数値特定装置400から乱数値を受け取る。乱数付加部424は、属性値取得部422が取得した属性値に、その属性値に対応する属性の乱数値を付加する。
乱数付加部424は、乱数値とともに属性値が暗号化されていたことを示す情報を受け取った場合、以下を処理する。すなわち、乱数付加部424は、暗号化された受け取った乱数値と、暗号化された受け取った属性値とを暗号化したまま加法演算を処理する。この加法演算の処理は、送信部423が属性値に対して適用した暗号化処理に対応するアルゴリズムを基に行われる。
乱数付加部424は、乱数値を付加した属性値を検索事業者装置430に送信する。また、乱数付加部424は、属性値が暗号化されている場合、乱数値を付加した暗号化された属性値を検索事業者装置430に送信する。
<乱数値特定装置400>
図23は、本発明の第四の実施の形態における乱数値特定装置400の構成の一例を示すブロック図である。図23を参照すると、乱数値特定装置400は、受付部401と相関関係特定部302と乱数値範囲特定部404と乱数発生部205と相関関係記憶部207と乱数送信部408と検索予測部413と許諾情報記憶部314と乱数値記憶部315とを含む。
===受付部401===
受付部401は、情報保持事業者装置420からユーザ識別子と属性名と属性値とを受け取る。そして、受付部401は、受け取ったユーザ識別子と属性名と属性値とを検索予測部413に渡す。
===乱数値範囲特定部404===
乱数値範囲特定部404は、検索予測部413が受付部401から受け取った属性値と、相関関係特定部302が特定した属性の間の相関関係とに基づいて、その属性の間において乱数が取りうる範囲である乱数値範囲を特定する。また、属性値が完全準同型暗号で暗号化される場合、乱数値範囲特定部404は、暗号化された属性値に基づいて、暗号化されていない属性値の場合と同様の処理を用いて乱数値範囲を特定する。
乱数値範囲特定部404が乱数値範囲を特定する具体的な処理は、第一の実施の形態における乱数値範囲特定部104の処理と同様である。
===検索予測部413===
検索予測部413は、受付部401からユーザ識別子と属性名とを受け取ると、そのユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されているか否か判定する。そして、検索予測部413は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されていると判定した場合、以下を処理する。すなわち、検索予測部413は、そのユーザ識別子と属性名とに対応付けられる乱数値を乱数値記憶部315から読み出す。そして、検索予測部413は、その属性名と乱数値とを後述の乱数送信部408に渡す。
検索予測部413が備える他の機能は、第三の実施の形態における検索予測部313が備える機能と同様である。
===乱数送信部408===
乱数送信部408は、乱数発生部205が発生した乱数値、または検索予測部413が乱数値記憶部315から読み出した乱数値を受け取る。乱数送信部408は、受け取った乱数値を情報保持事業者装置420に送信する。特に、乱数送信部408は、受付部401が受け取った属性値に対応する属性に付加する乱数値を情報保持事業者装置420に送信する。
乱数送信部408は、受付部401が受け取った属性値が暗号化されていた場合、属性値が暗号化されていたことを示す情報を合わせて情報保持事業者装置420に送信する。
図24は、第四の実施の形態における乱数値特定システム40の動作の概要を示すフローチャートである。本例は、検索事業者装置430が、情報保持事業者装置420aに対してユーザ識別子と属性名とを送信する例である。
検索事業者装置430は、ユーザ識別子とユーザに関する情報の属性の属性名とを、情報保持事業者装置420aへ送信する(ステップS401)。情報保持事業者装置420aの受付部421は、検索事業者装置430からユーザ識別子と属性名とを受け取る(ステップS402)。受付部421は、受け取ったユーザ識別子と属性名とを属性値取得部422に渡す。
属性値取得部422は、受付部421からユーザ識別子と属性名とを受け取る。そして、属性値取得部422は、受け取ったユーザ識別子と属性名とに対応付けられる属性値を属性値記憶部211から取得する(ステップS403)。属性値取得部422は、取得した属性値と、受け取ったユーザ識別子と属性名とを、送信部423に渡す。
送信部423は、属性値取得部422からユーザ識別子と属性名と属性値とを受け取り、受け取ったユーザ識別子と属性名と属性値とを乱数値特定装置400に送信する(ステップS404)。
乱数値特定装置400の受付部401は、情報保持事業者装置420aからユーザ識別子と属性名と属性値とを受け取る(ステップS405)。そして、受付部401は、受け取ったユーザ識別子と属性名と属性値とを検索予測部413に渡す。
検索予測部413は、受付部401が受け取ったユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されているか否か判定する(ステップS406)。
検索予測部413は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されていると判定した場合(ステップS406の″Yes″)、以下を処理する。すなわち、検索予測部413は、そのユーザ識別子と属性名とに対応付けられる乱数値を乱数値記憶部315から読み出し、乱数送信部408に渡す(ステップS407)。
乱数送信部408は、乱数発生部205が発生した乱数値、または検索予測部413が乱数値記憶部315から読み出した乱数値を受け取る。乱数送信部408は、受け取った乱数値を情報保持事業者装置420aに送信する(ステップS408)。
情報保持事業者装置420aの乱数付加部424は、乱数値特定装置400から乱数値を受け取る。乱数付加部424は、属性値取得部422が取得した属性値に、その属性値に対応する属性の乱数値を付加する(ステップS409)。
乱数付加部424は、乱数値を付加した属性値を検索事業者装置430に送信する(ステップS410)。検索事業者装置430は、乱数値の付加された属性値を受け取ると、受け取った属性値を出力する(ステップS411)。そして、乱数値特定システム40の処理は、終了する。
一方、検索予測部413は、ユーザ識別子と属性名とが対応付けられて乱数値記憶部315に記憶されていないと判定した場合(ステップS406の″No″)、以下を処理する。すなわち、検索予測部413は、受付部401が受け取ったユーザ識別子に基づいて、そのユーザ識別子に対応付けられる許諾情報が許諾情報記憶部314に記憶されているか否か判定する(ステップS412)。
検索予測部413は、許諾情報が記憶されていると判定した場合(ステップS412の″Yes″)、その許諾情報を許諾情報記憶部314から読み出す。そして、検索予測部413は、読み出した許諾情報のうちから少なくとも一つの属性を特定する(ステップS413)。そして、乱数値特定システム40の処理は、ステップS415へ進む。
一方、検索予測部413は、許諾情報が記憶されていないと判定した場合(ステップS412の″No″)、検索に失敗したことを示す情報を情報保持事業者装置420aに送信する。情報保持事業者装置420aは、検索に失敗したことを示す情報を検索事業者装置430に送信する(ステップS414)。そして、乱数値特定システム40の処理は、終了する。
ステップS413で読み出した許諾情報のうちから少なくとも一つの属性を特定すると、検索予測部413は、受付部401が受け取ったユーザ識別子、属性名、属性値および検索範囲を相関関係特定部402に渡す。相関関係特定部402は、受付部401が受け取った属性名で示される属性の間の相関関係を特定する(ステップS415)。
乱数値範囲特定部404は、受付部401が受け取った属性値と、相関関係特定部402が特定した属性の間の相関関係とに基づいて、その属性の間において乱数が取りうる範囲である乱数値範囲を特定する(ステップS416)。乱数発生部205は、乱数値が、乱数値範囲特定部404が特定した乱数値範囲内になるように、対応する属性毎に乱数を発生させる(ステップS417)。
乱数送信部408は、乱数発生部205が発生した、各属性に対応する乱数値を受け取る。乱数送信部408は、受け取った乱数値を情報保持事業者装置420aに送信する(ステップS419)。そして、乱数値特定システム40の処理は、ステップS409へ進む。
第四の実施の形態における乱数値特定システム40は、第三の実施の形態における乱数値特定システム30と同様の構成要素を含んでいる。したがって、第四の実施の形態の第一の変形例における乱数値特定システム40は、第三の実施の形態における乱数値特定システム30と同様の効果を有する。
また、第四の実施の形態における乱数値特定装置400は、属性値の真の値を知ることなく、暗号化された属性値の値に基づいて乱数値範囲を特定する。暗号化のアルゴリズムとして完全準同型暗号が用いられることで、乱数値特定装置400は、暗号化に用いられた平文および秘密鍵を知ることなく、暗号化されたデータに対しての乗算、加算が可能となる。
乱数値特定装置400が特定した乱数値範囲に基づいて特定された乱数値は、情報保持事業者装置420に送信される。そして、情報保持事業者装置420は、暗号化された乱数値をそのまま、暗号化された属性値に付加する。情報保持事業者装置420は、乱数値が付加された暗号化された属性値を、検索事業者装置430に送信する。
検索事業者装置430は、受け取った属性値を、検索事業者装置430が生成した秘密鍵を用いて復号し、復号された属性値を出力する。
したがって、第四の実施の形態における乱数値特定システム40は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できる。特に、乱数値範囲を特定する乱数値特定装置400は、元データの値を知ることなく、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できる。
本発明の効果の一例は、元データの値を隠蔽させ、かつ、乱数値を加えた後のデータの有効性を高めることのできる適切な乱数値を特定できることである。
以上、各実施の形態および実施例を参照して本発明を説明したが、本発明は上記実施の形態および実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。
また、本発明の各実施の形態における各構成要素は、その機能をハードウェア的な実現はもちろん、コンピュータとプログラムとで実現できる。プログラムは、磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御し、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
この出願は、2011年3月4日に出願された日本出願特願2011−047928を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明の乱数値特定装置は、プライバシー保護データマイニングを実現する情報処理装置に適用可能である。
20、20a、20b、30、30a、40 乱数値特定システム
100、200、200a、300、300a、400 乱数値特定装置
101、201、201a、201b、301、401 受付部
102、202、302、402 相関関係特定部
103、203 属性値取得部
104、204、404 乱数値範囲特定部
105、205 乱数発生部
181a 値域情報
181b 値域情報
182 部分空間
183 新部分空間
184 元データ
185 相関関係
191 CPU
192 通信インターフェース
193 メモリ
194 記憶装置
195 入力装置
196 出力装置
197 バス
198 記録媒体
207 相関関係記憶部
211 属性値記憶部
212、212b、312 乱数付加部
220、320、420、420a、420b 情報保持事業者装置
221、321、421 受付部
230、230a、230b、430 検索事業者装置
231 検索受付部
240 検索依頼事業者装置
313、413 検索予測部
314 許諾情報記憶部
315 乱数値記憶部
408 乱数送信部
422 属性値取得部
423 送信部
424 乱数付加部

Claims (18)

  1. 対象を識別する識別子と前記対象に関する情報の属性の属性名とを受け取る受付手段と、
    前記属性名で示される二つ以上の属性の間の相関関係を特定する相関関係特定手段と、
    前記識別子で識別される前記対象の前記属性の属性値を少なくとも一つ取得する属性値取得手段と、
    前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、
    を含む、乱数値特定装置。
  2. 前記対象は、ユーザである
    請求項1に記載の乱数値特定装置。
  3. 請求項1または2に記載の乱数値特定装置であって、
    属性の相関関係を記憶する相関関係記憶手段を含み、
    前記相関関係特定手段は、前記属性に基づいて前記相関関係記憶手段から相関関係を読み出して、当該属性の間の相関関係を特定する、乱数値特定装置。
  4. 請求項1ないし3のいずれか1項に記載の乱数値特定装置であって、
    属性毎の値域を示す値域情報を記憶し、前記値域情報と前記取得された属性値と前記特定された相関関係とに基づいて、前記乱数値範囲を特定する乱数値範囲特定手段を含む、乱数値特定装置。
  5. 請求項4に記載の乱数値特定装置であって、
    前記乱数値範囲特定手段は、前記属性の相関関係に対応する関数の微分値に基づいて、前記乱数値範囲を特定する、乱数値特定装置。
  6. 請求項5に記載の乱数値特定装置であって、
    前記乱数値範囲特定手段は、前記相関関係に対応する関数のうち、前記取得した属性値との距離が最も近い関数の微分値に基づいて、前記乱数値範囲を特定する、乱数値特定装置。
  7. 請求項5または6に記載の乱数値特定装置であって、
    前記乱数値範囲特定手段は、前記取得された属性値と前記相関関係に対応する関数との距離に基づいて、前記記憶される値域情報の値を更新し、更新した値域情報に基づいて、前記乱数値範囲を特定する、乱数値特定装置。
  8. 請求項3に記載の乱数値特定装置であって、
    前記相関関係特定手段は、対象に対応する属性値に基づいて、属性の間の相関関係を計算し、計算した相関関係を前記相関関係記憶手段に記憶する、乱数値特定装置。
  9. 請求項8に記載の乱数値特定装置であって、
    前記相関関係特定手段は、所定の値を有する属性値に基づいて、相関関係を計算する、乱数値特定装置。
  10. 請求項4に記載の乱数値特定装置であって、
    前記受付手段は、属性値の範囲を示す範囲情報を受け取り、
    前記乱数値範囲特定手段は、前記範囲情報に基づいて値域情報を生成する、乱数値特定装置。
  11. 請求項1ないし10のいずれか1項に記載の乱数値特定装置であって、
    前記識別子と属性名と属性値とを対応付けて記憶する属性値記憶手段と、
    前記乱数発生手段から属性毎に乱数を受け取り、前記属性値記憶手段から前記受付手段が受け取る前記識別子と当該属性に対応する属性名とに対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加する乱数付加手段と、を含み、
    前記属性値取得手段は、前記属性値記憶手段から前記受付手段が受け取る前記識別子と前記受付手段が受け取る属性名とに対応付けられる属性値を少なくとも一つ取得する、乱数値特定装置。
  12. 請求項11に記載の乱数値特定装置であって、
    前記識別子と当該識別子で識別される前記対象が開示を許諾する属性を示す許諾情報とを対応付けて記憶する許諾情報記憶手段と、
    受付手段が受け取った前記識別子に基づいて、当該識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報のうちから少なくとも一つの属性を特定する検索予測手段と、
    前記識別子と属性名と乱数値とを対応付けて記憶する乱数値記憶手段と、を含み、
    前記相関関係特定手段は、前記受付手段が受け取った属性名で示される属性および前記検索予測手段が特定した属性の間の相関関係を特定する、乱数値特定装置。
  13. 検索事業者装置と、情報保持事業者装置と、乱数値特定装置とを含み、
    前記検索事業者装置は、
    対象を識別する識別子と前記対象に関する情報の属性の属性名とを前記情報保持事業者装置に送信するクエリ送信手段を含み、
    前記情報保持事業者装置は、
    前記検索事業者装置から前記識別子と属性名とを受け取る受付手段と、
    前記識別子と属性名と属性値とを対応付けて記憶する属性値記憶手段と、
    当該識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得する属性値取得手段と、
    当該識別子と当該属性名と当該属性値とを前記乱数値特定装置に送信する送信手段と、
    前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から前記受付手段が受け取る前記識別子と当該属性を示す属性名とに対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加する乱数付加手段と、
    を含み、
    前記乱数値特定装置は、
    前記情報保持事業者装置から前記識別子と属性名と属性値とを受け取る受付手段と、
    前記識別子と当該識別子で識別される前記対象が開示を許諾する属性を示す許諾情報とを対応付けて記憶する許諾情報記憶手段と、
    前記受付手段が受け取った前記識別子に基づいて、当該識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報が示す属性から少なくとも一つの属性を特定する検索予測手段と、
    前記特定された属性および前記受付手段が受け取る属性名が示す属性の間の相関関係を特定する相関関係特定手段と、
    前記受付手段が受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する乱数発生手段と、
    前記乱数を前記情報保持事業者装置に送信する乱数送信手段と、を含む、乱数値特定システム。
  14. 請求項1ないし12のいずれか1項に記載の乱数値特定装置と、
    当該乱数値特定装置に、前記識別子と属性名とを送信する検索事業者装置と、
    を含む乱数値特定システム。
  15. 請求項13に記載の乱数値特定システムであって、
    属性値の範囲を示す範囲情報を前記検索事業者装置に送信する検索依頼事業者装置を含み、
    前記検索事業者装置は、前記検索依頼事業者装置から範囲情報を受け取ると、当該範囲情報が示す属性値に対応する属性名を特定し、特定した属性名と前記識別子とを前記情報保持事業者装置に送信する、乱数値特定システム。
  16. 対象を識別する識別子と前記対象に関する情報の属性の属性名とを受け取り、
    前記属性名で示される二つ以上の属性の間の相関関係を特定し、
    前記識別子で識別される前記対象の前記属性の属性値を少なくとも一つを取得し、
    前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する、乱数値特定方法。
  17. 検索事業者装置が、
    対象を識別する識別子と前記対象に関する情報の属性の属性名とを情報保持事業者装置に送信し、
    前記情報保持事業者装置が、
    前記検索事業者装置から前記識別子と属性名とを受け取り、
    前記対象を識別できる前記識別子と属性名と属性値とを対応付けて属性値記憶手段に記憶し、
    当該識別子と当該属性名とに対応付けられる属性値を前記属性値記憶手段から取得し、
    当該識別子と当該属性名と当該属性値とを乱数値特定装置に送信し、
    前記乱数値特定装置から属性毎に乱数値を受け取り、前記属性値記憶手段から受け取る前記識別子と属性名に対応付けられる属性値を取得し、当該属性値に対して当該乱数を付加し、
    前記乱数値特定装置が、
    前記情報保持事業者装置から前記識別子と属性名と属性値とを受け取り、
    前記識別子と当該識別子で識別される前記対象が開示を許諾する属性を示す許諾情報とを対応付けて許諾情報記憶手段に記憶し、
    前記受け取った前記識別子に基づいて、当該識別子に対応付けられる許諾情報を前記許諾情報記憶手段から読み出し、読み出した許諾情報から少なくとも一つの属性を特定し、
    前記識別子と属性名と乱数値とを対応付けて乱数値記憶手段に記憶し、
    前記情報保持事業者装置から受け取った属性名で示される属性および前記特定した少なくとも一つの属性の間の相関関係を特定し、
    前記受け取る属性値のうちの少なくとも一つの属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生し、
    発生させた乱数を前記情報保持事業者装置に送信する、乱数値特定方法。
  18. コンピュータに、
    対象を識別する識別子と前記対象に関する情報の属性の属性名とを受け取る処理と、
    前記属性名で示される二つ以上の属性の間の相関関係を特定する処理と、
    前記識別子で識別される前記対象の前記属性の属性値を少なくとも一つ取得する処理と、
    前記取得された属性値と前記特定された相関関係とに基づいて特定される乱数値範囲内で、前記属性毎に乱数を発生する処理と、を実行させるための乱数値特定プログラム。
JP2013503451A 2011-03-04 2012-02-17 乱数値特定装置、乱数値特定システム、および、乱数値特定方法 Active JP5846198B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013503451A JP5846198B2 (ja) 2011-03-04 2012-02-17 乱数値特定装置、乱数値特定システム、および、乱数値特定方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011047928 2011-03-04
JP2011047928 2011-03-04
JP2013503451A JP5846198B2 (ja) 2011-03-04 2012-02-17 乱数値特定装置、乱数値特定システム、および、乱数値特定方法
PCT/JP2012/054487 WO2012121025A1 (ja) 2011-03-04 2012-02-17 乱数値特定装置、乱数値特定システム、および、乱数値特定方法

Publications (2)

Publication Number Publication Date
JPWO2012121025A1 JPWO2012121025A1 (ja) 2014-07-17
JP5846198B2 true JP5846198B2 (ja) 2016-01-20

Family

ID=46797994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013503451A Active JP5846198B2 (ja) 2011-03-04 2012-02-17 乱数値特定装置、乱数値特定システム、および、乱数値特定方法

Country Status (3)

Country Link
US (1) US20130333051A1 (ja)
JP (1) JP5846198B2 (ja)
WO (1) WO2012121025A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10693626B2 (en) * 2014-04-23 2020-06-23 Agency For Science, Technology And Research Method and system for generating/decrypting ciphertext, and method and system for searching ciphertexts in a database
JP6412767B2 (ja) * 2014-10-14 2018-10-24 株式会社エヌ・ティ・ティ・データ 雑音発生装置、雑音発生方法及びプログラム
US9838274B2 (en) * 2014-11-19 2017-12-05 International Business Machines Corporation Method for enhancing security access to a node in a homogenous cloud computing environment
US10242230B1 (en) * 2016-07-29 2019-03-26 Microsoft Technology Licensing, Llc Preventing inference attacks by joining on confidential data value
CN108234580B (zh) * 2016-12-22 2021-08-20 珠海金山办公软件有限公司 一种唯一标识生成方法、装置及***
WO2018134922A1 (ja) 2017-01-18 2018-07-26 三菱電機株式会社 準同型演算装置、暗号システム及び準同型演算プログラム
JP6730740B2 (ja) * 2017-12-25 2020-07-29 株式会社アクセル 処理装置、処理方法、処理プログラム、及び暗号処理システム
JP6730741B2 (ja) * 2017-12-26 2020-07-29 株式会社アクセル 処理装置、処理方法、処理プログラム、及び暗号処理システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323544A (ja) * 2002-05-08 2003-11-14 Nec Corp 情報配信システムおよび情報配信方法
JP2005227459A (ja) * 2004-02-12 2005-08-25 Nippon Telegr & Teleph Corp <Ntt> 楕円暗号化装置、そのプログラム及び記録媒体
JP2006311112A (ja) * 2005-04-27 2006-11-09 Hitachi Ltd Id管理方法及び管理装置
JP2007501975A (ja) * 2003-08-08 2007-02-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理システム及びその方法
JP2008300970A (ja) * 2007-05-29 2008-12-11 Panasonic Corp データ送信装置及びデータ受信装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61139873A (ja) * 1984-12-13 1986-06-27 Casio Comput Co Ltd 認証方式
KR20090012528A (ko) * 2007-07-30 2009-02-04 삼성전자주식회사 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법
US8856159B2 (en) * 2008-09-05 2014-10-07 Sony Corporation Content recommendation system, content recommendation method, content recommendation apparatus, program, and information storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323544A (ja) * 2002-05-08 2003-11-14 Nec Corp 情報配信システムおよび情報配信方法
JP2007501975A (ja) * 2003-08-08 2007-02-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理システム及びその方法
JP2005227459A (ja) * 2004-02-12 2005-08-25 Nippon Telegr & Teleph Corp <Ntt> 楕円暗号化装置、そのプログラム及び記録媒体
JP2006311112A (ja) * 2005-04-27 2006-11-09 Hitachi Ltd Id管理方法及び管理装置
JP2008300970A (ja) * 2007-05-29 2008-12-11 Panasonic Corp データ送信装置及びデータ受信装置

Also Published As

Publication number Publication date
WO2012121025A1 (ja) 2012-09-13
US20130333051A1 (en) 2013-12-12
JPWO2012121025A1 (ja) 2014-07-17

Similar Documents

Publication Publication Date Title
JP5846198B2 (ja) 乱数値特定装置、乱数値特定システム、および、乱数値特定方法
JP6208586B2 (ja) 検索可能暗号処理システムおよび検索可能暗号処理方法
KR101224749B1 (ko) 파일 암호화 및 복호화를 위한 다수의 키를 관리하는시스템 및 방법
JP5679018B2 (ja) データベース暗号化システムと方法及びプログラム
US8712041B2 (en) Content protection apparatus and content encryption and decryption apparatus using white-box encryption table
JP6054790B2 (ja) 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
JP4958246B2 (ja) 高速検索可能な暗号化のための方法、装置およびシステム
JP6048414B2 (ja) データベース装置と方法及びプログラム
US20130262863A1 (en) Searchable encryption processing system
JP4597784B2 (ja) データ処理装置
JP2018148493A (ja) 鍵生成装置、中間暗号化装置、委託暗号化装置、データ検索装置、復号装置およびそれらのプログラム
JP6867718B1 (ja) 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
JP2014119486A (ja) 秘匿検索処理システム、秘匿検索処理方法、および秘匿検索処理プログラム
JP6961324B2 (ja) 検索可能暗号処理システム
JP5979131B2 (ja) 乱数値特定装置、乱数値特定システム、および、乱数値特定方法
KR20140050477A (ko) 검색 가능한 암호화 방법 및 암호화된 데이터 검색방법
JP5140026B2 (ja) データベース処理方法、データベース処理プログラム、および、暗号化装置
CN112567441A (zh) 信息处理***、信息处理方法和信息处理装置
JP5511925B2 (ja) アクセス権付き暗号化装置、アクセス権付き暗号システム、アクセス権付き暗号化方法およびアクセス権付き暗号化プログラム
JP2012248940A (ja) データ生成装置、データ生成方法、データ生成プログラム及びデータベースシステム
JP2014528680A (ja) デジタルコンテンツ伝送の方法、システムおよび装置
KR101422759B1 (ko) 데이터 위탁 환경에서 결탁을 방지하는 데이터 저장 및 공유 방법
CN110830252B (zh) 数据加密的方法、装置、设备和存储介质
JP2013235535A (ja) データ管理システムおよびデータ管理用プログラム
TWI558152B (zh) Key replacement method and computer program products

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151109

R150 Certificate of patent or registration of utility model

Ref document number: 5846198

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150