(57)【要約】【課題】  他のピアに対して情報が漏れることなく冗長的に蓄積可能であり、ユーザが、必要とする情報を管理するピアに接続不可能な場合においてもその情報の取得を可能とする。【解決手段】  あるピア（ビアＡ（１））が持つ情報を他の複数のピア（ビアＢ（２）、ピアＣ（３））の公開鍵でそれぞれ暗号化して任意のピア（ピアＤ（４））に蓄積し、ユーザ（ユーザ端末５）は、この多重に暗号化された情報を取得して自身の公開鍵で暗号化、もしくは乱数でマスクした後、前記した他の複数のピアに順次復号を依頼してその結果を取得し、自身の秘密鍵で復号、もしくは乱数マスクを除去して、閲覧する。【選択図】      図１
2006244419.tif 000002
【特許請求の範囲】
【請求項１】
ピア・ツー・ピアでデータを相互に交換するピア・ツー・ピア通信ネットワークシステムにおける情報取得方法であって、
あるピアが持つ情報を、他の複数のピアにおける公開鍵でそれぞれ暗号化し、当該暗号化された情報を、前記他のピアを含む任意のピアに蓄積する第１のステップと、
前記任意のピアから前記暗号化されたコンテンツを取得し、自身の公開鍵で暗号化した後、前記他の複数のピアに順次復号化を要求する第２のステップと、
前記復号化された情報を取得し、自身の秘密鍵で復号化して閲覧する第３のステップと、
を有することを特徴とするピア・ツー・ピア通信ネットワークシステムにおける情報取得方法。
【請求項２】
ピア・ツー・ピアでデータを相互に交換するピア・ツー・ピア通信ネットワークシステムにおける情報取得方法であって、
あるピアが持つ情報を、他の複数のピアにおける公開鍵でそれぞれ暗号化し、当該暗号化された情報を、前記他のピアを含む任意のピアに蓄積する第１のステップと、
前記任意のピアから前記暗号化されたコンテンツを取得し、乱数によりマスクした後、前記他の複数のピアに順次復号化を要求する第２のステップと、
前記復号化された情報を取得し、前記マスクを除去して閲覧する第３のステップと、
を有することを特徴とするピア・ツー・ピア通信ネットワークシステムにおける情報取得方法。
【請求項３】
前記第１のステップは、
前記ピア・ツー・ピア通信ネットワークにインデックスサーバが接続されていた場合、当該インデックスサーバに前記暗号化された情報の蓄積先ピアを登録するサブステップを含むことを特徴とする請求項１または２に記載のピア・ツー・ピア通信ネットワークシステムにおける情報取得方法。
【請求項４】
前記第２のステップは、
前記前記ピア・ツー・ピア通信ネットワークにインデックスサーバが接続されていた場合当該インデックスサーバを参照し、前記インデックスサーバが接続されていなかった場合、前記他の複数のピアに問合せ、前記情報の蓄積先ピアを特定するサブステップを含むことを特徴とする請求項１または２に記載のピア・ツー・ピア通信ネットワークシステムにおける情報取得方法。
【請求項５】
前記第２と第３のステップは、
前記他の複数のピアにおいてユーザ認証を行うサブステップを含むことを特徴とする請求項１または２に記載のピア・ツー・ピア通信ネットワークシステムにおける情報取得方法。
【請求項６】
ピア・ツー・ピアでデータを相互に交換するピア・ツー・ピア通信ネットワークシステムであって、
あるピアが持つ情報を、他の複数のピアにおける公開鍵でそれぞれ暗号化し、当該暗号化された情報を、前記他のピアを含む任意のピアに蓄積する暗号化情報生成ピアと、
前記任意のピアから前記暗号化されたコンテンツを取得し、自身の公開鍵で暗号化した後、前記他の複数のピアに順次復号化を要求し、前記復号化された情報を取得し、自身の秘密鍵で復号化して閲覧する暗号化情報閲覧ピアと、
を具備することを特徴とするピア・ツー・ピア通信ネットワークシステム。
【請求項７】
ピア・ツー・ピアでデータを相互に交換するピア・ツー・ピア通信ネットワークシステムであって、
あるピアが持つ情報を、他の複数のピアにおける公開鍵でそれぞれ暗号化し、当該暗号化された情報を、前記他のピアを含む任意のピアに蓄積する暗号化情報生成ピアと、
前記任意のピアから前記暗号化されたコンテンツを取得し、乱数によりマスクした後、前記他の複数のピアに順次復号化を要求し、前記復号化された情報を取得し、前記マスクを除去して閲覧する暗号化情報閲覧ピアと、
を具備することを特徴とするピア・ツー・ピア通信ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピア・ツー・ピア（Ｐ２Ｐ）でデータを相互に交換する、ピア・ツー・ピア通信ネットワークシステムおよび同システムにおける情報取得方法に関する。
【背景技術】
【０００２】
ピア・ツー・ピア（以下、Ｐ２Ｐという）でデータを相互にやり取りを行うＰ２Ｐ通信ネットワークシステムが普及しつつある。このようなシステムでは、各ピアがそれぞれの情報管理を行うが、あるピアが接続不可能になった場合、当該ピアが管理する情報を取得することが不可能になる。
この問題を解決するために、他のピアにも情報を冗長的に蓄積することで、Ｐ２Ｐ通信ネットワークシステムの可用性を向上させる試みも検討されている。しかしながらこのような方式によれば、本来、情報を取得する必要が無い他のピアに対しても当該ピアが管理する情報が漏れてしまうという欠点がある。
【０００３】
一方、秘匿情報を複数ユーザで共有することが可能であり、また、複雑なアクセス制御を用いることなく暗号化した情報の覗き見あるいは改竄を防ぐことのできる情報共有システムが提案されている（例えば、特許文献１参照）。
【特許文献１】特開平１１−１４３３５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記したように、従来、Ｐ２Ｐ通信ネットワークシステムの可用性を向上させるために他のピアにも情報を冗長的に蓄積した場合、情報を取得する必要が無い他のピアに対しても当該ピアが管理する情報が漏れてしまうという欠点があり、これは、Ｐ２Ｐ通信ネットワークシステム全体で同じ暗号化鍵を使用していることに起因する。また、特許文献１に開示された技術は、情報のバックアップを他のピアに保存するアプリケーションには対応していない。
【０００５】
本発明は上記事情に鑑みてなされたものであり、他のピアに対して情報が漏れることなく冗長的に蓄積可能であり、ユーザが、必要とする情報を管理するピアに接続不可能な場合においてもその情報を取得することのできる、ピア・ツー・ピア通信ネットワークシステムおよび同システムにおける情報取得方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記した課題を解決するために本発明は、ピア・ツー・ピアでデータを相互に交換するピア・ツー・ピア通信ネットワークシステムにおける情報取得方法であって、あるピアが持つ情報を、他の複数のピアにおける公開鍵でそれぞれ暗号化し、当該暗号化された情報を、前記他のピアを含む任意のピアに蓄積する第１のステップと、前記任意のピアから前記暗号化されたコンテンツを取得し、自身の公開鍵で暗号化した後、前記他の複数のピアに順次復号化を要求する第２のステップと、前記復号化された情報を取得し、自身の秘密鍵で復号化して閲覧する第３のステップと、を有することを特徴とする。
【０００７】
また、本発明は、ピア・ツー・ピアでデータを相互に交換するピア・ツー・ピア通信ネットワークシステムにおける情報取得方法であって、あるピアが持つ情報を、他の複数のピアにおける公開鍵でそれぞれ暗号化し、当該暗号化された情報を、前記他のピアを含む任意のピアに蓄積する第１のステップと、前記任意のピアから前記暗号化されたコンテンツを取得し、乱数によりマスクした後、前記他の複数のピアに順次復号化を要求する第２のステップと、前記復号化された情報を取得し、前記マスクを除去して閲覧する第３のステップと、を有することを特徴とする。
【０００８】
また、本発明において、前記第１のステップは、前記ピア・ツー・ピア通信ネットワークにインデックスサーバが接続されていた場合、当該インデックスサーバに前記暗号化された情報の蓄積先ピアを登録するサブステップを含むことを特徴とする。
【０００９】
また、本発明において、前記第２のステップは、前記前記ピア・ツー・ピア通信ネットワークにインデックスサーバが接続されていた場合当該インデックスサーバを参照し、前記インデックスサーバが接続されていなかった場合、前記他の複数のピアに問合せ、前記情報の蓄積先ピアを特定するサブステップを含むことを特徴とする。
【００１０】
また、本発明において、前記第２と第３のステップは、前記他の複数のピアにおいてユーザ認証を行うサブステップを含むことを特徴とする。
【００１１】
また、本発明は、ピア・ツー・ピアでデータを相互に交換するピア・ツー・ピア通信ネットワークシステムであって、あるピアが持つ情報を、他の複数のピアの公開鍵でそれぞれ暗号化し、当該暗号化された情報を、前記他のピアを含む任意のピアに蓄積する暗号化情報生成ピアと、前記任意のピアから前記暗号化されたコンテンツを取得し、自身の公開鍵で暗号化した後、前記他の複数のピアに順次復号化を要求し、前記復号化された情報を取得し、自身の秘密鍵で復号化して閲覧する暗号化情報閲覧ピアと、を具備することを特徴とする。
【００１２】
また、本発明は、ピア・ツー・ピアでデータを相互に交換するピア・ツー・ピア通信ネットワークシステムであって、あるピアが持つ情報を、他の複数のピアにおける公開鍵でそれぞれ暗号化し、当該暗号化された情報を、前記他のピアを含む任意のピアに蓄積する暗号化情報生成ピアと、前記任意のピアから前記暗号化されたコンテンツを取得し、乱数によりマスクした後、前記他の複数のピアに順次復号化を要求し、前記復号化された情報を取得し、前記マスクを除去して閲覧する暗号化情報閲覧ピアと、を具備することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、あるピアが持つ情報を他の複数のピアにおける公開鍵でそれぞれ暗号化して任意のピアに蓄積し、ユーザは、この多重に暗号化された情報を取得して自身の公開鍵で暗号化した後、前記した他の複数のピアに順次復号を依頼してその結果を取得し、自身の秘密鍵で復号し、閲覧することにより、他のピアに対して情報が漏れることなく冗長的に蓄積可能であり、ユーザが、必要とする情報を管理するピアに接続不可能な場合においてもその情報を取得することができる。
また、本発明によれば、あるピアが持つ情報を他の複数のピアにおける公開鍵でそれぞれ暗号化して任意のピアに蓄積し、ユーザは、この多重に暗号化された情報を取得して乱数を用いてマスクした後、前記した他の複数のピアに順次復号を依頼してその結果を取得し、マスクを除去して閲覧することにで、他のピアに対して情報が漏れることなく冗長的に蓄積可能であり、ユーザが、必要とする情報を管理するピアに接続不可能な場合においてもその情報を取得することができる。
【００１４】
また、本発明によれば、ピア・ツー・ピア通信ネットワークにインデックスサーバが接続されていた場合、当該インデックスサーバに暗号化された情報の蓄積先ピアを登録し、ユーザは、インデックスサーバを参照して情報の蓄積先ピアを特定することで、また、インデックスサーバが接続されていなかった場合、他の複数のピアに問合せして情報の蓄積先ピアを特定することで、多重に暗号化されたコンテンツを容易に取得することができる。
更に、あるピアから復号を依頼された他の複数のピアにおいてユーザ認証を行うことで、アクセス権の制御も可能であり、一層のセキュリティ効果が得られる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明実施形態に係わるＰ２Ｐ通信ネットワークシステムのシステム構成例を示す図である。
ここでは、ピアＡ（１）、ピアＢ（２）、ピアＣ（３）、ピアＤ（４）、およびユーザ端末５が、Ｐ２Ｐネットワーク６に接続されている。
Ｐ２Ｐネットワーク６に接続される各ピアＡ〜Ｄ（１〜４）およびユーザ端末５は、データを相互に交換することができ、Ｐ２Ｐネットワーク６に接続される各ピア１〜５がそれぞれの情報を管理する形態を採っている。なお、Ｐ２Ｐ通信ネットワークシステムには、サーバが仲介する方式と、しない方式が存在するが、前者は情報管理が容易になるといった利点があり、後者はサーバダウンを含むネットワークの一部が停止しても全体が停止しないという利点がある。ここでは後者のシステムを想定している。
【００１６】
図２は、図１に示すピアＡとユーザ端末の内部構成を機能展開して示したブロック図であり、ここでは、本発明と関系するブロックのみ抽出して示してある。
図２において、本発明の暗号化情報作成ピアとして機能するピアＡ（１）は、コンテンツＤＢ１１と、暗号化部１２と、コンテンツ蓄積要求部１３で構成される。
暗号化部１１は、コンテンツＤＢ１１のコンテンツを、Ｐ２Ｐネットワークを構成する他の複数のピア（ここでは、ピアＢ、ピアＣ）の公開鍵でそれぞれ暗号化する機能を有し、また、コンテンツ蓄積要求部１３は、暗号化部１１により暗号化された情報（コンテンツ）を、任意のピア（ここではピアＤとするが、ピアＡ以外であればよい）に蓄積することを要求する機能を持つ。
【００１７】
一方、本発明の暗号化情報閲覧ピアとして機能するユーザ端末５は、蓄積ピア特定部５１と、暗号化コンテンツ取得部５２と、復号化要求部５３、５５と、復号化コンテンツ取得部５４、５６と、コンテンツ閲覧部５７で構成される。
蓄積ピア特定部５１は、Ｐ２Ｐネットワーク６に図示せぬインデックスサーバが接続されていた場合、当該インデックスサーバを参照することにより、一方、インデックスサーバが接続されていなかった場合、他の複数のピアに問合せることによりコンテンツの蓄積先ピア（ここではピアＤ）を特定する機能を持つ。また、暗号化コンテンツ取得部５２は、蓄積ピア特定部５１で特定されたピアから暗号化されたコンテンツを取得する機能を有する。
【００１８】
また、復号化要求部５３、５５は、暗号化コンテンツ取得部５２により取得したコンテンツを自身の公開鍵で暗号化した後、他の複数のピア（ピアＢ、ピアＣ）にコンテンツを暗号化した共通鍵の順次復号化を要求する機能を有する。更に、コンテンツ閲覧部５７は、復号化鍵取得部５４、５６を介して他の複数のピア（ピアＢ、ピアＣ）から取得した復号化鍵を自身の秘密鍵で復号化して閲覧する機能を有する。
【００１９】
図３は、本発明実施形態に係わるＰ２Ｐ通信システムにおけるデータ取得方法について説明するために引用したシーケンス図である。ここでは、図１に示す、ユーザ端末５、ピアＡ（１）、ピアＢ（２）、ピアＣ（３）、ピアＤ（４）間の動作の流れが示されている。
以下に概略シーケンスを説明する。ここでは、各ピア１〜４ならびにユーザ５は、公開鍵と秘密鍵のペアを有し、それぞれ公開鍵を公開しており、また、各ピア１〜４、およびユーザ５は結託を行わないことを前提に説明する。
【００２０】
まず、ピアＡ（１）は、ピアＢ、ピアＣから、それぞれが持つ公開鍵ｙ１、ｙ２が公開されているため（Ｓ３１、Ｓ３２）、自身が所有し管理するコンテンツを、ピアＢ（２）、ピアＣ（３）が持つ公開鍵ｙ１、ｙ２でそれぞれ暗号化する。そして、ピアＤ（４）に対してその暗号化コンテンツの蓄積を依頼する（Ｓ３３）。なお、ここでは、ピアＤ（４）に自身が所有し管理するコンテンツの蓄積を依頼したが、ピアＡ以外であればどのピアであっても構わない。
次に、ユーザ端末５は、インデックスサーバを参照し、あるいはピアＡ〜Ｄ（１〜４）に問合せすることにより蓄積ピア（ピアＤ）を特定し、特定されたピアＤ（４）から多重に暗号化されたコンテンツを取得する（Ｓ３４）。そして、自身の公開鍵もしくは乱数を用いてで暗号化した後、ピアＢ（２）、ピアＣ（３）に順次復号を依頼する（Ｓ３５、Ｓ３６）。そしてその結果を順次取得し（Ｓ３７、Ｓ３８）、自身の秘密鍵もしくは乱数を除去して復号し、閲覧することができる（Ｓ３９）。
【００２１】
ここでは、暗号化および復号化は、ＥｌＧａｍｍａｌ暗号のスキームに従うこととする。周知のように、ＥｌＧａｍｍａｌ暗号は、離散対数問題を応用した暗号であり、平文と乱数と公開鍵から暗号文を作成し、秘密鍵で復号する。ここでは、暗号化する際に複数の公開鍵をコミットし、以下に説明するように暗号化を行う。なお、以下に示すｇ、ｐは互いに素な公開パラメータとする。
乱数の場合について説明する。いま、ピアＢ（２）の秘密鍵をｘ１、公開鍵をｙ１＝ｇ^ｘ１、ピアＣ（３）の秘密鍵をｘ２、公開鍵をｙ２＝ｇ^ｘ２とすれば、暗号化にあたり、Ｃ１＝ｇ^ｒｍｏｄｐ、Ｃ２＝ｍ・ｙ１^ｒ・ｍｏｄｐで示される。また、これをユーザによりマスクすれば、Ｃ２’＝ｒ’・Ｃ２ｍｏｄｐとなる。なお、ｒは乱数、ｍは暗号化する情報を示す。
これを復号化する場合、平文Ｔは、Ｔ＝Ｃ２／Ｃ１^ｘとなる。但し、ｘは、復号するエンティティの秘密鍵である。また、乱数ｒ’を使用してマスクを除去するためには、Ｔ＝Ｃ／ｒ’を求めれば良い。
【００２２】
公開鍵の場合について説明する。ここではｙ３がユーザの秘密鍵とする。暗号化にあたり、Ｃ１＝ｇ^ｒｍｏｄｐ、Ｃ２＝ｍ・ｙ１^ｒ・ｍｏｄｐで示される。また、これをユーザによりマスクすれば、Ｃ１’＝ｇ^ｒｍｏｄｐ、Ｃ２’＝ｒ’・Ｃ２ｍｏｄｐとなり、ここで、ｇ^ｒ’を保存しておく。
これを復号化する場合、平文Ｔは、Ｔ＝Ｃ２／Ｃ１^ｘとなる。但し、ｘは、復号するエンティティの秘密鍵である。また、マスクを除去するためには、ユーザの秘密鍵ｘ３からｇ^ｒ’ｘ３を計算してＣ３とし、Ｔ＝Ｃ２’／Ｃ３を求めれば良い。
【００２３】
図４、図５は、本発明実施形態に係わる動作を説明するために引用したフローチャートであり、暗号化の手順、復号化の手順のそれぞれを示す。
以下、ユーザが公開鍵を使う場合の手順について図４、図５に示すフローチャートを参照しながら詳細に説明する。
【００２４】
まず、ピアＡは、他のピア（ピアＤ）に蓄積するデータを共通鍵ｓｋで暗号化する（図４のＳ４１）。ここでｓｋはある有効期限を持つものとする。続いて、共通鍵ｓｋを２以上のピア（ここでは、ピアＢとピアＣ）の公開鍵を使用して順次多重に暗号化し、コンテンツに添付する（Ｓ４２）。この鍵をＥ＾ｂ＋ｃ（ｓｋ）とする。また、ヘッダ情報として、どのピアが持つ公開鍵で暗号化したかを添付する。ピアＡは、更にそのコンテンツを任意のピア（ピアＡ以外、ここではピアＤとする）に蓄積を依頼する（Ｓ４３）。また、Ｐ２Ｐネットワーク６にインデックスサーバが存在する場合、どのピアにコンテンツを蓄積してもらったかについてそのピア名を登録しておく。
【００２５】
一方、ユーザは、以下のいずれかの手順でコンテンツを検索する。まず、ユーザ端末５は、Ｐ２Ｐネットワーク６にインデックスサーバを持っていない場合には、Ｐ２Ｐネットワーク６における既存の検索技術を使用して検索する。すなわち、各ピアＡ〜Ｄ（１〜４）に問合せを行うことで、当該コンテンツが蓄積されているピア（ピアＤ）を特定する。インデックスサーバが存在する場合には、インデックスサーバに問合せることにより、当該コンテンツが蓄積されているピアＤ（４）を特定する（図５のＳ５１）。
【００２６】
続いて、ユーザ端末５は、ピアＤ（４）から暗号化されたコンテンツと暗号化された鍵情報Ｅ＾ｂ＋ｃ（ｓｋ）を取得する（Ｓ５２）。その際、必要に応じてピアＤ（４）は、認証や開示制御を行う。
そして、ユーザ端末５は、鍵情報Ｅ＾ｂ＋ｃ（ｓｋ）を自身の公開鍵で暗号化し、Ｅ＾ｂ＋ｃ＋ｕ（ｓｋ）とする（Ｓ５３）。公開鍵を用いる代わりに乱数を用いてマスクしても良い。次に、ユーザ端末５は、鍵情報Ｅ＾ｂ＋ｃ＋ｕ（ｓｋ）をピアＢ（２）、ピアＣ（３）に対して順次復号を依頼する（Ｓ５４）。その際、ピアＢ（２）およびピアＣ（３）は必要に応じてユーザ認証を行う。
【００２７】
最後に、ユーザ端末５は、復号された結果Ｅ＾ｕ（ｓｋ）を受信し（Ｓ５５“Ｙｅｓ”）、自身の秘密鍵で復号して共通鍵ｓｋを取得する（Ｓ５６）。なお、乱数を用いてマスクした場合は当該乱数を除去する。続いて、取得した共通鍵ｓｋを利用してコンテンツを復号し、閲覧することができる（Ｓ５７）。
【００２８】
以上説明のように本発明は、あるピアが持つ情報を他の複数のピアにおける公開鍵でそれぞれ暗号化して任意のピアに蓄積し、ユーザは、この多重に暗号化された情報を取得して自身の公開鍵で暗号化、もしくは乱数でマスクした後、前記した他の複数のピアに順次復号を依頼してその結果を取得し、自身の秘密鍵で復号、もしくは乱数マスクを除去して、閲覧するものであり、このことにより、他のピアに対して情報が漏れることなく冗長的に蓄積可能であり、ユーザが、必要とする情報を管理するピアに接続不可能な場合においてもその情報を取得することができる。
【００２９】
また、本発明によれば、Ｐ２Ｐ通信ネットワークにインデックスサーバが接続されていた場合、当該インデックスサーバに暗号化された情報の蓄積先ピアを登録し、ユーザは、インデックスサーバを参照して情報の蓄積先ピアを特定することで、また、インデックスサーバが接続されていなかった場合、他の複数のピアに問合せして情報の蓄積先ピアを特定することで、多重に暗号化されたコンテンツを容易に取得することができる。更に、あるピアから復号を依頼された他の複数のピアにおいてユーザ認証を行うことで、アクセス権の制御も可能であり、一層のセキュリティ効果が得られる。
【００３０】
以上説明のように、本発明実施形態によれば、各ピアが相互に監視しているような状況下（結託がない場合）では、１つのピアの鍵情報では共通鍵ｓｋを取得できないため、他のピアにコンテンツの内容が漏れることはない。また、ユーザの公開鍵で一旦暗号化してから復号を依頼するため、復号処理においても共通鍵ｓｋが漏れることはない。また、復号を依頼されたピアＢ（２）やピアＣ（３）の代わりに信頼できる第三者機関のサーバを含めることで安全性を向上させても良い。
【図面の簡単な説明】
【００３１】
【図１】本発明実施形態に係わるＰ２Ｐ通信ネットワークシステムのシステム構成例を示す図である。
【図２】図１に示すピアＡとユーザ端末の内部構成を機能展開して示したブロック図である。
【図３】本発明実施形態に係わるＰ２Ｐ通信システムにおけるデータ取得方法について説明するために引用したシーケンス図である。
【図４】本発明実施形態に係わる動作を説明するために引用したフローチャートである。
【図５】本発明実施形態に係わる動作を説明するために引用したフローチャートである。
【符号の説明】
【００３２】
１…ピアＡ（暗号化情報生成ピア）、２…ピアＢ、３…ピアＣ、４…ピアＤ、５…ユーザ端末（暗号化情報閲覧ピア）、６…Ｐ２Ｐネットワーク
【図１】
2006244419.tif 000003
【図２】
2006244419.tif 000004
【図３】
2006244419.tif 000005
【図４】
2006244419.tif 000006
【図５】
2006244419.tif 000007