収集装置と、それぞれに異なる識別子が付与されており、前記収集装置から要求された情報を提供する複数の提供装置と、前記収集装置及び前記複数の提供装置のうちの2つの装置間での情報の送受信を中継する中継装置と、を備えている情報収集システムであって、前記収集装置は、前記複数の提供装置のそれぞれと互いに前記中継装置経由で通信して、前記収集装置及び前記複数の提供装置で共有する暗号鍵を生成する手段と、前記複数の提供装置のそれぞれが提供する情報の統計情報を算出するための第1の関数及び第2の関数を決定して、各提供装置に前記第2の関数を通知する手段を備えており、前記複数の提供装置のそれぞれは、提供する情報から、該提供する情報の復元に使用でき、前記複数の提供装置の識別子にそれぞれ対応する複数の分散情報を生成して、生成した各分散情報を対応する識別子の提供装置に前記暗号鍵で暗号化して前記中継装置経由で送信する手段と、前記生成した分散情報のうちの自装置に割り当てられた識別子に対応する分散情報と、前記複数の提供装置の他の提供装置から受信する自装置に割り当てられた識別子に対応する分散情報とを前記第2の関数の入力として出力値を求め、前記出力値を前記収集装置に前記暗号鍵で暗号化して前記中継装置経由で送信する手段と、を備えており、前記収集装置は、各提供装置から受信する出力値を前記第1の関数の入力として前記統計情報を算出する、ことを特徴とする情報収集システム。前記複数の提供装置のそれぞれは、閾値秘密分散法により分散情報を生成する、ことを特徴とする請求項1に記載のシステム。前記複数の提供装置のそれぞれは、定数項が前記提供する情報に対応する値である所定の次数の多項式に、提供装置の識別子を代入して得られた値を、該提供装置の識別子に対応する分散情報とし、前記多項式の前記定数項以外の部分は、前記収集装置が指定する、ことを特徴とする請求項1又は2に記載のシステム。前記複数の提供装置のそれぞれは、乱数を生成して、生成した乱数を前記収集装置の公開鍵で暗号化して前記中継装置経由で前記収集装置に送信し、前記収集装置は、各提供装置から受信する暗号化された乱数を前記公開鍵に対する秘密鍵で復号し、前記各提供装置から受信する乱数の総てを掛け合わせて第1の数を求め、所定数を第1の数だけ掛け合わせた数の、所定の素数による剰余を前記暗号鍵とする、ことを特徴とする請求項1から3のいずれか1項に記載のシステム。前記収集装置は、前記複数の提供装置の第1の提供装置以外から受信した乱数の総てを掛け合わせて第2の数を求め、前記所定数を前記第2の数だけ掛け合わせた数の、前記所定の素数による剰余を、前記第1の提供装置と前記暗号鍵を共有するために、前記第1の提供装置に前記中継装置経由で送信する、ことを特徴とする請求項4に記載のシステム。それぞれに識別子が付与された複数の通信装置を含む情報収集システムの通信装置であって、前記情報収集システムの収集装置と中継装置経由で通信することで、前記収集装置及び前記複数の通信装置で共有する暗号鍵を生成する手段と、情報を取得する手段と、前記取得した情報から、該取得した情報の復元に使用でき、前記複数の通信装置の識別子にそれぞれ対応する複数の分散情報を生成して、生成した各分散情報を対応する識別子の通信装置に前記暗号鍵で暗号化して前記中継装置経由で送信する手段と、前記生成した分散情報のうちの自装置に割り当てられた識別子に対応する分散情報と、他の通信装置から受信する自装置に割り当てられた識別子に対応する分散情報とを前記収集装置から通知される関数の入力として出力値を求め、前記出力値を前記暗号鍵で暗号化して前記中継装置経由で前記収集装置に送信する手段と、を備えていることを特徴とする通信装置。請求項6に記載の通信装置としてコンピュータを機能させるプログラム。現在、大多数の人々が携帯電話を所持しており、例えば、これら携帯電話を利用して、アンケート等に答えてもらうことで、多くの情報をすばやく収集することができる。具体的には、例えば、年代別に興味がある商品等に関する情報や、インフルエンザ等が流行した場合、地域毎及び年代別の患者数等に関する情報等、情報の収集者が必要とする情報を素早く収集することができる。また、近年の携帯電話には、温度センサ等の各種センサやGPS受信機等が搭載されているので、例えば、温度センサが取得した各地の温度といった、アンケートによらない、携帯電話の機能を利用して携帯電話が取得する情報を収集することもできる。ここで、何らかの情報を収集したいもの以下、収集者と呼ぶ。と、収集者が必要とする情報を提供するもの以下、提供者と呼ぶ。を結びつけ、収集者が効率的に情報を収集することができる情報収集システムを実現することを考える。なお、以下の説明においては、収集者が使用する通信装置を収集装置と呼び、提供者が使用する通信装置を提供装置と呼ぶものとする。なお、収集者は、各提供者が提供する情報そのものではなく、その統計的な情報、例えば、合計、平均、分散等の各提供者が提供する情報から何らかの計算式で求めることができる情報を必要とするものとする。まず、上記情報収集システムを実現するためには、収集装置と提供装置を仲介する仕組みが必要となる。また、個人情報の保護の観点から、ある提供者が提供装置を使用して提供する情報の内容については、他の提供者のみならず収集者にも秘密にできる仕組みを設けることも望ましい。つまり、例えば、収集者がある病気にかかったことがあるか否かの年代別の分布を調べたい場合、収集者が取得できるのは各年代別の当該病気にかかったことがある人の合計値のみであり、個々の提供者が病気にかかったことがあるか否かについては収集者にさえ秘密にできることが望ましい。本発明は、上記仕組みを提供することで、各提供装置が提供する情報を秘密にしたまま、収集装置が、その統計情報を収集できる情報収集システムと、該情報収集システムで使用する通信装置と、該通信装置としてコンピュータを動作させるプログラムを提供するものである。本発明による情報収集システムは、収集装置と、それぞれに異なる識別子が付与されており、前記収集装置から要求された情報を提供する複数の提供装置と、前記収集装置及び前記複数の提供装置のうちの2つの装置間での情報の送受信を中継する中継装置と、を備えている情報収集システムであって、前記収集装置は、前記複数の提供装置のそれぞれと互いに前記中継装置経由で通信して、前記収集装置及び前記複数の提供装置で共有する暗号鍵を生成する手段と、前記複数の提供装置のそれぞれが提供する情報の統計情報を算出するための第1の関数及び第2の関数を決定して、各提供装置に前記第2の関数を通知する手段を備えており、前記複数の提供装置のそれぞれは、提供する情報から、該提供する情報の復元に使用でき、前記複数の提供装置の識別子にそれぞれ対応する複数の分散情報を生成して、生成した各分散情報を対応する識別子の提供装置に前記暗号鍵で暗号化して前記中継装置経由で送信する手段と、前記生成した分散情報のうちの自装置に割り当てられた識別子に対応する分散情報と、前記複数の提供装置の他の提供装置から受信する自装置に割り当てられた識別子に対応する分散情報とを前記第2の関数の入力として出力値を求め、前記出力値を前記収集装置に前記暗号鍵で暗号化して前記中継装置経由で送信する手段と、を備えており、前記収集装置は、各提供装置から受信する出力値を前記第1の関数の入力として前記統計情報を算出する、ことを特徴とする。本発明による通信装置は、それぞれに識別子が付与された複数の通信装置を含む情報収集システムの通信装置であって、前記情報収集システムの収集装置と中継装置経由で通信することで、前記収集装置及び前記複数の通信装置で共有する暗号鍵を生成する手段と、情報を取得する手段と、前記取得した情報から、該取得した情報の復元に使用でき、前記複数の通信装置の識別子にそれぞれ対応する複数の分散情報を生成して、生成した各分散情報を対応する識別子の通信装置に前記暗号鍵で暗号化して前記中継装置経由で送信する手段と、前記生成した分散情報のうちの自装置に割り当てられた識別子に対応する分散情報と、他の通信装置から受信する自装置に割り当てられた識別子に対応する分散情報とを前記収集装置から通知される関数の入力として出力値を求め、前記出力値を前記暗号鍵で暗号化して前記中継装置経由で前記収集装置に送信する手段と、を備えていることを特徴とする。不特定の提供者から、個々の提供者が提供した情報の内容を知ることなく、各提供者が提供した情報の統計情報を取得できる情報収集システムが可能になる。図1は、本実施形態におけるシステムの概略的な構成図である。図1において、収集装置3は、情報の収集者が使用する通信装置であり、提供装置1は、情報の提供者が使用する通信装置である。また、サーバ装置2は、収集装置3と提供装置1とを結びつけるための装置である。収集装置3と提供装置1は、それぞれ、例えば、パーソナルコンピュータや、携帯電話等である。なお、図では、3つの提供装置のみを示しているがこれは例示であり、任意の数の提供装置1を使用することができる。さらに、収集装置3と提供装置1を異なる装置として表示しているが、これらは同じ機能を有する装置であってもよい。つまり、収集装置3も、他の収集者から要求された情報を提供する提供装置1として動作することができ、提供装置1は、他の提供者に情報を要求する収集装置3として動作することができる。収集装置3、サーバ装置2及び提供装置1は、ネットワーク4に接続可能であり、収集装置3はサーバ装置2と通信可能であり、各提供装置1はサーバ装置2と通信可能である。なお、本実施形態においては、互いの身元を秘密にするため、収集装置3と提供装置1や、各提供装置1間での情報の送受信は、必ず、サーバ装置2経由で行う。つまり、サーバ装置2は、収集装置3と各提供装置1のうちの2つの装置間における情報の送受信の中継装置として機能する。サーバ装置2は、収集者と提供者を仲介するものであり、予め収集者及び提供者と、収集者及び提供者が使用する収集装置3及び提供装置1についての情報が、サーバ装置2のデータベースに登録されている。具体的には、例えば、サーバ装置2は、提供者の年齢、性別、提供者が所持している通信装置の属性固定端末又は可搬型端末及び機能等センサ種別等の、収集者が情報の提供を依頼する際に提供者を選択する基準として使用する任意の情報を保持している。これら情報には、例えば、提供者の居住地域や、提供装置1が周期的にサーバ装置2に通知する提供装置1の現在位置等を含めることができる。さらに、提供者の職業や、趣味等の情報を含めることもできる。収集装置3は、何らかの情報を収集したい場合、サーバ装置2に対して、収集したい情報の内容と、提供者の条件を示す依頼メッセージをサーバ装置2に対して送信し、サーバ装置2は、提供者の条件に基づきデータベースに登録されている提供者から、情報提供を依頼する提供者を選択する。そして、サーバ装置2は、選択した提供者の提供装置1に、収集装置3が収集したい情報を示す依頼メッセージを送信する。なお、収集したい情報が、何らかのアンケートに対する回答である場合には、質問事項とその選択肢を示す情報が依頼メッセージには含まれる。また、提供装置1が具備するセンサ等が測定する情報を収集したい場合には、これらセンサ等により必要な情報を測定するプログラムを依頼メッセージに含めることができる。提供装置1は、依頼メッセージを受信すると、情報提供に協力するか否かを提供者に選択させる画面を表示する。提供者が情報提供に応じると、提供装置1は、受諾メッセージをサーバ装置2に送信し、サーバ装置2は、受諾した提供者の合計数等を収集装置3に送信する。収集装置3は、提供者の人数が確定すると、収集装置3と、受諾した提供者の提供装置1との間で使用する暗号鍵Kcを共有するための手順を開始する。なお、以下の説明において、受諾した提供者の提供装置1を単に提供装置1と呼ぶ。つまり、例えば、総ての提供装置1とは、受諾した提供者の提供装置1の総てとの意味である。また、以下では、受諾した提供者の数をNとする。この場合、収集装置3は、各提供装置1に1からNの互いに異なる番号kを割り振る。まず、収集装置3は、公開鍵暗号方式における公開鍵Kpと、素数pと、原始元gを、サーバ装置2経由で提供装置1に送信する。このとき、収集装置3は各提供装置1に割り振った番号も通知する。なお、公開鍵Kpと、素数pと、原始元gについては、収集装置3がネットワーク4上の任意の装置に公開したものを、各提供装置1が当該装置にアクセスして取得する形態とすることもできる。続いて、番号kが割り振られている提供装置1は、0からp-1の範囲において、乱数Xkを生成し、生成した乱数Xkを、収集装置3の公開鍵Kpで暗号化してサーバ装置2経由で収集装置3に送信する。収集装置3は、公開鍵Kpに対する秘密鍵Ksで、各提供装置1から受信する暗号化された乱数Xkを復号する。その後、収集装置3は、暗号鍵Kcを、Kc=gXmodpにより求める。なお、Xは、全提供装置1の乱数X1~乱数XNを掛け合わせた数である。さらに、収集装置3は、番号iiは1からNの自然数の提供装置1に対して、以下の値Ziをサーバ装置2経由で送信する。Zi=gYimodpここで、Yiは、番号iの提供装置1以外の提供装置1から受信した乱数Xkを掛け合わせた数である。番号iの提供装置1は、受信したZiと自身が生成した乱数Xiから暗号鍵Kcを生成する。以上の構成により、情報の中継を行うサーバ装置2には秘密にする暗号鍵Kcを、収集装置3と各提供装置1との間で共有できる。なお、以上の処理は、図2に示す収集装置3の暗号鍵共有部14が実行する。また、上記暗号鍵の共有処理とは別に、収集装置3は、計算処理のための関数F1及び関数F2を決定し、関数F1を保存すると共に、関数F2を各提供装置1に送信する。関数F1及びF2は、収集装置3が収集したい統計情報、つまり、例えば、合計、分散等に応じて公知のSMCに従い決定する。なお、関数F1及びF2については、サーバ装置2に対して秘匿する必要はないので、後述する提供装置1における関数計算処理までに提供装置1に通知すれば良い。暗号鍵Kcの共有後、番号kkは1からNの自然数の提供装置1の情報取得部11は、収集者の依頼に沿った情報を取得する。例えば、収集する情報がアンケートに答えるものであれば、情報取得部11は、アンケートを提供装置1の画面に表示して提供者に情報の入力を促して、情報を取得する。また、例えば、収集する情報が提供装置1が有する情報であり、それら情報を取得するプログラムが依頼メッセージと共に収集装置3から提供されている場合には、情報取得部11は、当該プログラムを実行して情報を取得する。情報取得部11が情報を取得すると、分散実行部12は、取得した情報Ikから、公知の閾値秘密分散法により、Ik1~IkNのN個の情報以下、閾値秘密分散法により生成した情報を分散情報と呼ぶ。を生成する。例えば、番号kの提供装置1は、シャミアの秘密分散法により、閾値tに対してt-1次の多項式、Ax=at-1xt-1a1xaをまず求める。ここで、係数at-1~a1は、閾値tと共に各提供装置に対して収集装置3が個別に指定する値であり、定数項のaは、当該提供装置1の情報取得部11が取得した情報である。この場合、番号kの提供装置1は、Ik1=A1、、IkN=ANと、求めた多項式に提供装置1の番号を代入することで各分散情報を求める。なお、定数項以外の各係数の値に関し、少なくとも各提供装置1が、他の提供装置1で使用している係数を認識できない様に収集装置3は各提供装置1における係数を指定する。つまり、収集装置3は、各提供装置1に個別に係数を指定する。このとき、例えば、収集装置3は、各提供装置に指定する係数の組を異なるものとすることも、提供装置1の一部又は全部に対して同じ係数の組を指定することもできる。その後、番号kの提供装置1は、N個の分散情報のうちのIkkを自身の分散情報格納部13に保存し、他の分散情報Ikik≠iをサーバ装置2経由で番号iの提供装置1に送信する。なお、このとき、分散情報Ikiは先に共有した暗号鍵Kcで暗号化する。同様に、番号kの提供装置1は、他の総ての提供装置1から分散情報Iikk≠iをサーバ装置2経由で取得し、取得した分散情報を分散情報格納部13に保存する。なお、本実施形態においては、サーバ装置2にも各提供装置1の番号が通知されており、各提供装置1は、暗号化された分散情報の宛先を提供装置の番号でサーバ装置2に通知する。図3は、各提供装置1が取得する情報と、取得する情報から生成したN個の分散情報と、それら分散情報が保存される提供装置1の関係を示す図である。図3において、各行は、取得した情報から生成される分散情報を示しており、各列は、各提供装置1に保存される分散情報を示している。例えば、番号1の提供装置1は、情報I1を取得し、閾値秘密分散法により、I11~I1NのN個の分散情報を生成する。一方、番号1の提供装置1は、自身が生成した分散情報I11に加えて、他の提供装置1から受信した分散情報I21~IN1を分散情報格納部13に保存することになる。番号kの提供装置1の関数処理実行部15は、分散情報I1k、I2k、、INkの総てを取得すると、収集装置3から受け取った関数F2により値Rk=F2I1k、I2k、、INkを算出し、算出した値Rkを暗号鍵Kcで暗号化してサーバ装置2経由で収集装置3に送信する。収集装置3は、各提供装置1から取得する値R1~RNと、関数F1により、F1R1、、RNを算出することで、各提供装置1が取得した情報Ikの合計値や、分散値といった統計情報を算出することができる。なお、閾値秘密分散法により情報を分散しているため、閾値をtとすると、収集装置3は、N個の値R1~RNのうち、t個の値を取得すれば、各提供装置1が取得した情報Ikの合計値や、分散値といった情報を算出することができる。例えば、提供者が5人であり、提供者が提供する情報がYes又はNoであり、収集者はYesと答えた人数を知りたいものとする。なお、Yesは値1であり、Noは値0であるものとする。また、各提供装置1における閾値を2とし、分散情報の生成多項式Axの係数については、説明を簡単にするため各提供装置で同じ1とする。つまり、生成多項式をAx=xaとする。なお、aは、情報取得部11が取得した情報に対応する値であり本例においては1又は0である。この場合、各提供装置1は、Noの場合には、番号1の提供装置に値1を、番号2の提供装置に値2を、番号3の提供装置に値3を、番号4の提供装置に値4を、番号5の提供装置に値5を保存することになる。また、Yesの場合には、番号1の提供装置に値2を、番号2の提供装置に値3を、番号3の提供装置に値4を、番号4の提供装置に値5を、番号5の提供装置に値6を保存することになる。この場合、各提供装置1は、関数F2として分散情報の合計値を求める関数を収集装置3から通知される。したがって、Yesの人数と、各提供装置1が出力する値の関係は図4に示す通りとなる。収集装置3は、各提供装置1から受信する値に従い、一次多項式をByを求め、そのB0の値を求めることでYesと答えた人数を取得することができる。つまり、例えば、図4においてYesの人数が二人の場合、受信する値から一次多項式By=5y2となり、B0=2により、Yesの人数が分かることになる。なお、上記例では、各提供装置1が同じ多項式により分散情報を求めていたため、仮に各提供装置1が同じ係数を使用していることを認識すると、各提供装置1は、他の提供装置から分散情報を取得することで、当該他の提供装置が取得した情報内容を知ることができる。つまり、番号1の提供装置1が、番号3の提供装置1から値2を受信すると、番号3の提供装置1での情報はYesであったことが分かる。しかしながら、分散情報の生成多項式を、収集装置3が指定すること等により、提供装置1が他の提供装置1の生成多項式について知識がない状況においては、各提供装置1は、他の提供装置1における情報を知ることができない。しかしながら、例えば、収集装置3が少なくとも2種類の生成多項式の係数の組を提供装置1に対して指定することで、各提供装置1が他の提供装置が取得した情報の内容を知ることをより防ぐことができる。以上、サーバ装置2を使用することにより収集装置と提供装置を結びつけることができる。また、サーバ装置2を経由して収集装置と提供装置間の情報の送受を行うことで、提供者の身元を収集者から秘匿することができる。さらに、各提供装置が取得した情報については、閾値秘密分散法により、取得した情報を復元するための複数の分散情報に変換して、各分散情報を各提供装置に分散させる。ここで、閾値秘密分散法では、閾値以上の分散情報を取得すると元の情報が復元できることになる。本実施形態においては、提供装置間における分散情報の送受もサーバ装置2経由で行い、これにより、提供装置間で結託して他の提供装置の情報を復元することを防いでいる。以上の理由により総ての情報の送受は、サーバ装置2を経由することになるが、サーバ装置2が、各提供装置からの情報を取得すると、各提供装置が取得した情報をサーバ装置2は復元できることになる。このため、予め共有した暗号鍵による暗号通信を行うことで、サーバ装置2に対して各分散情報を秘匿する。以上の構成により、情報の提供者は他人に提供した情報の内容を秘匿しつつ、収集者は必要な情報を収集することが可能になる。なお、上記実施形態において、収集装置3が提供装置1に番号を割り振るとしたが、番号は、最終的に数字に変換できるのであれば任意の文字列等であってもよい。例えば、提供装置1に付与されている識別子等、各提供装置で重複しない値を提供装置1の番号とすることができる。なお、上記、収集装置3、サーバ装置2、提供装置1は、コンピュータを上述したサーバ装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。