JP2003188872A - リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末 - Google Patents

リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末

Info

Publication number
JP2003188872A
JP2003188872A JP2002191591A JP2002191591A JP2003188872A JP 2003188872 A JP2003188872 A JP 2003188872A JP 2002191591 A JP2002191591 A JP 2002191591A JP 2002191591 A JP2002191591 A JP 2002191591A JP 2003188872 A JP2003188872 A JP 2003188872A
Authority
JP
Japan
Prior art keywords
list
polynomial
information
network
information terminal
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.)
Granted
Application number
JP2002191591A
Other languages
English (en)
Other versions
JP3784055B2 (ja
Inventor
Masayuki Numao
雅之 沼尾
Yuji Watanabe
裕治 渡邊
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2002191591A priority Critical patent/JP3784055B2/ja
Priority to US10/264,823 priority patent/US7979712B2/en
Publication of JP2003188872A publication Critical patent/JP2003188872A/ja
Application granted granted Critical
Publication of JP3784055B2 publication Critical patent/JP3784055B2/ja
Priority to US12/535,777 priority patent/US8117456B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

(57)【要約】 【課題】 情報交換における安全性を確保すると共に、
実行効率が良く実用性の高いリストマッチングを実現す
る。 【解決手段】 リストマッチングの対象であるリスト
を、当該リストの要素項目を根とする多項式で表現す
る。そして、対象リストごとに生成された多項式を分散
秘密計算等の手法で加算する。この加算結果である多項
式の根を要素項目とするリストを復元し、共通項目のリ
ストとして出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2人以上の参加者
の持つリストの共通部分を抽出するリストマッチングを
ネットワーク上で行う方法に関する。
【0002】
【従来の技術】ネットワークを介して行われる情報交換
において、2人以上の参加者の持つリストの共通部分だ
けを計算し、抽出するリストマッチングがある。リスト
マッチングの具体的な応用例としては、趣味などのプロ
ファイルを記述したデータベース(リスト)のリストマ
ッチングを行い、共通の趣味を持つ会員同士を紹介する
マッチメーキングサービスがある。また、複数の金融機
関において、特定の利用者のリスト(いわゆるブラック
リストなど)を照会し、当該複数の金融機関で当該リス
トに載っている利用者を見出すといった利用も考えられ
る。
【0003】インターネットなどのネットワーク環境の
普及に伴い、ネットワーク上でのプライバシーの保護が
重視されてきている今日、リストマッチングにおいて
も、個々の参加者の持つリストの内容を明らかにするこ
となく、共通部分を抽出することが要求されるようにな
っている。
【0004】従来、ネットワーク上でリストマッチング
を実現する手法としては、TTP(Trusted Third Part
y)サーバを設けて、リストマッチングの対象となるリ
ストを管理し、当該TTPサーバによって共通部分を計
算する方法があった。この場合、リストにおける情報の
秘密保持は、当該TTPサーバにおけるセキュリティに
依存することとなる。
【0005】また近年、特定のサーバを必要としないピ
ア・ツー・ピア(Peer to Peer)のサービスの普及によ
り、TTPサーバを置かずにリストマッチングを行う場
合が生じてきた。このような場合におけるセキュリティ
を図る手法として、次の文献1には、Oblivious Polyno
mial Evaluation(OPE)という暗号技術を用いたプ
ロトコルが開示されている。 文献1:Naor, M. and Pinkas, B, "Oblivious Transfe
r and Polynomial Evaluation," in proc. of STOC, 19
99.
【0006】文献1には、次のようなプロトコルが記載
されている。リスト保持者であるAliceとBobと
が持っているリストを、それぞれAL=
{a1,...,an}、BL={b1,…,bn}とす
る。 1.AliceとBobは、それぞれn次多項式P
A(x)、PB(x)を秘密に用意する。 2.Aliceは、OPEを用いて[PB(ai)]i=1 nを計
算し、同様にBobもOPEを用いて[PA(bi)]i=1 n
計算する。 3.Aliceは[PA(ai)+PB(ai)]i=1 nを、Bob
は[PA(bi)+PB(bi)]i=1 nを、それぞれ公開する。 この方法によれば、第三者がリストにおける既知の項目
について、他のリストにおける共通項目の有無を推測す
るのは不可能である。
【0007】
【発明が解決しようとする課題】上述したように、リス
トマッチングによる情報交換を行う場合、TTPサーバ
を設けてリストマッチングの対象であるリストを管理す
るシステムでは、リストにおける情報の秘密保持は、T
TPサーバにおけるセキュリティに依存する。したがっ
て、当該TTPサーバのセキュリティが破られれば、当
該リストの秘密情報が漏洩してしまうこととなる。
【0008】また、ピア・ツー・ピアでリストマッチン
グを行う場合の文献1に開示されたOPEを用いたプロ
トコルでは、第三者がリストにおける既知の項目につい
て、他のリストにおける共通項目の有無を推測すること
は防止できるものの、リスト保持者が、公開値を偽っ
て、相手には不一致と見せかけながら、自分だけ相手と
の共通部分を知ることができてしまう。
【0009】ところで、複数人で引数を秘密に保ったま
ま計算を行い、当該引数に対する計算結果だけを取り出
す手法として、分散秘密計算(マルチパーティプロトコ
ル:Multiparty Protocol)と呼ばれる手法がある。上
述したOPEを用いたプロトコルも、この分散秘密計算
に含まれる。分散秘密計算については、例えば、次の文
献2に記載されている。 文献2:Ben-Or, Goldwasser, and Wigderson, "Comple
teness theorems for non-cryptographic fault-tolera
nt distributed computation," STOC, ACM, 1988.
【0010】リストマッチングにより複数のリストから
共通部分を抽出する場合、1項目ずつの比較計算が基本
となる。そのため、n個の項目を持つ2つのリストの計
算には、n2回の比較計算が必要である。このような比
較計算は、プログラムでは簡単に構成できる。しかしな
がら、分散秘密計算は、四則演算を基本計算としている
ため、比較計算に必要な分岐命令などを入れることは難
しい。したがって、分散秘密計算を用いて、ピア・ツー
・ピアでリストマッチングを行うことは、処理の実行効
率の面からも困難であった。
【0011】そこで、本発明は、情報交換における安全
性を確保すると共に、実行効率が良く実用性の高いリス
トマッチングを実現することを目的とする。また、本発
明は、分散秘密計算を用いることにより、ピア・ツー・
ピアでリストマッチングを行う場合においても、安全性
の高い手法を提供することを他の目的とする。
【0012】
【課題を解決するための手段】上記の目的を達成する本
発明は、コンピュータを用いて複数のリストにおける共
通項目を抽出するリストマッチング方法において、メモ
リから処理対象であるリストを読み出し、読み出された
リストごとに要素項目を根とする多項式を生成し、生成
された多項式を加算し、加算によって得られた多項式の
根を要素項目とするリストを生成して出力することを特
徴とする。より詳細には、リストの要素項目に対応する
値に、所定の1方向ハッシュ関数による演算結果を付加
した値を根とする多項式を生成する。そして、この多項
式の加算によって得られた多項式の根のうち、1方向ハ
ッシュ関数による演算結果が保持されている根におい
て、かかる演算結果を除いた値を要素項目とするリスト
を生成する構成とすることができる。
【0013】また、本発明は、ネットワークを構成する
複数台の情報端末が保持する複数のリストにおける共通
項目を抽出するリストマッチング方法において次の要件
を満足することを特徴とする。すなわち、リストを保持
する各情報端末が、このリストの要素項目を根とする多
項式を生成する。そして、この各情報端末が、適宜設定
された順番で、先の情報端末から受け取った多項式に対
して生成した多項式を加算し、加算結果の多項式を後の
情報端末に渡す。また、かかる順番の最後の情報端末
が、受信した多項式の根を要素項目とするリストを生成
する。ここで、この最後の情報端末は、生成したリスト
またはリストの項目に関する情報を他の情報端末に通知
することができる。
【0014】さらに、本発明は、ネットワークを構成す
る複数台の情報端末が保持する複数のリストにおける共
通項目を抽出するリストマッチング方法において次の要
件を満足することを特徴とする。すなわち、リストを保
持する各情報端末が、このリストの要素項目を根とする
多項式を生成する。そして、情報端末間で共通して使用
することを取り決められたネットワーク上の複数のサー
バを用いた分散秘密計算により、各情報端末にて生成さ
れた多項式を加算する。さらに、この情報端末が、サー
バによる加算結果に基づいて各情報端末にて生成された
多項式の加算結果である多項式を復元すると共に、復元
された多項式の根を要素項目とするリストを生成する。
【0015】さらにまた、本発明は、ネットワークを介
して接続された複数台の情報端末が保持する複数のリス
トにおける共通項目を抽出するリストマッチング方法に
おいて次の要件を満足することを特徴とする。すなわ
ち、リストを保持する各情報端末が、このリストの要素
項目を根とする第1の多項式とネットワーク上の所定の
サーバの数に対応した次数の第2の多項式とに基づいて
2変数多項式を生成し、この2変数多項式を第2の多項
式に基づいて各サーバに分散する。次に、サーバが、各
情報端末から送られた2変数多項式を分散した多項式を
加算し、加算結果を情報端末に返送する。次に、情報端
末が、サーバによる加算結果に基づいて各情報端末に保
持されたリストを表現する多項式の加算結果である多項
式を復元すると共に、復元された多項式の根を要素項目
とするリストを生成する。
【0016】また、本発明による他のリストマッチング
方法は、所定の情報端末が、他の端末装置が保持するリ
ストの要素項目を根とする多項式に基づいて生成された
公開情報を取得し、この他の情報端末から取得した公開
情報を検証し、かかる検証を通過した他の情報端末の公
開情報と自装置が保持するリストの要素項目を根とする
多項式とに基づいて、この公開情報の生成に用いられた
リストと自装置が保持するリストとの共通項目を求める
ことを特徴とする。ここで、好ましくは、他の情報端末
から取得した公開情報が検証を通過した場合にのみ、自
装置が保持するリストから生成された多項式と公開情報
とに基づいて所定の情報を生成して、この他の情報端末
との間で交換する。そして、交換された情報に基づい
て、公開情報の生成に用いられたリストと自装置が保持
するリストとの共通項目を求める。
【0017】また、本発明は、次のように構成されたこ
とを特徴とするネットワークシステムとして実現され
る。すなわち、このネットワークシステムは、ネットワ
ークを介して接続された、サーバと、複数台のクライア
ント端末とを備える。そして、このクライアント端末
は、ネットワークを介して他のクライアント端末から受
信した多項式に対し、リストマッチングの対象であるリ
ストを表現する多項式を加算し、加算結果の多項式を他
のクライアント端末またはサーバに送信する。また、こ
のサーバは、複数台のクライアント端末にて生成された
多項式全ての加算結果である多項式を受信し、この多項
式の根を要素項目とするリストを生成する。
【0018】ここで、上記のネットワークシステムを構
成する所定のクライアント端末は、リストマッチングの
対象であるリストを表現する第1の多項式と、任意の項
目を根とする第2の多項式とを生成し、第2の多項式を
前記サーバに送信すると共に、第1、第2の多項式を加
算して得られる多項式を他のクライアント端末に送信す
る。また、サーバは、複数台の前記クライアント端末に
て生成された多項式全ての加算結果である多項式から前
記第2の多項式を減算し、減算結果である多項式の根を
要素項目とするリストを生成する。
【0019】さらに、本発明は、次のように構成された
ことを特徴とするネットワークシステムとしても実現さ
れる。すなわち、このネットワークシステムは、ネット
ワークを介して接続された、複数台の情報端末と、複数
台のサーバとを備え、このサーバは、各情報端末から送
信されたデータの分散秘密計算をそれぞれ行い、計算結
果を前記情報端末に返送する。そして、情報端末は、リ
ストマッチングの対象であるリストを表現する多項式を
前記サーバに分散して送信し、このサーバからこの多項
式に対する分散秘密計算の計算結果を受信し、この計算
結果に基づいて各情報端末にて生成された多項式の加算
結果である多項式を復元すると共に、復元された多項式
の根を要素項目とするリストを生成する。
【0020】さらに詳しくは、この情報端末は、情報端
末の数をm、リストの要素項目の数をnとした場合に、
n+1次の多項式FYi(y)を、FYi(li,h)=0、h=
1,...,nとなるように生成し、定数項が0の任意
のk−1次多項式FXi(x)を生成し、2変数多項式Q
i(x,y)=FXi(x)+FYi(y)を生成して、k個のサ
ーバに対してQi(j,y)、j=1,...,kを送信
する。そして、サーバは、m個の前記情報端末から受信
した多項式Qi(j,y)を全て加算し、加算結果を情報
端末に返送する。
【0021】さらにまた、本発明は、次のように構成さ
れたネットワークシステムとしても実現できる。すなわ
ち、このネットワークシステムは、ネットワークを介し
て情報を交換する複数台の情報端末を備え、自装置が保
持するリストの要素項目を根とする多項式を生成し、こ
の多項式に基づいて第1の情報を生成して公開すると共
に、この多項式に基づいて第2の情報を生成する第1の
情報端末と、この第1の情報端末における第1の情報を
取得して検証すると共に、この検証を通過した場合に第
1の情報端末から第2の情報を取得し、これら第1、第
2の情報と自装置が保持するリストから生成された多項
式とに基づいて、公開情報の生成に用いられたリストと
自装置が保持するリストとの共通項目を求める第2の情
報端末とを備えることを特徴とする。なお、ネットワー
クシステムを構成する複数台の情報端末は、それぞれが
第1または第2の情報端末として動作する。そして、第
1、第2の情報を交換することにより、それぞれの情報
端末において相互にリストマッチングを行うことができ
る。ここで、より好ましくは、第2の情報端末は、自装
置が保持するリストの要素項目を根とする多項式を生成
し、この多項式に基づいて第1の情報を生成して公開す
る。そして、第1の情報端末は、公開されている第2の
情報端末における第1の情報を用いて第2の情報を生成
する。さらに好ましくは、このネットワークシステムに
おいて、第1の情報端末における第1の情報と第2の情
報端末が保持するリストとに基づいて生成された暗号化
データを取得し、第1、第2の情報端末がそれぞれ保持
するリストの内容が秘匿されたままでこのリストの共通
項目を求めるサーバをさらに備える。そして、第2の情
報端末は、第2の情報が取得できない場合または取得し
た第2の情報に基づいてリストの共通項目を求めること
ができない場合に、暗号化データを生成してかかるサー
バに送信し、このサーバからの応答データを復号してリ
ストの共通項目を得る。
【0022】また、本発明は、ネットワークシステムを
構成する、次のように構成されたことを特徴とするサー
バとして実現することができる。すなわち、ネットワー
クを介して接続された複数台の情報端末が保持する複数
のリストにおける共通項目を抽出するサーバにおいて、
ネットワークを介して、複数台の情報端末に保持されて
いる各リストを表現する複数の多項式の加算結果である
多項式を情報端末から取得する通信手段と、加算結果で
ある多項式の根を要素項目とするリストを生成する処理
手段とを備える。
【0023】一方、本発明は、同じくネットワークシス
テムを構成する、次のように構成されたことを特徴とす
る情報端末として実現することができる。すなわち、ネ
ットワークを介して接続された情報端末において、ネッ
トワークを介して他の情報端末とデータ交換を行うため
の通信手段と、所定のリストを格納した記憶手段と、こ
の記憶手段に格納されているリストの要素項目を根とす
る多項式を生成すると共に、この多項式に対する処理を
行う処理手段と、この多項式を含む複数の多項式の加算
結果である多項式の根を要素項目とするリストに関する
情報を出力する出力手段とを備える。
【0024】あるいは、次のように構成されたことを特
徴とする情報端末として実現することもできる。すなわ
ち、ネットワークを介して接続された情報端末におい
て、所定のリストを格納した記憶手段と、この記憶手段
に格納されているリストの要素項目を根とする第1の多
項式とネットワーク上の所定のサーバの数に対応した次
数の第2の多項式とに基づいて2変数多項式を生成する
処理手段と、ネットワーク上の所定のサーバに、この2
変数多項式を第2の多項式に基づいて分散して送信する
と共に、サーバから分散した多項式の加算結果を受信す
る通信手段と、この加算結果から復元される多項式の根
を要素項目とするリストに関する情報を出力する出力手
段とを備える。
【0025】また、本発明は、次のように構成された情
報端末としても実現される。すなわち、ネットワークに
接続されたこの情報端末は、所定のリストを格納した記
憶部と、このネットワークを介して他の情報端末が保持
するリストに基づく公開情報を取得して検証する検証部
と、この検証部による検証を通過した公開情報と記憶部
に格納されているリストの要素項目を根とする多項式と
に基づいて、公開情報の生成に用いられたリストと記憶
部に格納されているリストとの共通項目を求めるマッチ
ング結果出力部とを備えることを特徴とする。ここで、
より好ましくは、この情報端末は、多項式に基づいて公
開情報を生成する公開情報生成部をさらに備える。この
場合、マッチング結果出力部は、他の情報端末の公開情
報が検証部による検証を通過した場合に、公開情報生成
部にて生成された自装置の公開情報及び他の情報端末が
保持するリストに基づいて生成された所定の情報を他の
情報端末から取得し、所定の情報に基づいてリストの共
通項目を求める。
【0026】さらにまた、本発明は、コンピュータを制
御して上述したサーバや情報端末の機能を実現するプロ
グラムとしても実現することができる。このプログラム
は、磁気ディスクや光ディスク、半導体メモリ、その他
の記憶媒体に格納して配布したり、ネットワークを介し
て配信したりすることにより提供することができる。
【0027】
【発明の実施の形態】以下、添付図面に示す実施の形態
に基づいて、この発明を詳細に説明する。本発明は、リ
ストマッチングによる情報交換を行うため、リストマッ
チングの対象であるリストを、多次元関数(以下、特徴
関数と称す)を用いて表現することを提案する。
【0028】〔特徴関数の導入〕所定の要素項目を並べ
たリストは、当該要素項目を数値に置き換え、この数値
を根とする(以下、リストの要素項目を置き換えた数値
を根とすることを、単に、要素項目を根とすると表現す
る)多項式を生成することにより、特徴関数で表現する
ことができる。したがって、リストのn個の項目を表現
するには、n次の多項式を定義することが必要となる。
図1は、特徴関数である、リストの要素項目を根とする
多項式の例を示す図である。図1に示すように、リスト
1、L2を表現した多項式をそれぞれFY1(y)(図中、
実線で記載)、FY2(y)(図中、破線で記載)とする
と、その加算結果である多項式FY(y)=FY1(y)+F
Y2(y)(図中、実太線で記載)において、座標点Aに示
すように、両者の共通項目は相変わらず根になってい
る。これは、各リストL1、L2を示す多項式の和計算に
よって、共通項目を根とする多項式が得られたことを意
味する。多項式を素数有限体Z/Zp上で考えると、Ba
rlekampアルゴリズムを用いることによって、1変数多
次元多項式を因数分解し、根を求めることができる。し
たがって、リストから多項式の構成、及び多項式からリ
ストの復号という、1対1の関係付けができる。なお、
Barlekampアルゴリズムについては、例えば、次の文献
3に記載されている。 文献3:Donald E. Knuth, Seminumerical Algorithms,
the art of computer programming, Addison-Wesley,
1998.
【0029】ここで、図1の座標点Bに示すように、加
算結果の多項式が共通根以外の点で根を持ち得ることが
問題となる。この根を共通根と区別するために、1方向
ハッシュ関数MD5を用いる。すなわち、リスト項目l
をそのまま多項式の根にするのではなく、ハッシュ関数
MD5による演算結果を付加したl||MD5(l)を根に
する(ここで、||は文字列の結合を示す)。このように
すれば、多項式を換算した後、当該加算結果である多項
式の根にもこのハッシュ関数MD5の演算結果が保持さ
れているため、これを検証することにより、復号時に根
がリストの項目から作られたものか、加算の結果、偶然
にできたものかを区別することが可能となる。
【0030】図2は、リストから特徴関数の多項式を構
成する手順を説明するフローチャート、図3は、多項式
を復号してリストの共通項目を取得する手順を説明する
フローチャートである。この場合、各処理は例えば一般
的なコンピュータ装置におけるプログラム制御されたC
PUにて実行され、処理対象であるリストL及び関数F
(x)は当該CPUのキャッシュメモリやメインメモリに
格納される。図18は、この種のコンピュータ装置のハ
ードウェア構成の例を模式的に示した図である。図18
に示すコンピュータ装置は、演算手段であるCPU(Ce
ntral Processing Unit:中央処理装置)101と、M
/B(マザーボード)チップセット102及びCPUバ
スを介してCPU101に接続されたメインメモリ10
3と、同じくM/Bチップセット102及びAGP(Ac
celerated Graphics Port)を介してCPU101に接
続されたビデオカード104と、PCI(Peripheral C
omponent Interconnect)バスを介してM/Bチップセ
ット102に接続されたハードディスク105、ネット
ワークインターフェイス106及びUSBポート107
と、さらにこのPCIバスからブリッジ回路108及び
ISA(Industry Standard Architecture)バスなどの
低速なバスを介してM/Bチップセット102に接続さ
れたフロッピー(登録商標)ディスクドライブ109及
びキーボード/マウス110とを備える。なお、図18
は本実施の形態を実現するコンピュータ装置のハードウ
ェア構成を例示するに過ぎず、本実施の形態を適用可能
であれば、他の種々の構成を取ることができる。例え
ば、ビデオカード104を設ける代わりに、ビデオメモ
リのみを搭載し、CPU101にてイメージデータを処
理する構成としても良いし、ATA(AT Attachment)
などのインターフェイスを介してCD−ROM(Compac
t Disc Read Only Memory)やDVD−ROM(Digital
Versatile Disc ReadOnly Memory)のドライブを設け
ても良い。
【0031】図2を参照すると、CPU101は、ま
ず、関数F(x)=1、変数q=1とおき(ステップ20
1)、メインメモリ103から処理対象であるリストL
の要素項目liを読み込む。ここで、li '=li||MD
(li)とおく(ステップ202)。次に、CPU101
は、改めてF(x)*(x−li ')(mod p)をF(x)
とおき、変数qの値を1増加する(ステップ203)。
そして、ステップ202、203の処理をqの値がリス
トLの項目数nに達するまで繰り返した後、得られた関
数F(x)を出力する(ステップ204、205)。以上
のようにして、リストLから特徴関数F(x)が構成され
る。
【0032】図3を参照すると、CPU101は、ま
ず、メインメモリ103から処理対象であるn次元関数
F(x)を読み込み(ステップ301)、Barlekampアル
ゴリズムを用いて当該関数F(x)を因数分解する(ステ
ップ302)。次に、CPU101は、因数分解の結果
に基づいて、gi=(x−li ')及びli '=l||MDを
得る(ステップ303)。次に、因数分解された全ての
(x−li ')に関してMD=MD5(li)であるような
要素項目li '(すなわち、li '=li||MD5(li)であ
るようなli ')を抽出する(ステップ304、30
5)。そして、得られた要素項目li 'よりリストLを作
成し(ステップ306)、得られたリストLを出力する
(ステップ307)。以上のようにして、特徴関数F
(x)からリストLが復元される。
【0033】この種のリストマッチングにおけるセキュ
リティに関しては、次の要件を満たすことが要求され
る。 (1)全リスト保持者のリストに共通して現れる項目を
共通部分とする。 (2)リスト保持者の持つリストの内容は共通部分を除
いて誰も知りえない。 このように定義すると、リスト保持者は自分のリストに
含まれる項目の範囲内だけで、それぞれの項目が他の参
加者と共通かどうかだけを知ることができることにな
る。
【0034】上述したように、リストを当該リストの各
項目を根とする多項式(特徴関数)で表現することによ
り、各多項式を加算することによって各リストの共通項
目を根とする多項式が得られ、この計算結果である多項
式からリストの共通項目を取得することができる。すな
わち、分岐命令などを含む比較計算を必要とせず、加算
のみによって、リストの共通項目を抽出することが可能
となる。このため、後述するように、各参加者が自分の
リストに対応する多項式を順次加算して共通項目を算出
するシステムや、分散秘密計算を用いて共通項目を算出
するシステムを構築することが可能となり、ネットワー
ク上で安全性の高いリストマッチングを実現することが
できる。
【0035】〔第1の実施の形態〕次に、上述したリス
トを特徴関数で表現し共通項目を計算する手法をプロト
コルに用いて、リストマッチングを行うネットワークシ
ステムの実施の形態について説明する。ここでは、ネッ
トワーク上にTTPサーバを置き、このTTPサーバで
リストマッチングの計算を行うシステムと、ピア・ツー
・ピアでリストマッチングを行うシステムとをそれぞれ
説明する。
【0036】図4は、ネットワーク上のTTPサーバで
リストマッチングを行うシステムの全体構成を示す図で
ある。図4を参照すると、本実施の形態によるネットワ
ークシステムは、リスト保持者(参加者)のクライアン
ト端末と、リストマッチングの計算を行うマッチメーキ
ングサーバ(TTPサーバ)とを備える。図4の例で
は、m人の参加者のクライアント端末411、412〜
41mと1台のマッチメーキングサーバ400とがネッ
トワークを介して接続されている。
【0037】本実施の形態のマッチメーキングサーバ4
00は、例えば、ワークステーションやパーソナルコン
ピュータその他のコンピュータ装置にて実現される。ま
た、クライアント端末411、412〜41mは、例え
ば、パーソナルコンピュータなどのコンピュータ装置、
PDA(Personal Digital Assistant)、携帯電話など
の情報通信端末にて実現される。そして、磁気ディスク
や半導体メモリなどの記憶手段にリストマッチングの対
象であるリストを格納している。典型的には、マッチメ
ーキングサーバ400及びクライアント端末411、4
12〜41mは、図18に示したコンピュータ装置にて
実現することができる。
【0038】図5は、図4に示したマッチメーキングサ
ーバ400及びクライアント端末411、412〜41
mの好適なシステム構成を示す図である。図5に示すよ
うに、マッチメーキングサーバ400及びクライアント
端末411、412〜41mは、それぞれ、アプリケー
ションソフトウェア501、511と、ネットワークプ
ロトコル502、512と、ネットワークインターフェ
イス503、513とを備える。
【0039】アプリケーションソフトウェア501、5
11にて制御されたCPU101は、処理対象となるリ
ストの生成、当該リストからの特徴関数の多項式の構
成、多項式の加算、多項式からのリストの復号といった
処理を実行する。そして、ネットワークプロトコル50
2、512を介してネットワークインターフェイス50
3、513を制御する。そして、このネットワークイン
ターフェイス503、513により、ネットワーク回線
520を介して、マッチメーキングサーバ400とクラ
イアント端末411、412〜41mとの間の通信が行
われる。また、クライアント端末411、412〜41
mのアプリケーションソフトウェア511にて制御され
たCPU101は、後述のプロトコルにしたがってマッ
チメーキングサーバ400から受け取った共通項目のリ
ストや当該リストに関する情報を、当該クライアント端
末411、412〜41mに設けられている表示手段
(液晶表示装置など)や音声出力手段にて出力する機能
を実現する。なお、本実施の形態におけるマッチメーキ
ングサーバ400及びクライアント端末411、412
〜41mのシステム構成は、必ずしも図5に示した構成
に限るものではない。例えば、アプリケーションソフト
ウェア501、511とネットワークプロトコル50
2、512との間にネットワークOS(オペレーティン
グシステム)が介在していても良い。
【0040】以上のように構成されたネットワークシス
テムにおいて、次のようなプロトコルでリストマッチン
グを実行する。 1.クライアント端末411は、自分のリストL1から
多項式F1(x)を構成する。また、ランダムな項目を持
つリストR1を生成し、この多項式をFR1(x)とする。
そして、FR1(x)をマッチメーキングサーバ400に秘
密送信し、F1,2(x)=F1(x)+FR1(x)をクライアン
ト端末412に秘密送信する。 2.クライアント端末41i(i=2、・・・、m−
1)は、クライアント端末41i−1から送信された多
項式Fi-1,i(x)に自分のリストLiの多項式表現F
i(x)を加えたFi,i+1(x)=Fi-1,i(x)+Fi(x)をク
ライアント端末41i+1に秘密送信する。 3.クライアント端末41mは、クライアント端末41
m−1から送信された多項式Fm-1,m(x)に自分のリス
トLmの多項式表現Fm(x)を加えたFm,M(x)=Fm-1,m
(x)+Fm(x)を、マッチメーキングサーバ400に秘
密送信する。 4.マッチメーキングサーバ400は、クライアント端
末41mから送付された多項式Fm,M(x)からFR1(x)
を引き算して得られた多項式FM(x)=Fm,M(x)−FR1
(x)から、各クライアントの共通部分に関するリストを
復号し、各クライアント端末411、412〜41mに
通知する。
【0041】以上のようにして、各参加者のリストを表
現する多項式が、各クライアント端末411、412〜
41mを経ながら加算されてゆき、マッチメーキングサ
ーバ400において共通部分のリストが得られることと
なる。なお、マッチングサーバ400は、共通部分のリ
ストに対応する多項式FM(x)をそのまま各クライアン
ト端末411、412〜41mへ送信し、各クライアン
ト端末411、412〜41mにおいて共通部分のリス
トを復号させるようにしても良い。また、リストにおけ
る共通項目の項目数だけを各クライアント端末411、
412〜41mに通知するようなサービスも可能であ
る。
【0042】また、各クライアント端末411、412
〜41mの順番は、任意に設定することができ、リスト
マッチングを行うたびに変更しても良いが、リストマッ
チングの対象であるリストを保持するクライアント端末
411、412〜41mが全て参加することが必要であ
る。さらに、リストマッチングを行うたびに、対象とな
るリストの数も変化し得る。例えば、4台のクライアン
ト端末411、412〜41mがマッチメーキングサー
バ400に接続されている場合に、ある時は4台全ての
クライアント端末411、412〜41mが参加してリ
ストマッチングを行い、別のある時は任意の2台のクラ
イアント端末411、412〜41mが参加してリスト
マッチングを行うといった実施を行うことができる。
【0043】上述したネットワークシステムによれば、
次の2つの安全性が保たれることとなる。第1に、マッ
チメーキングサーバ400は、加算結果の多項式のみを
知ることができる。第2に、各クライアント端末41
1、412〜41mは、他の参加者の多項式を知ること
はできない。したがって、各参加者は、自分のリストに
含まれる項目の範囲内だけで、それぞれの項目が他の参
加者と共通かどうかだけを知ることができることとな
る。そのため、特定のリスト保持者だけが、自分の項目
は全く明かさずに、他者の共通部分の知識を得るような
操作を防ぐことが可能となる。
【0044】〔第2の実施の形態〕次に、TTPサーバ
を用いずに、ピア・ツー・ピアでリストマッチングを行
うシステムについて説明する。図6及び図7は、かかる
システムの全体構成を示す図である。各図には、後述す
るプロトコルにおける動作が記述されている。本実施の
形態によるネットワークシステムでは、秘密分散に協力
する複数のサーバが必要になる。このサーバは、上述し
たマッチメーキングサーバ400とは異なり、多項式の
計算に協力するのみであって、リストに関しての何の情
報も知り得ない。図6及び図7を参照すると、本実施の
形態によるネットワークシステムは、m人のリスト保持
者(参加者)のネットワーク端末611〜61mと、秘
密分散に協力するk台のサーバ621〜62kとがネッ
トワークを介して接続されている。
【0045】本実施の形態のネットワーク端末611〜
61mは、例えば、パーソナルコンピュータなどのコン
ピュータ装置、PDA(Personal Digital Assistan
t)、携帯電話などの情報通信端末にて実現される。そ
して、磁気ディスクや半導体メモリなどの記憶手段にリ
ストマッチングの対象であるリストを格納している。ま
た、サーバ621〜62kは、例えば、ワークステーシ
ョンやパーソナルコンピュータその他のコンピュータ装
置にて実現される。典型的には、ネットワーク端末61
1〜61m及びサーバ621〜62kは、図18に示し
たコンピュータ装置にて実現することができる。
【0046】図8は、図6に示したネットワーク端末6
11〜61m及びサーバ621〜62kの好適なシステ
ム構成を示す図である。図8に示すように、ネットワー
ク端末611〜61m及びサーバ621〜62kは、そ
れぞれ、アプリケーションソフトウェア801、811
と、ネットワークプロトコル802、812と、ネット
ワークインターフェイス803、813とを備える。
【0047】アプリケーションソフトウェア801、8
11にて制御されたCPU101は、処理対象となるリ
ストの生成、当該リストからの特徴関数の多項式の構
成、多項式の加算、多項式からのリストの復号といった
処理を実行する。そして、ネットワークプロトコル80
2、812を介してネットワークインターフェイス80
3、813を制御する。そして、このネットワークイン
ターフェイス803、813により、ネットワーク回線
820を介して、ネットワーク端末611〜61mとサ
ーバ621〜62kとの間の通信が行われる。また、ネ
ットワーク端末611〜61mのアプリケーションソフ
トウェア801にて制御されたCPU101は、後述の
プロトコルにしたがって復元した多項式に基づく共通項
目のリストを、当該ネットワーク端末611〜61mに
設けられている表示手段(液晶表示装置など)や音声出
力手段にて出力する機能を実現する。なお、本実施の形
態におけるネットワーク端末611〜61m及びサーバ
621〜62kのシステム構成は、必ずしも図7に示し
た構成に限るものではない。例えば、アプリケーション
ソフトウェア801、811とネットワークプロトコル
802、812との間にネットワークOSが介在してい
ても良い。
【0048】ここで、本実施の形態のシステムにおける
秘密分散によるリストマッチングを実現するための背景
技術について説明する。 鍵共有暗号系:鍵共有暗号系は、1つの秘密鍵をいくつ
かのサーバに分割してもたせるものであり、Shamirの
(t,k)閾値暗号系が有名である。これは、1つの秘密情
報をk個のサーバに分割して持たせ、そのうちのt個が
協力することにより、元の鍵を復元できるものである。
構成法は、まず、ある体F上の(t−1)次多項式 f(x)=f0+f1*x+f2x2+…+ft-1*xt-1 (式1) を定める。秘密情報の所有者は、まず、式1のf0に秘
密情報を代入し、残りのfkはランダムに決める。次
に、各サーバkに対し、(k,f(k))を分割情報とし
て送る。k個の分割情報が集まると始めて、この多項式
(式1)の各係数を一意に求めることができ、f0が求
められる。なお、Shamirの(t,k)閾値暗号系について
は、次の文献4に詳細に記載されている。 文献4:Shamir, A., "How to Share a Secret," CACM
22, 1979.
【0049】Oblivious Transfer:Oblivious Transfer
(以下、OT)は、情報提供者(S:Sender)と選択者
(C:Chooser)の2人の間のプロトコルであり、提供
者が持つ複数個の情報のうち、所定のいくつかの情報を
選択者が選んで得るという手法である。このとき、以下
の2つの条件がみたされなければならない。 (1)選択者のプライバシー:提供者は選択者がどれを
選んだかを知ることができない。 (2)提供者のプライバシー:選択者は選んだ情報以外
を知ることはできない。
【0050】基本的なOTとして、1−out−of−2−
OTがある。これは、提供者が2つの情報を持ち、選択
者はそのうちの任意の1つを選ぶというものである。こ
れを実現する代表的なプロトコルとして、ElGama
l暗号を使った、次に示すプロトコルがある。なお、下
記プロトコルにおいて、提供者の持つ情報をI0、I1
選択者の選択値をb∈{0,1}、[b]=NOT b
とする。 1.S→C:乱数r 2.C→S:Kb=gx,K[b]=r/Ab 3.S:Check that K0*K1=r 4.S→C{EI1,IE2},where EI1=
(gh,I0*K0 h),EI2=(gh,I1*K1 h) 5.C:Decrypt Ib 以上のプロトコルは、例えば、下記文献5に詳細に記載
されている。 文献5:Bellare, M. and Micali, S., "Non-interacti
ve oblivious transferand applications," in proc. C
RYPTO'89, 1990.
【0051】分散型OT:上記の基本的なOTでは、提
供者と選択者の間で暗号化、復号化の処理が必要にな
る。特に提供者側は、全ての情報を暗号化しなければな
らず、負担が大きい。そこで、提供者と選択者との間に
複数のサーバを置き、サーバ間で情報の秘密分散をさせ
ることによって、提供者の負担を軽減することが考えら
れる。これを実現したOTとして、分散型OTがある。
この分散型OTのプロトコルを次に示す。なお、下記プ
ロトコルにおいて、k個のサーバをP1,...,Pk
する。 1.S:一次式FY(y)=(I1−I0)y+I0と、定数
項が0の任意のk−1次式FX(x)を作り、2変数多項
式Q(x,y)=FX(x)+FY(y)を定義する。 2.S→Pi:Q(i,y)を送る(Qは1変数多項
式)。 3.C:定数項がbであるk−1次式S(x)を作る。 4.C→Pi:座標(i,S(i))を送る。 5.Pi→C:Q(i,S(i))を返す。 6.C:k個のサーバからQ(i,S(i))を得ることに
よって、k−1次式G(x)=Q(x,S(x))を復元する
ことができ、その結果G(0)=Q(0,S(0))=Q
(0,b)=FY(b)の値が求まる。 上記プロトコルは、例えば、下記文献6に詳細に記載さ
れている。 文献6:Naor, M. and Pinkas, B, "Distributed Obliv
ious," in proc. of Asiacrypt, 2000.
【0052】以上の技術的背景に基づき、図6乃至図8
に示したように構成されたネットワークシステムにおい
て、次のようなプロトコルでリストマッチングを実行す
る。 1.特徴関数の構成と2変数関数化:ネットワーク端末
61i(i=1,...,m)は、n+1次の多項式F
Yi(y)を、FYi(li,h)=0、h=1,...,nとな
るように構成する(n+1次なのでn+1個の根を持つ
ことができるが、最後の1個はSiのIDの文字列「i
i」を根にする、またネットワーク端末61iのリス
トの項目数がnに満たない場合も残りの根を全て「id
i」とする)。次に、定数項が0の任意のk−1次多項
式FXi(x)を作り、2変数多項式Qi(x,y)=F
Xi(x)+FYi(y)を定義する(図6参照)。図9は、多
項式Qi(x,y)=FXi(x)+FYi(y)を示す図であ
る。
【0053】図10は、2変数多項式Qi(x,y)の生
成方法を説明するフローチャートであり、図11は、k
−1次多項式FXi(x)の生成方法を説明するフローチャ
ートである。図10を参照すると、予めメインメモリ等
に格納されているn+1次の多項式FY(y)を読み出し
(ステップ1001)、さらにk−1次の多項式F
X(x)を読み出す(ステップ1002)。そして、読み
出した多項式FY(y)及びFX(x)を加算して2変数多項
式Qi(x,y)を生成する(ステップ1003)。ま
た、図11を参照すると、まず、k−1個の乱数を生成
し(ステップ1101)、当該乱数を用いてk−1次多
項式FX(x)=r1*x+r2*x2+…+rk-1*xk-1を生
成する(ステップ1102)。
【0054】2.特徴関数のサーバへの分散:ネットワ
ーク端末61i(i=1,...,m)からサーバ62
j(j=1,...,k)へ、Qi(j,y)を送る(Qi
は1変数多項式)(図6参照)。
【0055】3.各サーバにおける分散値加算:サーバ
62j(j=1,...,k)は、各ネットワーク端末
61i(i=1,...,m)から送られてきた多項式
i(j,y)を全て加算する(図6参照)。すなわち、 Q(j)(j,y)=Σii(j,y)
【0056】4.復元用関数の作成:各ネットワーク端
末61i(i=1,...,m)は、定数項がli,t
あるk−n−2次多項式Si,t(x)、t=1,...,
nをn個作る(図7参照)。
【0057】5.各サーバへの復元用関数上での分散値
問い合わせ:ネットワーク端末61i(i=
1,...,m)からサーバ62j(j=1,...,
k)へ、n個の座標(j,Si,t(j)),t=
1,...,nを送る(図7参照)。
【0058】6.各サーバからの復元用関数上での分散
値返送:サーバ62j(j=1,...,k)からネッ
トワーク端末61i(i=1,...,m)へ、Q
(j)(j,Si,t(j))の値、t=1,...,nを返す
(図7参照)。
【0059】7.項目の一致度判定:ネットワーク端末
61i(i=1,...,m)は、k個のQ(j)(j,S
i, t(j)),(j=1,...,k)から、多項式Q
(j)(x,Si,t(x))を復元する。そして、x=0を代入
することによって、Q(j)(0,Si,t(0))=Q(j)(0,
i,t)=ΣiYi(li,t),t=1,...,nを計算す
る(図7参照)。もし、あるtについてΣiYi(li,t)
が0であれば、全てのリスト保持者がli,tという項目
を共通に持っていることになる。一方、ΣiYi(li,t)
が0でなければ、共通項目ではなかったことがわかる。
【0060】以上のようにして、各参加者のリストを表
現する多項式が、複数のサーバ621〜62kに分散さ
れて加算され、加算結果に基づいて、各参加者のネット
ワーク端末611〜61mにおいて、共通部分のリスト
が得られることとなる。なお、上記のプロトコルによっ
て秘密分散を用いたリストマッチングを実行する場合、
初期動作として、リストマッチングの対象となるリスト
を保有するネットワーク端末611〜61m間で通信を
確立し、使用するサーバ621〜62kを決める工程が
実行される。上述したネットワークシステムによれば、
次の2つの安全性が保たれることとなる。第1に、秘密
分散用のサーバ621〜62kは、k台全てが結託しな
い限り、リスト保持者の多項式および結果多項式につい
ての情報を得ることはできない。第2に、各ネットワー
ク端末611〜61mは、他の参加者の多項式を知るこ
とはできない。
【0061】ここで、ネットワーク端末611〜61m
を用いた不正としては、定数0を自分のリスト表現関数
として登録し、本当のリストは明らかにしないで、他の
参加者の共通部分を知ろうとする方法が考えられる。し
かしながら、ネットワーク端末611〜61mが秘密分
散用のサーバ621〜62kに対して分散登録する際
に、秘密分散用のサーバ621〜62kにおいて分散多
項式の次数を調べることによって、不正を検出すること
ができる。
【0062】ところで、上記のプロトコルにおいて、各
リスト保持者iは、自分の特徴関数FYi(y)を知ってい
るため、和関数ΣiYi(y)について、自分の特徴関数
の根以外の点(つまり、あるリスト項目)y0を検索
し、自分の特徴関数の値を引くことにより、ΣiYi(y
0)−FYi(y0)=0となった場合、自分以外のリスト
保持者がその項目を共通点として持っていたかどうかを
知ることができてしまう。これを防ぐために、以下のよ
うに、和関数を乱数倍にすることによって、根以外の情
報を無効化することができる。まず、上記プロトコルの
2.において、Qi(j,y)に加え、乱数Ri(全てのサ
ーバについて同じ値)を送る。また、3.において、多
項式Qi(j,y)を加算すると共に、各ネットワーク端
末61i(i=1,...,m)から送られてきた乱数
iも加算する。すなわち、 R(j)=Σii そして、前者の関数を後者の乱数によって定数倍する。
以上の操作を含むことにより、自関数の根以外の点検索
を無効化することができる。
【0063】ところで、本実施の形態では、マッチング
の対象であるリストの各要素は、特徴関数の根として表
現されている。そのため、複数の特徴関数を加算した結
果、個々の特徴関数において根でなかったところにも根
が現れ得ることは上述した。また、この場合、1方向ハ
ッシュ関数を用いることによって、復号時に根がリスト
の項目から作られたものか、加算の結果、偶然にできた
ものかを区別することが可能となることについても、先
に述べた。しかし、秘密分散を用いてピア・ツー・ピア
でリストマッチングを行う本実施の形態においては、ハ
ッシュ関数を用いた手法を取るまでもなく、偶然にでき
た根については大きな問題とはならない。なぜなら、各
リスト保持者(参加者)は、自分の特徴関数の根であっ
た部分について、結果の関数においても根であるか否か
を調べるのが原則であるからである。したがって、少な
くとも、参加者が2人の場合には問題は全く起こらな
い。
【0064】参加者が3人以上の場合、例えば、参加者
Aが{A1,A2}、参加者Bが{B1,B2}、参加
者Cが{C1,C2}というリストをそれぞれ持ってい
たとする。この場合、AとBの特徴関数を加算した結
果、ごく小さな確率で偶然に和関数がC1という根を持
つ可能性があり、このとき、Cは、AもBも同じ要素C
1を持っていると誤って判断することになる。このよう
な事態が起きる確率は、以下のように求められる。関数
は、任意の有限体上で定義されるが、簡単のため素数体
Zpとする。ここで、pを512bit程度の素数にす
ると、64文字長の文字列が根として表現できることに
なる。ここで、リストの要素数nを15程度にとると、
特徴関数は16次元となる。特徴関数は、それぞれ対応
するリストの保持者のIDを根として持つので、お互い
に重なることはなく、ユニークであると考えられる。し
たがって、AとBの和関数がAとBの共通根以外の特定
の値y0で根を持つ確率は、16/(2512)程度であ
り、ほとんど無視できる大きさだと考えられる。
【0065】〔第3の実施の形態〕次に、特徴関数を用
いて、通常はピア・ツー・ピアでリストマッチングを行
い、障害が発生した場合に、TTPサーバの支援により
リストマッチングの処理を補完するシステムについて説
明する。図12は、かかるシステムの全体構成を示す図
である。図12を参照すると、本実施の形態によるネッ
トワークシステムでは、システムを構成する個々のピア
であるネットワーク端末1200の間での情報のやり取
りのみによって、リストマッチングが可能である。さら
に、ネットワーク端末1200間での情報のやり取りに
障害が発生した場合(必要な情報の交換が行われない場
合や間違った情報が交換された場合)は、TTPサーバ
1210に例外処理を依頼することにより、問題解決を
図ることができる。
【0066】図13は、本実施の形態におけるネットワ
ーク端末1200及びTTPサーバ1210の機能構成
を示す図である。ネットワーク端末1200は、例え
ば、パーソナルコンピュータなどのコンピュータ装置、
PDA(Personal Digital Assistant)、携帯電話など
の情報通信端末にて実現される(図18参照)。そし
て、ハードディスク105やメインメモリ103などの
記憶手段にリストマッチングの対象であるリストを格納
している。図13を参照すると、ネットワーク端末12
00は、公開情報であるコミットメント及びコミットメ
ント開示値を生成するコミットメント生成部1201
と、リストマッチングの相手となる他のネットワーク端
末1200の公開情報を取得し検証を行うコミットメン
ト検証部1202と、コミットメント生成部1201に
て生成されたコミットメント開示値及びコミットメント
検証部1202により検証された他のネットワーク端末
1200のコミットメントに対するマッチング処理を行
うマッチング部1203と、リストマッチングの結果を
出力するマッチング結果出力部1204とを備えると共
に、TTPサーバ1210に処理を依頼するための例外
処理要求部1205と、TTPサーバ1210から取得
した処理結果を出力する例外処理結果出力部1206と
を備える。これらコミットメント生成部1201、コミ
ットメント検証部1202、マッチング部1203、マ
ッチング結果出力部1204、例外処理要求部1205
及び例外処理結果出力部1206は、ネットワーク端末
1200を構成するコンピュータ装置におけるプログラ
ム制御されたCPU101にて実現される仮想的なソフ
トウェアブロックである。また、特に図示しないが、ネ
ットワーク端末1200は、プログラム制御されたCP
U101及びネットワークインターフェイス106にて
実現される送受信部を備える。
【0067】また、TTPサーバ1210は、例えば、
ワークステーションやパーソナルコンピュータその他の
コンピュータ装置にて実現され(図18参照)、ネット
ワーク端末1200の例外処理要求部1205による処
理要求に応じて、リストマッチングを行う例外処理実行
部1211を備える。この例外処理実行部1211は、
TTPサーバ1210を構成するコンピュータ装置にお
けるプログラム制御されたCPU101にて実現される
仮想的なソフトウェアブロックである。また、特に図示
しないが、ネットワーク端末1200は、プログラム制
御されたCPU101及びネットワークインターフェイ
ス106にて実現される送受信部を備える。
【0068】以下、図12に示したネットワークシステ
ムを構成するピアであるネットワーク端末1200にお
ける所定の2台の間でリストマッチングが行われる場合
を例として、処理及び情報の流れを説明する。なお、以
下の説明において、個々のネットワーク端末1200を
区別する場合には、添え字u、vを付して記述する。各
ネットワーク端末1200の構成要素についても同様で
ある。例えばネットワーク端末1200v、コミットメ
ント生成部1201uというように記す。
【0069】各ネットワーク端末1200は、それぞれ
n個のデータをデータベースに保持しているものとす
る。全てのデータには、データごとに一意に区別できる
データ番号が割り振られているものとし、データ番号全
体の集合をLとする。また、ネットワーク端末1200
uが持つn個のデータにおけるデータ番号のリストを、
添え字uを付してLu={αu,1,・・・,αu,n}とす
る。各ネットワーク端末1200uは、公開鍵暗号化に
対応する秘密鍵Kuを持つものとする。また、TTPサ
ーバ1210は、公開鍵暗号化アルゴリズムET()に対
応する秘密鍵KTを保持する。このTTPサーバ121
0は、通常プロセスでは登場せず、上述した障害(例
外)発生時に、正常にプロトコルを終了させるための機
能(例外処理実行部1211)を持つ。
【0070】本実施の形態において、リストマッチング
(2つのリストの共通部分抽出)は、次のように定義さ
れる。すなわち、任意の2組のネットワーク端末120
0u、1200v(u≠v)の間で、それぞれの持つ秘
密のリストLuとLvの共通部分Lu∩Lvを互いに共有す
る。この際、(1)共通部分以外に関する情報を相手に
漏らさないこと、(2)一方だけが共通部分を知る不正
を防ぐこと、が要求される。
【0071】次に、ネットワーク端末1200及びTT
Pサーバ1210において実行されるアルゴリズムにつ
いて説明する。図14は、ネットワーク端末1200及
びTTPサーバ1210で実行されるアルゴリズム及び
情報の流れを示す図である。本実施の形態では、リスト
マッチングを実現するため、ネットワーク端末1200
において、以下に示す6つのアルゴリズムの記述を用い
る。・C(Lu):コミットメント生成部1201uに
て実行されるコミットメント生成アルゴリズムであり、
ネットワーク端末1200uの持つリストLuを入力と
して、コミットメントcomu及びコミットメント開示
値openuを出力する。 ・V(comv):コミットメント検証部1202uに
て実行されるコミットメント検証アルゴリズムであり、
ネットワーク端末1200vによるコミットメントco
vを入力として、検証結果{0,1}を出力する(以
後、「1」を出力させる入力を「正当なコミットメン
ト」と呼ぶ)。 ・M(openu,comv):マッチング部1203u
にて実行されるマッチングアルゴリズムであり、ネット
ワーク端末1200uのコミットメント開示値open
u及びネットワーク端末1200vの正当なコミットメ
ントcomvを入力として、応答メッセージansu,v
出力する。 ・D(ansv,u,comv,Lu,Ku,openu):
マッチング結果出力部1204uにて実行される結果出
力アルゴリズムであり、ネットワーク端末1200vか
らネットワーク端末1200uに対する応答メッセージ
ansv,u 、正当なコミットメントcomv、及びネッ
トワーク端末1200uのリストLu、秘密鍵Ku、コミ
ットメント開示値openuを入力として、LuとLv
共通部分
【数1】 (以下、~Lu,vとも表記する)もしくはエラーメッセー
ジを出力する(以後、共通部分を出力させる入力ans
v,uを「正当な応答メッセージ」と呼ぶ)。 ・P(comv,Lu):例外処理要求部1205uにて
実行される例外処理要求生成アルゴリズムであり、ネッ
トワーク端末1200vの正当なコミットメントcom
v、及びネットワーク端末1200uのリストLuを入力
として、例外処理要求メッセージereqv,uを出力す
る。 ・W(eansv,u,Ku):例外処理結果出力部120
6uにて実行される例外処理結果生成アルゴリズムであ
り、例外要求応答メッセージeansv,uを入力とし
て、LuとLvの共通部分~Lu,v(=Lu∩Lv)を出力す
る。
【0072】さらに本実施の形態では、TTPサーバ1
210の例外処理実行部1211において実行される次
のアルゴリズムの記述を用いる。 ・T(ereqv,u,KT):例外処理アルゴリズムであ
り、例外処理要求メッセージereqv,u及びTTPサ
ーバ1210の秘密鍵KTを入力として、例外処理応答
メッセージeansv,uまたはエラーを出力する(以
後、eansv,uを出力させる例外処理要求メッセージ
ereqv,uを「正当な例外処理要求メッセージ」と呼
ぶ)。 以上のアルゴリズムの具体的な内容については後述す
る。
【0073】上述したリストマッチング及びアルゴリズ
ムの定義に基づいて、本実施の形態におけるリストマッ
チングは、次のように定式化される。 1.各サーバによるコミットメントの公開 初期的な処理として、各ネットワーク端末1200のコ
ミットメント生成部1201uは、コミットメント生成
アルゴリズムCを用いて、自装置のリスト(ネットワー
ク端末1200uの場合、Lu)に関するコミットメン
ト及びコミットメント開示値(同様にネットワーク端末
1200uの場合、{comu,openu}=C
(Lu)を生成し、各ネットワーク端末1200、すな
わちネットワークシステム全体に対して、生成されたコ
ミットメント(com)をブロードキャストする。コミ
ットメント開示値(open)は秘匿する。なお、コミ
ットメントは、全てのネットワーク端末1200に対し
て公開される。また、コミットメントのサイズは、シス
テムに参加するネットワーク端末1200の数には依存
しないので、ネットワーク端末1200のシステムへの
追加に応じてコミットメントを変更する必要もない。し
たがって、ブロードキャストにより各ネットワーク端末
1200間で個別に交換する代わりに、ネットワーク上
に解説された公開されたデータベースに登録したり、こ
のデータベースをCD−ROM(Compact Disc Read On
ly Memory)やDVD−ROM(Digital Versatile Dis
c Read Only Memory)などの大容量記録媒体に格納して
配布したりするなど、各ネットワーク端末1200が任
意に取得できる手段であれば、どのような手段を用いて
提供しても良い。
【0074】2.以下の処理を任意のネットワーク端末
1200間で行う。簡潔のため、ネットワーク端末12
00u、1200v間の処理の流れを示す。ここで、
(b)は例外発生時にのみ必要となる手続きである。な
お、以下に示すように、この処理はネットワーク端末1
200u、1200vの双方で同様の処理を行うことか
ら、初期的にネットワーク端末1200u、1200v
間で連絡を取り合い、リストマッチングを行うことを確
認した後に開始することとなる。 (a)通常プロセス i.コミットメントの検証 ネットワーク端末1200uのコミットメント検証部1
202uは、リストマッチングの相手であるネットワー
ク端末1200vのコミットメントcomvに対し、コ
ミットメント検証アルゴリズムVを用いて、V(com
v)=1となるかを検証することで、comvが正当なコ
ミットメントであることを確認する。ここで、V(co
v)=0であれば、ネットワーク端末1200vに対
して以後の処理を行わない(したがってリストの交換は
一切発生しない)。一方、ネットワーク端末1200v
も、comuに対して同様の処理を行う。
【0075】ii.応答メッセージの生成 ネットワーク端末1200uのマッチング部1203u
は、ネットワーク端末1200vの正当なコミットメン
トcomvに対し、自身のコミットメント開示値ope
u及びマッチングアルゴリズムMを用いて、応答メッ
セージansu,v=M(openu,comv)を計算
し、リストマッチングの相手であるネットワーク端末1
200vに送信する。一方、ネットワーク端末1200
vもcomuに対して同様の処理を行う。
【0076】iii.結果出力 ネットワーク端末1200uのマッチング結果出力部1
204uは、ネットワーク端末1200vから応答メッ
セージansv,uを受け取る。ansv,uを受信できない
場合には、後述の例外処理プロセスを行う。ネットワー
ク端末1200vから受け取ったansv,uに対し、自
身のリストLu、秘密鍵Ku、コミットメント開示値op
enu、ネットワーク端末1200vの正当なコミット
メントcomv、及び結果出力アルゴリズムDを用い
て、resv,u=D(ansv,u,comv,Lu,Ku
openu)を計算する。ansv,uが正当な応答メッセ
ージであれば、resv,uは、ネットワーク端末120
0uのリストLuとネットワーク端末1200vのリス
トLvとの共通部分(Lu∩Lv)である。resv,uがエ
ラーのときは、例外処理プロセスを行う。一方、ネット
ワーク端末1200vもansu,vに対して同様の処理
を行う。
【0077】(b)例外処理プロセス i.例外処理要求 ネットワーク端末1200uにおいてリストの共通部分
を計算できないという例外が発生した場合、すなわち、
ネットワーク端末1200vからansv,uが送信され
なかった場合や間違ったansv,uが送信された場合、
ネットワーク端末1200uの結果出力部1205u
は、自身のリストLu、ネットワーク端末1200vの
正当なコミットメントcomv、及び例外処理要求生成
アルゴリズムPを用いて、例外処理要求メッセージer
eqv,u=P(comv,Lu)を計算し、TTPサーバ
1210に送信する。
【0078】ii.例外処理 TTPサーバ1210は、例外処理要求メッセージer
eqv,uを受け取った後、事前に規定された手段によっ
て例外が生じたことを確認する。例外が確認されなけれ
ばネットワーク端末1200uに対してエラーを返す。
例外が確認された場合、例外処理実行部1211が、例
外処理アルゴリズムT及び秘密鍵KTを用いて、例外処
理応答メッセージeansv,u=T(ereqv,u
T)を計算する。そして、TTPサーバ1210は、
計算された例外処理応答メッセージeansv,uをネッ
トワーク端末1200uに対して送信する。
【0079】iii.例外処理結果出力 ネットワーク端末1200uの例外処理結果出力部12
06uは、TTPサーバ1210から受け取った例外処
理応答メッセージeansv,uと、ネットワーク端末1
200uの秘密鍵Kuとを入力として、例外処理結果e
resv,u=W(eansv,u,Ku)を計算し、出力す
る。この例外処理結果eresv,uは、ネットワーク端
末1200uのリストLuとネットワーク端末1200
vのリストLvとの共通部分(Lu∩Lv)である。
【0080】以上の動作において、各ネットワーク端末
1200は、自身のリストに対するコミットメントを公
開することにより、リストマッチングにおいてリストを
偽らないことを他のサーバに対して保証することができ
る。また、コミットメントには、例外発生時に一方が不
利を被らないよう、TTPサーバ1210がリストの共
通部分を計算することを可能にするための情報が含まれ
ている。各ネットワーク端末1200は、コミットメン
ト検証アルゴリズムVを用いて、「コミットメントが正
確に構成されていおり、万一の場合にはTTPサーバ1
210による問題解決が可能であること」を通常プロセ
スの冒頭においてチェックすることができる。さらに、
リストを偽ることが困難なように、応答メッセージは、
公開されたコミットメントを入力として計算される。し
たがって、リストを偽ることにより不正にマッチング相
手のネットワーク端末1200の持つリストに関する情
報を入手することはできない。また、一方のネットワー
ク端末1200が応答メッセージを送信せずにプロトコ
ルを勝手に中断したり、不正に計算されたメッセージを
送信したりした場合、TTPサーバ1210が、コミッ
トメント及び例外処理要求メッセージに含まれる情報を
基にリストの共通部分を計算することができる仕組みに
なっている。したがって、不正行為によりリストの共通
部分の情報を、一方のネットワーク端末1200だけが
入手することはできない。
【0081】次に、本実施の形態のシステムにおいて、
上記のリストマッチングの動作を実現するためのプロト
コルを説明する。まず、本プロトコルで用いられるパラ
メータについて説明する。GqをDecisional Diffice-He
llman(DDH)仮定が成立する位数q(qは素数)の
群とし、g及びhをGqのランダムな元とする。ここ
で、logg hは未知とする。H(・)を理想的な一方向
性ハッシュ関数、α∈Zqに対するコミットメントをπ
(α,r)=gαr(r∈Rq)とする。ここで、x∈R
Gは「Gからランダムに取り出した要素をxとする」を
意味する。また、Gq上のElGamal暗号Ey(m,
r)を次のように定義する。 Ey(m,r)=(gr,myr)(r∈Rq) 上式で、mは平文(メッセージ)、yは公開鍵である。
公開鍵yに対応する秘密鍵による復号をDyと表す(つ
まり、Dy(Ey(m,r))=m)。mがGq上の元に
限定される場合、この暗号化はDDH仮定の元で強秘匿
であることが知られている。また、ElGamal暗号
には次の性質がある。 (Ey(m,r))k=((gr)k,(myr)k)=Ey(mk,kr) Ey(m,r)×Ey(m',r')=(grr',myr(m'yr'))
=Ey(mm',r+r') 以後、文脈に応じてE(m,r)の乱数rを省略してE
(m)とする記述を適宜用いることにする。
【0082】本実施の形態で実現されるプロトコルは、
離散対数問題が計算量的に困難となるような任意の群G
F(q)上で定義される。GF(q)の具体的構成例として
は、(1)位数pの素体の上での構成法:pをq|p−
1を満たす大きな素数、gを有限体Zp上の位数qの元
として、gを生成元として構成される群GF(q)、
(2)位数pの素体の上での乗法演算を、任意の有限体
上の楕円曲線などの曲線上の加法演算に対応させること
により構成される群、(3)素数pに代えて素数p'の
べき乗数とし、素数pを法とする剰余演算に代えてGF
(p')拡大体上での演算を行なうことにより構成される
群、などがある。
【0083】次に、本実施の形態で用いられる既存の基
本的なプロトコルを示す。 ElGamal暗号を用いたOPE:A、Bの2者間で
情報のやり取りをするものとする。Aの公開鍵をyとす
る。Aは秘密の値α(∈Zq)を持ち、Bは次の数2式
に示す秘密の多項式fB(x)を持つものとする。
【数2】 本プロトコルは、 ・AはBにαを知られずに、gfB(α)を得ることができ
る。 ・AはfB(x)に関してgfB(α)以外の情報を知ること
はできない。という性質を持つ。以下にプロトコルの内
容を示す。
【0084】1.Aは、i=1,・・・,nについて、
【数3】 を、乱数ri(∈Rq)を用いて次の数4式のようにE
lGamal暗号化する。
【数4】 Aは、c1,・・・,cnをBへ送信する。 2.Bは、乱数r0(∈Rq)を選び、次の数5式に示
す計算を行う。
【数5】 Bは
【数6】 をAへ送信する。 3.Aは、^cを復号してgfB(α)を得る。
【0085】証明プロトコル1:m0、m1をGqの元、^
1=(c1,c2)=Ey(m1,β)=(gβ,m1β
を、公開鍵yを用いたm1のElGamal暗号文とす
る。このとき、共通入力(g,y,m0,^c)に対
し、暗号文^cに対応する平文m1のm0に対する離散対
数αを知っていることを証明する。すなわち、知識の非
対話証明(e,s,t)=PKa{(α,β):(c1
gβ)∧(c2=m1yβ)∧(m1=m0α)}は次のよ
うに構成できる。 1.r1,r2Rqを選ぶ。 2.次の数7式により(e,s,t)を計算する。
【数7】 検証者は、次の数8式が成立するときに、証明を受理す
る。
【数8】
【0086】証明プロトコル2:m1,m2,m'1,m'2
をGqの元とし、また、 ^c1=(c1,1,c1,2)=Ey(m'1,β1)=(gβ1
m'1β1) ^c2=(c2,1,c2,2)=Ey(m'2,β2)=(gβ2
m'2β1) を、公開鍵yを用いた、それぞれm'1,m'2のElGa
mal暗号文とする。このとき、共通入力(g,y,m
1,m2,^c1,^c2)に対し、暗号文^c1,^c2に対応
する平文m'1,m'2の、それぞれm1,m2に対する離散
対数が等しいことを証明する。すなわち、知識の非対話
証明(e,s,t,u)=PK{(α,β 1,β2):
{(ci,1=gβi)∧(ci,2=m'iβi)∧(m'i
i α)}i=1 ,2}は、次のように構成できる。 1.乱数r1,r2,r3Rqを選ぶ。 2.次の数9式により、(e,s,t,u)を計算す
る。
【数9】 検証者は、次の数10式が成立するときに、証明を受理
する。
【数10】 この手法を拡張することにより、 PK{(α,{βii=1 n):{(ci,1=gβi)∧
(ci,2=m'iyβi)∧(m'i=miα)}i=1 n} を構成することは容易である。
【0087】証明プロトコル3:m0をGqの元、また、
i=1,・・・,nのそれぞれ対して^ci=(ci,1
i,2)=(gβi,miyβi)を、公開鍵yを用いたm
iのElGamal暗号文とする。このとき、共通入力
(g,y,m0,^c1,・・・,^cn)に対し、次の数
11式に示す関係を満足するαが存在することを、αを
明かさずに証明する。
【数11】 すなわち、知識の非対話証明
【数12】 は、次のように構成できる。ここで、簡単のため、(c
0,1,c0,2)=Ey(m0,0)=(1,m0),β0=0と
する。 1.r1,r2Rqを選ぶ。 2.次の数13式により(e,s1,・・・,sn,t)
を計算する。
【数13】 検証者は、次の数14式が成立するときに、証明を受理
する。
【数14】
【0088】図15は、上記の基本的なプロトコルに基
づいて実現される本実施の形態におけるリストマッチン
グのプロトコルを説明する図である。以下、図15を参
照しながら説明する。なお、図中の括弧付きの数字は、
下記の手順の番号と対応している。 〔1〕ネットワーク端末1200uは、リストLu
{αu,1,...,αu,n}に対し、特徴関数である
【数15】 を計算する。このとき、
【数16】 は、定数項が1であり、Luの全ての要素を根に持って
いる。
【0089】〔2〕ネットワーク端末1200uは、係
数{au,ll=1 nに対するコミットメント{cu,l=g
au,lbu,ll=1 nを作成する。ここで、
【数17】 とする。
【0090】〔3〕ネットワーク端末1200uは、E
lGamal暗号を用いたOPEの手法を応用し、リス
トの要素αu,i∈Luを入力とするOPEにより、αu,i
がネットワーク端末1200vの多項式fv(x)の根に
なっているかを検査する。そのため、以下の処理を要素
αu,i∈Luの全て(i=1,・・・,n)に対して行
う。 (a) gu,i,hu,i∈Gqを選ぶ。ここでtg (u,i)
loggu,iとth (u,i)=loghu,iはネットワー
ク端末1200uのみが知るものとする。 (b) 次の数18式を計算する(yTはTTPサーバ
1210の公開鍵)。
【数18】 また、この計算が正確に行われていること示す証明pk
u,i,1を構成する。さらにψt (u,・,・)はTTPサーバ1
210において復号できることから、「TTPサーバ1
210が問題発生時に問題解決できる」ということを検
証可能にしている。 (c) αu,iがfuu,i)=0を満たすこと示す証明
pku,i,2を構成する。この証明は、
【数19】 を用いて、次の数20式におけるhに対する離散対数の
知識を証明することにより実現している。
【数20】 (d) αu,iに関する公開情報du,iは、次の数21式
のように構成される。
【数21】 これにより公開されるコミットメントcomuは、次の
数22式で表されるようになる。
【数22】
【0091】〔4〕ネットワーク端末1200uのコミ
ットメントcomuを受け取ったネットワーク端末12
00vは、以下の処理をi=1,...,nに対して行
う。 (a)du,iに含まれるpku,i,1及びpku,i,2を検証
する。 (b)次の数23式により、φg (u,v,i)、φh (u,v,i)
計算する。
【数23】 (c)φg (u,v,i)をξ1 (u,v,i)乗することによりαu,i
がfv()の根判定以外に関する情報を隠蔽する。すなわ
ち、
【数24】 一方、以上の処理が正確に行われたかを、ネットワーク
端末1200uの側で公開されたコミットメントcom
vのみを用いて検証可能にするための情報を構成する。
まず、φh (u,v,i)
【数25】 を掛けることにより、wvu,i) に関する情報を隠蔽
した上で、これらの処理が正確に行われていることを示
す証明を、次の数26式のように構成する。
【数26】 これにより応答メッセージは、次の数27式に示すよう
になる。
【数27】
【0092】〔5〕応答メッセージansu,vを受け取
ったネットワーク端末1200uは、i=1,・・・,
nに対して以下の処理を行う。 (a)証明ρ(u,v,i)をネットワーク端末1200uの
コミットメントcomvを用いて検証する。具体的に
は、次の数28式を計算し、数29式が成立するかを検
証する。
【数28】
【数29】 (b)上記の検証が通過しない場合は、例外処理を行
う。σg (u,v,i)=1ならば、fvu,i)=0であること
から、αu,i∈Lvがわかる。逆に、σg (u,v,i)≠1なら
ば、
【数30】 である。
【0093】〔6〕例外発生時には、ネットワーク端末
1200uはネットワーク端末1200vのコミットメ
ントcomvに含まれる
【数31】 を用いて例外処理を行う。具体的には、次の数32式を
計算する。
【数32】 そして、
【数33】 をTTPサーバ1210へ送る。TTPサーバ1210
は、κ1を復号することにより、
【数34】 を得る。これは、ネットワーク端末1200uの公開鍵
uを用いたElGamal暗号化であり、強秘匿であ
ることからリストLu、Lvの共通部分であるかどうかの
情報はTTPサーバ1210には漏れない。TTPサー
バ1210は、これを~z(u,v,i,j)乗してランダマイズ
した結果をネットワーク端末1200uへ送る。すなわ
ち、
【数35】 である。ネットワーク端末1200uは、これを復号し
て、結果が1になったものが共通部分であると判定する
ことができる。
【0094】次に、以上の本実施の形態で使用される各
アルゴリズムの詳細を説明する。以下の説明において、
TはTTPサーバ1210の公開鍵とする。 ・コミットメント生成アルゴリズムC 入力:ネットワーク端末1200uの持つリストLu。 出力:コミットメントcomu、コミットメント開示値
openu。 処理: (1)リストLuに対し、
【数36】 を生成する。各係数を
【数37】 とする。 (2)l=1,・・・,nに対してbu,lを選び、
【数38】 を計算する。ここで、
【数39】 とする。(3)次の数40式を計算する。
【数40】 また、これらの各値は、次の数41式に示す処理により
計算される。
【数41】 (4)コミットメント開示値openuを出力する。
【数42】 (5)コミットメントcomuを出力する。
【数43】
【0095】・コミットメント検証アルゴリズムV 入力:ネットワーク端末1200vのコミットメントc
omv。 出力:検証結果{0,1}。 処理:
【数44】 に含まれる証明
【数45】 を検証し、コミットメントcomvの全てを受理する場
合に1を出力し、それ以外は0を出力する。
【0096】・マッチングアルゴリズムM 入力:ネットワーク端末1200uのコミットメント開
示値openu、ネットワーク端末1200vの正当な
コミットメントcomv。 出力:応答メッセージansu,v。 処理: (1)コミットメント開示値openuに含まれる
【数46】 を用いて、次の数47式に示す(a)〜(d)の処理を
i=1,・・・,nに対して計算する。
【数47】 (2)応答メッセージansu,vを出力する。
【数48】
【0097】・結果出力アルゴリズムD 入力:ネットワーク端末1200vからネットワーク端
末1200uへの応答メッセージansv,u、ネットワ
ーク端末1200vの正当なコミットメントcomv
ネットワーク端末1200uのリストLu、秘密鍵Ku
コミットメント開示値openu。 出力: リストLvとリストLuとの共通部分~Lv,u(=
v∩Lu)もしくはエラーメッセージ。 処理:入力として、
【数49】 を用いる。そして、i=1,・・・,nに対して以下の
処理を行う。 (1)証明
【数50】 を検証するため、次の数51式を計算する。
【数51】 (2)次の数52式が成り立たなければ、エラーメッセ
ージを出力して終了する。
【数52】 (3)σg (u,v,i)を満たすならば、αu,iを出力して終
了する。
【0098】・例外処理要求生成アルゴリズムP 入力:ネットワーク端末1200vの正当なコミットメ
ントcomv、ネットワーク端末1200uのリスト
u。 出力:例外処理要求メッセージereqv,u。 処理: (1)コミットメントcomvに含まれるψt (u,i)及び
リストLuを用い、i=1,・・・,nに対して、次の
数53式を計算する。
【数53】 (2)例外処理要求メッセージereqv,uを出力す
る。
【数54】
【0099】・例外処理アルゴリズムT 入力:例外処理要求メッセージereqv,u、TTPサ
ーバ1210の秘密鍵KT。 出力:例外処理応答メッセージeansv,uまたはエラ
ーメッセージ。 処理:後述する所定の手続きに従い、ネットワーク端末
1210u、1210v間での情報交換に障害(例外)が
発生していることを確認する。確認できない場合はエラ
ーメッセージを出力し、ネットワーク端末1210u
返送して処理を終了する。一方、確認できたならば、秘
密鍵KTを用いた復号関数DyTを用い、i,j=1,・・
・,nに対して以下の処理を行う。 (1)次の数55式を計算する
【数55】 (2)例外処理応答メッセージeansv,uを出力す
る。
【数56】
【0100】・例外処理結果生成アルゴリズムW 入力:例外処理応答メッセージeansv,u、ネットワ
ーク端末1200uの秘密鍵Ku。 出力: リストLvとリストLuとの共通部分~Lv,u(=
v∩Lu)。 処理:i,j=1,・・・,nに対して以下の処理を行
う。 (1)次の数57式により、σt (u,v,i,j)を計算する。
【数57】 (2)σt (u,v,i,j)=1ならば、αu,iを出力する。
【0101】次に、TTPサーバ1210が、確かにネ
ットワーク端末1210u、1210v間での情報交換に
障害(例外)が発生していることを確認するための検証
方法について説明する。TTPサーバ1210は、例外
処理アルゴリズムTを実行する上で、ネットワーク端末
1210u、1210v間での情報交換に障害(例外)が
発生していることを確認しなければならない。マッチン
グ結果出力部1204がエラーメッセージを出力する場
合には、それを示す証明を併せて検証することで、TT
Pサーバ1210は例外の発生を確認できる。また、例
えばネットワーク端末1200uとネットワーク端末1
200vとのリストの共通部分の計算において、ネット
ワーク端末1200uがネットワーク端末1200vに
対して応答メッセージを送信したにも関わらず、ネット
ワーク端末1200vがネットワーク端末1200uに
対して応答メッセージを送らないことによる例外発生も
考えられる。この場合には、エラーメッセージの出力が
なくても例外の解決が必要になる。しかしながら、TT
Pサーバ1210にとって、次の2つのケースを区別す
ることは非常に困難である。 ・ネットワーク端末1200vが本当に応答メッセージ
をネットワーク端末1200uに対して送っていない。 ・ネットワーク端末1200uが、実際はネットワーク
端末1200vとのやり取りを行っていないにもかかわ
らず、例外発生を主張し、不正にネットワーク端末12
00vの持つリストとの共通部分を知ろうとしている。
【0102】これらのケースの判定は、一般的には、期
限付き取引証明書を暗号的・非暗号的手段を組み合わせ
て用いることにより実現できる。ここでいう「期限」と
は、(1)「期限」以前ならば、いずれかから取引中止
証明書が提出されている状況下において、TTPサーバ
1210は例外要求を受け付けない、(2)「期限」以
後ならば、いずれかから取引証明書が提出されれば、T
TPサーバ1210は例外要求を受理し問題解決を行
う、というポリシー制約を付することを意味する。図1
6は、この期限付き取引証明書を用いた例外発生の検証
方法を説明する図である。図16を参照すると、この検
証方法の処理は次の手順で行われる。なお、図中の番号
は、下記の手順の番号に対応している。 1.ネットワーク端末1200uが、ネットワーク端末
1200vのコミットメントcomvの正当性を確認す
る。 2.ネットワーク端末1200uが、ネットワーク端末
1200vに対して、期限付き取引証明書Cert
u,v(period)を送る。 3.ネットワーク端末1200vが、次のいずれかの場
合に、取引中止証明書Stopv,uをTTPサーバ12
10へ送付する。 ・期限付き取引証明書Certu,v(period)が不正な場
合 ・期限内に期限付き取引証明書Certv,u(period)を
送れない場合 ・ネットワーク端末1200vのコミットメントcom
vの正当性が確認されない場合 4.ネットワーク端末1200vが、ネットワーク端末
1200uに対して、期限付き取引証明書Cert
v,u(period)を送る。 5.ネットワーク端末1200uが、Certv,u(peri
od)が不正な場合や、期限内にCertv,u(period)を受
け取れない場合には、取引中止証明書取引中止証明書S
topu,vをTTPサーバ1210へ送付する。 6.ネットワーク端末1200uが、期限後に応答an
u,vをネットワーク端末1200vに送る。 7.ネットワーク端末1200vが、期限後に応答an
v,uをネットワーク端末1200uに送る。 8.ネットワーク端末1200uがansv,uを受け取
れない場合、ネットワーク端末1200uは、Cert
v,u(period)を送信してTTPサーバ1210に例外解
決を依頼する。 9.ネットワーク端末1200vがansu,vを受け取
れない場合、ネットワーク端末1200vはCert
u,v(period) を送信してTTPサーバ1210に例外解
決を依頼する。
【0103】以上のようにして、TTPサーバ1210
は、ネットワーク端末1210u、1210vからの例外
処理要求に対し、確かにネットワーク端末1210u
1210v間での情報交換に障害(例外)が発生してい
ることを確認した上で、例外処理実行部1211による
例外処理を実行することができる。
【0104】ところで、本実施の形態において、TTP
サーバ1210に対する信頼の仮定は最低限であり、各
ネットワーク端末1200のコミットメントにアクセス
を許さなければ、例外処理時を含め、TTPサーバ12
10がリストに関する情報を得ることはできない。だ
が、TTPサーバ1210が単独のネットワーク端末1
200で運用された場合、前述の例外発生の判定におい
て不正な判定を下したり、コミットメントを不正に入手
したりすることで、各ネットワーク端末1200の持つ
秘密に不正にアクセスする潜在的危険性は残る。そのよ
うな事態に対処するため、上述した第2の実施の形態に
おける秘密分散のようにTTPサーバ1210を複数に
分割し、閾値アクセス構造(閾値以上のTTPサーバ1
210が協力することで初めて例外処理を行うことが可
能な構造)をとることで、TTPサーバ1210に対す
る信頼性を飛躍的に向上することができる。本実施の形
態において、TTPサーバ1210の本質的機能は、
(1)例外発生の確認、(2)ElGamal暗号の秘
密鍵の運用、であり、これらの機能は、公知の従来技術
を用いて容易に閾値アクセス構造で分散できることが知
られている。したがって、本実施の形態におけるTTP
サーバ1210の安全な運用が容易に実現可能である。
【0105】以上のようにして、本実施の形態によるシ
ステムでは、複数のネットワーク端末1210が保持す
るリストの項目のマッチングを行うにあたって、次の要
件を満足する。なお、以下の説明で、Cはコミットメン
ト生成アルゴリズム、Vはコミットメント検証アルゴリ
ズム、Mはマッチングアルゴリズム、Dは結果出力アル
ゴリズム、Pは例外処理要求生成アルゴリズム、Tは例
外処理アルゴリズム、Wは例外処理結果生成アルゴリズ
ムである。 1.コミットメントの秘匿性 公開情報であるコミットメントの値からリストに関する
情報は得られない。すなわち、リストLu、Lv、コミッ
トメントcomu、comvに関して、Lu≠Lv、com
u←C(Lu)、comv←C(Lv)である場合、com
u、comvのいずれかを与えられて、LuとLvのいずれ
に対応するかを1/2よりもよい確率で判定することは
できない。 2.コミットメントの検証可能性 コミットメントcomuがコミットメント生成アルゴリ
ズムCにより生成されていること、及びコミットメント
comuを入力として例外処理を行うことで、共通部分
を得ることが可能であることを検証できる。 3.応答メッセージの秘匿性 ネットワーク端末1200uは、V(comu)=1、
openv←C(Lv)及びansv,u=M(openv
comu)のとき、リストLvに関して、共通部分が~L
v,uであること以外の情報は、応答メッセージansv,u
からは一切得ることができない。 4.応答メッセージの検証可能性 応答メッセージから得られる共通部分が、相手のコミッ
トメントに対応するリストとの共通部分であることを検
証できる。すなわち、V(comv)=1、openu
C(Lu)のとき、応答メッセージansv,uに対して、
resu,v=D(ansv,u,comv,Lu,Ku,op
enu)は、エラーメッセージでなければ、リストLu
vの共通部分~Lv,uである。 5.調停機関による例外処理 V(comv)=1を満たすコミットメントcomvに対
し、ereqv,u=P(comv,Lu)、eansv,u
T(ereqv,u,KT)、eresv,u=W(eans
v,u,Ku)とすると、eresv,uは、リストLu、Lv
の共通部分~Lv, uとなる。TTPサーバ1210の秘密
鍵KTを入力とするのは、例外処理アルゴリズムTのみ
である(すなわち、TTPサーバ1210は例外処理の
み参加し、通常プロセスでは登場しない)。 6.効率性 ネットワーク端末1200uからネットワーク端末12
00vへの通信回数はコミットメントフェーズで1回、
通常プロセスで1回である。また、TTPサーバ121
0は例外処理プロセスのみ参加し、通常プロセスでは登
場しない。
【0106】〔適用例〕次に、上述したネットワークシ
ステムを用いて具体的なサービスを提供する場合の適用
例について説明する。 (1)マッチメーキングサービス インターネット上で自分と同じ興味を持つ相手を探そう
とする場合、従来は、ウェブページなどで自分の興味に
ついての情報を公開して不特定人からの返答を待つ方法
や、当該情報を仲介サーバに渡して仲介をしてもらう方
法が一般的であった。しかし、前者の方法では、自分の
プライバシーに関する情報を公開しなければならなかっ
た。また後者の方法では、プライバシーの保護を仲介サ
ーバに任せなければならず、当該仲介サーバのセキュリ
ティが破られた場合、参加者の情報が流出する危険があ
った。
【0107】これに対して、上記第1の実施の形態によ
るネットワークシステムをそのまま利用することによっ
て、安全性の高いマッチメーキングサービスを実現する
ことができる。すなわち、図4に示したマッチメーキン
グサーバ400を上記の仲介サーバとして用いれば、当
該仲介サーバは個々の参加者の情報を知ることなく、各
参加者の情報(リスト)における共通項目だけを計算す
ることができる。また、仲介サーバは、共通項目をリス
トアップするのではなく、共通項目数だけを教えるとい
うようなサービスを行うこともできる。また、第2の実
施の形態によるネットワークシステムをそのまま利用す
ることによって、仲介サーバを設けることなく、参加者
だけが互いのリストの共通項目だけを知ることができる
安全性の高いシステムを実現することができる。さら
に、第3の実施の形態によるネットワークシステムを利
用すれば、通常プロセスでは各参加者の間で情報交換を
行うだけで、当該参加者の情報(リスト)の共通項目だ
けを知ることができ、安全かつ効率的な実用性の高いシ
ステムを実現することができる。
【0108】図17は、このネットワークシステムによ
るマッチメーキングサービスを模式的に示した図であ
る。同図を参照すると、「クラシック音楽」、「ドライ
ブ」、「スキー」、「テニス」を興味の対象としてリス
トアップしている参加者Aのリストと、「クラシック音
楽」、「ダイビング」、「花」、「お茶」、「テニス」
を興味の対象としてリストアップしている参加者Bのリ
ストとがマッチメークされ、「クラシック音楽」と「テ
ニス」とが共通項目として取得されている。したがっ
て、参加者A、Bは、この共通項目については互いに興
味を持っていることがわかる。さらに、このようなネッ
トワークシステムをBluetoothなどの無線放送機能を持
つ携帯電話のアプリケーションにて実装すれば、予め自
分の趣味などを携帯電話に登録しておくことによって、
同じような趣味を持つ(同じ項目をリストアップしてい
る)人どうしが一定の距離に近づいたときに、お互いの
持つ携帯電話が交信を開始する、というようなサービス
が可能になる。
【0109】さらにまた、上記のマッチメーキングサー
ビスの変形として、探したい相手の情報を指定してリス
トマッチングを行う場合がある。この場合、各参加者
は、自分の情報に関するリスト(以下、自分リスト)
と、探したい相手の情報に関するリスト(以下、相手リ
スト)という2種類のリストを用意して、自分の持つ相
手リストと他者の持つ自分リストとでリストマッチング
を行う。同様に、他者の持つ相手リストと自分の持つ自
分リストとでリストマッチングを行う。この種の仲介サ
ービスを行う場合、例えば、参加者A、Bが、自分のプ
ロファイルと、探したい相手のプロファイルの2種類の
リストを用意し、(Aの自分プロファイル)×(Bの相
手プロファイル)と、(Aの相手プロファイル)×(B
の自分プロファイル)というように2回のリスト共通部
分計算をすることによって、参加者自身のプロファイル
と各参加者が求める相手のプロファイルとにおける一致
の度合いを計算し、当該参加者A、Bの相性に関する情
報として提供するサービスを行うこともできる。あるい
は、参加者Aは、自分のプロファイル項目はそのまま根
とし、相手のプロファイル項目には−1を掛けた負の根
として1つのリストで表現し、参加者Bは、自分のプロ
ファイル項目に−1をかけた負の根とし、相手のプロフ
ァイル項目はそのまま根とする操作を介入することによ
り、自分リストと相手リストとを1つのリストで表現す
ることが可能となる。このリストを用いれば、1回のリ
スト共通部分計算で、上述した参加者A、Bの相性に関
する情報を計算できる。
【0110】(2)リスト照会 銀行やクレジット会社などの金融機関は、顧客に対して
融資を行うことにより利益を得ているため、顧客の信頼
情報は極めて重要な経営情報である。とりわけ、支払延
滞者のリストは、融資のリスクを計る上で重要である。
一方、多くの顧客は複数の金融機関から多重に融資を受
けている。そこで、与信審査等のために複数の金融機関
で支払を滞らせている顧客のリスト(いわゆるブラック
リスト)を比較したい場合がある。つまり、支払延滞の
事実を金融機関同士で共有することで、顧客に対するよ
り正確な与信情報を形成することが可能となる。しか
し、支払延滞者のリストは各金融機関の重要な企業秘密
である。したがって、当該顧客のプライバシー及び当該
金融機関の信用の観点から、延滞者のリスト自体は公開
することなく、複数の金融機関で共通に延滞者として登
録されている借り手のみを調査する必要がある。このよ
うな場合、上記第1、第2、第3の実施の形態によるネ
ットワークシステムを利用してリストの照会を行うこと
により、リストの共通部分(調査対象である複数の金融
機関のリストに共通して挙げられている顧客)の情報だ
けを抽出して、各金融機関の間で公平に交換させること
が可能となる。
【0111】(3)人材データバンクのデータ統合 人材データバンクは人の技術情報・希望職種などの情報
(リスト)を企業秘密として保持しており、一方、採用
側の企業は欲しい人材の技術情報・希望職種などをリス
トとして保持している。そこで、双方のリストの共通部
分を抽出することにより、効果的な人材の提供、確保が
実現される。しかし、各企業が獲得を希望している人材
の情報は重要な企業戦略に関する情報を含んでいるた
め、各リストに関して共通部分以外の情報が相手方に知
られることは好ましくない。このような場合、上記第
1、第2、第3の実施の形態によるネットワークシステ
ムを利用してリストの照会を行うことにより、人材デー
タ自体は秘匿したままで、需要側・供給側で共有する部
分(情報)を抽出することが可能になる。
【0112】(4)電子商取引市場における商品価格の
マッチングデータベース 電子商取引市場においては、売り手と買い手との間の需
給均衡をとることによって価格が形成される。この場
合、売り手と買い手の双方が商品番号と希望価格をリス
トとしてもち、共通な部分を抽出することで、当該売り
手と買い手との希望を満足する価格を形成することがで
きる。一方、売り手にとって、商品をいくらで販売(購
入)する意思を持っているかは重要な秘密情報である。
したがって、希望価格のリストにおいて、売り手の希望
価格と買い手の希望価格とが一致する部分の情報のみが
抽出されることが好ましい。このような場合、上記第
1、第2、第3の実施の形態によるネットワークシステ
ムを利用してリストの照会を行うことにより、売り手及
び買い手は共に、自分が希望する商品および価格を秘匿
したまま、どの商品価格が成立するかを調査することが
できる。
【0113】
【発明の効果】以上説明したように、本発明によれば、
情報交換における安全性を確保すると共に、実行効率が
良く実用性の高いリストマッチングを実現することがで
きる。また、本発明は、分散秘密計算を併用することに
より、ピア・ツー・ピアでリストマッチングを行う場合
においても、安全性の高い手法を提供することができ
る。
【図面の簡単な説明】
【図1】 本実施の形態にて用いられる特徴関数である
リストの要素項目を根とする多項式の例を示す図であ
る。
【図2】 リストから特徴関数の多項式を構成する手順
を説明するフローチャートである。
【図3】 多項式を復号してリストの共通項目を取得す
る手順を説明するフローチャートである。
【図4】 第1の実施の形態におけるネットワーク上の
TTPサーバでリストマッチングを行うシステムの全体
構成を示す図である。
【図5】 図4に示したマッチメーキングサーバ及びク
ライアント端末の好適なシステム構成を示す図である。
【図6】 第2の実施の形態におけるピア・ツー・ピア
でリストマッチングを行うシステムの全体構成を示す図
であり、サーバに秘密分散による計算を依頼する様子を
説明する図である。
【図7】 第2の実施の形態におけるピア・ツー・ピア
でリストマッチングを行うシステムの全体構成を示す図
であり、サーバによる計算結果に基づいてマッチングを
行う様子を説明する図である。
【図8】 図6に示したネットワーク端末及びサーバの
好適なシステム構成を示す図である。
【図9】 多項式Qi(x,y)=FXi(x)+FYi(y)を
示す図である。
【図10】 2変数多項式Qi(x,y)の生成方法を説
明するフローチャートである。
【図11】 k−1次多項式FXi(x)の生成方法を説明
するフローチャートである。
【図12】 第3の実施形態におけるリストマッチング
を行うシステムの全体構成を示す図である。
【図13】 第3の実施の形態におけるネットワーク端
末及びTTPサーバの機能構成を示す図である。
【図14】 ネットワーク端末及びTTPサーバで実行
されるアルゴリズム及び情報の流れを示す図である。
【図15】 本実施の形態におけるリストマッチングの
プロトコルを説明する図である。
【図16】 期限付き取引証明書を用いた例外発生の検
証方法を説明する図である。
【図17】 本発明を用いたマッチメーキングサービス
を模式的に示した図である。
【図18】 本発明のシステムを構成するサーバ及び情
報端末を実現するのに好適なコンピュータのハードウェ
ア構成の例を模式的に示した図である。
【符号の説明】
101…CPU(Central Processing Unit:中央処理
装置)、103…メインメモリ、105…ハードディス
ク、106…ネットワークインターフェイス、400…
マッチメーキングサーバ、411、412〜41m…ク
ライアント端末、501、511…アプリケーションソ
フトウェア、502、512…ネットワークプロトコ
ル、503、513…ネットワークインターフェイス、
611〜61m…ネットワーク端末、621〜62k…
サーバ、801、811…アプリケーションソフトウェ
ア、802、812…ネットワークプロトコル、80
3、813…ネットワークインターフェイス、1200
…ネットワーク端末、1201…コミットメント生成
部、1202…コミットメント検証部、1203…マッ
チング部、1204…マッチング結果出力部、1205
…例外処理要求部、1206…例外処理結果出力部、1
210…TTPサーバ、1211…例外処理実行部
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 17/60 314 G06F 17/60 414 414 416 416 420 420 H04L 9/00 621Z (72)発明者 沼尾 雅之 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 渡邊 裕治 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 Fターム(参考) 5B075 KK02 KK07 KK33 KK39 NK02 NR02 NR05 PQ05 QM01 UU06 5J104 AA01 AA02 AA16 EA04 EA13 JA21 KA05 KA07 KA08 LA01 LA03 NA02 NA12 PA07

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータを用いて複数のリストにお
    ける共通項目を抽出するリストマッチング方法におい
    て、 リストを格納したメモリから処理対象であるリストを読
    み出し、 読み出された前記リストごとに当該リストの要素項目を
    根とする多項式を生成し、 生成された前記多項式を加算し、 前記多項式の加算によって得られた多項式の根を要素項
    目とするリストを生成して出力することを特徴とするリ
    ストマッチング方法。
  2. 【請求項2】 前記リストの要素項目に対応する値に、
    所定の1方向ハッシュ関数による演算結果を付加した値
    を根とする多項式を生成し、 前記多項式の加算によって得られた多項式の根のうち、
    前記1方向ハッシュ関数による演算結果が保持されてい
    る根における当該演算結果を除いた値を要素項目とする
    リストを生成することを特徴とする請求項1に記載のリ
    ストマッチング方法。
  3. 【請求項3】 ネットワークを構成する複数台の情報端
    末が保持する複数のリストにおける共通項目を抽出する
    リストマッチング方法において、 リストを保持する各情報端末が、当該リストの要素項目
    を根とする多項式を生成し、 前記各情報端末が、適宜設定された順番で、先の情報端
    末から受け取った多項式に対して生成した多項式を加算
    し、加算結果の多項式を後の情報端末に渡し、 前記順番の最後の情報端末が、受信した多項式の根を要
    素項目とするリストを生成することを特徴とするリスト
    マッチング方法。
  4. 【請求項4】 前記最後の情報端末が、生成したリスト
    または当該リストの項目に関する情報を他の情報端末に
    通知することを特徴とする請求項3に記載のリストマッ
    チング方法。
  5. 【請求項5】 ネットワークを構成する複数台の情報端
    末が保持する複数のリストにおける共通項目を抽出する
    リストマッチング方法において、 リストを保持する各情報端末が、当該リストの要素項目
    を根とする多項式を生成し、 前記情報端末間で共通して使用することを取り決められ
    た前記ネットワーク上の複数のサーバを用いた分散秘密
    計算により、各情報端末にて生成された前記多項式を加
    算し、 前記情報端末が、前記サーバによる加算結果に基づいて
    各情報端末にて生成された多項式の加算結果である多項
    式を復元すると共に、復元された当該多項式の根を要素
    項目とするリストを生成することを特徴とするリストマ
    ッチング方法。
  6. 【請求項6】 ネットワークを介して接続された複数台
    の情報端末が保持する複数のリストにおける共通項目を
    抽出するリストマッチング方法において、 リストを保持する各情報端末が、当該リストの要素項目
    を根とする第1の多項式と前記ネットワーク上の所定の
    サーバの数に対応した次数の第2の多項式とに基づいて
    2変数多項式を生成し、当該2変数多項式を当該第2の
    多項式に基づいて各サーバに分散し、 前記サーバが、前記各情報端末から送られた前記2変数
    多項式を分散した多項式を加算し、加算結果を前記情報
    端末に返送し、 前記情報端末が、前記サーバによる加算結果に基づいて
    各情報端末に保持されたリストを表現する多項式の加算
    結果である多項式を復元すると共に、復元された当該多
    項式の根を要素項目とするリストを生成することを特徴
    とするリストマッチング方法。
  7. 【請求項7】 ネットワークを構成する複数台の情報端
    末が保持する複数のリストにおける共通項目を抽出する
    リストマッチング方法において、 所定の情報端末が、他の端末装置が保持するリストの要
    素項目を根とする多項式に基づいて生成された公開情報
    を取得し、 前記他の情報端末から取得した前記公開情報を検証し、 前記検証を通過した前記他の情報端末の公開情報と自装
    置が保持するリストの要素項目を根とする多項式とに基
    づいて、当該公開情報の生成に用いられたリストと自装
    置が保持するリストとの共通項目を求めることを特徴と
    するリストマッチング方法。
  8. 【請求項8】 前記他の情報端末から取得した前記公開
    情報が前記検証を通過した場合にのみ、自装置が保持す
    る前記リストから生成された多項式と当該公開情報とに
    基づいて所定の情報を生成して前記他の情報端末との間
    で交換し、 交換された前記所定の情報に基づいて、前記公開情報の
    生成に用いられたリストと自装置が保持するリストとの
    共通項目を求めることを特徴とする請求項7に記載のリ
    ストマッチング方法。
  9. 【請求項9】 ネットワークを介して接続された、サー
    バと、複数台のクライアント端末とを備え、 前記クライアント端末は、 前記ネットワークを介して他のクライアント端末から受
    信した多項式に対し、リストマッチングの対象であるリ
    ストを表現する多項式を加算し、加算結果の多項式を他
    のクライアント端末または前記サーバに送信し、 前記サーバは、 複数台の前記クライアント端末にて生成された多項式全
    ての加算結果である多項式を受信し、当該多項式の根を
    要素項目とするリストを生成することを特徴とするネッ
    トワークシステム。
  10. 【請求項10】 所定の前記クライアント端末は、 リストマッチングの対象であるリストを表現する第1の
    多項式と、任意の項目を根とする第2の多項式とを生成
    し、当該第2の多項式を前記サーバに送信すると共に、
    第1、第2の多項式を加算して得られる多項式を他のク
    ライアント端末に送信し、 前記サーバは、複数台の前記クライアント端末にて生成
    された多項式全ての加算結果である多項式から前記第2
    の多項式を減算し、減算結果である多項式の根を要素項
    目とするリストを生成することを特徴とする請求項9に
    記載のネットワークシステム。
  11. 【請求項11】 ネットワークを介して接続された、複
    数台の情報端末と、複数台のサーバとを備え、 前記サーバは、 各情報端末から送信されたデータの分散秘密計算をそれ
    ぞれ行い、計算結果を前記情報端末に返送し、 前記情報端末は、 リストマッチングの対象であるリストを表現する多項式
    を前記サーバに分散して送信し、 前記サーバから前記多項式に対する分散秘密計算の計算
    結果を受信し、当該計算結果に基づいて各情報端末にて
    生成された多項式の加算結果である多項式を復元すると
    共に、復元された当該多項式の根を要素項目とするリス
    トを生成することを特徴とするネットワークシステム。
  12. 【請求項12】 前記情報端末は、前記情報端末の数を
    m、前記リストの要素項目の数をnとした場合に、n+
    1次の多項式FYi(y)を、FYi(li,h)=0、h=
    1,...,nとなるように生成し、定数項が0の任意
    のk−1次多項式FXi(x)を生成し、2変数多項式Q
    i(x,y)=FXi(x)+FYi(y)を生成して、k
    個の前記サーバに対してQi(j,y)、j=
    1,...,kを送信し、 前記サーバは、m個の前記情報端末から受信した多項式
    Qi(j,y)を全て加算し、加算結果を前記情報端末
    に返送することを特徴とする請求項11に記載のネット
    ワークシステム。
  13. 【請求項13】 ネットワークを介して情報を交換する
    複数台の情報端末を備え、 自装置が保持するリストの要素項目を根とする多項式を
    生成し、当該多項式に基づいて第1の情報を生成して公
    開すると共に、当該多項式に基づいて第2の情報を生成
    する第1の情報端末と、 前記第1の情報端末における前記第1の情報を取得して
    検証すると共に、当該検証を通過した場合に当該第1の
    情報端末から前記第2の情報を取得し、当該第1、第2
    の情報と自装置が保持するリストから生成された前記多
    項式とに基づいて、当該公開情報の生成に用いられたリ
    ストと自装置が保持するリストとの共通項目を求める第
    2の情報端末とを備えることを特徴とするネットワーク
    システム。
  14. 【請求項14】 前記第2の情報端末は、自装置が保持
    するリストの要素項目を根とする多項式を生成し、当該
    多項式に基づいて第1の情報を生成して公開し、 前記第1の情報端末は、公開されている前記第2の情報
    端末における前記第1の情報を用いて前記第2の情報を
    生成することを特徴とする請求項13に記載のネットワ
    ークシステム。
  15. 【請求項15】 前記第1の情報端末における前記第1
    の情報と前記第2の情報端末が保持するリストとに基づ
    いて生成された暗号化データを取得し、前記第1、第2
    の情報端末がそれぞれ保持するリストの内容が秘匿され
    たままで当該リストの共通項目を求めるサーバをさらに
    備え、 前記第2の情報端末は、前記第2の情報が取得できない
    場合または取得した前記第2の情報に基づいて前記リス
    トの共通項目を求めることができない場合に、前記暗号
    化データを生成して前記サーバに送信し、当該サーバか
    らの応答データを復号して前記リストの共通項目を得る
    ことを特徴とする請求項13に記載のネットワークシス
    テム。
  16. 【請求項16】 ネットワークを介して接続された複数
    台の情報端末が保持する複数のリストにおける共通項目
    を抽出するサーバにおいて、 前記ネットワークを介して、前記複数台の情報端末に保
    持されている各リストを表現する複数の多項式の加算結
    果である多項式を前記情報端末から取得する通信手段
    と、 前記加算結果である多項式の根を要素項目とするリスト
    を生成する処理手段とを備えることを特徴とするサー
    バ。
  17. 【請求項17】 ネットワークを介して接続された情報
    端末において、 前記ネットワークを介して他の情報端末とデータ交換を
    行うための通信手段と、所定のリストを格納した記憶手
    段と、 前記記憶手段に格納されているリストの要素項目を根と
    する多項式を生成すると共に、当該多項式に対する処理
    を行う処理手段と、 前記多項式を含む複数の多項式の加算結果である多項式
    の根を要素項目とするリストに関する情報を出力する出
    力手段とを備えることを特徴とする情報端末。
  18. 【請求項18】 ネットワークを介して接続された情報
    端末において、 所定のリストを格納した記憶手段と、 前記記憶手段に格納されているリストの要素項目を根と
    する第1の多項式と前記ネットワーク上の所定のサーバ
    の数に対応した次数の第2の多項式とに基づいて2変数
    多項式を生成する処理手段と、 前記ネットワーク上の所定のサーバに、前記2変数多項
    式を当該第2の多項式に基づいて分散して送信すると共
    に、当該サーバから分散した多項式の加算結果を受信す
    る通信手段と、 前記通信手段により受信した前記加算結果から復元され
    る多項式の根を要素項目とするリストに関する情報を出
    力する出力手段とを備えることを特徴とする情報端末。
  19. 【請求項19】 ネットワークに接続された情報端末に
    おいて、 所定のリストを格納した記憶部と、 前記ネットワークを介して他の情報端末が保持するリス
    トに基づく公開情報を取得して検証する検証部と、 前記検証部による検証を通過した前記公開情報と前記記
    憶部に格納されているリストの要素項目を根とする多項
    式とに基づいて、当該公開情報の生成に用いられたリス
    トと前記記憶部に格納されているリストとの共通項目を
    求めるマッチング結果出力部とを備えることを特徴とす
    る情報端末。
  20. 【請求項20】 前記多項式に基づいて公開情報を生成
    する公開情報生成部をさらに備え、 前記マッチング結果出力部は、前記他の情報端末の公開
    情報が前記検証部による検証を通過した場合に、前記公
    開情報生成部にて生成された自装置の公開情報及び当該
    他の情報端末が保持するリストに基づいて生成された所
    定の情報を当該他の情報端末から取得し、当該所定の情
    報に基づいて前記リストの共通項目を求めることを特徴
    とする請求項19に記載の情報端末。
  21. 【請求項21】 前記所定の情報が取得できない場合ま
    たは取得した前記所定の情報に基づいて前記リストの共
    通項目を求めることができない場合に、前記他の情報端
    末の公開情報と前記記憶部に格納されているリストとに
    基づいて暗号化データを生成し、当該暗号化データに基
    づく例外処理要求を所定のサーバに送信する例外処理要
    求部と、 前記サーバから返送された処理結果を復号して前記リス
    トの共通項目を得る例外処理結果出力部とをさらに備え
    ることを特徴とする請求項20に記載の情報端末。
  22. 【請求項22】 コンピュータを制御して、データ処理
    を行うプログラムであって、 メモリから所定のリストを読み出し、当該リストを表現
    する第1の多項式と前記ネットワーク上の所定のサーバ
    の数に対応した次数の第2の多項式とに基づいて2変数
    多項式を生成する処理と、 ネットワークインターフェイスを介して、ネットワーク
    上の所定のサーバに、前記2変数多項式を当該第2の多
    項式に基づいて分散して送信する処理と、 前記ネットワークインターフェイスを介して前記サーバ
    から受信した分散秘密計算の結果から多項式を復元し、
    当該多項式の根を要素項目とするリストを生成する処理
    とを前記コンピュータに実行させることを特徴とするプ
    ログラム。
  23. 【請求項23】 ネットワークに接続されたコンピュー
    タを制御して、データ処理を行うプログラムであって、 前記ネットワークを介して他の情報端末が保持するリス
    トに基づく公開情報を取得する通信手段と、 前記通信手段にて取得された前記公開情報を検証する検
    証手段と、 前記検証部による検証を通過した前記公開情報と所定の
    記憶装置に格納されているリストの要素項目を根とする
    多項式とに基づいて、当該公開情報の生成に用いられた
    リストと前記記憶部に格納されているリストとの共通項
    目を求めるマッチング結果出力手段として前記コンピュ
    ータを機能させることを特徴とするプログラム。
  24. 【請求項24】 コンピュータを制御してデータ処理を
    行うプログラムを、当該コンピュータが読み取り可能に
    記録した記録媒体であって、 前記プログラムは、 メモリから所定のリストを読み出し、当該リストを表現
    する第1の多項式と前記ネットワーク上の所定のサーバ
    の数に対応した次数の第2の多項式とに基づいて2変数
    多項式を生成する処理と、 ネットワークインターフェイスを介して、ネットワーク
    上の所定のサーバに、前記2変数多項式を当該第2の多
    項式に基づいて分散して送信する処理と、 前記ネットワークインターフェイスを介して前記サーバ
    から受信した分散秘密計算の結果から多項式を復元し、
    当該多項式の根を要素項目とするリストを生成する処理
    とを前記コンピュータに実行させることを特徴とする記
    録媒体。
  25. 【請求項25】 ネットワークに接続されたコンピュー
    タを制御してデータ処理を行うプログラムを、当該コン
    ピュータが読み取り可能に記録した記録媒体であって、 前記プログラムは、 前記ネットワークを介して他の情報端末が保持するリス
    トに基づく公開情報を取得する通信手段と、 前記通信手段にて取得された前記公開情報を検証する検
    証手段と、 前記検証部による検証を通過した前記公開情報と所定の
    記憶装置に格納されているリストの要素項目を根とする
    多項式とに基づいて、当該公開情報の生成に用いられた
    リストと前記記憶部に格納されているリストとの共通項
    目を求めるマッチング結果出力手段として前記コンピュ
    ータを機能させることを特徴とする記録媒体。
JP2002191591A 2001-10-03 2002-07-01 リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末 Expired - Fee Related JP3784055B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002191591A JP3784055B2 (ja) 2001-10-03 2002-07-01 リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末
US10/264,823 US7979712B2 (en) 2002-07-01 2002-10-03 Network system, server and information terminal for list matching
US12/535,777 US8117456B2 (en) 2002-07-01 2009-08-05 Network system, server and information terminal for list matching

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-307976 2001-10-03
JP2001307976 2001-10-03
JP2002191591A JP3784055B2 (ja) 2001-10-03 2002-07-01 リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末

Publications (2)

Publication Number Publication Date
JP2003188872A true JP2003188872A (ja) 2003-07-04
JP3784055B2 JP3784055B2 (ja) 2006-06-07

Family

ID=27615239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002191591A Expired - Fee Related JP3784055B2 (ja) 2001-10-03 2002-07-01 リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末

Country Status (1)

Country Link
JP (1) JP3784055B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006108840A (ja) * 2004-10-01 2006-04-20 Nippon Telegr & Teleph Corp <Ntt> 紛失通信路構成方法、この方法を実施する装置、プログラム
JP2012514246A (ja) * 2008-12-31 2012-06-21 ノキア コーポレイション 多項式ベースのデータ変換および利用のための方法、装置、およびコンピュータプログラム製品
JP2013200461A (ja) * 2012-03-26 2013-10-03 Nippon Telegr & Teleph Corp <Ntt> 秘密計算装置および秘密計算方法
JP2014216865A (ja) * 2013-04-25 2014-11-17 キヤノン株式会社 情報処理装置およびその制御方法
JP2015022098A (ja) * 2013-07-18 2015-02-02 日本電信電話株式会社 復号システム、端末装置、署名システム、その方法、及びプログラム
WO2022144966A1 (ja) * 2020-12-28 2022-07-07 富士通株式会社 情報処理システム、制御方法、情報処理装置および制御プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006108840A (ja) * 2004-10-01 2006-04-20 Nippon Telegr & Teleph Corp <Ntt> 紛失通信路構成方法、この方法を実施する装置、プログラム
JP4576191B2 (ja) * 2004-10-01 2010-11-04 日本電信電話株式会社 紛失通信路構成方法、この方法を実施する装置、プログラム
JP2012514246A (ja) * 2008-12-31 2012-06-21 ノキア コーポレイション 多項式ベースのデータ変換および利用のための方法、装置、およびコンピュータプログラム製品
JP2013200461A (ja) * 2012-03-26 2013-10-03 Nippon Telegr & Teleph Corp <Ntt> 秘密計算装置および秘密計算方法
JP2014216865A (ja) * 2013-04-25 2014-11-17 キヤノン株式会社 情報処理装置およびその制御方法
JP2015022098A (ja) * 2013-07-18 2015-02-02 日本電信電話株式会社 復号システム、端末装置、署名システム、その方法、及びプログラム
WO2022144966A1 (ja) * 2020-12-28 2022-07-07 富士通株式会社 情報処理システム、制御方法、情報処理装置および制御プログラム

Also Published As

Publication number Publication date
JP3784055B2 (ja) 2006-06-07

Similar Documents

Publication Publication Date Title
Delgado-Segura et al. A fair protocol for data trading based on bitcoin transactions
US11341487B2 (en) System and method for information protection
JP6841911B2 (ja) 情報保護用のシステム及び方法
JP6908700B2 (ja) 情報保護のためのシステム及び方法
TW201921888A (zh) 產生臨界值保管庫之電腦施行方法
WO2020051710A1 (en) System and process for managing digitized security tokens
JP2022533753A (ja) 知識証明
US8117456B2 (en) Network system, server and information terminal for list matching
CN114039785B (zh) 数据加密、解密、处理方法、装置、设备和存储介质
Skudnov Bitcoin clients
US20230316272A1 (en) Divisible tokens
CN112470423A (zh) 用于资产混合的计算机实现的系统和方法
CN116830523A (zh) 阈值密钥交换
Xue et al. Blockchain-based fair and fine-grained data trading with privacy preservation
JP3784055B2 (ja) リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末
WO2021059098A1 (en) Partitioning a request into transactions for a blockchain
Yu et al. A novel fair and verifiable data trading scheme
Chenli et al. Fair 2 Trade: Digital Trading Platform Ensuring Exchange and Distribution Fairness
AU2019101598A4 (en) System and method for information protection
Chen et al. An E-lottery system with a fair purchasing environment and an arbitration mechanism
Kim et al. Provably-secure public auditing with deduplication.
Yang et al. An improvement in strong designated verifier signatures
Finney Daniel Shadrach et al. Challenges and Opportunities Associated with Homomorphic Encryption for Financial Cryptography
RAJASHREE et al. ZERO-KNOWLEDGE PROOF FOR ONLINE AUCTIONS
Shanthi Block Chain Based Health Care System

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050922

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060313

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100324

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110324

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110324

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120324

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130324

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140324

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees