JP6011259B2 - 近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラム - Google Patents

近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラム Download PDF

Info

Publication number
JP6011259B2
JP6011259B2 JP2012248767A JP2012248767A JP6011259B2 JP 6011259 B2 JP6011259 B2 JP 6011259B2 JP 2012248767 A JP2012248767 A JP 2012248767A JP 2012248767 A JP2012248767 A JP 2012248767A JP 6011259 B2 JP6011259 B2 JP 6011259B2
Authority
JP
Japan
Prior art keywords
vector
proximity determination
numerical information
random number
information
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.)
Expired - Fee Related
Application number
JP2012248767A
Other languages
English (en)
Other versions
JP2014095878A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012248767A priority Critical patent/JP6011259B2/ja
Priority to US14/048,899 priority patent/US9098107B2/en
Publication of JP2014095878A publication Critical patent/JP2014095878A/ja
Application granted granted Critical
Publication of JP6011259B2 publication Critical patent/JP6011259B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラムに関する。
近年、ネットワーク上に存在する演算資源を用いて、利用者に様々なサービスを提供するクラウドコンピューティングの技術が利用されている。このようなクラウドコンピューティング技術の一例として、位置情報や生体情報等、利用者に係わる様々な数値情報をネットワーク上の情報処理装置が収集し、収集した数値情報の比較結果や分析結果に応じたサービスを利用者に提供する技術が考えられる。例えば、ネットワーク上の情報処理装置が、利用者やタクシーの位置情報を収集して比較し、利用者の近傍に位置するタクシーの情報を利用者に提供する技術が考えられる。
このように、ネットワーク上の情報処理装置が利用者に係わる数値情報を収集、分析した場合は、利用者側の演算資源にかかわらずサービスを提供できるので、利便性が向上する。しかしながら、ネットワーク上の情報処理装置が利用者に係わる数値情報を収集する場合は、セキュリティの観点から、数値情報が第三者に漏洩しないよう秘匿するのが好ましい。このような利用者に係わる数値情報を秘匿する技術として、マスク化による秘匿の技術が知られている。
例えば、利用者が利用する端末装置や、タクシーに設置された端末装置は、所定のマスク値を用いて、現在位置を示す数値情報を秘匿化し、秘匿化した数値情報をネットワーク上の情報処理装置へ送信する。そして、ネットワーク上の情報処理装置は、秘匿化された数値情報を利用者やタクシーから収集し、収集した数値情報を付き合わせることで、利用者とタクシーとの近傍度合を判定する。
"Privacy-preserving Data Mining" Jun Sakuma、 Interdisciplinary Graduate school of Science and Engineering、 Tokyo Institute of Technology、 Shigenobu Kobayashi、 Interdisciplinary Graduate school of Science and Engineering、 Tokyo Institute of Technology
しかしながら、上述したマスク化の技術では、秘匿化された数値情報を用いて近接度合を判別するために、各数値情報を共通のマスク値で秘匿化するので、利用者の数値情報が他の利用者などに漏洩しやすいという問題がある。
1つの側面では、本発明は、数値情報を秘匿したまま、他の数値情報との近接度合いを判別することが可能な方法、装置、システムおよびプログラムを提供することを目的とする。
1つの側面では、情報処理装置が第1の数値情報と第2の数値情報とが近傍範囲に属するかを判定する近接判定方法である。具体的には、情報処理装置は、近傍範囲を判定するための閾値を対角成分とする行列に乱数ベクトルを最終列として付加して生成された鍵行列の行ベクトルの一次結合と、第1の数値情報と、第1の乱数とに基づいて第1の秘匿ベクトルを収集する。また、情報処理装置は、鍵行列の行ベクトルの一次結合と、第2の数値情報と、第2の乱数とに基づいて第2の秘匿ベクトルを収集する。そして、情報処理装置は、収集した第1の秘匿ベクトルと、第2の秘匿ベクトルとの差分から、鍵行列を法とした際の剰余である剰余ベクトルを算出し、算出した剰余ベクトルに基づいて、第1の数値情報と第2の数値情報とが近傍範囲に属するか否かを判定する。
1つの実施形態では、数値情報を秘匿したまま、他の数値情報との近接度合いを判別することができる。
図1は、実施例1に係わる近傍判定システムの一例を説明する図である。 図2は、実施例1に係わる鍵生成サーバの機能構成を説明する図である。 図3は、実施例1に係わる鍵行列を説明する図である。 図4は、実施例1に係わる端末装置の機能構成を説明する図である。 図5は、実施例1に係わる情報提供装置の機能構成を説明する図である。 図6は、実施例1に係わる近傍判定サーバの機能構成を説明する図である。 図7は、近傍判定システムが実行する処理の一例を説明する図である。 図8は、実施例1に係わる近傍判定システムが実行する処理の流れを説明するためのシーケンス図である。 図9は、生体認証システムの一例を説明する図である。 図10は、近傍判定プログラムを実行するコンピュータの一例について説明するための図である。
以下に添付図面を参照して本願に係る近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラムについて説明する。
以下の実施例1では、図1を用いて、近傍判定システムの一例を説明する。図1は、実施例1に係わる近傍判定システムの一例を説明する図である。図1に示す例では、近傍判定システム1は、鍵生成サーバ2、端末装置3、複数の情報提供装置4〜6、近傍判定サーバ7がインターネット8を解して接続されている。図1では、理解を容易にするため記載を省略したが、近傍判定システム1は、さらに複数の情報提供装置を有していてもよく、また、さらに複数の端末装置3を有していてもよい。
このような近傍判定システム1は、各情報提供装置4〜6に係わる数値情報、および端末装置3に係わる数値情報の近傍判定を行う。なお、近傍判定システム1は、各情報提供装置4〜6や端末装置3の数値情報として任意の数値情報を取り扱うことができるが、以下の説明では、端末装置3と各情報提供装置4〜6の位置を示す数値情報である位置情報を取り扱う例について説明する。
端末装置3は、近傍判定システム1の利用者が有する端末装置であり、GPS(Global Positioning System)やガリレオ、その他任意のシステムを用いて利用者の位置情報を取得可能な端末である。また、各情報提供装置4〜6は、各タクシーに設置された情報処理装置であり、端末装置3と同様に、任意のシステムを用いて利用者の位置情報を取得可能な端末である。
このような端末装置3は、利用者の近傍に位置するタクシーを検索する場合は、インターネット8を介して近傍判定サーバ7にタクシーの検索を要求する。そして、端末装置3は、自身の位置情報を秘匿化し、秘匿化した位置情報を近傍判定サーバ7へ送信する。なお、各情報提供装置4〜6は、一定時間ごとに、もしくは近傍判定サーバ7の要求に応じて、秘匿化した位置情報を近傍判定サーバ7に送信する。
近傍判定サーバ7は、端末装置3と各情報提供装置4〜6とが取得した位置情報を収集し、収集した位置情報の近傍判定を行う。例えば、近傍判定サーバ7は、端末装置3からの求めに応じて、端末装置3と各情報提供装置4〜6とから秘匿化された位置情報を収集し、収集した位置情報が示す位置が、所定の近傍範囲に含まれているか否かを判定する近傍判定を行う。
そして、近傍判定サーバ7は、近傍判定の結果、端末装置3の近傍に位置する情報提供装置を端末装置3に通知することで、利用者の近傍に位置するタクシーを利用者に通知することができる。なお、近傍判定サーバ7は、端末装置3の近傍に位置する情報提供装置に端末装置3の位置を通知することで、利用者の位置をタクシーに通知してもよい。
ここで、近傍判定システム1は、端末装置3、および各情報提供装置4〜6から位置情報を収集する際に、共通のマスク値で秘匿された情報を受信した場合には、他の利用者に端末装置3や各情報提供装置4〜6の位置情報を秘匿することができない。例えば、情報提供装置4は、端末装置3と共通のマスク値を有するので、端末装置3が秘匿化した位置情報を取得した場合は、取得した秘匿化情報から端末装置3の位置情報を読み取ることができてしまう。
このため、近傍判定システム1では、端末装置3、および各情報提供装置4〜6は、それぞれ異なる乱数を用いて、位置情報を秘匿化し、秘匿化した位置情報を近傍判定サーバ7へ送信する。以下、このような近傍判定システム1における位置情報の秘匿化、および秘匿化された位置情報の近傍判定の内容について説明する。なお、以下の説明では、m+1=nを満たす任意の自然数mおよびnを用いて近傍判定の内容について説明する。
例えば、鍵生成サーバ2は、近傍範囲を示す閾値を対角成分とし、他の成分を「0」とする対角行列を生成する。ここで、近傍範囲を示す閾値とは、利用者が近傍範囲として設定した領域を示す数値であり、近傍範囲の各次元方向の長さを示す情報である。なお、鍵生成サーバ2は、判定対象となる位置情報がm個の成分を有する情報である場合、すなわち位置情報がm次元の情報である場合には、m×mの対角行列を生成する。そして、鍵生成サーバ2は、生成したm×mの対角行列に、全ての成分が「0」である最終行を付加したn×m行列を生成する。
また、鍵生成サーバ2は、対角行列の列の数mに1を加算した数の成分を有する乱数ベクトルを生成する。そして、鍵生成サーバ2は、生成したn×m行列に生成した乱数ベクトルを行列の最終列、すなわちm+1=n番目の列として付加したn×nの正方行列を鍵行列として生成する。なお、鍵生成サーバ2は、対角行列に付加した乱数ベクトルの各成分が、同一の行に含まれる対角行列の成分の半分以下となるように乱数ベクトルを生成する。また、鍵生成サーバ2は、乱数ベクトルの最終成分については、適当な乱数を割り当てる。
次に、鍵生成サーバ2は、生成した鍵行列の一次結合を複数生成する。例えば、n×nの正方行列である鍵行列は、それぞれn個の成分を有する行ベクトルv、v…、vを列成分とする行列で表すことができる。鍵生成サーバ2は、各行ベクトルv、v…、vに対して、それぞれ適当な整数d、d…、dを選び、各行ベクトルと各整数との積の和、すなわちd*v+d*v+…+d*vであらわされるn次元のベクトルを一次結合として算出する。
なお、鍵生成サーバ2は、端末装置3、および各情報提供装置4〜6が近傍判定サーバ7に送信する位置情報ごとに、異なる整数d、d…、dの組を選択し、選択した整数の組と鍵行列の各行ベクトルとの積の和である一次結合を算出する。そして、鍵生成サーバ2は、算出した一次結合を端末装置3、および各情報提供装置4〜6に配布する。また、鍵生成サーバ2は、生成した鍵行列を近傍判定サーバ7に送信する。
このような場合には、端末装置3は、位置情報が有するm次元の成分に、n番目の成分として「0」を追加した位置ベクトルを生成し、鍵生成サーバ2から受信した一次結合と乱数との積に、生成した位置ベクトルを加算した秘匿ベクトルを生成する。そして、端末装置3は、生成した秘匿ベクトルを近傍判定サーバ7に送信する。
また、各情報提供装置4〜6は、端末装置3と同様に、位置情報を成分とする位置ベクトルと、生成サーバ2から受信した一次結合と乱数との積に、生成した位置ベクトルを加算した秘匿ベクトルを生成する。そして、各情報提供装置4〜6は、生成した秘匿ベクトルを近傍判定サーバ7に送信する。
一方、近傍判定サーバ7は、端末装置3から受信した秘匿ベクトルと、各情報提供装置4〜6から受信した秘匿ベクトルとの差分ベクトルをそれぞれ算出する。そして、近傍判定サーバ7は、算出した差分ベクトルから、鍵生成サーバ2から受信した鍵行列を法とした際の剰余である剰余ベクトルを算出し、算出した剰余ベクトルを用いて近傍判定を行う。
例えば、近傍判定サーバ7は、端末装置3から受信した秘匿ベクトルと、情報提供装置4から受信した秘匿ベクトルとの差から、鍵行列を法とした際の剰余である剰余ベクトルの最終成分が「0」である場合は、端末装置3と情報提供装置4とが近傍に位置すると判別する。そして、近傍判定サーバ7は、端末装置3に情報提供装置4の情報を通知する。
このように、近傍判定サーバ7は、端末装置3、および各情報提供装置4〜6からそれぞれ異なる乱数により秘匿化された位置情報を用いて、近傍判定を行う。このため、近傍判定システム1は、端末装置3、および情報提供装置4〜6が近傍判定サーバ7に送信した秘匿ベクトルを他の端末装置や情報提供装置が取得した場合にも、位置情報の漏洩を防ぐことができる。すなわち、近傍判定システム1においては、位置情報がそれぞれ異なる乱数で秘匿化されるため、他の装置が生成した秘匿ベクトルから、位置情報を読み取ることができないので、位置情報の漏洩を防ぐことができる。
また、端末装置3、および情報提供装置4〜6は、鍵行列の一次結合と乱数との積に位置ベクトルを加算した秘匿ベクトルを近傍判定サーバ7に送信する。そして、近傍判定サーバ7は、秘匿ベクトルの差分から、鍵行列を法とした際の剰余である剰余ベクトルを算出し、算出した剰余ベクトルに基づいて、近傍判定を行う。このため、近傍判定サーバ7は、異なる乱数を用いて秘匿化された位置情報を用いて、近傍判定を行うことができる。
なお、たとえば、鍵生成サーバ2は、端末装置3から近傍判別サーバ7に近傍判定の実行を要求された際に、一次結合を端末装置3および各情報提供装置4〜6に配布してもよい。また、鍵生成サーバ2は、一次結合の配布要求があった端末装置3、および各情報提供装置4〜6に対してのみ、一次結合を配布してもよい。
以下、近傍判定サーバ7が実行する近傍判定の原理について説明する。鍵行列Vの各行ベクトルv、v…、vの一次結合は、鍵行列Vの各行ベクトルの一次結合d*v+d*v+…+d*vを元とする集合L(格子L)で表すことができる。つまり、鍵行列Vの各行ベクトルの一次結合は、集合Lの元からなる格子上のいずれかの交点に対応する。
ここで、m次元の位置情報aを集合Lの元bと乱数rで秘匿化した秘匿ベクトルcは、c=[a、0]+r*bで表すことができる。ここで、[a、0]とは、位置情報aにn番目の成分「0」を付加した位置ベクトルである。また、m次元の位置情報aを集合Lの元bと乱数rで秘匿化した秘匿ベクトルcは、c=[a、0]+r*bで表すことができる。このような場合には、秘匿ベクトルcとcとの差分ベクトルzは、z=c−c=[a、0]+r*b−[a、0]−r*b=[a−a、0]+r*b−r*bで表すことができる。
ここで、差分ベクトルzが有するr*b−r*bは、集合Lの元と乱数との積同士の差分であるため、集合Lの元に含まれている。つまり、r*b−r*bは、集合Lの元からなる格子上のいずれかの交点に対応する。また、差分ベクトルzから鍵行列Vの剰余ベクトルを計算した場合は、集合Lによって定まる基本領域P(L)に差分ベクトルzを写像することと対応する。このため、差分ベクトルzから鍵行列Vの剰余ベクトルを計算した場合は、r*b−r*bが無視されることとなる。このため、zmodVを算出した場合には、差分ベクトルzのうち、差分ベクトルzの先端以外を含む格子部分を無視し、差分ベクトルzの先端を含む1つの格子のみを基本領域P(L)に写像することとなる。
この結果、zmodV=[a−a、0]modVとなるので、ベクトル[a−a、0]が基本領域P(L)に含まれる場合、すなわち位置情報a、aが近傍範囲に含まれる場合は、zmodV=[a−a、0]となる。この結果、位置情報a、aが近傍範囲に含まれる場合には、zmodVの最終成分が非常に高い確率で「0」となる。
一方、ベクトル[a−a、0]が基本領域P(L)に含まれない場合、すなわち位置情報a、aが近傍範囲に含まれない場合には、集合Lによる格子のある元をbとすると、zmodV=[a−a、0]+bとなる。この結果、位置情報a、aが近傍範囲に含まれない場合は、zmodVの最終成分が非常に高い確率で「0」以外の値となる。このような原理のもと、近傍判定サーバ7は、秘匿ベクトルの差分から鍵行列の剰余ベクトルを算出し、算出した剰余ベクトルの最終成分に基づいて、異なる乱数で秘匿化された位置情報の近傍判定を行うことができる。
次に、図2を用いて、鍵生成サーバの機能構成について説明する。図2は、実施例1に係わる鍵生成サーバの機能構成を説明する図である。鍵生成サーバ2は、ベクトル記憶部10、乱数生成部11、鍵行列生成部12、一次結合生成部13、送信部14を有する。ベクトル記憶部10は、鍵行列生成部12が生成した鍵行列の各行ベクトルを記憶する。
乱数生成部11は、鍵行列生成部12から鍵行列用の乱数を生成するよう要求された場合には、鍵行列用の乱数を生成し、生成した乱数を鍵行列生成部12に出力する。ここで、鍵行列用の乱数とは、鍵行列を生成する際に閾値を示す正方行列に最終列として付加する乱数である。例えば、乱数生成部11は、鍵行列用の乱数を生成するよう要求されるとともに、鍵行列に含まれる閾値「e、f、g」の通知を受けた場合には、e/2≧h、f/2≧i、g/2≧kを満たす乱数「h、i、j」、および任意の乱数「k」を生成する。そして、乱数生成部11は、乱数ベクトル「h、i、j、k」を鍵行列生成部12に通知する。
また、乱数生成部11は、一次結合生成部13から一次結合用の乱数を複数組生成するよう要求された場合は、鍵行列の列の数と同じ数の乱数の組を複数生成し、生成した乱数の組を一次結合生成部13に通知する。
鍵行列生成部12は、近傍判定を行うための鍵行列を生成する。具体的には、鍵行列生成部12は、あらかじめ定められた近傍範囲を示す閾値を対角要素に含む対角行列を生成する。次に、鍵行列生成部12は、対角要素を乱数生成部11に通知するとともに、鍵行列用の乱数を生成するよう要求する。
そして、鍵行列生成部12は、対角行列に全成分が「0」となる最終行を付加し、乱数生成部11から受信した乱数ベクトルを対角行列の最終列の列ベクトルとして付加した鍵行列を生成する。その後、鍵行列生成部12は、生成した鍵行列を近傍判定サーバ7へ送信するよう送信部14に指示する。また、鍵行列生成部12は、生成した鍵行列の各行ベクトルをベクトル記憶部10に格納する。
ここで、図3は、実施例1に係わる鍵行列を説明する図である。なお、図3に示す例では、位置情報、および近傍範囲が3次元の数値によって表される例について記載する。図3に示すように、鍵行列Vは、点線で示す範囲の近傍判定用の行列に乱数ベクトルを最終列として付加した行列である。
ここで、近傍判定用の行列は、近傍範囲の各次元方向の長さを指定する閾値を対角要素として有する。例えば、図3に示す例では、近傍範囲のx軸方向の長さが「40」であり、y軸方向の長さが「30」であり、z軸方向の長さが「20」である旨を示す。すなわち、図3に示す近傍判定用の行列は、任意の点を中心としてx軸方向に「±20」、y軸方向に「±15」、z軸方向に「±10」の範囲内に2つの位置情報が含まれるか否かを判定するための行列である。
また、乱数ベクトルの各要素は、同じ行に含まれる閾値の半分以下の値となるように選択される。例えば、図3に示す例では、乱数ベクトルの最初の3つの要素は「10、5、7」が選択される。なお、乱数ベクトルの最後の要素は、同じ行に閾値が含まれないので、任意の乱数が選択される。なお、図3に示す例では、近傍範囲を3次元の数値で指定したが、実施例はこれに限定されるものではなく、任意の次元の数値を用いることができる。例えば、鍵生成サーバ2は、緯度、経度、高度、時間等を任意の組み合わせで用いることができる。
図2に戻って、一次結合生成部13は、鍵行列の各行ベクトルの一次結合を生成し、生成した一次結合を端末装置3、および各情報提供装置4〜6に配布する。例えば、一次結合生成部13は、ベクトル記憶部10に記憶された各行ベクトルv、v…、vを取得する。また、一次結合生成部13は、乱数の組を生成するよう乱数生成部11に指示する。
そして、一次結合生成部13は、乱数生成部11から乱数の組d、d…、dを受信した場合は、一次結合d*v+d*v+…+d*vを算出する。また、一次結合生成部13は、配布する一次結合の数だけ乱数の組を乱数生成部11に要求し、各組ごとに一次結合を生成する。そして、一次結合生成部13は、生成した複数の一次結合を端末装置3、および各情報提供装置4〜6に出力するよう送信部14に指示する。
送信部14は、鍵行列生成部12から鍵行列を受信した場合は、インターネット8を介して、近傍判定サーバ7に鍵行列を送信する。また、送信部14は、一次結合生成部13から複数の一次結合を受信した場合は、端末装置3、および各情報提供装置4〜6に、それぞれ異なる一次結合を配布する。
なお、鍵生成サーバ2が鍵行列および一次結合を生成する処理、および配布する処理は、任意のタイミングで行うことができる。例えば、鍵生成サーバ2は、所定の時間間隔で新たな鍵行列を生成し、生成した鍵行列を近傍判定サーバ7に送信する。そして、鍵生成サーバ2は、端末装置3から近傍判定の要求を受けた旨を近傍判定サーバ7から通知されたことをトリガとして、一次結合を生成し、生成した一次結合を端末装置3、および各情報提供装置4〜6に配布してもよい。また、鍵生成サーバ2は、所定の時間間隔で鍵行列と一次結合とを生成し、生成した鍵行列を近傍判定サーバ7に送信し、一次結合を端末装置3、および各情報提供装置4〜6に配布してもよい。
次に、図4を用いて、端末装置3の機能構成について説明する。図4は、実施例1に係わる端末装置の機能構成を説明する図である。なお、以下の説明では、情報提供装置5、6は、情報提供装置4と同様の機能を発揮するものとして、説明を省略する。
図4に示す例では、端末装置3は、GPSアンテナ20、位置情報取得部21、位置情報記憶部22、受信部23、乱数生成部24、秘匿位置情報生成部25、送信部26を有する。例えば、GPSアンテナ20は、GPSの各衛星が出力した信号を受信し、受信した信号を位置情報取得部21に出力する。
位置情報取得部21は、GPSアンテナ20が受信した各信号から端末装置3の位置情報を取得し、取得した情報を位置情報記憶部22に格納する。なお、位置情報取得部21は、近傍判定に時刻等、位置情報以外の情報を用いる場合には、位置情報を取得した時刻等の情報とともに位置情報記憶部22に出力する。また、位置情報取得部21は、常時端末装置3の位置を取得する必要はなく、所定の時間間隔で位置情報を取得することとしてもよいし、近傍判定を近傍判定サーバ7に要求したタイミングで実行してもよい。位置情報記憶部22は、端末装置3の位置情報を記憶する記憶装置であり、例えばフラッシュメモリ等の半導体メモリである。
受信部23は、インターネット8を介して、鍵生成サーバ2から一次結合を受信する。そして、受信部23は、鍵生成サーバ2から受信した一次結合を秘匿位置情報生成部25に出力する。乱数生成部24は、秘匿位置情報生成部25から乱数の生成を要求された場合には、任意の乱数を生成し、生成した乱数を秘匿位置情報生成部25に出力する。なお、乱数生成部24が乱数を生成する手法は、任意の手法を用いることが可能であるものの、各情報提供装置4〜6と生成する乱数がかぶらないよう、各種パラメータがそれぞれ異なるものであることが望ましい。
秘匿位置情報生成部25は、受信部23から一次結合を受信すると、乱数生成部24に乱数の生成を指示し、乱数を取得する。また、秘匿位置情報生成部25は、位置情報記憶部22から端末装置3の位置情報を取得する。そして、秘匿位置情報生成部25は、位置情報から位置ベクトルを生成し、一次結合と乱数との積に位置ベクトルを加算した秘匿ベクトルを生成する。その後、秘匿位置情報生成部25は、生成した秘匿ベクトルを近傍判定サーバ7に送信するよう送信部26に指示する。
例えば、秘匿位置情報生成部25は、n次元の一次結合d*v+d*v+…+d*vを受信するとともに、乱数生成部24から乱数rを取得する。また、秘匿位置情報生成部25は、位置情報記憶部22が記憶する位置情報aから「0」を最終成分とするn次元の位置ベクトル[a、0]を生成する。そして、秘匿位置情報生成部25は、c=[a、0]+r*bで表される秘匿ベクトルcを生成し、生成した秘匿ベクトルcを近傍判定サーバ7に送信するよう送信部26に指示する。
送信部26は、秘匿位置情報生成部25から秘匿ベクトルを受信すると、受信した秘匿ベクトルを近傍判定サーバ7に送信する。なお、送信部26は、図示しないアプリケーション等から近傍判定を依頼するよう要求された場合には、近傍判定の要求を近傍判定サーバ7に送信する。このような場合には、近傍判定サーバ7から近傍判定を要求された旨が鍵生成サーバ2に通知され、鍵生成サーバ2から端末装置3用の一次結合が配布されることとなる。
また、受信部23は、インターネット8を介して、近傍判定の結果を近傍判定サーバ7から受信した場合は、図示しないアプリケーション等に近傍判定の結果を通知する。この結果、端末装置3は、利用者に近傍判定の結果として、近傍に位置するタクシー等を表示することとなる。
次に、図5を用いて、情報提供装置4の機能構成について説明する。なお、以下の説明では、情報提供装置5、6は、情報提供装置4と同様の機能を発揮するものとして、説明を省略する。また、図5に示すように、情報提供装置4は、端末装置3と同様の機能を発揮するため、端末装置3と同様の機能構成を有している。
例えば、図4に示すように、情報提供装置4は、GPSアンテナ30、位置情報取得部31、位置情報記憶部32、受信部33、乱数生成部34、秘匿位置情報生成部35、送信部36を有する。GPSアンテナ30は、GPSアンテナ20と同様に、GPSの各衛星が出力した信号を受信し、受信した信号を位置情報取得部31に出力する。
また、位置情報取得部31は、位置情報取得部21と同様に、GPSアンテナ30が受信した各信号から情報提供装置4の位置情報を取得し、取得した情報を位置情報記憶部32に格納する。位置情報記憶部32は、位置情報記憶部22と同様に、情報提供装置4の位置情報を記憶する記憶装置であり、例えばフラッシュメモリ等の半導体メモリである。
受信部33は、受信部23と同様に、インターネット8を介して、鍵生成サーバ2から一次結合を受信し、受信した一次結合を秘匿位置情報生成部35に出力する。乱数生成部34は、乱数生成部24と同様に、秘匿位置情報生成部35から乱数の生成を要求された場合には、任意の乱数を生成し、生成した乱数を秘匿位置情報生成部35に出力する。
秘匿位置情報生成部35は、秘匿位置情報生成部25と同様に、受信部33が受信した一次結合と、乱数生成部34が生成した乱数と、情報提供装置4の位置情報から生成した位置ベクトルとを用いて、秘匿ベクトルを生成する。そして、秘匿位置情報生成部35は、秘匿ベクトルを近傍判定サーバ7に送信するよう送信部36に出力する。また、送信部36は、送信部26と同様に秘匿位置情報生成部35から受信した秘匿ベクトルを、インターネット8を介して、近傍判定サーバ7に送信する。
次に、図6を用いて、近傍判定サーバ7の機能構成について説明する。図6は、実施例1に係わる近傍判定サーバの機能構成を説明する図である。図6に示す例では、近傍判定サーバ7は、受信部40、秘匿位置情報記憶部41、鍵行列記憶部42、演算部43、近傍判定部44、判定結果出力部45を有する。なお、秘匿位置情報記憶部41は、端末装置3、および各情報提供装置4〜6から受信した秘匿ベクトルを記憶する記憶装置であり、例えばフラッシュメモリ等の半導体メモリである。また、鍵行列記憶部42は、鍵生成サーバ2から受信した鍵行列を記憶する記憶装置であり、例えばフラッシュメモリ等の半導体メモリである。
受信部40は、インターネット8を介して、鍵生成サーバ2から鍵行列を受信すると、受信した鍵行列を鍵行列記憶部42に格納する。また、受信部40は、インターネット8を介して、端末装置3、および各情報提供装置4〜6から秘匿ベクトルを受信すると、受信した秘匿ベクトルと送信元を示す情報とを対応付けて秘匿位置情報記憶部41に格納する。
演算部43は、秘匿位置情報記憶部41に端末装置3、および各情報提供装置4〜6の秘匿ベクトルが秘匿位置情報記憶部41に格納された場合は、以下の処理を実行する。まず、演算部43は、各秘匿ベクトルを秘匿位置情報記憶部41から取得し、鍵行列記憶部42から鍵行列を取得する。次に、演算部43は、端末装置3から受信した秘匿ベクトルと、各情報提供装置4〜6から受信した各秘匿ベクトルとの差分ベクトルzをそれぞれ算出する。
そして、演算部43は、算出した差分ベクトルzから鍵行列を法とした際の剰余である剰余ベクトルを算出する。詳細には、演算部43は、zmodV=z−[z*V−1]*Vで定義される剰余ベクトルを算出する。なお、[q]は、分数qの最近似整数への丸め込み写像を示す。
そして、演算部43は、算出した剰余ベクトルを近傍判定部44に出力する。なお、演算部43は、各剰余ベクトルが、いずれかの情報提供装置と端末装置3との秘匿ベクトルに係わる剰余ベクトルであるかを近傍判定部44に通知する。
近傍判定部44は、演算部43から受信した各剰余ベクトルの最終成分が「0」であるか否かを判定し、剰余ベクトルの最終成分が「0」である場合は、剰余ベクトルに係わる秘匿ベクトルの送信元と端末装置3とが近傍範囲に属すると判定する。そして、近傍判定部44は、端末装置3の近傍範囲に属すると判定した情報提供装置を判定結果出力部45に通知する。
例えば、近傍判定部44は、端末装置3の秘匿ベクトルと情報提供装置4の秘匿ベクトルとの差分ベクトルから算出された剰余ベクトルの最終成分が「0」である場合は、情報提供装置4が端末装置3の近傍に位置すると判別する。そして、近傍判定部44は、情報提供装置4を判定結果出力部45に通知する。
一方、近傍判定部44は、端末装置3の秘匿ベクトルと情報提供装置4の秘匿ベクトルとの差分ベクトルから算出された剰余ベクトルの最終成分が「0」ではない場合は、情報提供装置4が端末装置3の近傍に位置していないと判別する。また、近傍判定部44は、すべての剰余ベクトルの最終成分が「0」以外の値であり、全ての情報提供装置4〜6が端末装置3の近傍に位置していないと判別した場合は、端末装置3の近傍範囲に情報提供装置が存在しない旨を判定結果出力部45に出力する。
判定結果出力部45は、判定結果を端末装置3に出力する場合は、近傍判定部44から通知された情報提供装置、すなわち端末装置3の近傍に位置する情報提供装置を、インターネット8を介して、端末装置3に通知する。なお、判定結果出力部45は、判定結果を各情報提供装置4〜6に出力する場合は、近傍判定部44から通知された情報提供装置に、インターネット8を介して、端末装置3の情報を通知する。
なお、近傍判定サーバ7は、受信部40が端末装置3から近傍判定の要求を受信した場合は、近傍判定の要求を受けた旨の通知を鍵生成サーバ2へ送信することで、鍵生成サーバ2から各端末装置3、および各情報提供装置4〜6へ一次結合を配布させる。そして、近傍判定サーバ7は、各端末装置3、および各情報提供装置4〜6から、それぞれ異なる乱数、およびそれぞれ異なる一次結合を用いて秘匿化された秘匿ベクトルを受信し、受信した秘匿ベクトルを用いて、近傍判定を行う。
次に、図7を用いて、近傍判定システムが実行する処理の具体例について説明する。図7は、近傍判定システムが実行する処理の一例を説明する図である。なお、図7に示す例では、端末装置3は、近傍のタクシーを検索する利用者の端末装置であるものとし、情報提供装置4、5は、タクシーに設置されているものとする。
また、図7に示す例では、端末装置3、および情報提供装置4、5は、位置情報として、3次元の情報を用いているものとする。例えば、図7に示す例では、端末装置3の位置情報aが[100,100,100]であり、情報提供装置4の位置情報aが[115,105,103]であり、情報提供装置5の位置情報aが[200,75,102]であるものとする。
まず、鍵生成サーバ2は、図7中(A)に示す鍵行列Vを生成する。具体的には、鍵生成サーバ2は、閾値「40,30,20」を対角要素とする3×3の対角行列に、4行目の行「0,0,0」を付加し、さらに乱数ベクトル「10,5,7,13」を4列目に付加した4×4の鍵行列Vを生成する。そして、鍵生成サーバ2は、図7中(B)に示すように、鍵行列Vを近傍判定サーバ7に送信する。
また、鍵生成サーバ2は、鍵行列Vから端末装置3、および情報提供装置4、5に配布する一次結合を生成する。例えば、鍵生成サーバ2は、鍵行列の各行ベクトルをv〜vとし、vとvとの和である一次結合b=[0,30,20,12]を算出する。そして、鍵生成サーバ2は、図7中(C)に示すように、一次結合b=[0,30,20,12]を端末装置3に出力する。
このような場合は、端末装置3は、乱数r=13を選択し、図7中(D)に示すように、位置情報a、一次結合b、および乱数rから秘匿ベクトルc=[a、0]+r*b=[100,490,360,156]を算出する。そして、端末装置3は、図7中(E)に示すように、算出した秘匿ベクトルc=[100,490,360,156]を近傍判定サーバ7に送信する。
一方、鍵生成サーバ2は、鍵行列Vの行ベクトルvとvとの和である一次結合b=[40,0,0,23]を算出し、行ベクトルvとvとの和である一次結合b=[40,0,20,17]を算出する。そして、鍵生成サーバ2は、図7中(F)に示すように、一次結合bを情報提供装置4に配布し、一次結合bを情報提供装置5に配布する。
このような場合は、情報提供装置4は、乱数r=7を選択し、図7中(G)に示すように、位置情報a、一次結合b、および乱数rから秘匿ベクトルc=[a、0]+r*b=[395,105,103,161]を算出する。そして、情報提供装置4は、図7中(H)に示すように、算出した秘匿ベクトルc=[395,105,103,161]を近傍判定サーバ7に送信する。
また、情報提供装置5は、乱数r=−4を選択し、図7中(I)に示すように、位置情報a、一次結合b、および乱数rから秘匿ベクトルc=[a、0]+r*b=[40,75,22,−68]を算出する。そして、端末装置3は、図7中(J)に示すように、算出した秘匿ベクトルc=[40,75,22,−68]を近傍判定サーバ7に送信する。
このような場合には、近傍判定サーバ7は、図7中(K)に示すように、秘匿ベクトルcと秘匿ベクトルcとの差分ベクトルz1、および秘匿ベクトルcと秘匿ベクトルcとの差分ベクトルzから鍵行列Vを法とする剰余ベクトルを算出する。具体的には、近傍判定サーバ7は、差分ベクトルz1=(c−c)を算出し、z1modV=z1−[z1*V−1]*V=[15,5,3,0]を算出する。また、近傍判定サーバ7は、差分ベクトルz=(c−c)を算出し、zmodV=z−[z*V−1]*V=[−20,5,2,1]を算出する。
この結果、近傍判定サーバ7は、秘匿ベクトルcから算出した剰余ベクトルの最終成分が「0」であるので、情報提供装置4が端末装置3の近傍に位置すると判別する。一方、近傍判定サーバ7は、秘匿ベクトルcから算出した剰余ベクトルの最終成分が「0」ではないため、情報提供装置5が端末装置3の近傍には位置していないと判別する。そして、近傍判定サーバ7は、端末装置3に情報提供装置4を通知し、もしくは、情報提供装置4に端末装置3の位置を通知し、処理を終了する。
次に、図8を用いて、近傍判定システム1が実行する処理の流れについて説明する。図8は、実施例1に係わる近傍判定システムが実行する処理の流れを説明するためのシーケンス図である。まず、鍵生成サーバ2は、鍵行列を生成し(ステップS101)、近傍判定サーバ7に鍵行列を送信する(ステップS102)。
次に、鍵生成サーバ2は、鍵行列から行ベクトルの一次結合を生成し、生成した一次結合を各情報提供装置4〜6、および端末装置3に配布する(ステップS103)。すると、各情報提供装置4〜6は、乱数と配布された一次結合を用いて、位置情報を秘匿した秘匿ベクトルを生成する(ステップS104)。そして、各情報提供装置4〜6は、生成した秘匿ベクトルを近傍判定サーバ7に送信する(ステップS105)。また、端末装置3は、乱数と配布された一次結合を用いて、位置情報を秘匿した秘匿ベクトルを生成する(ステップS106)。そして、端末装置3は、秘匿ベクトルを近傍判定サーバ7に送信する(ステップS107)。
すると、近傍判定サーバ7は、各情報提供装置4〜6から受信した秘匿ベクトルと、端末装置3から受信した秘匿ベクトルとの差分ベクトルを算出し(ステップS108)、算出した差分ベクトルから鍵行列に対する剰余ベクトルを算出する(ステップS109)。その後、近傍判定サーバ7は、算出した剰余ベクトルを用いて近傍判定を行い(ステップS110)、判定結果を端末装置3に通知し(ステップS111)、処理を終了する。
[近傍判定サーバ7の効果]
上述したように、近傍判定サーバ7は、近傍範囲を判定するための閾値を対角成分とする行列に乱数ベクトルを最終列として付加して生成された鍵行列の行ベクトルの一次結合と、端末装置3の位置情報と、端末装置3が生成した乱数とに基づいて秘匿ベクトルを収集する。また、近傍判定サーバ7は、鍵行列の行ベクトルの一次結合と、各情報提供装置4〜6の位置情報と、各情報提供装置4〜6が生成した乱数とに基づいて秘匿ベクトルを収集する。
そして、近傍判定サーバ7は、端末装置3から収集した秘匿ベクトルと、各情報提供装置4〜6から収集した秘匿ベクトルとの差分から、鍵行列を法とした際の剰余である剰余ベクトルを算出する。その後、近傍判定サーバ7は、算出した剰余ベクトルに基づいて、端末装置3の位置と各情報提供装置4〜6の位置とが近傍範囲に属するか否かを判定する。
このように、端末装置3、および各情報提供装置4〜6は、それぞれが生成した乱数を用いて位置情報を秘匿化する。このような場合においては、送信された位置情報ごとに、秘匿化する乱数が異なるので、秘匿化した位置情報が他の装置に漏れた場合にも、基となる位置情報を逆算するのが困難になる。このため、近傍判定サーバ7は、端末装置3、および各情報提供装置4〜6の位置情報を他の装置に秘匿したまま、近傍判定を行うことができる。
また、近傍判定サーバ7は、鍵行列の行ベクトルの一次結合と、端末装置3、および各情報提供装置4〜6が生成した乱数とを用いて秘匿化された位置情報を収集し、秘匿化された位置情報の差分から、鍵行列を法とした際の剰余である剰余ベクトルを算出する。そして、近傍判定サーバ7は、剰余ベクトルの成分に基づいて、端末装置3の位置と各情報提供装置4〜6の位置とが近傍範囲に属するか否かを判定する。このため、近傍判定サーバ7は、各位置情報がそれぞれ異なる乱数で秘匿化されている場合にも、各位置情報を秘匿化したままで近傍判定を行うことができる。
また、近傍判定サーバ7は、それぞれ異なる一次結合で秘匿化された位置情報を収集する。このため、近傍判定サーバ7は、秘匿化された位置情報の解読困難性を向上させることができる。
また、近傍判定サーバ7は、端末装置3からは、鍵行列の一次結合と、端末装置3が選択した乱数との積に、端末装置3の位置情報を加算した秘匿ベクトルを収集する。また、近傍判定サーバ7は、各情報提供装置4〜6からは、鍵行列の一次結合と、各情報提供装置4〜6がそれぞれ選択した乱数との積に、各情報提供装置4〜6の位置情報を加算した秘匿ベクトルを収集する。このため、近傍判定サーバ7は、端末装置3、および各情報提供装置4〜6の位置情報を秘匿したまま、近傍判定を行うことができる。
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例2として本発明に含まれる他の実施例を説明する。
(1)鍵行列について
上述した鍵生成サーバ2は、近傍範囲の閾値として、位置情報を対角成分とする対角行列を用いて、鍵行列を生成した。しかし、実施例はこれに限定されるものではない。すなわち、鍵生成サーバ2は、近傍判定に用いる任意の情報を閾値として用いることができる。例えば、鍵生成サーバ2は、位置情報に時間情報を付加した4次元の閾値を対角成分とする対角行列を用いて、鍵行列を生成してもよい。このような場合には、近傍判定サーバ7は、端末装置3が位置情報を取得した時刻と、各情報提供装置4〜6が位置情報を取得した時間とが所定の範囲内に収まる場合に、近傍に属する旨の判定を行うこととなる。
なお、鍵生成サーバ2は、鍵行列の内容として、xyz軸方向の情報だけではなく、緯度、経度、時間のみならず、任意の特徴量、判定量、その他近傍範囲に属するか否かを判定するための任意の数値を用いることができる。
(2)近傍判定について
上述した近傍判定サーバ7は、剰余ベクトルの最終成分が「0」であるか否かで、端末装置3と各情報提供装置4〜6とが近傍に属するか否かを判定した。しかし、実施例はこれに限定されるものではない。例えば、近傍判定サーバ7は、剰余ベクトルの最終成分だけではなく、任意の数の要素を用いて近傍判定を行うことができる。
例えば、鍵生成サーバ2は、閾値を対角成分とするm×mの正方行列に、判定要素として各成分が「0」の行ベクトルをu個付加したm+u×mの行列を生成する。ここで、uは、任意の自然数である。また、鍵生成サーバ2は、m+u次元の乱数ベクトルをu個生成し、生成したu個の乱数ベクトルをm+1〜m+u列目の列ベクトルとしてm+u×mの行列に付加することで、m+u×m+uの鍵行列Vを生成する。また、端末装置3、および各情報提供装置4は、成分が「0」である次元を位置情報にu個付加したm+u次元の位置ベクトルを生成し、乱数と鍵行列Vの一次結合で秘匿化して、近傍判定サーバ7に送信する。
すると、近傍判定サーバ7は、実施例1と同様の処理を行うことで、m+u次元の剰余ベクトルを取得する。そして、近傍判定サーバ7は、剰余ベクトルのm+1次元目からm+u次元目までの要素がそれぞれ「0」であるか否かを判定し、「0」であると判定した要素の数によって、近傍判定を行う。このように、近傍判定システム1は、任意の数の要素を用いて近傍判定を行うことができる。また、近傍判定システム1は、複数の数の要素を用いて近傍判定を行った場合には、近傍判定の制度を向上させることができる。
(3)使用様態について
上述した近傍判定システム1は、端末装置3と各情報提供装置4〜6の位置が近傍に属するか否かを判定した。しかし、実施例はこれに限定されるものではなく、任意の2つの情報が近傍に属するか否かを判定するシステムについて、近傍判定システム1を適用することができる。
例えば、図9は、生体認証システムの一例を説明する図である。図9に示すように、生体認証システム1aは、鍵生成サーバ2、端末装置3、ストレージ装置4a、近傍判定サーバ7、インターネット8を有する。例えば、近傍判定システム1は、利用者の指紋・静脈などの生体情報から抽出される特徴量ベクトルをあらかじめ取得し、取得した特長量ベクトルをネットワーク上のストレージ装置4aに格納する。
また、鍵生成サーバ2は、特徴量ベクトルの近傍範囲として許容される各成分の閾値を対角成分とする対角行列から、鍵行列を生成する。そして、鍵生成サーバ2は、鍵行列を近傍判定サーバ7に送信するとともに、鍵行列の各行ベクトルから生成した一次結合を端末装置3、およびストレージ装置4aに出力する。
このような場合には、端末装置3は、利用者の指紋や静脈から特徴量ベクトルを抽出し、実施例1と同様に抽出した特徴量ベクトルを秘匿化し、秘匿化した特徴量ベクトルを近傍判定サーバ7に送信する。また、ストレージ装置4aは、登録された利用者の特徴量ベクトルを情報提供装置4と同様の処理を用いて秘匿化し、秘匿化した特徴量ベクトルを近傍判定サーバ7に送信する。その後、近傍判定サーバ7は、実施例1と同様の処理を行うことで、利用者の特徴量ベクトルを秘匿化したまま、近傍判定を行うことができる。
また、近傍判定システム1や生体認証システム1aは、上述した位置情報や生体認証に用いられる特徴量ベクトルの近傍判定だけではなく、機密文章間の秘匿類似判定を行うことができる。例えば、ストレージ装置4aは、機密文章から特徴を有する文字、文章部分を抽出し、抽出した部分の特徴量を示す特徴量ベクトルに変換する。そして、端末装置3は、判定対象となる文章から特徴を有する文字、文章部分を抽出し、抽出した部分の特徴量を示す特徴量ベクトルを取得する。
その後、端末装置3、およびストレージ装置4aは、実施例1と同様の処理により秘匿化した特徴量ベクトルを近傍判定サーバ7に出力する。この結果、近傍判定サーバ7は、機密文章や判定対象となる文章の具体的内容を秘匿したまま、類似度判定を行うことができる。
また、近傍判定システム1は、ネットワーク監視サービスにおける秘匿IPアドレスの位置判定を行うことができる。例えば、情報提供装置4には、近傍判定システム1に接続された情報処理装置のIPアドレスが記憶されている。このような情報処理装置は、障害が生じた場合には、IPアドレスを秘匿化して近傍判定サーバ7に出力する。すると、近傍判定サーバ7は、情報提供装置4から秘匿化された各情報処理装置のIPアドレスを収集し、IPアドレスを秘匿化したままで、障害が生じた情報処理装置を特定することができる。
上述したように、近傍判定システム1は、位置情報だけでなく、生体認証、機密文章間の秘匿類似判定、秘匿IPアドレス一致判定等、任意の情報について近傍判定を行うことができる。なお、近傍判定システム1が取り扱う情報の種類によって、鍵情報を生成する際に用いる閾値の次元数や値が異なるが、任意の次元数や値に対し、近傍判定システム1は、実施例1と同様の処理により、近傍判定を行うことができる。
(4)クラウドについて
上述した実施例1では、鍵生成サーバ2、端末装置3、情報提供装置4、近傍判定サーバ7がインターネット8を介して接続する例について記載した。しかし、実施例はこれに限定されるものではなく、例えば、鍵生成サーバ2や近傍判定サーバ7は、いわゆるクラウドシステムにより実現されてもよい。
すなわち、鍵生成サーバ2は、ネットワーク上に設置された複数の情報処理装置が、図2に示したベクトル記憶部10、乱数生成部11、鍵行列生成部12、一次結合生成部13の処理をそれぞれ実行することで、実現されてもよい。また、近傍判定サーバ7は、ネットワーク上に設置された複数の情報処理装置が、図6に示した受信部40、秘匿位置情報記憶部41、鍵行列記憶部42、演算部43、近傍判定部44、判定結果出力部45の処理をそれぞれ実行することで、実現されてもよい。
(5)端末装置が送信する情報について
上述した実施例1では、端末装置3が自身の位置情報を秘匿化して近傍判定サーバ7に送信する処理について記載した。しかし、実施例はこれに限定されるものではない。例えば、端末装置3は、タクシー会社に設置された端末装置であり、タクシーの呼び出しを依頼した利用者の位置を取得し、取得した利用者の位置を秘匿化して近傍判定サーバ7に出力してもよい。このような場合には、端末装置3は、利用者の近傍に位置するタクシーを識別し、識別したタクシーを利用者に配車することができる。
(6)プログラム
上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図10を用いて、上記の実施例と同様の機能を有する近傍判定プログラムを実行するコンピュータの一例について説明する。
図10は、近傍判定プログラムを実行するコンピュータの一例について説明するための図である。図10に示すように、コンピュータ100は、CPU150と、ROM(Read Only Memory)160と、HDD(Hard Disk Drive)170と、RAM(Random Access Memory)180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、近傍判定装置20と同様の機能を発揮する近傍判定プログラム170aが予め記憶される。この近傍判定プログラム170aについては、実施例1で示した各構成要素と同様、適宜統合又は分離してもよい。すなわち、HDD170に格納される各データは、常に全てのデータがHDD170に格納される必要はなく、処理に必要なデータのみがHDD170に格納されればよい。
そして、CPU150が、近傍判定プログラム170aをHDD170から読み出してRAM180に展開する。これによって、図10に示すように、近傍判定プログラム170aは、近傍判定プロセス180aとして機能する。この近傍判定プロセス180aは、HDD170から読み出した各種データを適宜RAM180上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。
なお、近傍判定プロセス180aは、受信部40、演算部43、近傍判定部44、判定結果出力部45にて実行される処理を含む。また、CPU150上で仮想的に実現される各処理部は、常に全ての処理部がCPU150上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されればよい。
なお、上記の近傍判定プログラム170aについては、必ずしも最初からHDD170やROM160に記憶させておく必要はない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD(Flexible Disk)、CD(Compact Disk)−ROM、DVD(Digital Video Disk)、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。
そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WAN(Wide Area Network)などを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)第1の数値情報と第2の数値情報とが近傍範囲に属するかを判定する近接判定方法において、
前記近傍範囲を判定するための閾値を対角成分とする行列に乱数ベクトルを最終列として付加して生成された鍵行列の行ベクトルの一次結合と、前記第1の数値情報と、第1の乱数とに基づいて第1の秘匿ベクトルを収集し、
前記鍵行列の行ベクトルの一次結合と、前記第2の数値情報と、第2の乱数とに基づいて第2の秘匿ベクトルを収集し、
前記収集した第1の秘匿ベクトルと、前記第2の秘匿ベクトルとの差分から、前記鍵行列を法とした際の剰余である剰余ベクトルを算出し、
前記算出した剰余ベクトルに基づいて、前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定する
処理を情報処理装置が実行することを特徴とする近傍判定方法。
(付記2)前記第1の秘匿ベクトルに係わる一次結合とは異なる一次結合と、前記第2の数値情報と、前記第2の乱数とに基づく第2の秘匿ベクトルを収集することを特徴とする付記1に記載の近傍判定方法。
(付記3)前記一次結合と第1の乱数の積に前記第1の数値情報を加算した第1の秘匿ベクトル、および、前記一次結合と第2の乱数との積に前記第2の数値情報を加算した第2の秘匿ベクトルを収集することを特徴とする付記1または2に記載の近傍判定方法。
(付記4)第1の情報処理装置の位置を示す前記第1の数値情報と、前記一次結合と、前記第1の乱数とに基づく前記第1の秘匿ベクトル、および、第2の情報処理装置の位置を示す前記第2の数値情報と、前記一次結合と、前記第2の乱数とに基づく前記第2の秘匿ベクトルを収集することを特徴とする付記1〜3のいずれか1つに記載の近傍判定方法。
(付記5)第1の数値情報と第2の数値情報とが近傍範囲に属するかを判定するための閾値を対角成分とする行列に乱数ベクトルを最終列として付加して生成された鍵行列の行ベクトルの一次結合と、前記第1の数値情報と、第1の乱数とに基づいて第1の秘匿ベクトルを収集する第1の収集部と、
前記鍵行列の行ベクトルの一次結合と、前記第2の数値情報と、第2の乱数とに基づいて第2の秘匿ベクトルを第2の情報処理装置から収集する第2の収集部と、
前記第1の収集部が収集した第1の秘匿ベクトルと、前記第2の収集部が収集した第2の秘匿ベクトルとの差分から、前記鍵行列を法とした際の剰余である剰余ベクトルを算出する算出部と、
前記算出部が算出した剰余ベクトルに基づいて、前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定する判定部と
を有することを特徴とする近傍判定装置。
(付記6)前記第2の収集部は、前記第1の秘匿ベクトルに係わる一次結合とは異なる一次結合と、前記第2の数値情報と、前記第2の乱数とに基づく第2の秘匿ベクトルを収集することを特徴とする付記5に記載の近傍判定装置。
(付記7)前記第1の収集部は、前記一次結合と第1の乱数との積に前記第1の数値情報を加算した第1の秘匿ベクトルを収集し
前記第2の収集部は、前記一次結合と第2の乱数との積に前記第2の数値情報を加算した第2の秘匿ベクトルを収集することを特徴とする付記5または6に記載の近傍判定装置。
(付記8)前記第1の収集部は、第1の情報処理装置の位置を示す前記第1の数値情報と、前記一次結合と、前記第1の乱数とに基づく前記第1の秘匿ベクトルを収集し、
前記第2の収集部は、第2の情報処理装置の位置を示す前記第2の数値情報と、前記一次結合と、前記第2の乱数とに基づく前記第2の秘匿ベクトルを収集することを特徴とする付記5〜7のいずれか1つに記載の近傍判定装置。
(付記9)第1の情報処理装置が記憶する第1の数値情報と第2の情報処理装置が記憶する第2の数値情報とが近傍範囲に属するか否かを判定する近傍判定装置と、
前記第1の数値情報と前記第2の数値情報とを秘匿するための鍵行列を生成する鍵行列生成装置と
を有する近傍判定システムにおいて、
前記鍵行列生成装置は、
前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定するための閾値を対角成分とする行列に、乱数ベクトルを最終列として付加して生成された鍵行列を生成する生成部と、
前記生成部が生成した鍵行列の行ベクトルの一次結合を前記第1の情報処理装置、および前記第2の情報処理装置へ送信し、前記生成部が生成した鍵行列を前記近傍判定装置へ送信する送信部と
を有し、
前記近傍判定装置は、
前記鍵行列の行ベクトルの一次結合と、前記第1の数値情報と、第1の乱数とに基づいて第1の秘匿ベクトルを前記第1の情報処理装置から収集する第1の収集部と、
前記鍵行列の行ベクトルの一次結合と、前記第2の数値情報と、第2の乱数とに基づいて第2の秘匿ベクトルを前記第2の情報処理装置から収集する第2の収集部と、
前記第1の収集部が収集した第1の秘匿ベクトルと、前記第2の収集部が収集した第2の秘匿ベクトルとの差分から、前記鍵行列生成装置から受信した鍵行列を法とした際の剰余である剰余ベクトルを算出する算出部と、
前記算出部が算出した剰余ベクトルに基づいて、前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定する判定部と
を有することを特徴とする近傍判定システム。
(付記10)前記第2の収集部は、前記第1の秘匿ベクトルに係わる一次結合とは異なる一次結合と、前記第2の数値情報と、前記第2の乱数とに基づく第2の秘匿ベクトルを収集することを特徴とする付記9に記載の近傍判定システム。
(付記11)前記第1の収集部は、前記一次結合と第1の乱数との積に前記第1の数値情報を加算した第1の秘匿ベクトルを収集し
前記第2の収集部は、前記一次結合と第2の乱数との積に前記第2の数値情報を加算した第2の秘匿ベクトルを収集することを特徴とする付記9または10に記載の近傍判定システム。
(付記12)前記第1の収集部は、第1の情報処理装置の位置を示す前記第1の数値情報と、前記一次結合と、前記第1の乱数とに基づく前記第1の秘匿ベクトルを収集し、
前記第2の収集部は、第2の情報処理装置の位置を示す前記第2の数値情報と、前記一次結合と、前記第2の乱数とに基づく前記第2の秘匿ベクトルを収集することを特徴とする付記9〜11のいずれか1つに記載の近傍判定システム。
(付記13)第1の数値情報と第2の数値情報とが近傍範囲に属するかを判定するコンピュータに、
前記近傍範囲を判定するための閾値を対角成分とする行列に、乱数ベクトルを最終列として付加して生成された鍵行列の行ベクトルの一次結合と、前記第1の数値情報と、第1の乱数とに基づいて第1の秘匿ベクトルを収集し、
前記鍵行列の行ベクトルの一次結合と、前記第2の数値情報と、第2の乱数とに基づいて第2の秘匿ベクトルを収集し、
前記収集した第1の秘匿ベクトルと、前記第2の秘匿ベクトルとの差分から、前記鍵行列を法とした際の剰余である剰余ベクトルを算出し、
前記算出した剰余ベクトルに基づいて、前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定する
処理を実行させることを特徴とする近傍判定プログラム。
1 近傍判定システム
1a 生体認証システム
2 鍵生成サーバ
3 端末装置
4,5,6 情報提供装置
4a ストレージ装置
7 近傍判定サーバ
10 ベクトル記憶部
11 乱数生成部
12 鍵行列生成部
13 一次結合生成部
14 送信部
20、30 GPSアンテナ
21、31 位置情報取得部
22、32 位置情報記憶部
23、33 受信部
24、34 乱数生成部
25、35 秘匿位置情報生成部
26、36 送信部

