(57)【要約】【課題】  複数のピアが接続されたネットワークシステムにおける低コストかつセキュリティー性に優れた情報処理装置、方法、及びプログラムを提供する。【解決手段】  ピアＢがセキュアＰ２ＰグループＸに参加を要求するべくセキュアＰ２ＰグループＸを管理するピアＡに参加要求すると、ピアＡからピアＢに対してピアＢ用の招待状データ７４Ｂが送信され、ピアＣがセキュアＰ２ＰグループＸに参加を要求すると、ピアＡからピアＣに対してピアＣ用の招待状データ７４Ｃが送信される。招待状データは、ピアＢ又はピアＣ用の電子証明書及び証明失効リストをピアＡ用秘密鍵で電子署名した電子証明書であり、これを受信したピアＢ、Ｃでは、招待状データを復号してグループ用の電子証明書及び証明失効リストを取得する。以後のグループＸ内における通信では、この電子証明書及び証明失効リストを用いて通信相手の正当性を確認してから通信を行う。【選択図】        図１５
2006180228.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置が接続されたネットワークに接続される情報処理装置であって、
前記複数の情報処理装置の少なくとも一部を含んで設定されたグループにおいて通信するためのグループ用電子証明書を作成する作成手段と、
他の情報処理装置から前記グループへの参加を要求するための参加要求用電子証明書を受信した場合に、その正当性を確認する確認手段と、
前記正当性が確認された場合に、前記参加要求用電子証明書に含まれる前記他の情報処理装置用の鍵情報に基づいて、前記他の情報処理装置に対する前記グループ用電子証明書を暗号化した招待状データを生成する暗号化手段と、
前記招待状データを前記他の情報処理装置に送信する招待状データ送信手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記作成手段は、前記グループ用電子証明書の証明失効リストをさらに作成し、前記暗号化手段は、前記証明失効リストを暗号化することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記他の情報処理装置から前記グループを脱会するための脱会要求を受信した場合に、前記証明失効リストを更新する更新手段と、更新した証明失効リストを前記他の情報処理装置へ送信する証明失効リスト送信手段と、をさらに備えたことを特徴とする請求項１又は請求項２記載の情報処理装置。
【請求項４】
前記鍵情報は、前記他の情報処理装置の公開鍵であることを特徴とする請求項１乃至請求項３の何れか１項に記載の情報処理装置。
【請求項５】
複数の情報処理装置が接続されたネットワークに接続される情報処理装置であって、
前記複数の情報処理装置の少なくとも一部を含んで設定されたグループへの参加を要求するための参加要求用第電子証明書を、前記グループを管理する情報処理装置へ送信する参加要求手段と、
前記グループを管理する情報処理装置から前記グループにおいて通信するためのグループ用電子証明書が暗号化された招待状データを受信した場合に、受信した招待状データを復号する復号手段と、
復号されたグループ用電子証明書の正当性を確認する確認手段と、
前記正当性が確認された場合に、前記グループ用電子証明書を記憶する記憶手段と、
を備えたことを特徴とする情報処理装置。
【請求項６】
前記グループを脱会するための脱会要求を送信する脱会要求手段と、前記グループを管理する情報処理装置から前記グループ用電子証明書の証明失効リストを受信した場合に、前記証明失効リストを確認する証明失効リスト確認手段と、前記証明失効リストにより前記グループ用電子証明書が失効された場合、前記グループ用電子証明書を消去する消去手段と、をさらに備えたことを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記グループに属する情報処理装置へデータを送信する場合、前記データの送信に先立ち前記グループ用電子証明書を宛先の情報処理装置へ送信すると共に、前記宛先の情報処理装置から前記宛先の情報処理装置用のグループ用電子証明書を受信して正当性を確認することを特徴とする請求項５又は請求項６に記載の情報処理装置。
【請求項８】
前記データを暗号化して送信することを特徴とする請求項７記載の情報処理装置。
【請求項９】
前記ネットワークに接続された情報処理装置へ送信するデータに関する監査情報を記録する記録手段をさらに備えたことを特徴とする請求項１乃至請求項８の何れか１項に記載の情報処理装置。
【請求項１０】
前記ネットワークに接続された情報処理装置へ送信するデータに機密レベルに関する所定の用語が含まれているか否かを検知する検知手段と、前記所定の用語が含まれている場合に、その用語を前記監査情報に含めて記録することを特徴とする請求項９記載の情報処理装置。
【請求項１１】
前記ネットワークに接続された情報処理装置へ送信するデータに前記所定の用語が含まれている場合において、前記データが暗号化されずに前記ネットワーク上に送信された場合に警告する警告手段をさらに備えたことを特徴とする請求項１０記載の情報処理装置。
【請求項１２】
前記情報処理装置はプリンタであり、前記ネットワークに接続された情報処理装置から受信した印刷データに関する情報の不可視データを生成する生成手段をさらに備え、前記不可視データを前記印刷データと共に印刷することを特徴とする請求項５乃至請求項９の何れか１項に記載の情報処理装置。
【請求項１３】
前記ネットワークに接続された情報処理装置へ送信するデータに機密レベルに関する所定の用語が含まれているか否かを検知する検知手段をさらに備え、前記印刷データに前記所定の用語が含まれている場合に、前記印刷データと共に、前記所定の用語をウォーターマークとして印刷することを特徴とする請求項１２記載の情報処理装置。
【請求項１４】
前記ネットワークは、前記複数の情報処理装置の少なくとも一部が特定のサーバを介さずに通信するピアツーピアネットワークであることを特徴とする請求項１乃至請求項１３の何れか１項に記載の情報処理装置。
【請求項１５】
複数の情報処理装置が接続されたネットワークに接続される情報処理装置により実行される情報処理方法であって、
前記複数の情報処理装置の少なくとも一部を含んで設定されたグループにおいて通信するためのグループ用電子証明書を作成し、
他の情報処理装置から前記グループへの参加を要求するための参加要求用電子証明書を受信した場合に、その正当性を確認し、
前記正当性が確認された場合に、前記参加要求用電子証明書に含まれる前記他の情報処理装置用の鍵情報に基づいて前グループ用電子証明書を暗号化した暗号化データを生成し、
前記暗号化データを前記他の情報処理装置に送信する、
ことを特徴とする情報処理方法。
【請求項１６】
複数の情報処理装置が接続されたネットワークに接続される情報処理装置により実行される情報処理方法であって、
前記複数の情報処理装置の少なくとも一部を含んで設定されたグループへの参加を要求するための参加要求用第電子証明書を、前記グループを管理する情報処理装置へ送信し、
前記グループを管理する情報処理装置から前記グループにおいて通信するためのグループ用電子証明書が暗号化された暗号化データを受信した場合に、受信した暗号化データを復号し、
復号されたグループ用電子証明書の正当性を確認し、
前記正当性が確認された場合に、前記グループ用電子証明書を記憶する、
ことを特徴とする情報処理方法。
【請求項１７】
複数の情報処理装置が接続されたネットワークに接続される情報処理装置により実行される情報処理プログラムであって、
前記複数の情報処理装置の少なくとも一部を含んで設定されたグループにおいて通信するためのグループ用電子証明書を作成するステップと、
他の情報処理装置から前記グループへの参加を要求するための参加要求用電子証明書を受信した場合に、その正当性を確認するステップと、
前記正当性が確認された場合に、前記参加要求用電子証明書に含まれる前記他の情報処理装置用の鍵情報に基づいて前グループ用電子証明書を暗号化した暗号化データを生成するステップと、
前記暗号化データを前記他の情報処理装置に送信するステップと、
を含むことを特徴とする情報処理プログラム。
【請求項１８】
複数の情報処理装置が接続されたネットワークに接続される情報処理装置により実行される情報処理プログラムであって、
前記複数の情報処理装置の少なくとも一部を含んで設定されたグループへの参加を要求するための参加要求用第電子証明書を、前記グループを管理する情報処理装置へ送信するステップと、
前記グループを管理する情報処理装置から前記グループにおいて通信するためのグループ用電子証明書が暗号化された暗号化データを受信した場合に、受信した暗号化データを復号するステップと、
復号されたグループ用電子証明書の正当性を確認するステップと、
前記正当性が確認された場合に、前記グループ用電子証明書を記憶するステップと、
を含むことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、方法、及びプログラムに係り、より詳しくは、ネットワークを介して互いに接続された複数の装置の少なくとも一部が、専用のサーバを介することなく直接通信するピアツーピアシステムに接続可能な情報処理装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
ドキュメントがデジタル化されていなかった時代では、本棚に必要な本や書類を保管し、管理してきたが、ドキュメントのデジタル化が可能となった現在では、これらドキュメントの多くはサーバ・クライアントシステムで管理されるようになってきた。例えば、ユーザは、管理したいデジタルドキュメントをドキュメントリポジトリサーバに保存しておき、クライアントから必要な時にドキュメントを取り出すシステムである。多くの場合、このドキュメントリポジトリサーバは検索機能を持ち、必要なものを簡単に取り出すことができる機能を持っている。
【０００３】
このドキュメントリポジトリサーバに蓄積された情報を、ある特定のメンバー間でのみ共有したい場合があるが、このような場合、メンバー以外がその情報を読んだり、印刷したり、変更したり、利用することができることを防止するシステムが必要となる。これを実現するための方法として、一つはドキュメントリポジトリサーバで認証を行う方法がある。
【０００４】
この方法の場合、ユーザ管理が必要であり、ユーザの認証情報に基づいて認証処理を行い、許可されたユーザのみがその文書に対して何らかの処理(参照、読み込み、書き込み等)を行うことができる。
【０００５】
しかしながら、この方法では、ユーザがデジタルドキュメントをクライアントＰＣに取り出した後の管理を行うことはできない。すなわち、クライアントＰＣに取り出した後はドキュメントを印刷したり、メールで他のメンバーに送ることができるという問題がある。このような場合、配信されたデジタルドキュメントのトラッキングは困難ではあるものの、幾つかの対策がある。例えば、デジタルドキュメントのコンテンツ自身にパスワード機能を入れることにより、印刷、編集、保存等ができなくなるような仕組みとしたり、ユーザ認証と組み合わせて、認証されたユーザのみがコンテンツに含まれている権利情報に基づく操作をできるようにしたり、コンテンツにコンテンツ管理ＩＤを埋め込み、コンテンツサーバ上での権利確認を行った上でないと操作を決定しないようにしたりする等の方法がある。
【０００６】
しかしながら、何れの方法においても、ドキュメントリポジトリサーバの管理、ユーザの管理、デジタルドキュメントごとの権利管理、コンテンツ管理用のコンテンツ管理サーバの管理、ドキュメント管理システム全体を開発並びに管理しなければならず、多大なコストが必要となる。
【０００７】
このため、仕事でグループ間に跨って少人数のワークグループができた時に、簡便にドキュメント管理をすることができない。特に、縦割りの組織のシステム管理やサービスを提供することは容易であっても、横断的な組織のシステム管理やサービスを提供するのはコスト面で非常にハードルが高い。
【０００８】
さらに、ある仕事のメンバーに社外のメンバーが含まれたタスクを実行する場合、上記のようなシステムの導入は困難を極める。社外間での情報の管理はＡＳＰサービス型で提供している幾つかのサービスの組み合わせで実現可能性はあるが、その多くの実現には時間とコストがかかり、サービス間の契約手続きを実施している間にタスクの寿命が終わる可能性がある。
【０００９】
ところで、従来から、コンピュータ等の装置をネットワークを介して互いに接続するネットワークシステムの形態として、クライアント・サーバシステムと、ピアツーピア（以下、Ｐ２Ｐという）システムとがある。
【００１０】
クライアント・サーバシステムは、サーバが各種情報資源を管理したり各種アプリケーションを提供するサービスを実行し、これをクライアントが利用するシステムであり、主従関係が固定的なシステムある。
【００１１】
これに対し、Ｐ２Ｐシステムでは、基本的には専用のサーバを設けず、ネットワークに接続されたピア（例えばパーソナルコンピュータ等）の各々が、あるときは他のピアに対して所定のサービスを提供してサーバのように動作し、あるときは他のピアが提供するサービスを利用してクライアントのように動作するシステムであり、各ピアが対等なシステムである。このようなＰ２Ｐシステムに関して、従来から様々な技術が提案されている（例えば特許文献１及び特許文献２参照）。
【特許文献１】特開２００２−３３５２６９号公報
【特許文献２】特開２００３−２５６３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記のようなＰ２Ｐシステムにおいて、特定のメンバー間でデジタルドキュメントを安全に共有することができると共に、ドキュメントのトラッキングや情報の外部流出管理を低コストで行うことができるシステムは提案されていない。
【００１３】
本発明は、上記問題を解決すべく成されたものであり、複数のピアが接続されたネットワークシステムにおける低コストかつセキュリティー性に優れた情報処理装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、請求項１記載の発明は、複数の情報処理装置が接続されたネットワークに接続される情報処理装置であって、前記複数の情報処理装置の少なくとも一部を含んで設定されたグループにおいて通信するためのグループ用電子証明書を作成する作成手段と、他の情報処理装置から前記グループへの参加を要求するための参加要求用電子証明書を受信した場合に、その正当性を確認する確認手段と、前記正当性が確認された場合に、前記参加要求用電子証明書に含まれる前記他の情報処理装置用の鍵情報に基づいて、前記他の情報処理装置に対する前記グループ用電子証明書を暗号化した招待状データを生成する暗号化手段と、前記招待状データを前記他の情報処理装置に送信する招待状データ送信手段と、を備えたことを特徴とする。
【００１５】
この発明に係る情報処理装置は、複数の情報処理装置の少なくとも一部が接続されたネットワークにおいて設定されたグループを管理する情報処理装置である。なお、請求項１４に記載したように、ネットワークは、複数の情報処理装置の少なくとも一部が特定のサーバを介さずに通信するピアツーピアネットワークとすることができる。
【００１６】
他の情報処理装置からグループへの参加を要求するための参加要求用電子証明書を受信した場合には、確認手段により正当性を確認する。そして、作成手段により他の情報処理装置用のグループ用電子証明書を作成し、これを暗号化した招待状データを他の情報処理装置へ送信する。暗号化に用いる鍵情報は、例えば請求項４に記載したように、他の情報処理装置の公開鍵とすることができる。この場合、他の情報処理装置では、招待状データを自身の秘密鍵で復号すればよい。
【００１７】
これにより、他の情報処理装置は招待状データを受信し、グループへの参加が許可される。以後の通信では、この招待状データを用いて互いに相手を認証してから通信する。
【００１８】
このように、他の情報処理装置からグループへの参加の要求があった場合には、その情報処理装置の正当性を確認してから招待状データを送信するので、ネットワークにおけるセキュリティー性を向上させることができる。
【００１９】
なお、請求項２に記載したように、前記作成手段は、前記グループ用電子証明書の証明失効リストをさらに作成し、前記暗号化手段は、前記証明失効リストを暗号化するようにしてもよい。
【００２０】
この場合、請求項３に記載したように、前記他の情報処理装置から前記グループを脱会するための脱会要求を受信した場合に、前記証明失効リストを更新する更新手段と、更新した証明失効リストを前記他の情報処理装置へ送信する証明失効リスト送信手段と、をさらに備えた構成としてもよい。これにより、他の情報処理装置においてグループ用電子証明書が失効したことを確認することができ、グループから脱会したことを容易に認識することができる。
【００２１】
請求項５記載の発明は、複数の情報処理装置が接続されたネットワークに接続される情報処理装置であって、前記複数の情報処理装置の少なくとも一部を含んで設定されたグループへの参加を要求するための参加要求用第電子証明書を、前記グループを管理する情報処理装置へ送信する参加要求手段と、前記グループを管理する情報処理装置から前記グループにおいて通信するためのグループ用電子証明書が暗号化された招待状データを受信した場合に、受信した招待状データを復号する復号手段と、復号されたグループ用電子証明書の正当性を確認する確認手段と、前記正当性が確認された場合に、前記グループ用電子証明書を記憶する記憶手段と、を備えたことを特徴とする。
【００２２】
この発明に係る情報処理装置は、複数の情報処理装置の少なくとも一部が接続されたネットワークにおいて設定されたグループに参加を要求する情報処理装置である。参加要求手段は、参加要求用電子証明書をグループを管理する情報処理装置へ送信する。これにより、グループを管理する情報処理装置から招待状データが送信され、これを受信した場合には、復号手段により招待状データを復号し、復号されたグループ用電子証明書の正当性が確認手段により確認されると、これが記憶手段に記憶される。
【００２３】
このように、グループへ参加を要求する場合には、参加要求用電子証明書をグループを管理する情報処理装置へ送信して自身の正当性を確認してもらい、招待状データを受信した場合には、その正当性を確認するので、ネットワークにおけるセキュリティー性を向上させることができる。
【００２４】
なお、請求項６に記載したように、前記グループを脱会するための脱会要求を送信する脱会要求手段と、前記グループを管理する情報処理装置から前記グループ用電子証明書の証明失効リストを受信した場合に、前記証明失効リストを確認する証明失効リスト確認手段と、前記証明失効リストにより前記グループ用電子証明書が失効された場合、前記グループ用電子証明書を消去する消去手段と、をさらに備えた構成としてもよい。
【００２５】
また、請求項７に記載したように、前記グループに属する情報処理装置へデータを送信する場合、前記データの送信に先立ち前記グループ用電子証明書を宛先の情報処理装置へ送信すると共に、前記宛先の情報処理装置から前記宛先の情報処理装置用のグループ用電子証明書を受信して正当性を確認するようにしてもよい。
【００２６】
また、請求項８に記載したように、前記データを暗号化して送信するようにしてもよい。
【００２７】
また、請求項９に記載したように、前記ネットワークに接続された情報処理装置へ送信するデータに関する監査情報を記録する記録手段をさらに備えた構成としてもよい。
【００２８】
また、請求項１０に記載したように、前記ネットワークに接続された情報処理装置へ送信するデータに機密レベルに関する所定の用語が含まれているか否かを検知する検知手段と、前記所定の用語が含まれている場合に、その用語を前記監査情報に含めて記録するようにしてもよい。
【００２９】
また、請求項１１に記載したように、前記ネットワークに接続された情報処理装置へ送信するデータに前記所定の用語が含まれている場合において、前記データが暗号化されずに前記ネットワーク上に送信された場合に警告する警告手段をさらに備えた構成としてもよい。
【００３０】
また、請求項１２に記載したように、前記情報処理装置はプリンタであり、前記ネットワークに接続された情報処理装置から受信した印刷データに関する情報の不可視データを生成する生成手段をさらに備え、前記不可視データを前記印刷データと共に印刷する構成としてもよい。
【００３１】
また、請求項１３に記載したように、前記ネットワークに接続された情報処理装置へ送信するデータに機密レベルに関する所定の用語が含まれているか否かを検知する検知手段をさらに備え、前記印刷データに前記所定の用語が含まれている場合に、前記印刷データと共に、前記所定の用語をウォーターマークとして印刷する構成としてもよい。
【００３２】
請求項１５記載の発明は、複数の情報処理装置が接続されたネットワークに接続される情報処理装置により実行される情報処理方法であって、前記複数の情報処理装置の少なくとも一部を含んで設定されたグループにおいて通信するためのグループ用電子証明書を作成し、他の情報処理装置から前記グループへの参加を要求するための参加要求用電子証明書を受信した場合に、その正当性を確認し、前記正当性が確認された場合に、前記参加要求用電子証明書に含まれる前記他の情報処理装置用の鍵情報に基づいて前グループ用電子証明書を暗号化した暗号化データを生成し、前記暗号化データを前記他の情報処理装置に送信する、ことを特徴とする。
【００３３】
請求項１６記載の発明は、複数の情報処理装置が接続されたネットワークに接続される情報処理装置により実行される情報処理方法であって、前記複数の情報処理装置の少なくとも一部を含んで設定されたグループへの参加を要求するための参加要求用第電子証明書を、前記グループを管理する情報処理装置へ送信し、前記グループを管理する情報処理装置から前記グループにおいて通信するためのグループ用電子証明書が暗号化された暗号化データを受信した場合に、受信した暗号化データを復号し、復号されたグループ用電子証明書の正当性を確認し、前記正当性が確認された場合に、前記グループ用電子証明書を記憶する、ことを特徴とする。
【００３４】
請求項１７記載の発明は、複数の情報処理装置が接続されたネットワークに接続される情報処理装置により実行される情報処理プログラムであって、前記複数の情報処理装置の少なくとも一部を含んで設定されたグループにおいて通信するためのグループ用電子証明書を作成するステップと、他の情報処理装置から前記グループへの参加を要求するための参加要求用電子証明書を受信した場合に、その正当性を確認するステップと、前記正当性が確認された場合に、前記参加要求用電子証明書に含まれる前記他の情報処理装置用の鍵情報に基づいて前グループ用電子証明書を暗号化した暗号化データを生成するステップと、前記暗号化データを前記他の情報処理装置に送信するステップと、を含むことを特徴とする。
【００３５】
請求項１８記載の発明は、複数の情報処理装置が接続されたネットワークに接続される情報処理装置により実行される情報処理プログラムであって、前記複数の情報処理装置の少なくとも一部を含んで設定されたグループへの参加を要求するための参加要求用第電子証明書を、前記グループを管理する情報処理装置へ送信するステップと、前記グループを管理する情報処理装置から前記グループにおいて通信するためのグループ用電子証明書が暗号化された暗号化データを受信した場合に、受信した暗号化データを復号するステップと、復号されたグループ用電子証明書の正当性を確認するステップと、前記正当性が確認された場合に、前記グループ用電子証明書を記憶するステップと、を含むことを特徴とする。
【発明の効果】
【００３６】
以上説明したように、本発明によれば、複数の情報処理装置が接続されたネットワークシステムにおける低コストかつセキュリティー性に優れた情報処理装置を提供することができる、という効果を有する。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施形態について説明する。
【００３８】
図１には、Ｐ２Ｐネットワーク１０のネットワーク構成について概念的に示した。図１に示すように、Ｐ２Ｐネットワーク１０は、仮想的には各ピア１２Ａ〜１２Ｇが相互に接続された構成であり、実際には、例えばピア１２Ａ〜１２Ｃはファイアウォール１４によるアクセス制限下にあるピアであったり、ピア１２Ｃ〜１２Ｅはインターネットに接続されたピアであったり、ピア１２Ｅ〜１２ＧはＮＡＴ（Network Address Translation）によってアドレス変換されるピアであったりする。
【００３９】
また、各ピア同士の接続方法は様々であり、ＩＰｖ４（Internet Protocol version 4）やＩＰｖ６（Internet Protocol version 6）の機能を用いるＴＣＰ（Transmission Control Protocol）接続を用いたり、ＨＴＴＰ（HyperText Transfer Protocol）を用いたり、ＳＭＴＰ（Simple Mail Transfer Protocol）を用いたりすることができる。
【００４０】
ここで、ピアとは、例えばパーソナルコンピュータ等のコンピュータの他、ＰＤＡ（Personal Digital Assistance）、携帯電話、プリンタ、コピー機、これらの機能を複数備えた複合機等のハードウェア又はこれらの機能を実現するソフトウェアをいう。また、各ピアは、同じ種類のものであるか異なる種類のものであるかにかかわらずＰ２Ｐネットワークに参加することができる。
【００４１】
Ｐ２Ｐネットワークの形態としては、図２に示すように、各ピア１４Ａ〜１４Ｋの全てが対等な関係にあるピュアＰ２Ｐと、図３に示すように、サーバ１４Ｓを設け、一部のサービスの提供をサーバ１４Ｓに委ね、その他のサービスについては各ピア１４Ａ〜１４Ｈが対等な関係において実現されるハイブリッドＰ２Ｐの形態があり、何れの形態でも本発明を適用可能である。
【００４２】
また、Ｐ２Ｐネットワークに参加する各ピアにログオンするユーザ又はピアは、図４に示すように、目的に応じたグループを構成することができる。図４では、ピア１２Ａ〜１２Ｇ全てがグループ１に属し、さらに、ピア１２Ａ、１２Ｃ、１２Ｅ、１２Ｆはグループ２に属しており、ピア１２Ｂ、１２Ｅ、１２Ｆ、１２Ｇはグループ３に属している。なお、各ユーザ又はピアは、単一のグループに属してもよいし、複数のグループに属していてもよい。また、ユーザ又はピアは必ずしもグループに属する必要はない。
【００４３】
図５には、Ｐ２Ｐネットワーク１０に参加する各ピアの基本構成を示した。図５に示すように、ピア１２は、Ｐ２Ｐ基盤構成部１６、Ｐ２Ｐ基盤管理データ記憶部１８、アプリケーション実行部２０、及びアプリケーションメモリ２２を含んで構成される。
【００４４】
Ｐ２Ｐ基盤構成部１６は、メッセージ制御部２４、データ管理部２６、送信部２８、及び受信部３０を含んで構成される。
【００４５】
送信部２８は、メッセージ制御部２４から受け取ったメッセージをネットワーク３２へ向けて送信する。
【００４６】
受信部３０は、Ｐ２Ｐネットワーク１０内で送受信されるデータのうち、自ピアにとって必要なデータを受信する。常に受信待機状態となっており、Ｐ２Ｐネットワーク１０の他ピアからの各種要求やデータを受信し、メッセージ制御部２４に受け渡す。なお、送信部２８とは独立かつ並列に動作する。
【００４７】
図６には、メッセージ制御部２４の概略構成を示した。メッセージ制御部２４は、図６に示すように、サービス実行部３４及びメッセージディスパッチ部３６を含んで構成されている。
【００４８】
サービス実行部３４は、ピア探索サービス部３８、告知情報公開サービス部４０、告知情報取得サービス部４２、グループ管理サービス部４４、ユーザ管理サービス部４６、及びピア管理サービス部４８を含んで構成されており、各サービス部は相互に情報を授受しながら各サービスを実行する。
【００４９】
ピア探索サービス部３８は、Ｐ２Ｐネットワークに参加しているピアを探索する機能及び自ピアが必要とするサービス（機能）を提供可能なピアを探索する機能を有する。なお、探索の範囲は、必要とするサービスの名称や属性、ホップ数の閾値等を指定することにより制御することができる。ここで、ホップ数とは、メッセージを送信する際に経由するピアの数である。
【００５０】
告知情報公開サービス部４０は、自ピアが提供可能なサービス等の情報を告知情報としてＰ２Ｐネットワーク上に公開する機能を有する。ここで、提供可能なサービスには、例えばアプリケーション実行部２０により実行されるアプリケーションの他、後述するグループ管理サービスやユーザ管理サービス等も含まれる。なお、告知情報の公開は、例えば他ピアから問い合わせがあった場合や自ピアの起動時に実行してもよいし、定期的に実行するようにしてもよい。
【００５１】
このように各ピアの告知情報公開サービス部４０によって告知情報がＰ２Ｐネットワーク上に公開されることにより、Ｐ２Ｐネットワークに参加している各ピアは、Ｐ２Ｐネットワーク上でどのようなサービスを利用できるかを把握することができる。
【００５２】
告知情報取得サービス部４２は、ピア探索サービス部３８によって探索されたピアから送信された告知情報又は他ピアから自発的に送信された告知情報を取得し、データ管理部２６へ受け渡す。データ管理部２６では、取得した告知情報をピア情報としてＰ２Ｐ基盤管理データ記憶部１８に記憶させる。これにより、ピアは、Ｐ２Ｐネットワークに参加している他ピアがどのようなサービスを提供しているのかを把握することができる。
【００５３】
グループ管理サービス部４４は、同じ目的を有するピア同士で構成されたグループへの参加や脱退、新たなグループの作成等をグループ情報に基づいて管理する機能を有する。グループ情報は、例えば少なくともグループＩＤとユーザＩＤとの対応関係を表す情報であり、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。このグループ情報を参照することにより、どのグループにどのユーザが属しているかを把握することができる。
【００５４】
ユーザ管理サービス部４６は、ユーザ情報を管理する機能を有する。ユーザ情報は、例えばピアＩＤとそのピアにログオンしているユーザＩＤとの対応関係を表すログオン情報や、ユーザの名前、メールアドレス等のユーザ自身に関する情報、そのユーザが属するグループのグループＩＤ等の情報を含み、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。
【００５５】
ピア管理サービス部４８は、Ｐ２Ｐネットワークに参加しているピアのピア情報を管理する機能を有する。
【００５６】
メッセージディスパッチ部３６は、アプリケーション実行部２０からのメッセージや他ピアとの間で送受信されるメッセージを解析し、サービス実行部３４のうち解析したメッセージに関する処理を行うべきサービス部へ制御を渡す。
【００５７】
Ｐ２Ｐ基盤管理データ記憶部１８は、経路情報１８Ａ、グループ情報１８Ｂ、隣接情報１８Ｃ、ピア情報１８Ｄ、及びユーザ情報１８Ｅを記憶する。
【００５８】
経路情報１８Ａは、Ｐ２Ｐネットワークにおける経路の情報、例えば後述するスパニングツリーに関する情報を含む。
【００５９】
グループ情報１８Ｂは、前述したように例えば少なくともグループＩＤとユーザＩＤとの対応関係を表す情報である。
【００６０】
隣接情報１８Ｃは、自ピアに隣接するピアに関する情報、例えばピアＩＤ等の情報を含む。ここで、隣接するピアとは、例えば自ピアから送信したパケットに対する応答時間が予め定めた所定時間内のピアとすることができる。隣接情報は、例えば他ピアと通信する課程において得られる応答時間に基づいて生成することができるが、オペレータの操作等により手動的に設定するようにしてもよい。
【００６１】
ピア情報１８Ｄは、ピア探索サービス部３８によって探索されたピアに関する情報、例えばピアＩＤ等の情報や、告知情報取得サービス部４２によって取得したＰ２Ｐネットワーク上の各ピアが提供しているサービスに関する情報等を含む。ここで、ピアＩＤには、例えばＩＰアドレスやＵＲＩ（Uniform Resource Identifier）等を用いることができる。
【００６２】
ユーザ情報１８Ｅは、前述したようにユーザのログオン情報やユーザ自身に関する情報等を含む。
【００６３】
アプリケーション実行部２０は、各種アプリケーションを実行するものであり、メッセージ制御部２４を介して他ピアとメッセージの送受信を行う。また、アプリケーションメモリ２２は、アプリケーション実行部２０の実行に関連する各種の情報を記憶するためのメモリである。
【００６４】
次に、Ｐ２Ｐネットワークにおいて、目的のサービスを検索し実行する場合の具体例について説明する。
【００６５】
まず、他ピアへメッセージを転送する機能を有する転送機能付きピアと、転送機能を備えず、転送機能付きピアを介して他ピアとメッセージの送受信を行うエンドピアと、からなるＰ２Ｐネットワークにおいて、転送機能付きピア及びエンドピアのＰ２Ｐ基盤構成部１６で実行される処理について説明する。なお、転送機能付きピアは、図示しない転送機能サービス部をサービス実行部３４に備えた構成である。
【００６６】
図７にはエンドピアで実行される処理のフローチャートを、図８には転送機能付きピアで実行される処理のフローチャートを示した。
【００６７】
図７に示すように、エンドピアは、ステップ１００において、転送機能付きピアの探索要求を、例えば自ピアに予め記憶された設定情報に設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストにより他の転送機能付きピアに対してＰ２Ｐネットワークに送信する。これは、ピア探索サービス部３８により実行される。
【００６８】
そして、ステップ１０２において、転送機能付きピアが存在するか否かを判断し、転送付きピアが存在する場合には、ステップ１０４へ移行し、転送機能付きピアが存在しない場合には、ステップ１０２へ戻り、例えば所定時間経過後に再度転送機能付きピアを探索する。
【００６９】
ステップ１０４では、自ピアにログオンしているユーザ又は自ピアが属するグループに属している他ユーザがログオンしている他ピアの告知情報を取得するよう転送機能付きピアに要求する。これは、告知情報取得サービス部４２により実行される。
【００７０】
ステップ１０６では、転送機能付きピアから告知情報を受信したか否かを判断し、受信していない場合には、ステップ１１０へ移行し、受信した場合には、ステップ１０８において、受信した告知情報をＰ２Ｐ基盤管理データ記憶部１８にピア情報１８Ｄとして記憶させる。
【００７１】
ステップ１１０では、サービス要求が発生したか否かを判断する。例えば自ピアにログオンしているユーザの操作等によってアプリケーション実行部２０によりアプリケーションが実行され、サービス要求が発生した場合には、アプリケーション実行部２０からメッセージ制御部２４へサービス要求が通知される。この場合、ステップ１１２へ移行し、サービス要求が発生していない場合には、ステップ１１６へ移行する。
【００７２】
ステップ１１２では、発生したサービス要求に対応したメッセージを作成して転送機能付きピアに送信する。例えば、アプリケーション実行部２０からのサービス要求が、所望のファイルを取得する要求だった場合には、アプリケーション実行部２０から通知されたファイル名等の所望のファイルを特定するための情報を含むファイル探索要求メッセージを転送機能付きピアに送信する。
【００７３】
ステップ１１４では、送信したメッセージに対する応答処理を行う。すなわち、送信したメッセージに対する応答メッセージを受信し、受信した応答メッセージの内容に応じた処理を行う。例えば、サービス要求が所定のファイルを取得する要求であった場合には、そのファイルを所有しているピアがあれば、そのピア情報が応答メッセージとして受信されるので、これをアプリケーション実行部２０に通知する。この場合、アプリケーション実行部２０では、受信したピア情報に基づいて、所望のファイルを所有しているピアにファイル送信要求を送信するようメッセージ制御部２４に依頼する。これにより、所望のファイルを取得することができる。
【００７４】
そして、ステップ１１６では、転送機能付きピアから、他ピアから何らかのサービス提供又は情報提供を要求する要求メッセージを受信したか否かを判断し、要求メッセージを受信していた場合には、ステップ１１８へ移行し、要求メッセージを受信していない場合には、ステップ１０６へ戻って上記と同様の処理を繰り返す。
【００７５】
ステップ１１８では、要求に対する処理を実行する。そして、ステップ１２０において、処理結果に対応したメッセージを転送機能付きピアに送信する。例えば、他ピアからファイル探索の要求メッセージを受信した場合には、その要求メッセージをファイル検索を実行するアプリケーション実行部２０へ渡す。これによりアプリケーション実行部２０においてファイル検索が実行され、検索結果がメッセージ制御部２４に通知される。メッセージ制御部２４では、アプリケーション実行部２０から通知された検索結果に基づいて応答メッセージを作成し、ファイル探索要求メッセージの送信元のピアに送信する。例えばファイルが検索できた場合には、自ピアのピアＩＤ等の情報を含めた応答メッセージを作成して、ファイル探索要求メッセージの送信元のピアに送信する。これにより、送信元のピアでは、所望のファイルが検索できたか否かを確認することができる。
【００７６】
次に、転送機能付きピアで実行される処理について説明する。
【００７７】
転送機能付きピアは、まず図８に示すステップ２００において、例えば自ピアに予め記憶された設定情報に設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストにより他の転送機能付きピアに対して、グループ情報やユーザ情報等の各種情報を送信するよう要求し、これらの情報を取得する。取得した情報は、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。これにより、Ｐ２Ｐネットワークを構成しているピアの情報やログオンしているユーザの情報を得ることができる。
【００７８】
ステップ２０２では、Ｐ２Ｐ基盤管理データ記憶部１８に記憶された隣接情報１８Ｃを、自ピアの隣の転送機能付きピア全てに告知する。隣接情報１８Ｃには、自ピアの隣の転送機能付きピアの情報が少なくとも含まれ、さらに、他のピアが有している隣接情報を既に取得している場合には、その隣接情報も含まれる。
【００７９】
ステップ２０４では、隣の転送機能付きピアに隣接情報を送信するよう要求し、取得する。このように、自ピアの隣の転送機能付きピアと隣接情報を交換する。
【００８０】
そして、ステップ２０６では、交換した隣接情報に基づき、スパニングツリーの構成情報を生成し、Ｐ２Ｐ基盤管理データ記憶部１８に経路情報として記憶する。ここで、スパニングツリーとは、メッセージの転送経路が、ループのない木構造となるような経路を表す。例えばＰ２Ｐネットワークが、図９（Ａ）に示すように、グループ１にのみ属する転送機能付きピア５０1、グループ２にのみ属する転送機能付きピア５０2、グループ１、２の何れにも属する転送機能付きピア５０12、何れのグループにも属さない転送機能付きピア５０n、これらの各転送機能付きピアの背後に存在するエンドピア（図９では図示省略）で構成されていたとする。この場合、スパニングツリーは、図９（Ｂ）に示すようなループのない木構造の経路となる。
【００８１】
次のステップ２０８では、エンドピアからのメッセージ送信要求を受信したか否かを判断し、受信している場合にはステップ２１０へ移行し、受信していない場合には、ステップ２１２へ移行する。
【００８２】
ステップ２１０では、スパニングツリーの構成情報としての経路情報に基づいて、メッセージを転送する。例えば、図９（Ａ）に示すようなネットワークが構築されている場合において、エンドピアが例えばグループ１に属しており、グループ１向けの要求メッセージを転送機能付きピアに送信した場合について説明する。この場合、転送機能付きピアは、グループ１に属しているエンドピアに対してのメッセージ転送を担う転送機能付きピアを全て含み、この転送機能付きピア全てにメッセージが転送されるようなスパニングツリー、例えば図９（Ｃ）に示すようなスパニングツリーを経路情報に基づいて計算する。そして、転送機能付きピアは、計算されたスパニングツリーに基づいて、隣の転送機能付きピア全てにエンドピアからの要求メッセージを転送する。これにより、図９（Ｃ）に示すスパニングツリー上の転送機能付きピアにメッセージが転送され、グループ１のエンドピア全てにメッセージが転送される。なお、グループ２向けのメッセージ送信要求を転送機能付きピアに送信した場合は、図９（Ｄ）に示すようなスパニングツリーが計算される。
【００８３】
次のステップ２１２では、隣の転送機能付きピアからメッセージを受信したか否かを判断し、受信した場合にはステップ２１４へ移行し、受信していない場合には、ステップ２０８へ戻って上記と同様の処理を繰り返す。なお、定期的にステップ２００へ戻ってスパニングツリーを定期的に計算するようにしてもよい。
【００８４】
ステップ２１４では、計算したスパニングツリーに基づき、メッセージを転送する必要がある場合、すなわちスパニングツリー上における隣の転送機能付きピアのうちメッセージを転送していない転送機能付きピアが存在する場合には、その転送機能付きピアにメッセージを転送する。また、受信したメッセージが、自ピアがメッセージの転送を担うエンドピアと同一のグループ宛であった場合には、そのメッセージをエンドピアへ転送する。
【００８５】
このように、スパニングツリーを各転送機能付きピアが計算し、このスパニングツリー計算に従ってメッセージを転送することにより、同じグループ内のエンドピア間においてメッセージの送受信が可能となる。
【００８６】
上記のような転送機能付きピアによってメッセージを転送する構成は、主にＬＡＮ（Local Area Network）等の比較的小規模のネットワークでＰ２Ｐネットワークを構築する場合に適しているが、大規模のネットワークでＰ２Ｐネットワークを構成する場合には、ファイアウォールやゲートウェイ等を介して、異なるネットワークに接続されたピア間でメッセージの送受信が行われる。以下では、このような比較的大規模なネットワークでＰ２Ｐネットワークを構築する場合に適した形態について説明する。
【００８７】
図１０に示すＰ２Ｐネットワーク１１は、複数のネットワーク５２〜５８を含み、ネットワーク５２は、ルータ６０、６２を介してネットワーク５４と接続されると共に、ルータ６４を介してネットワーク５８と接続される。また、ネットワーク５６は、ルータ６６を介してネットワーク５８と接続される。
【００８８】
ネットワーク５２は、エンドピア５２Ａ、５２Ｂ、及び待ち合わせ機能付きピア５２Ｃを含んで構成され、ネットワーク５４はエンドピア５４Ａを含んで構成され、ネットワーク５６はエンドピア５６Ａを含んで構成され、ネットワーク５８は中継機能付きピア５８Ａを含んで構成されている。なお、待ち合わせ機能付きピアは、図示しない待ち合わせ機能サービス部をサービス実行部３４に備えた構成であり、中継機能付きピア５８Ａは、図示しない中継機能サービス部をサービス実行部３４に備えた構成である。
【００８９】
このように構成されたＰ２Ｐネットワーク１１において、エンドピアは、図７のフローチャートの示す処理とほぼ同様の処理を実行する。すなわち、Ｐ２Ｐネットワーク１１におけるエンドピアで実行される処理は、図７のフローチャートの説明において、転送機能付きピアを待ち合わせ機能付きピアに言い換えた処理を実行すると考えることができる。
【００９０】
また、中継機能付きピアは、基本的には所謂ゲートウェイとしての動作をするピアである。中継機能付きピアは、まず、例えば自ピアに記憶された設定情報に予め設定された他のピアに対して、又はマルチキャストやブロードキャストにより他のピアに対して、グループ情報やユーザ情報等の各種情報を送信するよう要求し、これらの情報を取得しておく。そして、他ピアからメッセージを受信した場合には、送信先として指定されたピアにメッセージを転送する。
【００９１】
次に、待ち合わせ機能付きピアで実行される処理について、図１１に示すフローチャートを参照して説明する。
【００９２】
まず、ステップ３００において、例えば自ピアに記憶された設定情報に予め設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストによって、他のピアに対してグループ情報やユーザ情報等の各種情報を送信するよう要求する。
【００９３】
ステップ３０２では、他ピアから何らかの情報、例えばステップ３００で要求したグループやユーザ情報等の情報や、他ピアからの告知情報等を受信したか否かを判断し、受信した場合には、ステップ３０４へ移行し、受信していない場合には、ステップ３０６へ移行する。
【００９４】
ステップ３０４では、他ピアから受信した情報をＰ２Ｐ基盤管理データ記憶部１８に記憶させる。例えば受信した情報がグループ情報であればグループ情報１８ＢとしてＰ２Ｐ基盤管理データ記憶部１８に記憶させ、受信した情報がユーザ情報であればユーザ情報１８ＥとしてＰ２Ｐ基盤管理データ記憶部１８に記憶させる。
【００９５】
ステップ３０６では、エンドピアから何らかのサービス提供又は情報提供を要求する要求メッセージを受信したか否かを判断し、受信している場合には、ステップ３０８へ移行し、受信していない場合には、ステップ３０２へ戻って上記と同様の処理を繰り返す。
【００９６】
ステップ３０８では、要求メッセージに対応した情報が自ピアのＰ２Ｐ基盤管理データ記憶部１８に記憶されているか否かを判断し、記憶されている場合には、ステップ３１０へ移行し、記憶されていない場合には、ステップ３１２へ移行する。
【００９７】
ステップ３１０では、要求メッセージに対応した情報をＰ２Ｐ基盤管理データ記憶部１８から読み出して要求元のピアに送信する。
【００９８】
一方、ステップ３１２では、要求メッセージを隣接のピアに転送する。これにより、要求メッセージが他ピアに伝搬される。これにより、要求メッセージに対応した処理を実行可能なピアから応答メッセージが送信される。
【００９９】
ステップ３１４では、要求メッセージに対応した処理を実行可能なピアから送信された応答メッセージを受信し、これを要求元のエンドピアに送信する。
【０１００】
ここで、ネットワーク５４のピア５４Ａが告知情報の探索要求を行う場合について説明する。この場合、ピア５４Ａは、待ち合わせ機能付きピアを検索し、検索された待ち合わせ機能付きピア５２Ｃに告知情報の探索要求メッセージを送信する。これにより待ち合わせ機能付きピア５２Ｃは、自ピアに他ピアの告知情報が蓄積されていれば、これをピア５４Ａに送信し、蓄積されていない場合には、例えば隣のピア５２Ａ、５２Ｂ等に告知情報を送信するよう要求する。このとき、ピア５２Ａは、自ピアの告知情報と、自ピアに記憶されている他ピアの告知情報、例えばピア５６Ａの告知情報がすでに記憶されている場合には、その告知情報とを待ち合わせ機能付きピア５２Ｃに送信する。ピア５２Ｃについても同様である。待ち合わせ機能付きピア５４Ｃは、他ピアから送信された告知情報を蓄積すると共に、ピア５４Ａに送信する。
【０１０１】
以上のように、待ち合わせ機能付きピアは、他ピアから送信された告知情報等の各種情報を自ピアに蓄積しておき、エンドピアからの要求に対応した情報が自ピアに記憶されている場合には、その情報をエンドピアに送信する。従って、Ｐ２Ｐネットワーク１１のように大規模なネットワークにおけるメッセージの送受信の効率を向上させることができる。
【０１０２】
次に、アプリケーション実行の具体例として、アプリケーションがファイル共有サービスの場合におけるアプリケーション実行部２０の処理について説明する。
【０１０３】
この場合、アプリケーション実行部２０は、ファイル名等の所望のファイルを特定するための情報を少なくとも含んだファイル探索要求をメッセージ制御部２４のメッセージディスパッチ部３６に通知する。メッセージディスパッチ部３６では、このファイルを所有するピアを探索するようピア探索サービス部３８に対して要求する。これにより、ピア探索サービス部３８によって所望のファイルを所有するピアが探索され、アプリケーション実行部２０に通知される。そして、アプリケーション実行部２０では、探索されたピアに対してファイルを送信するよう要求し、取得する。なお、所望のファイルを所有しているピアの情報を既に取得しており、自ピアに記憶されていた場合には、ピア探索を実行せずに、直接そのピアにファイル送信要求を送信してファイルを取得すればよい。
【０１０４】
このように、アプリケーション実行部２０は、メッセージ制御部２４を介して他ピアとメッセージの送受信を行い、サービスを提供する。
【０１０５】
なお、Ｐ２Ｐネットワークの構築について上記は一例であり、例えば上記特許文献１に記載されたプロトコルや、ＪＸＴＡプロトコルのＰＤＰ（Peer Discovery Protocol：ピア発見プロトコル）、ＰＲＰ（Peer Resolver Protocol：ピア解決プロトコル）、ＰＩＰ（Peer Information Protocol：ピア情報プロトコル）、ＰＭＰ（Peer Membership Protocol：ピアメンバーシッププロトコル）、ＰＢＰ（Peer Binding Protocol：ピアバインディングプロトコル）、ＰＥＰ（Peer Endpoint Protocol：ピアエンドポイントプロトコル）等の公知のプロトコルを用いてＰ２Ｐネットワークを構築してもよい。
【０１０６】
次に、上記のように構築されたＰ２Ｐネットワークにおいて、セキュアＰ２Ｐグループを構築する場合について説明する。
【０１０７】
本実施形態では、公開鍵暗号方式を用いてセキュアＰ２ＰグループＸを構築する。すなわち、グループ毎に公開鍵と秘密鍵のペアの鍵を保有し、このペアの鍵は、例えばグループを作成したピアが作成して管理する。また、各ピアは、各ピア用の秘密鍵と公開鍵のペアを持つと共に、電子証明書を持つ。
【０１０８】
セキュアＰ２ＰグループＸに参加を認められた各ピアは、グループＸ用の秘密鍵で電子署名された各ピアの電子証明書とグループ用証明書の証明失効リスト（ＣＲＬ）とを保有する。
【０１０９】
セキュアＰ２ＰグループＸ内で通信を行う場合には、先の電子証明書を使って、例えばＳＳＬ（Secure Sockets layer）、ＴＳＬ（Transport Layer Security）、ＩＰｓｅｃ（Internet Protocol Security）等の技術により接続を実施する。そして、ホスト認証、クライアント認証、伝送路の暗号化を実施する。このとき、電子証明書の有効期限の確認は、先の証明失効リストを使って各ピア自身で確認することができる。
【０１１０】
図１２には、セキュアＰ２ＰグループＸに参加する各ピアが有する認証部７０の概略構成を示した。この認証部７０は、各種アプリケーションを実行するアプリケーション実行部２０の一部を構成する実行部である。
【０１１１】
認証部７０は、電子証明書を作成する証明書発行部７０Ａ、他ピアに送信するメッセージを暗号化する暗号化部７０Ｂ、他ピアから受信したメッセージを復号化する復号化部７０Ｃ、受信した電子証明書の電子署名を確認する電子署名確認部７０Ｄ、電子証明書に電子署名を生成する電子署名生成部７０Ｅ、公開鍵や秘密鍵を生成する鍵生成部７０Ｆ、失効した電子証明書に関する情報を含む証明失効リストを作成する失効リスト作成部７０Ｇ、作成した電子証明書や失効リスト等の情報をアプリケーションメモリ２２に認証情報７２として記憶させたり、必要に応じて認証情報を読み出す等の認証情報の管理を行う認証情報管理部７０Ｈ等を含んで構成される。
【０１１２】
次に、セキュアＰ２ＰグループＸを構築する際の処理について詳細に説明する。
【０１１３】
図１３には、セキュアＰ２ＰグループＸを作成するピアが実行する処理のフローチャートを、図１４には、作成されたセキュアＰ２ＰグループＸに参加を要求するピアが実行する処理のフローチャートを示した。
【０１１４】
ここでは、作成されるセキュアＰ２ＰグループＸを作成及び管理するピアをピアＡ、参加を要求するピアをピアＢとして説明する。
【０１１５】
まずピアＡは、図１３に示すステップ４００において、セキュアＰ２ＰグループＸを作成する。具体的には、例えば認証部７０がメッセージディスパッチ部３６を介してグループ管理サービス部４４にグループＸの作成を依頼することにより実行される。
【０１１６】
次のステップ４０２では、グループＸ用の公開鍵及び秘密鍵のペアを作成する。このペアの鍵は、公知の方法を用いて作成することができる。
【０１１７】
そして、ステップ４０４では、グループＸ用秘密鍵で電子署名されたグループＸの電子証明書を作成する。電子証明書の作成は、例えばＩＴＵ−Ｔ（国際電気通信連合電気通信標準化部門）によって規定されたＸ．５０９形式に従って作成することができる。
【０１１８】
この電子証明書は、データ部及び署名部からなる。データ部には、例えばバージョン、シリアルナンバー、使用する暗号化アルゴリズム、証明書の発行者、有効期限、証明される対象、グループＸ用公開鍵等に関する情報が含まれている。署名部は、ハッシュ関数により得られたデータ部のハッシュ値を、この電子証明書を発行する発行者の秘密鍵（ここではグループＸ用秘密鍵）で暗号化したものである。すなわち、この場合の電子証明書は、グループＸの自己証明書となる。
【０１１９】
ステップ４０６では、グループＸ用の証明失効リスト（ＣＲＬ）を作成する。この証明失効リストには、失効したデジタル証明書に関する情報等が含まれ、ＩＴＵ−Ｔによって規定されたＸ．５０９形式に従って作成することができる。
【０１２０】
ステップ４０８では、他ピア、すなわちピアＢから電子証明書を受信したか否かを判断し、受信した場合にはステップ４１０へ移行し、受信していない場合には、ステップ４２４へ移行する。
【０１２１】
ステップ４１０では、受信したピアＢの電子証明書の正当性を確認する。ピアＢの電子証明書は、グループＸの電子証明書と同様に、データ部及び署名部から成り、署名部は、ピアＢで作成されたピアＢの公開鍵等の情報が含まれたデータ部のハッシュ値を電子証明書の発行者の秘密鍵で暗号化したものである。電子証明書の発行者は、ピアＢ自身であってもよいし、予め定めたＣＡ（Certification Authority）であってもよい。従って、ピアＢの電子証明書の正当性を確認するには、ピアＢの電子証明書の発行者の公開鍵（発行者がピアＢ自身であればピアＢの公開鍵、発行者がＣＡであればＣＡの公開鍵）を入手し、この公開鍵で電子署名を復号化し、これとデータ部のハッシュ値と比較し、両者が一致すれば受信したピアＢの電子証明書が正当であると確認することができる。なお、各ピアにおいて、自ピアや他ピアの公開鍵や秘密鍵等の鍵に関する情報は、例えばピア管理サービス部４８によって管理されるピア情報１８Ｄに含まれて管理される。
【０１２２】
ステップ４１２では、受信したピアＢの電子証明書が正当であるか否かを判断し、正当であればステップ４１４へ移行し、正当でなければステップ４０８へ戻って上記と同様の処理を繰り返す。
【０１２３】
ステップ４１４では、ピアＢの公開鍵を含むデータ部と、ピアＢの公開鍵をグループＸ用秘密鍵で暗号化した署名部と、から成るセキュアＰ２ＰグループＸにおいて使用するためのピアＢ用の電子証明書を作成する。すなわち、この電子証明書は、グループＸによって署名されたピアＢ用の電子証明書（グループ用電子証明書）であり、この電子証明書を用いてピアＢはセキュアＰ２ＰグループＸ内における通信を行うことができる。
【０１２４】
ステップ４１６では、ステップ４１４で作成したピアＢ用の電子証明書及びステップ４０６で作成した証明失効リストをピアＢの公開鍵で暗号化する。
【０１２５】
ステップ４１８では、ピアＢ用の電子証明書及び証明失効リストのダイジェストデータを生成する。このダイジェストデータは、例えばハッシュ関数によりハッシュ値とすることができる。
【０１２６】
ステップ４２０では、ステップ４１８で生成したダイジェストデータをピアＡ用秘密鍵で暗号化した電子署名を生成し、生成した電子署名と、ステップ４１６においてピアＢ用の電子証明書及び証明失効リストをピアＢの公開鍵で暗号化したデータ部と、から成る電子証明書を作成する。すなわち、ピアＢ用の電子証明書及び証明失効リストをピアＡ用秘密鍵で電子署名した電子証明書を作成する。なお、この電子証明書をピアＡからピアＢに対する招待状データと称する。
【０１２７】
ステップ４２２では、ステップ４２０で作成された招待状データを他ピア、すなわちピアＢへ送信する。
【０１２８】
ステップ４２４では、他ピアからセキュアＰ２ＰグループＸからの脱会要求を受信したか否かを判断し、受信した場合には、ステップ４２６へ移行し、受信していない場合には、ステップ４０８へ移行して上記と同様の処理を繰り返す。
【０１２９】
ステップ４２６では、ステップ４０６で作成したグループＸ用の証明失効リストを更新する。すなわち、ピアＢ用の電子証明書を失効するべく、証明失効リストにピアＢ用の電子証明書に関する情報を加える。そして、更新した証明失効リストをセキュアＰ２ＰグループＸに参加しているピア全てに送信する。これにより、ピアＢはセキュアＰ２ＰグループＸにおける通信を行うことができなくなる。
【０１３０】
一方、ピアＢは、図１４に示すステップ５００において、グループ情報を取得する。これにより、ピアＡによって作成されたセキュアＰ２ＰグループＸの情報を得ることができる。グループ情報は、例えば告知情報取得サービス部４２にグループ情報の取得を依頼することにより得ることができる。
【０１３１】
次のステップ５０２では、例えばピアＢのユーザの操作等によってグループＸへの参加要求を指示されたか否かを判断し、指示された場合にはステップ５０４へ移行し、指示されていない場合にはステップ５１８へ移行する。
【０１３２】
ステップ５０４では、ピアＢの公開鍵及び秘密鍵のペアを生成する。このペアの鍵の生成は、公知の方法により生成することができる。
【０１３３】
ステップ５０６では、ピアＢの電子証明書を作成する。すなわち、ピアＢ用公開鍵等の情報を含むデータ部と、このデータ部のハッシュ値を、ピアＢの電子証明書を発行する発行者、例えばピアＢ自身又はＣＡの秘密鍵で電子署名した署名部と、から成る電子証明書を作成する。
【０１３４】
ステップ５０８では、ピアＢの電子証明書をセキュアＰ２ＰグループＸの作成者であるピアＡに送信する。
【０１３５】
ステップ５１０では、ピアＡから前述した招待状データを受信したか否かを判断し、受信していない場合には受信するまで待機し、受信した場合には、ステップ５１２へ移行する。
【０１３６】
ステップ５１２では、受信した招待状データの正当性を確認する。具体的には、ピアＢの秘密鍵で招待状データのデータ部を復号し、ピアＢ用の電子証明書及び証明失効リストを取得する。そして、ピアＢ用の電子証明書及び証明失効リストのダイジェストデータを生成し、これとピアＡの公開鍵で招待状データの署名部を復号したデータとを比較する。両者が一致すれば招待状データが正当であると確認することができる。なお、ピアＡの公開鍵は、例えばピアＢの告知情報取得サービス部４２がピアＡによって公開された公開鍵の情報が含まれる告知情報を取得することによって取得することができる。取得した鍵の情報は、例えばピア管理サービス部４８によって管理されるピア情報１８Ｄに含まれて管理される。
【０１３７】
ステップ５１４では、招待状が正当か否かを判断し、正当だった場合にはステップ５１６へ移行し、正当でない場合には、ステップ５１８へ移行する。
【０１３８】
ステップ５１６では、招待状データをアプリケーションメモリ２２に認証情報７２として記憶する。
【０１３９】
ステップ５１８では、例えばピアＢのユーザの操作等によってグループＸからの脱会要求を指示されたか否かを判断し、指示された場合にはステップ５２０へ移行し、指示されていない場合にはステップ５０２へ移行し、上記と同様の処理を繰り返す。
【０１４０】
ステップ５２０では、脱会要求をピアＡへ送信し、次のステップ５２２では、ピアＡから証明失効リストを受信したか否かを判断し、受信していない場合には受信するまで待機し、受信した場合には、ステップ５２４へ移行する。
【０１４１】
ステップ５２４では、受信した証明失効リストを参照して、ピアＢ用の電子証明書が失効していることを確認し、その電子証明書を消去する。これにより、ピアＢはセキュアＰ２ＰグループＸから脱会したこととなる。
【０１４２】
なお、他のピアＣ等がグループＸを参加要求する場合や脱会要求する場合も同様である。すなわち、図１５に示すように、ピアＢがセキュアＰ２ＰグループＸに参加を要求するべくピアＡに参加要求すると、ピアＡからピアＢに対してピアＢ用の招待状データ７４Ｂが送信されるが、ピアＣがセキュアＰ２ＰグループＸに参加を要求すると、ピアＡからピアＣに対してピアＣ用の招待状データ７４Ｃが送信される。
【０１４３】
このようにして、招待状データを受信し、グループＸでの通信用としての電子証明書及び証明失効リストを取得したピアＢやピアＡは、以後のグループＸ内における通信では、この電子証明書及び証明失効リストを用いて通信相手の正当性を確認してから通信を行う。
【０１４４】
例えば、図１６に示すように、ピアＢがピアＣに対して何らかの通信を行おうとする場合には、まずグループＸ（ピアＡ）によって発行されたピアＢ用の電子証明書７６ＢをピアＣに送信する。この電子証明書７６Ｂを受信したピアＣでは、既に受信している証明失効リスト７８Ｃを参照してピアＢ用の電子証明書７６Ｃが失効していないか確認し、失効していなければ、ピアＢ用の電子証明書７６Ｂの正当性を確認する。ピアＢ用の電子証明書７６Ｂの正当性の確認は、グループＸ用の公開鍵を例えばピア管理サービス部４８に依頼する等して取得し、この公開鍵でピアＢ用の電子証明書７６Ｂの電子署名を復号し、これとピアＢ用の電子証明書７６Ｂのデータ部のダイジェストデータとを比較して両者が一致するか否かを確認すればよい。
【０１４５】
ピアＢ用の電子証明書７６Ｂの正当性が確認された場合には、その旨をピアＢに対して通知する。そして、同様に、ピアＣもピアＢに対してグループＸによって発行されたピアＣ用の電子証明書７６ＣをピアＢに送信し、ピアＢは上記と同様にピアＣの正当性を確認する。
【０１４６】
ピアＢ、Ｃ双方で正当性が確認された後は、例えばピアＢが共通鍵を生成して、これをピアＣの公開鍵で暗号化してピアＣに送信する。ピアＣは、自身の秘密鍵で複合して共通鍵を得る。以後の通信においては、メッセージを送信する場合には、共通鍵を用いてメッセージを暗号化して送信し、受信側では、共通鍵でメッセージを復号し、そのメッセージに応じた処理を行う。これにより、セキュアＰ２ＰグループＸ内における通信の安全性が向上し、ファイル等を安全に共有することができる。
【０１４７】
なお、上記の処理において、電子証明書の作成は証明発行部７０Ａが、メッセージ等の暗号化は暗号化部７０Ｂが、メッセージ等の復号は復号化部７０Ｃが、電子署名の確認は電子署名確認部７０Ｄが、電子署名の生成は電子署名生成部７０Ｅが、公開鍵及び秘密鍵の生成は、鍵生成部７０Ｆが、証明失効リストの作成は失効リスト作成部７０Ｇが、認証情報の管理は認証情報管理部７０Ｈがそれぞれ実行する。なお、失効リスト作成部７０Ｇは、セキュアＰ２Ｐグループを作成しようとするピアのみが備えていればよい。
【０１４８】
次に、上記のセキュアＰ２Ｐグループに属するピア１２において実行される各種アプリケーションについて説明する。
【０１４９】
まず、監査情報記録アプリケーションについて説明する。図１７には、監査情報記録アプリケーションを実行する監査情報記録部８０の概略構成を示した。この監査情報記録部８０は、各種アプリケーションを実行するアプリケーション実行部２０の一部を構成する実行部である。なお、図１７では、説明の簡単のため監査情報記録アプリケーションに関係する機能部のみを示している。
【０１５０】
監査情報記録部８０は、セキュアＰ２Ｐグループ内でファイルの共有やメッセージの交換が行われる際に、その通信の記録を監査情報として記録する機能を有し、記録部８０Ａ、検知部８０Ｂ、検知通知部８０Ｃ、ファイル取出し受付部８０Ｄ、及び暗号化復号化部８０Ｅ等を含んで構成されている。また、検知部８０Ｂは、ＯＣＲ部８２及び推測部８４を含んで構成されている。この監査情報記録部８０は、セキュアＰ２Ｐグループに属する各ピアが備えており、各ピアにおいて監査情報が記録される。
【０１５１】
各種のアプリケーション８６から他ピアへ送信されるデータ及び他ピアからアプリケーション８６に送信されるデータは、記録部８０Ａによってモニタリングされ、そのデータの通信に関する情報が監査ログ８８としてアプリケーションメモリ２２に記録される。なお、各種のアプリケーション８６から他ピアへ送信されるデータのコンテンツデータは、基本的には上記の認証部７０によって暗号化され、また、他ピアから各種のアプリケーション８６へ送信されるデータも暗号化されている場合がある。この場合、暗号化復号化部８０Ｅにより復号処理を依頼し、復号化したデータに基づいて監査ログ８８を記録する。
【０１５２】
監査ログ８８には、例えばそのデータの送信日時又は受信日時、送信元のピア及び送信先のピアに関する情報、そのデータに対してなされた処理（書き換え、消去、作成等）等の情報が記録される。
【０１５３】
また、これらの情報の他に、アプリケーション８６と他ピアとの間で送受信されるデータの取り扱いに関する取り扱い情報（例えば、取り扱い注意、機密、ｉｎｔｅｒｎａｌ  ｕｓｅｄ等）を含めることもできる。例えば、アプリケーション８６と他ピアとの間で送受信されるデータが、コンテンツデータとそのコンテンツデータの特徴を表すメタデータとで構成されている場合、上記の取り扱い情報の各単語を検知フィルター用語として予め登録しておき、メタデータに検知フィルター用語が含まれるか否かを判断する。そして、メタデータに検知フィルター用語が含まれている場合には、その用語と共に監査ログ８８に記録する。
【０１５４】
また、メタデータだけでなく、コンテンツデータに検知フィルター用語が含まれているか否かを判断するようにしてもよい。この場合、コンテンツデータのデータフォーマットを推測する推測部８４が、コンテンツデータがテキストデータであるのかイメージデータ（ＴＩＦＦ、ＪＰＥＧ、ＧＩＦ、ＰＧＮ等）であるのかを判断する。そして、推測部８４において、コンテンツデータがイメージデータであると判断した場合には、ＯＣＲ部８０Ｂが、コンテンツデータにＯＣＲ処理を施して、コンテンツデータに含まれるテキストデータを抽出し、このテキストデータに上記の検知フィルター用語が含まれているか否かを判断する。コンテンツデータがテキストデータである場合には、そのテキストデータに検知フィルター用語が含まれているか否かを判断する。そして、検知フィルター用語がコンテンツデータに含まれている場合には、これを監査ログ８８に記録する。
【０１５５】
検知通知部８０Ｃは、アプリケーション８６とセキュアＰ２ＰグループＸに属する他ピアとの間で送受信されるメッセージが暗号化されていない場合に、これをセキュアＰ２ＰグループＸの全てのピアに警告メッセージを送信する。このように、セキュアＰ２ＰグループＸのピアに対してメッセージが暗号化せずに送信されたことを警告することにより、以後のメッセージの送信が暗号化されずに行われるのを抑えることができる。
【０１５６】
次に、セキュアＰ２ＰグループＸのピアに保存されるデータが全て暗号化した状態で保存される場合において、そのデータが他のアプリケーションによって取り出されたときの監査情報を記録する場合について説明する。
【０１５７】
ファイル取出し受付部８０Ｄは、アプリケーション８６からアプリケーションメモリ２２に記憶された共有ファイル８９の取出し要求を受け付ける。共有ファイル８９は、そのピアに固有の暗号化方式（鍵）によって暗号化されて保存される。この暗号化方式は、例えばＤＥＳ、ＡＥＳ等の共通鍵暗号方式を用いる方が処理時間を短くすることができるため好ましい。ここでは、共有ファイル８９は、そのピアに固有の共通鍵で暗号化されて保存されるものとして説明する。このように、共有ファイル８９は暗号化されているため、これを他ピアでそのまま参照しようとしてもできない。
【０１５８】
暗号化復号化部８０Ｅは、共有ファイル８９を暗号化した共通鍵を、自ピアの公開鍵で暗号化すると共に、取出し要求された共有ファイル８９の要求元のピアの公開鍵で暗号化する。なお、要求元が複数の場合には、各要求元のピアの公開鍵で共通鍵を各々暗号化する。そして、ファイル取出し受付部８０Ｄは、共通鍵で暗号化された共通ファイル８９と、共通鍵を公開鍵で暗号化した鍵データとを再暗号化データとして要求元のアプリケーション８６へ渡す。このとき、記録部８０Ａは、共有ファイル８９を取り出した日時、要求元に関する情報、取り出した共有ファイル８９の情報等を監査ログ８８に記録する。
【０１５９】
再暗号化データは、アプリケーション８６によって例えばネットワークを介して他ピアへ送信されたり、記録媒体に記録された外部に持ち出されたりする。再暗号化データを取得した他ピアでは、自身の秘密鍵で鍵データを復号して共通鍵を取得し、この共通鍵を用いて暗号化された共有ファイル８９を復号する。これにより、共有ファイル８９を厳重に秘密管理することができる。
【０１６０】
また、上記の検知フィルター用語を予め登録しておき、検知部８０Ｂにおいて上記と同様に取出し要求があった共有ファイル８９のメタデータに検知フィルター用語が含まれているか否かを判断し、検知フィルター用語が含まれている場合にのみ暗号化した状態のまま共有ファイル８９を取り出し、その他の場合は復号化して取り出すようにしてもよい。
【０１６１】
さらに、上記と同様に、検知部８０Ｂの推測部８４において共有ファイル８９のコンテンツデータがテキストデータであるのかイメージデータを判断し、イメージデータであると判断した場合には、ＯＣＲ部８０Ｂが、コンテンツデータにＯＣＲ処理を施して、コンテンツデータに含まれるテキストデータを抽出し、このテキストデータに上記の検知フィルター用語が含まれているか否かを判断する。コンテンツデータがテキストデータである場合には、そのテキストデータに検知フィルター用語が含まれているか否かを判断する。そして、検知フィルター用語がコンテンツデータに含まれている場合にのみ暗号化した状態のまま共有ファイル８９を取り出し、その他の場合は復号化して取り出すようにしてもよい。
【０１６２】
次に、ピア１２がプリンタの場合において、印刷データを印刷する際に、その印刷データに関するメタデータや機密レベルに関する情報を印刷するアプリケーションについて説明する。
【０１６３】
図１８には、プリンタであるピア１２（以下、プリンタ１２という）の概略構成を示した。なお、上記と同一機能を有する部分には同一符号を付し、その詳細な説明は省略する。
【０１６４】
プリンタ１２は、印刷部９０を含んで構成され、印刷部９０は、検知部８０Ｂ、印刷要求受付部９０Ａ、不可視データ生成部９０Ｂ、ウォーターマーク生成部９０Ｃ、印刷実行部９０Ｄ等を含んで構成されている。
【０１６５】
印刷要求受付部９０Ａは、Ｐ２Ｐ基盤構成部１６を介してセキュアＰ２ＰグループＸに属する他ピアから送信された印刷要求を受け付ける。
【０１６６】
不可視データ生成部９０Ｂは、例えば受信した印刷データのメタデータや、印刷データの印刷日時や印刷データを印刷したピアに関する情報等の不可視データを生成する。印刷実行部９０Ｄは、印刷データと共に不可視データを印刷する機能を有する。なお、不可視データは、そのままでは内容を認識することができないデータであり、その印刷方法としては、例えば不可視インクにより印刷したり、特殊な模様やバーコード等として印刷したりする方法がある。
【０１６７】
ウォーターマーク生成部９０Ｃは、上記の検知フィルター用語に対応したウォーターマークを生成する。印刷データに検知フィルター用語が含まれるか否かは、前述したのと同様に、検知部８０Ｂで判断される。
【０１６８】
印刷実行部９０Ｄは、印刷データを用紙に印刷すると共に、不可視データ生成部９０Ｂで生成された不可視データやウォーターマーク生成部９０Ｃで生成されたウォーターマークを用紙に印刷する。このようにして印刷用紙のメタデータや機密レベルを印刷することにより、その印刷用紙に記録された印刷データの出所や重要度等の情報を容易に得ることが可能となる。
【図面の簡単な説明】
【０１６９】
【図１】Ｐ２Ｐネットワークのネットワーク構成図である。
【図２】ピュアＰ２Ｐのネットワーク構成図である。
【図３】ハイブリッドＰ２Ｐのネットワーク構成図である。
【図４】Ｐ２Ｐネットワークのグループについて説明するための概念図である。
【図５】ピアの基本的構成のブロック図である。
【図６】メッセージ制御部のブロック図である。
【図７】エンドピアで実行される処理のフローチャートである。
【図８】転送機能付きピアで実行される処理のフローチャートである。
【図９】スパニングツリーのイメージ図である。
【図１０】Ｐ２Ｐネットワークの他の形態のネットワーク構成図である。
【図１１】待ち合わせ機能付きピアで実行される処理のフローチャートである。
【図１２】認証部の概略構成を示すブロック図である。
【図１３】セキュアＰ２Ｐグループを管理するピアが実行する処理のフローチャートである。
【図１４】セキュアＰ２Ｐグループに参加するピアが実行する処理のフローチャートである。
【図１５】セキュアＰ２Ｐグループへ参加する際における電子証明書の授受について説明するためのシーケンスを示す図である。
【図１６】セキュアＰ２Ｐグループ内のピア同士が通信する際の認証処理について説明するためのシーケンスを示す図である。
【図１７】監査情報記録部の概略構成を示すブロック図である。
【図１８】印刷部の概略構成を示すブロック図である。
【符号の説明】
【０１７０】
１０、１１      Ｐ２Ｐネットワーク
１２      ピア
１６      Ｐ２Ｐ基盤構成部
１８      Ｐ２Ｐ基盤管理データ記憶部
２０      アプリケーション実行部
２２      アプリケーションメモリ
２４      メッセージ制御部
２６      データ管理部
２８      送信部
３０      受信部
３２      ネットワーク
３４      サービス実行部
３６      メッセージディスパッチ部
３８      ピア探索サービス部
４０      告知情報公開サービス部
４２      告知情報取得サービス部
４４      グループ管理サービス部
４６      ユーザ管理サービス部
４８      ピア管理サービス部
【図１】
2006180228.tif 000003
【図２】
2006180228.tif 000004
【図３】
2006180228.tif 000005
【図４】
2006180228.tif 000006
【図５】
2006180228.tif 000007
【図６】
2006180228.tif 000008
【図７】
2006180228.tif 000009
【図８】
2006180228.tif 000010
【図９】
2006180228.tif 000011
【図１０】
2006180228.tif 000012
【図１１】
2006180228.tif 000013
【図１２】
2006180228.tif 000014
【図１３】
2006180228.tif 000015
【図１４】
2006180228.tif 000016
【図１５】
2006180228.tif 000017
【図１６】
2006180228.tif 000018
【図１７】
2006180228.tif 000019
【図１８】
2006180228.tif 000020