Claims (7)

  1. 第1の数値情報と第2の数値情報とが近傍範囲に属するかを近傍判定装置が判定する近接判定方法において、
    前記近傍判定装置の第1の収集部が、前記近傍範囲を判定するための閾値を対角成分とする行列に乱数ベクトルを最終列として付加して生成された鍵行列の行ベクトルの一次結合と、前記第1の数値情報と、第1の乱数とに基づいて第1の秘匿ベクトルを収集し、
    前記近傍判定装置の第2の収集部が、前記鍵行列の行ベクトルの一次結合と、前記第2の数値情報と、第2の乱数とに基づいて第2の秘匿ベクトルを収集し、
    前記近傍判定装置の算出部が、前記収集した第1の秘匿ベクトルと、前記第2の秘匿ベクトルとの差分から、前記鍵行列を法とした際の剰余である剰余ベクトルを算出し、
    前記近傍判定装置の判定部が、前記算出した剰余ベクトルに基づいて、前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定する
    処理を情報処理装置が実行することを特徴とする近傍判定方法。
  2. 前記第2の収集部が、前記第1の秘匿ベクトルに係わる一次結合とは異なる一次結合と、前記第2の数値情報と、前記第2の乱数とに基づく第2の秘匿ベクトルを収集することを特徴とする請求項1に記載の近傍判定方法。
  3. 前記第1の収集部が、前記一次結合と第1の乱数との積に前記第1の数値情報を加算した第1の秘匿ベクトルを収集し
    前記第2の収集部が、前記一次結合と第2の乱数との積に前記第2の数値情報を加算した第2の秘匿ベクトルを収集することを特徴とする請求項1または2に記載の近傍判定方法。
  4. 前記第1の収集部が、第1の情報処理装置の位置を示す前記第1の数値情報と、前記一次結合と、前記第1の乱数とに基づく前記第1の秘匿ベクトルを収集し
    前記第2の収集部が、第2の情報処理装置の位置を示す前記第2の数値情報と、前記一次結合と、前記第2の乱数とに基づく前記第2の秘匿ベクトルを収集することを特徴とする請求項1〜3のいずれか1つに記載の近傍判定方法。
  5. 第1の数値情報と第2の数値情報とが近傍範囲に属するかを判定するための閾値を対角成分とする行列に乱数ベクトルを最終列として付加して生成された鍵行列の行ベクトルの一次結合と、前記第1の数値情報と、第1の乱数とに基づいて第1の秘匿ベクトルを収集する第1の収集部と、
    前記鍵行列の行ベクトルの一次結合と、前記第2の数値情報と、第2の乱数とに基づいて第2の秘匿ベクトルを第2の情報処理装置から収集する第2の収集部と、
    前記第1の収集部が収集した第1の秘匿ベクトルと、前記第2の収集部が収集した第2の秘匿ベクトルとの差分から、前記鍵行列を法とした際の剰余である剰余ベクトルを算出する算出部と、
    前記算出部が算出した剰余ベクトルに基づいて、前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定する判定部と
    を有することを特徴とする近傍判定装置。
  6. 第1の情報処理装置が記憶する第1の数値情報と第2の情報処理装置が記憶する第2の数値情報とが近傍範囲に属するか否かを判定する近傍判定装置と、
    前記第1の数値情報と前記第2の数値情報とを秘匿するための鍵行列を生成する鍵行列生成装置と
    を有する近傍判定システムにおいて、
    前記鍵行列生成装置は、
    前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定するための閾値を対角成分とする行列に、乱数ベクトルを最終列として付加して生成された鍵行列を生成する生成部と、
    前記生成部が生成した鍵行列の行ベクトルの一次結合を前記第1の情報処理装置、および前記第2の情報処理装置へ送信し、前記生成部が生成した鍵行列を前記近傍判定装置へ送信する送信部と
    を有し、
    前記近傍判定装置は、
    前記鍵行列の行ベクトルの一次結合と、前記第1の数値情報と、第1の乱数とに基づいて第1の秘匿ベクトルを前記第1の情報処理装置から収集する第1の収集部と、
    前記鍵行列の行ベクトルの一次結合と、前記第2の数値情報と、第2の乱数とに基づいて第2の秘匿ベクトルを前記第2の情報処理装置から収集する第2の収集部と、
    前記第1の収集部が収集した第1の秘匿ベクトルと、前記第2の収集部が収集した第2の秘匿ベクトルとの差分から、前記鍵行列生成装置から受信した鍵行列を法とした際の剰余である剰余ベクトルを算出する算出部と、
    前記算出部が算出した剰余ベクトルに基づいて、前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定する判定部と
    を有することを特徴とする近傍判定システム。
  7. 第1の数値情報と第2の数値情報とが近傍範囲に属するかを判定するコンピュータ
    前記近傍範囲を判定するための閾値を対角成分とする行列に乱数ベクトルを最終列として付加して生成された鍵行列の行ベクトルの一次結合と、前記第1の数値情報と、第1の乱数とに基づいて第1の秘匿ベクトルを収集する第1の収集部
    前記鍵行列の行ベクトルの一次結合と、前記第2の数値情報と、第2の乱数とに基づいて第2の秘匿ベクトルを収集する第2の収集部
    前記収集した第1の秘匿ベクトルと、前記第2の秘匿ベクトルとの差分から、前記鍵行列を法とした際の剰余である剰余ベクトルを算出する算出部
    前記算出した剰余ベクトルに基づいて、前記第1の数値情報と前記第2の数値情報とが近傍範囲に属するか否かを判定する判定部
    として機能させるための近傍判定プログラム。
JP2012248767A 2012-11-12 2012-11-12 近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラム Expired - Fee Related JP6011259B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012248767A JP6011259B2 (ja) 2012-11-12 2012-11-12 近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラム
US14/048,899 US9098107B2 (en) 2012-11-12 2013-10-08 Proximity determination method, proximity determination device, and proximity determination system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012248767A JP6011259B2 (ja) 2012-11-12 2012-11-12 近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラム

Publications (2)

Publication Number Publication Date
JP2014095878A JP2014095878A (ja) 2014-05-22
JP6011259B2 true JP6011259B2 (ja) 2016-10-19

Family

ID=50682512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012248767A Expired - Fee Related JP6011259B2 (ja) 2012-11-12 2012-11-12 近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラム

Country Status (2)

Country Link
US (1) US9098107B2 (ja)
JP (1) JP6011259B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6142704B2 (ja) 2013-07-11 2017-06-07 富士通株式会社 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法
US9503266B2 (en) * 2014-05-25 2016-11-22 Fujitsu Limited Relational encryption
JP6281425B2 (ja) 2014-06-27 2018-02-21 富士通株式会社 秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法
US10075301B2 (en) * 2015-07-13 2018-09-11 Fujitsu Limited Relational encryption for password verification
US10129028B2 (en) * 2015-07-13 2018-11-13 Fujitsu Limited Relational encryption for password verification
JP6524899B2 (ja) 2015-12-02 2019-06-05 富士通株式会社 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法
DE102016225287A1 (de) * 2016-12-16 2018-06-21 Volkswagen Aktiengesellschaft Verfahren, Vorrichtung und computerlesbares Speichermedium mit Instruktionen zur Verarbeitung von durch ein Kraftfahrzeug erfassten Daten
CN113596042A (zh) * 2021-08-03 2021-11-02 拉卡拉汇积天下技术服务(北京)有限公司 信息投递方法、装置、系统、电子设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3796354B2 (ja) 1998-05-29 2006-07-12 秀夫 北島 画像符号化方法
US6587782B1 (en) * 2000-03-14 2003-07-01 Navigation Technologies Corp. Method and system for providing reminders about points of interests while traveling
US7305365B1 (en) * 2002-06-27 2007-12-04 Microsoft Corporation System and method for controlling access to location information
US7164986B2 (en) * 2004-01-16 2007-01-16 Mci, Llc Method and system for tracked device location and route adherence via geofencing
US7339469B2 (en) * 2004-11-22 2008-03-04 Maersk Logistics Usa, Inc. Shipping container monitoring and tracking system
FI117029B (fi) * 2005-03-02 2006-05-15 Tracker Oy Menetelmä, laite, laitejärjestely ja tietokoneohjelmatuote liikkuvan kohteen seuraamiseksi
AU2006220547B2 (en) * 2005-03-07 2010-12-02 Telecommunication Systems, Inc. Method and system for identifying and defining geofences
KR20070063851A (ko) 2005-12-15 2007-06-20 삼성전자주식회사 패리티 검사 행렬, 패리티 검사 행렬 생성 방법, 인코딩방법 및 에러 정정 장치
JP4527155B2 (ja) * 2005-12-28 2010-08-18 富士通株式会社 ナビゲーション情報表示システム、ナビゲーション情報表示方法、およびそのためのプログラム
JP4548529B2 (ja) * 2008-08-18 2010-09-22 ソニー株式会社 情報記録装置、撮像装置、情報記録方法およびプログラム
JP5253278B2 (ja) 2009-04-08 2013-07-31 株式会社東芝 多次元データ識別装置、多次元データ識別方法、及び信号到来方向推定装置
US20100274569A1 (en) * 2009-04-23 2010-10-28 Douglas Reudink Real-time location sharing
US8626184B2 (en) * 2009-04-29 2014-01-07 Blackberry Limited Method and apparatus for reducing transmission of location information
US9064277B2 (en) * 2011-06-09 2015-06-23 Ebay Inc. Method and server systems for facilitating comparison shopping with geographically-specific, real-time product inventory information
US20130018714A1 (en) * 2011-07-14 2013-01-17 Varughese George Incentive through relaying a geo-spatially aware advertisement to proximate peers

Also Published As

Publication number Publication date
US20140136094A1 (en) 2014-05-15
US9098107B2 (en) 2015-08-04
JP2014095878A (ja) 2014-05-22

Similar Documents

Publication Publication Date Title
JP6011259B2 (ja) 近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラム
Panteras et al. Triangulating social multimedia content for event localization using Flickr and Twitter
US9305019B2 (en) Method of associating user related data with spatial hierarchy identifiers for efficient location-based processing
CN111083631B (zh) 一种保护位置隐私和查询隐私的高效查询处理方法
Lee et al. A novel approach for event detection by mining spatio-temporal information on microblogs
Wicker The loss of location privacy in the cellular age
US9047868B1 (en) Language model data collection
CN105592085B (zh) 面向位置感知推荐系统的隐私保护方法
CN107689950B (zh) 数据发布方法、装置、服务器和存储介质
EP3234904B1 (en) Method and apparatus for publishing locational copyrighted watermarking video
CN104680072B (zh) 基于语义的个性化轨迹数据隐私保护方法
JP5799808B2 (ja) 情報管理装置、そのデータ処理方法、およびコンピュータプログラム
Guo et al. Enabling secure cross-modal retrieval over encrypted heterogeneous IoT databases with collective matrix factorization
Palmieri et al. Spatial bloom filters: Enabling privacy in location-aware applications
CN106254314A (zh) 一种位置查询服务信息保护方法及系统
Kumar et al. Authenticity of geo-location and place name in tweets
CN105701418A (zh) 一种基于空间序列数据分析的用户轨迹隐私保护方法
CN111159727A (zh) 一种面向多方协同的贝叶斯分类器安全生成系统及方法
JP5369066B2 (ja) リコメンデーションシステム、発言端末、検索端末、リコメンデーション方法
Sunil et al. Cued click points: Graphical password authentication technique for security
Giridhar et al. Event localization and visualization in social networks
US9888347B1 (en) Resolving location criteria using user location data
Idhoko et al. Development of a geographic information systems road network database for emergency response: A case study of Oyo-Town, Oyo State, Nigeria
Zhang et al. Geospatial visualization using Google Maps: a case study on conference presenters
Di Pietro et al. Online geocoding services: A benchmarking analysis to some European cities

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160720

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: 20160823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160905

R150 Certificate of patent or registration of utility model

Ref document number: 6011259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees