(57)【要約】【課題】データの一部であるピースを配信するデータ配信システムにおいて、送信を行った通信装置に対して配信量に応じたインセンティブを付与することが可能であり且つ不正を防止可能な通信技術を提供する。【解決手段】鍵サーバ５３は、暗号化ピースを復号するための復号鍵を要求すると共に、当該復号鍵を生成するための鍵生成情報、当該暗号化ピースのコンテンツ種類ＩＤ及び当該暗号化ピースのピース番号を含む鍵要求をノード（例えばノード５１Ｂ）から受信すると、復号鍵が要求されているピースに対する課金処理を行い、当該ピースを最後に配信した他のノード（例えばノード５１Ａ）に対して当該ピースの配信量に応じた報酬ポイントを計算する報酬ポイント計算処理を行う。そして、鍵サーバ５３は、当該復号鍵を生成する復号鍵生成処理を行って、当該復号鍵をノード５１Ｂに送信する。【選択図】        図１
2010166432.tif 000002
【特許請求の範囲】
【請求項１】
ピースは、データの一部であり、通信装置で暗号化され前記通信装置から前記他の通信装置へ送信されるものであって、
当該ピースを復号するための復号鍵を要求する鍵要求は、前記データを識別するためのデータ識別情報と、前記復号鍵を生成するための鍵生成情報とを含むものであり、且つ前記他の通信装置から送信されるものであって、
前記鍵生成情報は、前記通信装置に割り当てられた装置識別情報を含み、
前記鍵要求に含まれる前記データ識別情報と前記鍵生成情報とを取得する取得手段と、
前記データ識別情報と前記鍵生成情報とを用いて、前記通信装置によって送信された前記ピースのデータ量である配信量を計算する第１計算手段と、
前記配信量を用いて、前記通信装置に対して付与する報酬ポイントを計算する第２計算手段と、
前記報酬ポイントを前記装置識別情報と対応付けて記憶する第１記憶手段とを備える
ことを特徴とするサーバ。
【請求項２】
前記鍵要求は、前記ピースを特定するピース特定情報を更に含み、
前記取得手段は、前記ピース特定情報を更に取得し、
前記第１計算手段は、前記ピース特定情報をも用いて、前記配信量を計算する
ことを特徴とする請求項１に記載のサーバ。
【請求項３】
前記ピースは、送信を仲介する複数の通信装置の全部又は一部により各々異なる暗号鍵で暗号化され、
前記鍵生成情報は、前記ピースを復号するための１又は複数の復号鍵を生成するための情報であり、ピースの送信を仲介した複数の各前記通信装置の送信順序を判定可能に各前記装置識別情報を含み、
前記取得手段は、前記データ識別情報と、前記ピースを最後に送信した通信装置の前記装置識別情報とを取得し、
前記第２計算手段は、前記配信量を用いて、前記ピースを最後に送信した他の通信装置に対して付与する報酬ポイントを計算し、
前記第１記憶手段は、前記ピースを最後に送信した通信装置の前記装置識別情報と対応付けて、前記報酬ポイントを記憶する
ことを特徴とする請求項１に記載のサーバ。
【請求項４】
前記ピースは、送信を仲介する第１の通信装置が第１暗号鍵を用いて暗号化して第２の通信装置に送信した後当該第２の通信装置が復号して第２暗号鍵を用いて暗号化したものであり、
前記鍵生成情報は、前記第２暗号鍵を用いて暗号化された前記ピースを復号するための復号鍵を生成するための情報であり、前記第２の通信装置の前記装置識別情報を含み、
前記取得手段は、前記データ識別情報と、前記第２の通信装置の前記装置識別情報とを取得し、
前記第２計算手段は、前記配信量を用いて、前記第２の通信装置に対して付与する報酬ポイントを計算し、
前記第１記憶手段は、前記第２の通信装置の前記装置識別情報と対応付けて、前記報酬ポイントを記憶する
ことを特徴とする請求項１に記載のサーバ。
【請求項５】
前記ピースは、送信を仲介する複数の通信装置の全部又は一部により各々暗号化され、
前記鍵生成情報は、前記ピースを復号するための１又は複数の復号鍵を生成するための情報であり、前記ピースの送信を仲介した複数の各前記通信装置の各前記装置識別情報とを含み、
前記取得手段は、前記データ識別情報と、各前記通信装置の各前記装置識別情報とを取得し、
前記第２計算手段は、前記配信量を用いて、前記ピースの送信を仲介した各前記通信装置に対して付与する報酬ポイントを各々計算し、
前記第１記憶手段は、各前記通信装置の前記装置識別情報と対応付けて、前記報酬ポイントを各々記憶する
ことを特徴とする請求項１に記載のサーバ。
【請求項６】
前記ピースは、送信を仲介する複数の通信装置の全部又は一部により各々暗号化され、
前記鍵生成情報は、前記ピースを復号するための１又は複数の復号鍵を生成するための情報であり、前記ピースの送信を仲介した複数の各前記通信装置の送信順序を判定可能に各前記装置識別情報とを含み、
前記取得手段は、前記データ識別情報と、各前記通信装置の各前記装置識別情報とを取得し、
前記第２計算手段は、前記配信量を用いて、前記ピースの送信を仲介した各前記通信装置に対して送信順序に応じた前記報酬ポイントを各々計算し、
前記第１記憶手段は、各前記通信装置の前記装置識別情報と対応付けて、前記報酬ポイントを各々記憶する
ことを特徴とする請求項１に記載のサーバ。
【請求項７】
前記ピース特定情報は、前記ピースが前記データのどの部分であるかを特定するものであり、
前記データのどの部分かに応じた前記ピースのデータ量を示すサイズ情報を記憶する第２記憶手段を更に備え、
前記第１計算手段は、前記データ識別情報、前記ピース特定情報及び前記サイズ情報を用いて、前記ピースのデータ量を判別することにより、前記配信量を計算する
ことを特徴とする請求項２に記載のサーバ。
【請求項８】
前記第２計算手段は、前記配信量を用いて、前記ピースが前記データのどの部分であるかに応じて前記報酬ポイントを計算する
ことを特徴とする請求項７に記載のサーバ。
【請求項９】
データ毎に単位量当たりの換算ポイントを記憶する第３記憶手段を更に備え、
前記第２計算手段は、前記ピースを含む前記データの前記換算ポイント及び前記配信量を用いて、前記報酬ポイントを計算する
ことを特徴とする請求項１乃至８のいずれか一項に記載のサーバ。
【請求項１０】
前記鍵要求は、当該鍵要求を送信する前記他の通信装置に割り当てられた装置識別情報を更に含み、
前記取得手段は、前記他の通信装置に割り当てられた装置識別情報を更に取得し、
前記他の通信装置の前記装置識別情報と対応付けられて前記第１記憶手段に記憶された前記報酬ポイントを用いて値引き額を決定して、前記他の通信装置に対する課金額を計算する課金処理手段とを更に備える
ことを特徴とする請求項１乃至９のいずれか一項に記載のサーバ。
【請求項１１】
前記鍵要求は、当該鍵要求を送信する前記他の通信装置に割り当てられた装置識別情報を更に含み、
前記取得手段は、前記他の通信装置に割り当てられた装置識別情報を更に取得し、
前記他の通信装置の前記装置識別情報と対応付けられて前記第１記憶手段に記憶された前記報酬ポイントに応じた特典を提供する提供手段とを更に備える
ことを特徴とする請求項１乃至１０のいずれか一項に記載のサーバ。
【請求項１２】
前記取得手段は、前記鍵要求を受信し前記鍵生成情報を用いて前記復号鍵を生成する鍵サーバから、前記鍵要求に含まれる前記データ識別情報と前記鍵生成情報とを少なくとも取得する
ことを特徴とする請求項１乃至１１のいずれか一項に記載のサーバ。
【請求項１３】
前記鍵要求を受信する受信手段と、
前記鍵生成情報を用いて、前記復号鍵を生成する鍵生成手段と、
前記復号鍵を前記他の通信装置に送信する送信手段とを更に備え、
前記取得手段は、受信された前記鍵要求に含まれる前記データ識別情報と前記鍵生成情報とを少なくとも取得する
ことを特徴とする請求項１乃至１１のいずれか一項に記載のサーバ。
【請求項１４】
前記ピースは、当該ピースの送信を仲介した複数の前記通信装置の全部又は一部が生成した情報であってその生成毎に異なる一時情報及び複数の前記通信装置に各々割り当てられた秘密情報を用いて生成した一時対称鍵により各々暗号化されており、
前記鍵生成情報は、前記ピースの送信を仲介した前記複数の通信装置の前記装置識別情報及び前記一時情報を対応付けて含み、
複数の通信装置のそれぞれに割り当てられた秘密情報と、各通信装置に割り当てられた装置識別情報とを各々対応付けて記憶する第４記憶手段を更に備え、
前記鍵生成手段は、前記鍵要求に含まれる各前記装置識別情報に対応付けられて記憶されている前記秘密情報と、当該各装置識別情報と対応付けられて前記鍵要求に含まれる各前記一時情報とを用いて、前記復号鍵を生成する
ことを特徴とする請求項１３に記載のサーバ。
【請求項１５】
サーバで実行される情報処理方法であって、
ピースは、データの一部であり、通信装置で暗号化され前記通信装置から前記他の通信装置へ送信されるものであって、
当該ピースを復号するための復号鍵を要求する鍵要求は、前記データを識別するためのデータ識別情報と、前記復号鍵を生成するための鍵生成情報とを含むものであり、且つ前記他の通信装置から送信されるものであって、
前記鍵生成情報は、前記通信装置に割り当てられた装置識別情報を含み、
前記鍵要求に含まれる前記データ識別情報と前記装置識別情報とを取得する取得ステップと、
前記データ識別情報と前記鍵生成情報とを用いて、前記通信装置によって送信された前記ピースのデータ量である配信量を計算する第１計算ステップと、
前記配信量を用いて、前記通信装置に対して付与する報酬ポイントを計算する第２計算ステップと、
前記報酬ポイントを前記装置識別情報と対応付けて記憶手段に記憶させる第１記憶制御ステップとを含むことを特徴とする情報処理方法。
【請求項１６】
ピースは、データの一部であり、通信装置で暗号化され前記通信装置から前記他の通信装置へ送信されるものであって、
当該ピースを復号するための復号鍵を要求する鍵要求は、前記データを識別するためのデータ識別情報と、前記復号鍵を生成するための鍵生成情報とを含むものであり、且つ前記他の通信装置から送信されるものであって、
前記鍵生成情報は、前記通信装置に割り当てられた装置識別情報を含み、
前記鍵要求に含まれる前記データ識別情報と前記鍵生成情報とを取得する取得手段と、
前記データ識別情報と前記鍵生成情報とを用いて、前記通信装置によって送信された前記ピースのデータ量である配信量を計算する第１計算手段と、
前記配信量を用いて、前記通信装置に対して付与する報酬ポイントを計算する第２計算手段と、
前記報酬ポイントを前記装置識別情報と対応付けて記憶手段に記憶させる第１記憶制御手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
Ｐ２Ｐ（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）技術を用いたコンテンツ配信では、端末が受信したコンテンツを他の端末へ二次配信を行うことでサービス提供者の配信コストを抑えることが期待される。二次配信を促進し配信コストを抑えるには、二次配信を担った端末のユーザにインセンティブを与えることが重要である。近年では、このようなインセンティブを付与する技術が各種開発されている（例えば特許文献１〜４参照）。特許文献１の技術では、Ｐ２Ｐでの二次配信を担うことを選択した端末に対して、最初に配信を行う一次配信サーバから優先順位をあげて送信する。特許文献２の技術では、Ｐ２Ｐでの二次配信を担うことを選択した端末に対して、コンテンツ課金の額を減ずる。特許文献３の技術では、二次配信を担う端末が二次配信の配信量を、サービスを提供するサーバへ予め通知してインセンティブの支払いを受ける。特許文献４の技術では、配信を仲介する業者に利益配分する技術として、配信を仲介した端末を特定する経路情報をコンテンツと共に二次配信し、コンテンツを再生する端末がライセンスキーを取得する際に、この経路情報をライセンスサーバに通知し、その経路情報で特定された端末へ利益を分配する。
【０００３】
ところで、配信量が増えても配信コストを抑えるには、二次配信を担う各端末は平均で受信量以上の配信量を担う必要がある。一方、各端末がＰ２Ｐの二次配信を担ったとしても、上り回線の容量が不十分な場合や、ダウンロード後に早期にネットワークから離脱する場合などがあるため、十分な量を二次配信できない場合がある。また、Ｐ２Ｐ技術ではひとつのコンテンツを複数のピースに分割して、各端末が各ピースを複数の端末から受信することで効率と耐障害性とを高める場合が多い。この場合、同じ二次配信を担う端末でも配信量が異なる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３９６２３７２号公報
【特許文献２】特許第４１２７７５３号公報
【特許文献３】特許第４０６６４４８号公報
【特許文献４】特開２００２−２２９９６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１〜４の技術では、配信量に応じてインセンティブを付与することができないため、十分な量の二次配信を担う端末の奨励に結びつかない恐れがあった。特に、最後尾のピースを二次配信する端末へのインセンティブを高めることが困難であった。例えば、コンテンツをストリーミング方式で再生する場合、途中で再生を止めることがあるため、コンテンツの先頭に比べ最後尾のほうのピースを保持している端末が少ないからである。また、最後尾のピースを保持している端末であっても、再生終了後のネットワーク離脱までの時間が短い場合には、二次配信する可能性が低くなるからである。また、特許文献３の技術では、二次配信した配信量を送信元の端末がサーバへ通知する際に、実際に二次配信した配信量以上を通知するなどの不正が行われる恐れがあった。
【０００６】
本発明は、上記に鑑みてなされたものであって、データの一部であるピースを配信するデータ配信システムにおいて、送信を行った通信装置に対して配信量に応じたインセンティブを付与することが可能であり且つ不正を防止可能なサーバ、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、本発明は、サーバであって、ピースは、データの一部であり、通信装置で暗号化され前記通信装置から前記他の通信装置へ送信されるものであって、当該ピースを復号するための復号鍵を要求する鍵要求は、前記データを識別するためのデータ識別情報と、前記復号鍵を生成するための鍵生成情報とを含むものであり、且つ前記他の通信装置から送信されるものであって、前記鍵生成情報は、前記通信装置に割り当てられた装置識別情報を含み、前記鍵要求に含まれる前記データ識別情報と前記鍵生成情報とを取得する取得手段と、前記データ識別情報と前記鍵生成情報とを用いて、前記通信装置によって送信された前記ピースのデータ量である配信量を計算する第１計算手段と、前記配信量を用いて、前記通信装置に対して付与する報酬ポイントを計算する第２計算手段と、前記報酬ポイントを前記装置識別情報と対応付けて記憶する第１記憶手段とを備えることを特徴とする。
【０００８】
また、本発明は、サーバで実行される情報処理方法であって、ピースは、データの一部であり、通信装置で暗号化され前記通信装置から前記他の通信装置へ送信されるものであって、当該ピースを復号するための復号鍵を要求する鍵要求は、前記データを識別するためのデータ識別情報と、前記復号鍵を生成するための鍵生成情報とを含むものであり、且つ前記他の通信装置から送信されるものであって、前記鍵生成情報は、前記通信装置に割り当てられた装置識別情報を含み、前記鍵要求に含まれる前記データ識別情報と前記装置識別情報とを取得する取得ステップと、前記データ識別情報と前記鍵生成情報とを用いて、前記通信装置によって送信された前記ピースのデータ量である配信量を計算する第１計算ステップと、前記配信量を用いて、前記通信装置に対して付与する報酬ポイントを計算する第２計算ステップと、前記報酬ポイントを前記装置識別情報と対応付けて記憶手段に記憶させる第１記憶制御ステップとを含むことを特徴とする。
【０００９】
また、本発明は、プログラムであって、ピースは、データの一部であり、通信装置で暗号化され前記通信装置から前記他の通信装置へ送信されるものであって、当該ピースを復号するための復号鍵を要求する鍵要求は、前記データを識別するためのデータ識別情報と、前記復号鍵を生成するための鍵生成情報とを含むものであり、且つ前記他の通信装置から送信されるものであって、前記鍵生成情報は、前記通信装置に割り当てられた装置識別情報を含み、前記鍵要求に含まれる前記データ識別情報と前記鍵生成情報とを取得する取得手段と、前記データ識別情報と前記鍵生成情報とを用いて、前記通信装置によって送信された前記ピースのデータ量である配信量を計算する第１計算手段と、前記配信量を用いて、前記通信装置に対して付与する報酬ポイントを計算する第２計算手段と、前記報酬ポイントを前記装置識別情報と対応付けて記憶手段に記憶させる第１記憶制御手段としてコンピュータを機能させる。
【発明の効果】
【００１０】
本発明によれば、データの一部であるピースを配信するデータ配信システムにおいて、送信を行った通信装置に対して配信量に応じたインセンティブを付与することが可能であり且つ不正を防止可能になる。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施の形態にかかるデータ配信システムの構成を示す図である。
【図２】図２は、同実施の形態にかかるノード５０の機能的構成を例示する図である。
【図３】図３は、同実施の形態にかかるノード５１の機能的構成を例示する図である。
【図４】図４は、同実施の形態にかかるノード５０からノード５１Ａに送信される情報を模式的に示す図である。
【図５】図５は、同実施の形態にかかるノード５１Ａからノード５１Ｂに送信される情報を模式的に示す図である。
【図６】図６は、同実施の形態にかかるノード５１Ａからノード５１Ｂに送信される情報を模式的に示す図である。
【図７】図７は、同実施の形態にかかるノード５１Ｂから鍵サーバ５３に送信される情報を模式的に示す図である。
【図８】図８は、同実施の形態にかかる鍵サーバ５３からノード５１Ｂに送信される情報を模式的に示す図である。
【図９】図９は、同実施の形態にかかる鍵サーバ５３からノード５１Ｂに送信される情報を模式的に示す図である。
【図１０】図１０は、同実施の形態にかかる鍵サーバ５３の機能的構成を例示する図である。
【図１１】図１１は、同実施の形態にかかる価格情報格納部５３９に記憶される、各配信データの価格を例示する図である。
【図１２】図１２は、同実施の形態にかかる報酬ポイント格納部５４１に記憶される報酬ポイントの合計を例示する図である。
【図１３】図１３は、同実施の形態にかかるピース情報格納部５３５に記憶されるピース情報を例示する図である。
【図１４】図１４は、報酬ポイント換算情報格納部５４０が記憶する換算ポイントを例示する図である。
【図１５】図１５は、同実施の形態にかかる配信開始ノードであるノード５０が行う配信処理の手順を示すフローチャートである。
【図１６】図１６は、同実施の形態にかかるノード５１がノード５０又は他のノード５１から暗号化ピースを受信する受信処理の手順を示すフローチャートである。
【図１７】図１７は、同実施の形態にかかるノードに受信される情報を模式的に示す図である。
【図１８】図１８は、同実施の形態にかかる配信開始ノード以外のノード５１が行う配信処理の手順を示すフローチャートである。
【図１９】図１９は、同実施の形態にかかるノードが送信する情報を模式的に示す図である。
【図２０】図２０は、同実施の形態にかかるノード５１が鍵サーバ５３から復号鍵を取得しこれを用いて暗号化ピースを復号する復号処理の手順を示すフローチャートである。
【図２１】図２１は、同実施の形態にかかるノードが送信する情報を模式的に示す図である。
【図２２】図２２は、同実施の形態にかかるノードが受信する対称鍵を模式的に示す図である。
【図２３】図２３は、同実施の形態にかかる鍵サーバ５３がノード５１からの鍵要求に応じて復号鍵を送信する鍵送信処理の手順を示すフローチャートである。
【図２４】図２４は、同実施の形態にかかる課金処理の手順を示すフローチャートである。
【図２５】図２５は、同実施の形態にかかる報酬ポイント計算処理の手順を示すフローチャートである。
【図２６】図２６は、同実施の形態にかかる復号鍵生成処理の手順を示すフローチャートである。
【図２７】図２７は、第２の実施の形態にかかる鍵サーバ５３が鍵送信処理を行う際に行う報酬ポイント計算処理の手順を示すフローチャートである。
【図２８】図２８は、第３の実施の形態にかかる報酬ポイント換算情報格納部５４０が記憶する換算ポイント及び重み係数を例示する図である。
【図２９】図２９は、同実施の形態にかかる鍵サーバ５３が鍵送信処理を行う際に行う報酬ポイント計算処理の手順を示すフローチャートである。
【図３０】図３０は、一変形例にかかる価格情報格納部５３９に記憶される価格及び交換ポイントを例示する図である。
【図３１】図３１は、同変形例にかかる課金処理の手順を示すフローチャートである。
【図３２】図３２は、一変形例にかかる鍵送信処理の手順を示すフローチャートである。
【図３３】図３３は、一変形例にかかる報酬ポイント格納部５４１に記憶される報酬ポイントを例示する図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明にかかるサーバ、情報処理方法及びプログラムの最良な実施の形態を詳細に説明する。
[第１の実施の形態]
（１）構成
＜データ配信システムの構成＞
図１は、本実施の形態にかかるデータ配信システムの構成を示す図である。本実施の形態にかかるデータ配信システムにおいては、複数のノード５０，５１Ａ〜５１ＢがＰ２ＰネットワークＮＴを介して接続されている。図示しないがこの他のノードもＰ２ＰネットワークＮＴを介して接続され得る。また、各ノード５０，５１Ａ〜５１Ｂは鍵サーバ５３と接続されている。各ノード５０，５１Ａ〜５１Ｂは、各ノードに一意に割り当てられた装置識別情報であるノードＩＤと、各ノードに一意に割り当てられた割当情報として秘密鍵を保持している。各ノード５０，５１Ａ〜５１Ｂに割り当てられたノードＩＤを各々ID#0,ID#1,ID#2とし、秘密鍵を各々s_0,s_1,s_2とする。尚、各ノード５０，５１Ａ〜５１Ｂのうちノード５０は、データの配信の基点となる配信開始ノードであり、配信対象のデータ（配信データという）を保持している。配信データは、平文である場合も既に暗号化された暗号文である場合もある。例えば、当該配信データは、暗号化として何らかのＤＲＭ (Digital Right Management) Systemによって保護されたビデオデータであっても良い。鍵サーバ５３は、各ノード５０，５１Ａ〜５１Ｂに各々割り当てられた秘密鍵を保持している。尚、以降、ノード５１Ａ〜５１Ｂを各々区別する必要がない場合、単にノード５１と記載する。
【００１３】
ここで、各ノード５０，５１と、鍵サーバ５３との各装置のハードウェア構成について説明する。各装置は各々、装置全体を制御するＣＰＵ（Central Processing Unit）等の制御装置と、各種データや各種プログラムを記憶するＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）等の記憶装置と、各種データや各種プログラムを記憶するＨＤＤ（Hard Disk Drive）やＣＤ（Compact Disk）ドライブ装置等の外部記憶装置と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、各装置には各々、情報を表示する表示装置と、ユーザの指示入力を受け付けるキーボードやマウス等の入力装置と、外部装置の通信を制御する通信Ｉ／Ｆ（interface）とが有線又は無線により接続される。
【００１４】
＜配信開始ノードの構成＞
次に、上述したハードウェア構成において、配信開始ノードであるノード５０のＣＰＵが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図２は、ノード５０の機能的構成を例示する図である。ノード５０は、固有情報格納部５００と、乱数生成部５０１と、一時対称鍵生成部５０２と、ピース暗号化部５０３と、ピース化部５０４と、データ送信部５０５と、送信要求受付部５０６とを有する。尚、固有情報格納部５００は、例えばノード５０のＨＤＤなどの外部記憶装置に記憶領域として確保されるものである。乱数生成部５０１と、一時対称鍵生成部５０２と、ピース化部５０４と、ピース暗号化部５０３と、データ送信部５０５と、送信要求受付部５０６との実体は、ノード５０のＣＰＵのプログラム実行時にＲＡＭなどの記憶装置上に生成されるものである。尚、ノード５０の外部記憶装置には、配信データが予め記憶されている。
【００１５】
固有情報格納部５００は、当該ノード５０に割り当てられたノードＩＤ及び秘密鍵を記憶する。ピース化部５０４は、配信データを複数のピースに分割する。分割の方法は、例えば、固定のデータサイズ毎に先頭から配信データを分割する方法があるが、その限りではない。固定のデータサイズで配信データを分割した場合にはその余りを最後尾のピースとし、この最後尾のピースのデータサイズのみ可変となるようにしても良いし、その余りにパディングとしてダミーデータを挿入して最後尾のピースを形成し各ピースのデータサイズを固定にするようにしても良い。各ピースのデータサイズは鍵サーバ５３と予め共有しておく。共有の方法は例えばファイルコピーやネットワークを介した通信によるなどであって特に限定されない。また、各配信データには、各配信データを識別するためのコンテンツ種類ＩＤ（CID）が予め割り当てられており、ピース化部５０４は、配信データを分割する際に当該配信データのコンテンツ種類ＩＤを各ピースに各々対応付けるものとする。更に、ピース化部５０４は、配信データを分割する際に、各ピースを特定するピース特定情報を各ピースに対して割り当てる。具体的には、ピース化部５０４は、配信データを分割する際に、その先頭から最後尾まで順にピース番号を各ピースに割り当てるものとする。このピース番号は、各ピースが配信データのどの部分であるかを特定するピース特定情報となる。ピース化部５０４は、これらのコンテンツ種類ＩＤやピース番号を例えばピースのヘッダなどに書き込むようにしても良いし、暗号化されない状態でピースに別途付加するようにしても良い。
【００１６】
送信要求受付部５０６は、ピース化部５０４が分割したピースを要求するピース要求を他のノード５１から受信する。乱数生成部５０１は、送信要求受付部５０６がピース要求を受信した場合、その発生毎に異なり得る一時情報である乱数を生成する。一時情報とは、ノードで生成される度に異なり得る値となれば良く、例えば、乱数やタイムスタンプ、通信のシーケンス番号、ノードに固有のカウンタの値、Time Variant Parameterである。Time Variant Parameterについては、例えば文献ISO9798-1に記載されている。
【００１７】
一時対称鍵生成部５０２は、乱数生成部５０１が生成した乱数と、固有情報格納部５００に記憶された秘密鍵とを用いて関数Ｆにより一時対称鍵を生成する。これを式により表すと以下のように表される。
k_0 = F(s_0, r_0)
【００１８】
尚、関数Ｆは一方向性関数あるいは共通鍵暗号あるいは擬似乱数生成器であり、入力値である秘密鍵や乱数を知るものであってもこれらから出力値である一時対称鍵を推測できないものである。一時対称鍵とは、関数Ｆであって、関数Ｆの入力値と出力値との関係が一意に定められれば良く、例えば、ＳＨＡ−１やＳＨＡ２５６といったハッシュ関数であっても良く、ＡＥＳ、Ｈｉｅｒｏｃｒｙｐｔといった共通鍵暗号方式であっても良く、Ｍｅｒｓｅｎｎｅ  ｔｗｉｓｔｅｒといった疑似乱数生成器であっても良い。ハッシュ関数には、乱数と秘密鍵を結合した値が入力されても良い。共通鍵暗号方式では、乱数を秘密鍵で暗号化しても良く、秘密鍵を乱数で暗号化しても良い。共通鍵暗号方式では、乱数を秘密鍵で復号しても良く、秘密鍵を乱数で復号しても良い。擬似乱数生成器には、乱数と秘密鍵を結合した値が入力されても良い。
【００１９】
ピース暗号化部５０３は、一時対称鍵生成部５０２が生成した一時対称鍵を用いてピースを暗号化して、暗号化ピースを出力する。尚、一時対称鍵は暗号化に用いられる暗号鍵でもあり、暗号化ピースに対して行われている暗号化を復号するための復号鍵にもなる。データ送信部５０５は、ピース要求を送信した他のノード５１に対して、固有情報格納部５００に記憶されているノードＩＤと、乱数生成部５０１が生成した乱数と、ピース暗号化部５０３が出力した暗号化ピースとを送信する。
【００２０】
＜配信開始ノード以外のノードの構成＞
次に、配信開始ノード以外であるノード５１のＣＰＵが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図３は、ノード５１の機能的構成を例示する図である。ノード５１は、固有情報格納部５１０と、乱数生成部５１１と、一時対称鍵生成部５１２と、ピース暗号化部５１３と、データ受信部５１４と、データ送信部５１５と、送信要求受付部５１６と、データ格納部５１７と、送信要求送信部５１８と、鍵要求送信部５１９と、ピース復号部５２０と、暗号化決定部５２１と、乱数代替生成部５２２とを有する。尚、固有情報格納部５１０とデータ格納部５１７とは、例えばノード５１のＨＤＤなどの外部記憶装置に記憶領域として確保されるものである。乱数生成部５１１と、一時対称鍵生成部５１２と、ピース暗号化部５１３と、データ送信部５１５と、送信要求受付部５１６と、データ受信部５１４と、鍵要求送信部５１９と、ピース復号部５２０と、暗号化決定部５２１と、乱数代替生成部５２２との実体は、ノード５１のＣＰＵのプログラム実行時にＲＡＭなどの記憶装置上に生成されるものである。
【００２１】
固有情報格納部５１０は、当該ノード５１に割り当てられたノードＩＤ及び秘密鍵を記憶する。送信要求受付部５１６の構成は上述のノード５０の有する送信要求受付部５０６の構成と同様である。送信要求送信部５１８は、ピースを要求するピース要求をノード５０又は他のノード５１に対して送信する。データ受信部５１４は、送信要求送信部５１８がピース要求を送信した相手であるノード５０又は他のノード５１から、ピースが暗号化された暗号化ピースと、当該暗号化ピースの送信を仲介した少なくとも１つの他のノード５０,５１に割り当てられた各ノードＩＤを含むノードＩＤ列と、当該他のノード５０,５１が生成した各乱数を含む乱数列とを受信する。なおこの乱数には、当該ピースについて暗号化に用いられる一時対称鍵の生成に用いられた乱数と、代替的に生成された乱数（代替的な乱数という）とがある。後者については後述する。データ格納部５１７は、データ受信部５１４が受信したノードＩＤ列、乱数列及び暗号化ピースを対応付けて記憶する。
【００２２】
暗号化決定部５２１は、送信要求受付部５１６がピース要求を他のノード５１から受信した場合、所定の確率に従って、送信対象の暗号化ピースを暗号化するか否かを決定する。この所定の確率の値は例えば外部記憶装置に記憶されている。乱数生成部５１１は、送信対象の暗号化ピースを暗号化すると暗号化決定部５２１が決定した場合、乱数を生成する。一時対称鍵生成部５１２は、送信対象の暗号化ピースを暗号化すると暗号化決定部５２１が決定した場合、乱数生成部５１１が生成した乱数と、固有情報格納部５１０に記憶された秘密鍵とを用いて上述した関数Ｆにより一時対称鍵を生成する。ピース暗号化部５１３は、送信対象の暗号化ピースを暗号化すると暗号化決定部５２１が決定した場合、一時対称鍵生成部５１２が生成した一時対称鍵を用いて、データ格納部５１７に記憶されている１つの暗号化ピースを更に暗号化して、新たな暗号化ピースを出力する。
【００２３】
乱数代替生成部５２２は、送信対象の暗号化ピースを暗号化しないと暗号化決定部５２１が決定した場合、当該暗号化ピースに対応付けられてデータ格納部５１７に記憶されているノード列と、固有情報格納部５１０に記憶された秘密鍵とを用いて関数Ｆにより代替的な乱数を生成する。
【００２４】
例えば、ノード５１Ａのデータ格納部５１７にノードＩＤ列ID#0, …, ID#(j-1)(jは1以上の整数)が記憶されているとする。固有情報格納部５１０には秘密鍵s_1が記憶されている。ここで生成される代替的な乱数をr_1として式により表すと以下のように表さられる。
r_1 = F(s_1 , ID#0, … , ID#(j-1) )
尚、関数Ｆは一方向性関数、共通鍵暗号、あるいは擬似乱数生成器であり、出力結果である乱数から入力値である秘密鍵やノード列を推測できないものである。
【００２５】
データ送信部５１５は、送信要求受付部５１６が受信したピース要求を送信した他のノード５１に対して、暗号化決定部５２１の決定結果に応じて以下のデータを送信する。送信対象の暗号化ピースを暗号化すると暗号化決定部５２１が決定した場合に送信されるデータは、当該暗号化ピースに対応付けられてデータ格納部５１７に記憶されたノードＩＤ列に加え固有情報格納部５１０に記憶されたノードＩＤを含む新たなノードＩＤ列と、当該暗号化ピースに対応付けられてデータ格納部５１７に記憶された乱数列に加え乱数生成部５１１が生成した乱数を含む新たな乱数列と、ピース暗号化部５１３が出力した新たな暗号化ピースとである。送信対象の暗号化ピースを暗号化しないと暗号化決定部５２１が決定した場合に送信されるデータは、当該暗号化ピースに対応付けられてデータ格納部５１７に記憶されたノードＩＤ列に加え固有情報格納部５１０に記憶されたノードＩＤを含む新たなノードＩＤ列と、当該暗号化ピースに対応付けられてデータ格納部５１７に記憶された乱数列に加え乱数代替生成部５２２が生成した代替的な乱数を含む新たな乱数列と、データ格納部５１７に記憶された当該暗号化ピースとである。尚、データ格納部５１７に暗号化ピースが記憶されていない場合には、送信要求受付部５１６がピース要求を受信したとしても、ピース暗号化部５１３は暗号化ピースを出力せず、データ送信部５１５は暗号化ピースを送信しない。
【００２６】
ここで、ノード５０，５１から送信されるノードＩＤ列、乱数列及び暗号化ピースについて具体的に説明する。尚、ノード５０から１つの暗号化ピースに対してこれと共に送信されるノードＩＤ及び乱数は各々１つであるが、ここでは説明の便宜上、これらをノード列及び乱数列と各々記載する場合がある。暗号化ピースの配信経路としてここではノード５０からノード５１Ａ、更にノード５１Ａからノード５１Ｂに暗号化ピースを送信し、ノード５１Ｂから鍵サーバ５３に鍵要求を送信する場合について説明する。この場合、ノード５１Ａが暗号化を行う場合とノード５１Ａが暗号化を行わない場合とがあるが、まず前者の場合について説明する。例えば、あるピースPについてノード５１Ａからのピース要求に応じて、ノード５０が、乱数r_0と秘密鍵s_0とを用いて一時対称鍵k_0を生成し、これを用いてピースPを暗号化して暗号化ピースEP(k_0)Pを出力したとする。そして、ノード５０が、当該暗号化ピースEP(k_0)PをノードＩＤID #0及び乱数r_0と共にノード５１Ａに送信したとする。図４は、ノード５０からノード５１Ａに送信される情報を模式的に示す図である。当該ノード５１Ａは、これらのノードＩＤID #0、乱数r_0及び暗号化ピースE(k_0)Pを対応付けてデータ格納部５１７に記憶することになる。尚、データ格納部５１７は、ノードＩＤと当該ノードＩＤが割り当てられたノードが生成した乱数との対応関係を保持した状態で各ノードＩＤ列及び各乱数列を記憶する。また、ノードＩＤ列に含まれる各ノードＩＤは、暗号化ピースの送信を仲介したノード５０，５１の送信順序が判定可能に保持されるものとする。例えば、ノードＩＤ列において、最初に送信を行ったノード５０から最後に送信を行ったノードの順に各ノードＩＤが配列される。
【００２７】
そして、当該ノード５１Ａが、ノード５１Ｂからのピース要求に応じてピースPに対する暗号化ピースを送信する場合、乱数r_1を生成し、これと秘密鍵s_1とを用いて一時対称鍵k_1を生成し、これを用いて暗号化ピースE(k_0)Pを更に暗号化して暗号化ピースE(k_1)E(k_0)Pを出力したとする。E(k_1)E(k_0)Pは、順に一時対称鍵k_0, k_1でピースPを多重に暗号化したものを示す。このとき、ノード５１Ａは、ノード５１Ｂに対して、データ格納部５１７に記憶されている、ノード５０に割り当てられたノードＩＤID #0に加え固有情報格納部５１０に記憶されている、自身に割り当てられたノードＩＤID #1と、データ格納部５１７に記憶されている乱数r_0に加え自身が生成した乱数r_1と、暗号化ピースE(k_1)E(k_0)Pとを送信する。図５は、ノード５１Ａからノード５１Ｂに送信される情報を模式的に示す図である。ノード５１Ｂは、これらのノードＩＤ列ID #0,ID #1、乱数列r_0,r_1及び暗号化ピースE(k_1)E(k_0)Pを対応付けてデータ格納部５１７に記憶する。
【００２８】
次にノード５１Ａが暗号化を行わない場合について説明する。この場合、当該ノード５１Ａが、ノード５１Ｂからのピース要求に応じてピースPに対する暗号化ピースを送信する場合、乱数r_1として上述したように代替的な乱数を生成する。そして、この場合ノード５１Ａは、当該ピースPについての暗号化を行わず、ノード５１Ｂに対して、データ格納部５１７に記憶されている、ノード５０に割り当てられたノードＩＤID #0に加え固有情報格納部５１０に記憶されている、自身に割り当てられたノードＩＤID #1と、データ格納部５１７に記憶されている乱数r_0に加え自身が生成した乱数r_1と、暗号化ピースE(k_0)Pとを送信する。図６は、ノード５１Ａからノード５１Ｂに送信される情報を模式的に示す図である。ノード５１Ｂは、これらのノードＩＤ列ID #0,ID #1、乱数列r_0,r_1及び暗号化ピースE(k_0)Pを対応付けてデータ格納部５１７に記憶する。
【００２９】
このように、ノード５１は、暗号化ピースに暗号化を重ねるか否かを所定の確率に従って決定することにより、当該暗号化ピースについての更なる暗号化を選択的に行い、他のノード５１に暗号化ピースを送信する。このとき、ノード５１は、当該暗号化ピースの配信を仲介するものとなり、当該暗号化ピースの配信経路を示すものとして、配信開始ノードであるノード５０を基点として当該暗号化ピースの配信を仲介する各ノード５０，５１の各ノードＩＤを含むノードＩＤ列及び当該各ノード５０，５１が生成した乱数を含む乱数列を暗号化ピースと共に他のノード５１に送信する。
【００３０】
図３の説明に戻る。鍵要求送信部５１９は、鍵要求を鍵サーバ５３に送信する。鍵要求とは、ピースの復号鍵を要求するための情報であって、復号鍵を生成するための鍵生成情報と、コンテンツを識別するための情報と、ピースを識別するための情報とを含むものである。ここでは、鍵要求送信部５１９は、データ格納部５１７に記憶された暗号化ピースを復号するための復号鍵を要求すると共に、当該復号鍵を生成するための鍵生成情報、当該暗号化ピースに対応付けられているコンテンツ種類ＩＤ及び当該暗号化ピースに対応付けられているピース番号を含む鍵要求を鍵サーバ５３に送信する。鍵生成情報とは、ピースの暗号鍵を生成する際に使用した情報であって、そのピースの復号鍵を生成するために必要な情報である。ここでは、鍵生成情報は、当該暗号化ピースに対応してデータ格納部５１７に記憶されているノードＩＤ列及び乱数列を含む。また、鍵要求送信部５１９は、自身のノード５１を識別するために自身のノードＩＤも鍵サーバ５３に送信する。尚、自身のノードＩＤを、鍵サーバ５３は、鍵要求に含めて送信するようにして良いし、鍵要求とは別に送信するようにしても良い。また、コンテンツ種類ＩＤ及びピース番号についても同様に、鍵サーバ５３は、鍵要求とは別に送信するようにしても良い。
【００３１】
例えば、ノード５１Ｂが、ノード５１Ａが暗号化を行った場合に出力された図５に示した暗号化ピースE(k_1)E(k_0)Pを復号するための復号鍵を要求する鍵要求を鍵サーバ５３に送信する場合、ノード５１Ｂの鍵要求送信部５１９は、ノードＩＤ列ID #0,ID #1と、乱数列r_0,r_1と、コンテンツ種類ＩＤCIDと、ピース番号mとを含む鍵要求を送信する。図７は、ノード５１Ｂから鍵サーバ５３に送信される情報を模式的に示す図である。また、ノード５１Ｂが、ノード５１Ａが暗号化を行わなかった場合に出力された図６に示した暗号化ピースE(k_0)Pを復号するための復号鍵を要求する鍵要求を鍵サーバ５３に送信する場合も、図７に示されるように、ノード５１Ｂの鍵要求送信部５１９は、ノードＩＤ列ID #0,ID #1と、乱数列r_0,r_1と、コンテンツ種類ＩＤCIDと、ピース番号mとを含む鍵要求を送信する。このように、ノード５１は、暗号化ピースを復号するための復号鍵を鍵サーバ５３に要求する際に、当該暗号化ピースの配信経路を示すものとして、配信開始ノードであるノード５０を基点として当該暗号化ピースの配信を仲介する各ノード５０，５１の各ノードＩＤを含むノードＩＤ列、当該各ノード５０，５１が生成した各乱数を含む乱数列と、当該暗号化ピースを特定するものとして、コンテンツ種類ＩＤ及びピース番号とを鍵サーバ５３に送信する。尚、これらの送信に際し、鍵要求送信部５１９は、各ノードＩＤと当該各ノードＩＤが割り当てられたノードが生成した乱数との対応関係を保持した状態で送信する。
【００３２】
ピース復号部５２０は、鍵要求送信部５１９が送信した鍵要求に応じて鍵サーバ５３から送信された一時対称鍵を復号鍵として受信し、当該一時対称鍵を用いて暗号化ピースを復号する。例えば、上述の例では、ノード５１Ａが暗号化を行っていた場合には、ノード５１Ｂは、図７に示したノードＩＤ列及び乱数列を含む鍵要求に応じて鍵サーバ５３から送信された一時対称鍵k_0,k_1を受信する。ここで、即ち、ピースに対して少なくとも１回以上行われている各暗号化を復号するための各復号鍵が受信される。図８は、鍵サーバ５３からノード５１Ｂに送信される情報を模式的に示す図である。同図に示される一時対称鍵によりピースPが復号される。一方、ノード５１Ａが暗号化を行っていなかった場合には、ノード５１Ｂは、図７に示したノードＩＤ列及び乱数列を含む鍵要求に応じて鍵サーバ５３から送信された一時対称鍵k_0を受信する。図９は、鍵サーバ５３からノード５１Ｂに送信される情報を模式的に示す図である。このように暗号化ピースについて選択的に行われた暗号化に応じて各暗号化を復号するための復号鍵を鍵サーバ５３からノード５１は取得する。尚、鍵サーバ５３がどのように一時対称鍵を生成するのかは後述する。
【００３３】
尚、ノード５１が、複数のピースのそれぞれについてどのような順番やタイミングでどのノードから取得するかは特に限定されないが、以上のようにして、ノード５１は、複数のピースのそれぞれが暗号化された各暗号化ピースをピース要求によって他のノード５０，５１から取得する。また、ノード５１は、各暗号化ピースについて鍵要求によって各一時対称鍵を鍵サーバ５３から受信し、各暗号化ピースを復号することにより、上述の配信データを得る。
【００３４】
＜鍵サーバの構成＞
次に、鍵サーバ５３のＣＰＵが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図１０は、鍵サーバ５３の機能的構成を例示する図である。鍵サーバ５３は、秘密鍵格納部５３０と、データ受信部５３１と、暗号化スキップ判定部５３２と、一時対称鍵生成部５３３と、データ送信部５３４と、ピース情報格納部５３５と、配信量計算部５３６と、課金処理部５３７と、報酬ポイント計算部５３８と、価格情報格納部５３９と、報酬ポイント換算情報格納部５４０と、報酬ポイント格納部５４１とを有する。尚、秘密鍵格納部５３０と、ピース情報格納部５３５と、価格情報格納部５３９と、報酬ポイント格納部５４１と、報酬ポイント換算情報格納部５４０とは、例えば鍵サーバ５３のＨＤＤなどの外部記憶装置に記憶領域として確保されるものである。データ受信部５３１と、暗号化スキップ判定部５３２と、一時対称鍵生成部５３３と、データ送信部５３４と、課金処理部５３７と、配信量計算部５３６と、報酬ポイント計算部５３８との実体は、鍵サーバ５３のＣＰＵのプログラム実行時にＲＡＭなどの記憶装置上に生成されるものである。
【００３５】
秘密鍵格納部５３０は、各ノード５０，５１に割り当てられた秘密鍵を、各ノード５０，５１に割り当てられたノードＩＤと対応付けて記憶する。データ受信部５３１は、暗号化ピースを復号するための復号鍵を要求すると共に、上述したノードＩＤ列、乱数列、コンテンツ種類ＩＤ及びピース番号を含む鍵要求をノード５１から受信する。また、データ受信部５３１は、鍵要求を送信したノード５１自身のノードＩＤもノード５１から受信する。
【００３６】
暗号化スキップ判定部５３２は、データ受信部５３１が受信した鍵要求に含まれるノードＩＤ列に含まれる各ノードＩＤに対応付けられて秘密鍵格納部５３０に記憶されている秘密鍵を読み出しこれと、当該鍵要求に含まれる乱数列に含まれる各乱数について以下の検査式が成立するか否かを判定する。例えば、ノードＩＤ列に含まれる各ノードＩＤがID#0, … , ID#(j)であり、各ノードＩＤID#m(0≦m≦j)にr_m,s_mが各々対応しているものとする。この場合、全ての乱数r_m(0≦m≦j)について以下の検査式が成立するか否かを一時対称鍵生成部５３３は判定する。
r_ m = F(s_m , ID#0, … , ID# m )・・・（検査式）
【００３７】
尚、当該暗号化ピースの配信に際してノード５１が乱数を代替的に生成した場合には上述の検査式が成立することになる。即ち、当該検査式によって、各乱数が暗号化ピースの暗号化に関っているか否かが判定される。
【００３８】
一時対称鍵生成部５３３は、上述の検査式が成立しない全ての乱数mについて関数Ｆにより復号鍵k_mを生成する。これを式により表すと以下のように表される。尚、関数Ｆは上述のノード５１が一時対称鍵を生成する際に用いたものと同じである。従って、ここでは、一時情報と秘密鍵とを用いて当該関数Ｆにより一時対称鍵を復元することになる。
k_m=F(s_ m,r_ m)
【００３９】
一方、上述の検査式が成立する乱数を生成したノード５１は、暗号化ピースの配信を仲介するものの暗号化を行っていない。このため、当該乱数に対して復号鍵は生成されないことになる。
【００４０】
データ送信部５３４は、一時対称鍵生成部５３３が復号鍵として生成した一時対称鍵を、データ受信部５３１が受信した鍵要求を送信したノード５１に対して送信する。例えば、上述の例では、ノード５１Ａが暗号化を行っていた場合には、鍵サーバ５３は、図７に示されるノードＩＤ列及び乱数列を含む鍵要求に応じて、図８に示されるように、各乱数r_0,r_1に対して一時対称鍵k_0,k_1を得て、これをノード５１Ｂに対して送信する。また、鍵サーバ５３は、ノード５１Ａが暗号化を行っていない場合には、図７に示されるノードＩＤ列及び乱数列を含む鍵要求に応じて、図９に示されるように、乱数r_0に対してのみ一時対称鍵k_0を得て、これをノード５１Ｂに対して送信する。このように、１つのピースが暗号化された暗号化ピースを復号するための復号鍵としての一時対称鍵の数は、当該ピースについて選択的に行われた暗号化の回数に応じて異なる。この数は１つであったり複数であったりする。当該ピースについて行われた全ての暗号化のそれぞれを復号するための各対称鍵がノード５１Ｂに対して送信されることにより、ノード５１Ｂは当該暗号化ピースの暗号化を完全に復号することができる。
【００４１】
価格情報格納部５３９は、各配信データの価格をコンテンツ種類ＩＤ毎に記憶する。図１１は、価格情報格納部５３９に記憶される、各配信データの価格を例示する図である。同図に示されるように、コンテンツ種類ＩＤと、価格とが対応付けられて記憶される。報酬ポイント格納部５４１は、各ノード５１が二次配信を行ったことにより付与された報酬ポイントの合計をノードＩＤ毎に記憶する。この報酬ポイントは、二次配信へのインセンティブとなるものである。具体的には、当該報酬ポイントは、当該報酬ポイントが付与されたノード５１が鍵要求を鍵サーバ５３に送信した際に課金される金額（課金額という）から値引きをするために用いられる。図１２は、報酬ポイント格納部５４１に記憶される報酬ポイントの合計を例示する図である。同図に示されるように、ノードＩＤと、報酬ポイントの合計とが対応付けられて記憶される。ピース情報格納部５３５は、各配信データのピース数と、最後尾のピース以外の各ピースのデータサイズと、最後尾のピースのデータサイズとを示すピース情報をコンテンツ種類ＩＤ毎に記憶する。図１３は、ピース情報格納部５３５に記憶されるピース情報を例示する図である。同図に示されるように、コンテンツ種類ＩＤと、ピース情報とが対応付けられて記憶される。報酬ポイント換算情報格納部５４０は、配信量に応じた報酬ポイントを計算するための単位量当たりの報酬ポイント（換算ポイントという）をコンテンツ種類ＩＤ毎に記憶する。図１４は、報酬ポイント換算情報格納部５４０が記憶する換算ポイントを例示する図である。ここでは単位量を１キロバイトとする。同図に示されるように、コンテンツ種類ＩＤと、キロバイト当たりの換算ポイントとが対応付けられて記憶される。
【００４２】
図１０の説明に戻る。課金処理部５３７は、鍵要求を送信したノード５１のノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶された報酬ポイントを読み出し、鍵要求に含まれるコンテンツ種類ＩＤと同一のコンテンツ種類ＩＤと対応付けられて価格情報格納部５３９に記憶された価格を読み出して、当該報酬ポイント及び価格を用いて、当該ノード５１に対して課金額を計算する。そして、課金処理部５３７は、課金額の計算に用いた報酬ポイントの値に基づいて、当該ノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶された報酬ポイントを更新する。
【００４３】
配信量計算部５３６は、鍵要求により復号鍵を要求されているピースの配信量を計算する。具体的には、配信量計算部５３６は、鍵要求に含まれるコンテンツ種類ＩＤと対応付けられてピース情報格納部５３５に記憶されたピース情報を読み出し、鍵要求に含まれるピース番号が割り当てられたピースのデータサイズを判別することにより、配信量を計算する。
【００４４】
報酬ポイント計算部５３８は、鍵要求により復号鍵を要求されているピースを最後に配信したノード５１の報酬ポイントを計算して、当該ノード５１の報酬ポイントの合計を更新する。具体的には、報酬ポイント計算部５３８は、まず、鍵要求に含まれるコンテンツ種類ＩＤと対応付けられて報酬ポイント換算情報格納部５４０に記憶されている換算ポイントを読み出しこれを、配信量計算部５３６が計算した配信量と掛け合わせることにより、報酬ポイントを計算する。例えば、報酬ポイントをBとし、換算ポイントをρとし、配信量をSとすると、以下の式１により報酬ポイントが計算される。
【００４５】
【数１】
2010166432.tif 000003
【００４６】
そして、報酬ポイント計算部５３８は、鍵要求に含まれるノードＩＤ列のうち最後に送信を行ったノード５１のノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶されている報酬ポイントに、計算した報酬ポイントを加えることにより、当該ノード５１の報酬ポイントの合計を計算する。そして、報酬ポイント計算部５３８は、当該ノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶されている報酬ポイントを、計算した報酬ポイントの合計と置き換えることにより、報酬ポイント格納部５４１に記憶されている報酬ポイントの合計を更新する。このようにして報酬ポイント計算部５３８は、あるピースについて鍵要求を行ったノード５１に対して最後に送信を行った他のノード５１に対して報酬ポイントを付与する。尚、当該ノードＩＤと対応付けられている報酬ポイントが報酬ポイント格納部５４１にまだ記憶されていない場合には、報酬ポイント計算部５３８は、鍵要求により復号鍵を要求されているピースに対して計算した報酬ポイントを、当該ピースを最後に配信したノード５１のノードＩＤと対応付けて報酬ポイント格納部５４１に記憶させる。
【００４７】
以上のような構成により、鍵サーバ５３は、ノード５１からの鍵要求に応じて、復号鍵が要求されているピースに対する課金処理を行い、当該ピースを最後に送信した他のノード５１に対して当該ピースのデータサイズに相当する配信量に応じた報酬ポイントを計算する報酬ポイント計算処理を行う。そして、鍵サーバ５３は、当該復号鍵を生成する復号鍵生成処理を行って、当該復号鍵をノード５１に送信する。
【００４８】
（２）動作
＜配信開始ノード：配信処理＞
次に、本実施の形態にかかるデータ配信システムで行われる処理の手順について説明する。まず、配信開始ノードであるノード５０が行う配信処理の手順について図１５を用いて説明する。ノード５０は、配信データを複数のピースに分割する（ステップＳ１）。そして、ノード５０は、ピースを要求するピース要求を他のノード５１から受信すると（ステップＳ２：ＹＥＳ）、乱数r_0を生成する（ステップＳ３）。次いで、ノード５０は、乱数r_0と固有情報格納部５００に記憶された秘密鍵s_0とを用いて関数Ｆにより対称鍵k_0を生成する（ステップＳ４）。そして、ノード５０は、ステップＳ４で生成した対称鍵を用いて、送信対象となるピースPを暗号化して、暗号化ピースE(k_0)Pを出力する（ステップＳ５）。尚、送信対象となるピースをどのように決定するかは特に限定されない。そして、ノード５０は、ステップＳ２で受信されたピース要求を送信した他のノード５１に対して、例えば図４に示されるように、固有情報格納部５００に記憶されているノードＩＤID#0と、ステップＳ４で生成した乱数r_0と、ステップＳ５で出力した暗号化ピースE(k_0)Pとを送信する（ステップＳ６）。その後ステップＳ２に戻り、ノード５０は、新たなピース要求の受信を待機する。尚、ステップＳ２で受信されるピース要求は、同一のノード５１であるとは限らず、当該ピース要求によって要求されるピースPは、同一のピースであるとは限らない。また、ステップＳ３で生成する乱数は基本的にステップＳ３の処理毎に異なる。
【００４９】
＜受信処理＞
次に、ノード５１がノード５０又は他のノード５１から暗号化ピースを受信する受信処理の手順について図１６を用いて説明する。ノード５１は、ピースを要求するピース要求をノード５０又は他のノード５１に対して送信する（ステップＳ１０）。次いで、ノード５１は、ステップＳ１０でピース要求を送信した相手であるノード５０又は他のノード５１から、ノードＩＤ列と、乱数列と、暗号化ピースとを受信する（ステップＳ１１）。そして、ノード５１は、ステップＳ１１で受信したノードＩＤ列、乱数列及び暗号化ピースを対応付けて記憶する（ステップＳ１２）。
【００５０】
尚、ノード５１がノード５０にピース要求を送信した場合は、ステップＳ１１ではピースPについて図４に示されるノードＩＤ列と、乱数列と、暗号化ピースとを受信する。ここで、図示はしないが、Ｐ２ＰネットワークＮＴに接続されるノードであって、fを1以上の整数として、f番目にピースPを受信するノードについて一般化して説明する。説明の便宜上、当該ノードのノードＩＤをID# fとする。ノードＩＤID# fが割り当てられたノードは、(f -1)番目のノードＩＤID#(f-1)が割り当てられたノードから、図１７に示されるように、ピースPについて、ノードＩＤ列ID#0, …, ID#(f-1)と、乱数r_0, …, r_{f-1}と、暗号化ピースE(k_{t})…E(k_0)Pとを受信する。ただしtは1≦t≦f-1の整数とする。これは即ち暗号化ピースには必ずしも(f-1)回ではなくそれ以下の回数の暗号化が行われていることを意味する。ノードＩＤ列ID#0, …, ID#(f-1)によっては、暗号化ピースがどのノードによって暗号化されて送信されたかが各々特定されるため、暗号化ピースの配信経路が示されることになる。
【００５１】
＜配信開始ノード以外のノード：配信処理＞
次に、配信開始ノード以外のノード５１が行う配信処理の手順について図１８を用いて説明する。ノード５１は、ピースを要求するピース要求を他のノード５１から受信すると（ステップＳ２０：ＹＥＳ）、所定の確率に従って、送信対象の暗号化ピースを暗号化するか否かを決定する（ステップＳ２１）。そして、ノード５１は、送信対象の暗号化ピースを暗号化すると決定した場合（ステップＳ２１：ＹＥＳ）、乱数を生成する（ステップＳ２２）。次いでノード５１は、ステップＳ２２で生成した乱数と、固有情報格納部５１０に記憶された秘密鍵とを用いて関数Ｆにより一時対称鍵を生成する（ステップＳ２３）。そしてノード５１は、ステップＳ２３で生成した一時対称鍵を用いて、あるピースPが暗号化された暗号化ピースであってデータ格納部５１７に記憶されている暗号化ピースを更に暗号化して、新たな暗号化ピースを出力する（ステップＳ２４）。その後ノード５１は、ステップＳ２０で受信されたピース要求を送信した他のノード５１に対して、送信対象である暗号化ピースに対応付けられてデータ格納部５１７に記憶されたノードＩＤに加え固有情報格納部５１０に記憶されたノードＩＤを含む新たなノードＩＤ列と、当該暗号化ピースに対応付けられてデータ格納部５１７に記憶された乱数列に加えステップＳ２２で生成した乱数を含む新たな乱数列と、ステップＳ２４で出力した新たな暗号化ピースとを送信する（ステップＳ２５）。
【００５２】
一方、ステップＳ２１でノード５１は、送信対象の暗号化ピースを暗号化しないと決定した場合（ステップＳ２１：ＮＯ）、当該暗号化ピースに対応付けられてデータ格納部５１７に記憶されているノード列と、固有情報格納部５１０に記憶された秘密鍵とを用いて関数Ｆにより代替的な乱数を生成する（ステップＳ２６）。その後ノード５１は、ステップＳ２４で行った暗号化を行わずに、ステップＳ２０で受信されたピース要求を送信した他のノード５１に対して、送信対象である暗号化ピースであってデータ格納部５１７に記憶された暗号化ピースと、当該暗号化ピースに対応付けられてデータ格納部５１７に記憶されたノードＩＤに加え固有情報格納部５１０に記憶されたノードＩＤを含む新たなノードＩＤ列と、当該暗号化ピースに対応付けられてデータ格納部５１７に記憶された乱数列に加えステップＳ２６で生成した代替的な乱数を含む新たな乱数列とを送信する（ステップＳ２７）。
【００５３】
例えば、上述したノードＩＤID#fが割り当てられたノードは、(f+1)番目となるノードＩＤID#(f+1)が割り当てられたノードに対して、図１９に示されるように、ピースPについて、ノードＩＤ列ID#0, …, ID#(f-1),ID#fと、乱数列r_0, …, r_fと、暗号化ピースE(k_t´)…E(k_0)Pとを送信する。ただしt´は1≦t´≦fの整数である。これは即ち暗号化ピースには必ずしもf回ではなくそれ以下の回数の暗号化が行われていることを意味する。
【００５４】
＜復号処理＞
次に、ノード５１が鍵サーバ５３から復号鍵を取得しこれを用いて暗号化ピースを復号する復号処理の手順について図２０を用いて説明する。ノード５１は、データ格納部５１７に記憶された暗号化ピースに対応付けられているノードＩＤ列及び乱数列を読み出し（ステップＳ３０）、当該暗号化ピースを復号するための復号鍵を要求すると共に、当該ノードＩＤ列及び乱数列と、当該暗号化ピースのコンテンツ種類ＩＤ及びピース番号とを含む鍵要求を鍵サーバ５３に送信する（ステップＳ３１）。このときノード５１は、自身のノードＩＤも鍵サーバ５３に送信する。このノードＩＤは課金処理に用いられる。次いで、ノード５１は、ステップＳ３０で送信された鍵要求に応じて鍵サーバ５３から送信された一時対称鍵を復号鍵として受信し（ステップＳ３２）、当該一時対称鍵を用いて暗号化ピースを復号する（ステップＳ３３）。
【００５５】
例えば、上述したノードＩＤID#(f+1)が割り当てられたノードは、鍵サーバ５３に対して、図２１に示されるように、ピースPについて、ノードＩＤ列ID#0, …, ID#(f-1),ID#fと、乱数列r_0, …,r_{f-1},r_fと、コンテンツ種類ＩＤCIDと、ピース番号mとを送信する。そして、当該ノードは、鍵サーバ５３から、図２２に示されるように、ピースPについて、一時対称鍵k_0, …, k_t´を受信し、これらを用いて暗号化ピースE(k_t´)…E(k_0)Pを復号して、ピースPを得る。このようにして、各ノード５１は、各ピースについて行われている暗号化を復号するための一時対称鍵を全て得ることにより、当該ピースについて行われている暗号化を復号することができ、当該暗号化ピースを完全に復号することが可能になる。このようにして、各ノード５１は、複数のピースのそれぞれが暗号化された各暗号化ピースについて鍵要求によって各一時対称鍵を鍵サーバ５３から受信し、各暗号化ピースを復号することにより、上述の配信データを得ることができる。
【００５６】
＜鍵サーバ：鍵送信処理＞
次に、鍵サーバ５３がノード５１からの鍵要求に応じて復号鍵を送信する鍵送信処理の手順について図２３を用いて説明する。ここでは、鍵サーバ５３は、暗号化ピースを復号するための復号鍵を要求すると共に、ノードＩＤ列、乱数列、コンテンツ種類ＩＤ及びピース番号を含む鍵要求と当該ノード５１のノードＩＤとをノード５１から受信すると（ステップＳ４０：ＹＥＳ）、まず、課金処理を行う（ステップＳ４１）。尚、ここでは、鍵サーバ５３は、ピース毎に鍵要求を受信し、ピース毎に以降の処理を行うものとする。図２４は、課金処理の手順を示すフローチャートである。鍵サーバ５３は、鍵要求を送信したノード５１のノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶された報酬ポイントを読み出し（ステップＳ６０）、鍵要求に含まれるコンテンツ種類ＩＤと同一のコンテンツ種類ＩＤと対応付けられて価格情報格納部５３９に記憶された価格を読み出す（ステップＳ６１）。そして、鍵サーバ５３は、当該価格と当該報酬ポイントとのうち値の小さい方を値引き額として設定し（ステップＳ６２）、当該価格から当該値引き額を差し引くことにより、当該ノード５１に対して課金額を計算する（ステップＳ６３）。その後、鍵サーバ５３は、当該報酬ポイントから当該値引き額を差し引いた値を当該ノード５１に対する新たな報酬ポイントの値として、当該ノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶された報酬ポイントを更新する（ステップＳ６４）。尚、当該ノード５１のノードＩＤと対応付けられた報酬ポイントが報酬ポイント格納部５４１に記憶されていない場合には、鍵サーバ５３は、報酬ポイントの値を‘０’として計算を行い、課金額の計算後の報酬ポイントの更新は行わない。
【００５７】
図２３の説明に戻る。ステップＳ４１の後、鍵サーバ５３は、報酬ポイント計算処理を行う（ステップＳ４２）。図２５は、報酬ポイント計算処理の手順を示すフローチャートである。鍵サーバ５３は、まず、鍵要求に含まれるノードＩＤ列に含まれるノードＩＤを読み出して（ステップＳ７０）、最後に送信を行ったノードが配信開始ノードであるか否かを判定する（ステップＳ７１）。上述したように、例えば、送信順序に応じてノードＩＤが配列されている場合、鍵サーバ５３は、最後尾のノードＩＤが配信開始ノードのノードＩＤか否かを判定する。当該ノードが配信開始ノードである場合（ステップＳ７１：ＹＥＳ）、鍵サーバ５３は処理を終了する。一方、当該ノードが配信開始ノードでない場合（ステップＳ７１：ＮＯ）、鍵サーバ５３は、鍵要求に含まれるコンテンツ種類ＩＤと対応付けられてピース情報格納部５３５に記憶されたピース情報を読み出し（ステップＳ７２）、鍵要求に含まれるピース番号が割り当てられたピースのデータサイズを求めることにより、配信量を計算する（ステップＳ７３）。例えば、図１３の例では、コンテンツ種類ＩＤが‘１２５０００１２’であり、ピース番号が‘２３０’である場合、ピースのデータサイズは‘２６２１４４’であり、これが配信量となる。また、コンテンツ種類ＩＤが‘１２５０００１２’であり、ピース番号が‘２３５１’である場合、ピースのデータサイズは‘１４３’であり、これが配信量となる。
【００５８】
次いで鍵サーバ５３は、鍵要求に含まれるコンテンツ種類ＩＤと対応付けられて報酬ポイント換算情報格納部５４０に記憶されている換算ポイントを読み出しこれを、ステップＳ７３で計算した配信量と掛け合わせることにより、報酬ポイントを計算する（ステップＳ７４）。そして、鍵サーバ５３は、最後に送信を行ったノード５１のノードＩＤ、即ち、ステップＳ７０で参照したノードＩＤ、と対応付けられて報酬ポイント格納部５４１に記憶されている報酬ポイントに、ステップＳ７４で計算した報酬ポイントを加えることにより、当該ノード５１の報酬ポイントの合計を計算する。そして、鍵サーバ５３は、計算した報酬ポイントの合計と、当該ノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶されている報酬ポイントの合計を置き換えることにより、報酬ポイント格納部５４１に記憶されている報酬ポイントの合計を更新する（ステップＳ７５）。尚、当該ノードＩＤと対応付けられている報酬ポイントが報酬ポイント格納部５４１にまだ記憶されていない場合には、鍵サーバ５３は、ステップＳ７４で計算した報酬ポイントを、当該ピースを最後に配信したノード５１のノードＩＤと対応付けて報酬ポイント格納部５４１に記憶させる。
【００５９】
図２３の説明に戻る。ステップＳ４２の後、鍵サーバ５３は、復号鍵生成処理を行う（ステップＳ４３）。図２６は、復号鍵生成処理の手順を示すフローチャートである。鍵サーバ５３は、ステップＳ４０で受信した鍵要求に含まれるノードＩＤ列に含まれる各ノードＩＤに対応付けられて秘密鍵格納部５３０に記憶されている秘密鍵をノードＩＤ毎に読み出す（ステップＳ８０）。そして、鍵サーバ５３は、乱数列に含まれる全ての乱数のそれぞれについて、当該乱数と、当該乱数に対応する秘密鍵とを用いて関数Ｆにより上述の検査式が成立するか否かを判定する（ステップＳ８１）。そして鍵サーバ５３は、検査式が成立しない全てのノードＩＤに対する乱数と、ステップＳ８０で読み出した秘密鍵とを用いてノードＩＤ毎に関数Ｆにより一時対称鍵を復号鍵として生成する（ステップＳ８２）。
【００６０】
図２３の説明に戻る。ステップＳ４３の後、鍵サーバ５３は、ステップＳ８２で復号鍵として生成した一時対称鍵を、ステップＳ４０で受信した鍵要求を送信したノード５１に対して送信する（ステップＳ４４）。
【００６１】
例えば、鍵サーバ５３は、上述したノードＩＤID#(f+1)が割り当てられたノードに対して、ピースPについて、図２１に示されるようなノードＩＤ列及び乱数列と、コンテンツ種類ＩＤ及びピース番号とを含む鍵要求に応じて、図２２に示されるような一時対称鍵k_0, …, k_t´を送信する。
【００６２】
以上のようにして、各ピースに対して各ノードが各々固有の暗号鍵を用いて暗号化を重ねてＰ２ＰネットワークＮＴを介して配信するデータ配信システムにおいて、各ピースの暗号化を解くための復号鍵の生成に用いる情報を用いて、二次配信を担ったノード５１に対して配信量に応じてインセンティブを付与する。即ち、鍵要求に含まれる乱数列及びノードＩＤ列を用いて、復号鍵を生成すると共に、最後に送信を行ったノード５１を特定し、コンテンツ種類ＩＤ及びピース番号を用いて、当該ノード５１の配信量を計算して、当該ノード５１に対する報酬ポイントを計算することにより、付与すべきノードに対して正しい配信量に応じたインセンティブが付与される。このように、二次配信を行った側のノードが配信量を通知するのではなく、二次配信を受けた側のノードが鍵サーバ５３に復号鍵を要求する際に送信する情報を用いて鍵サーバ５３がインセンティブを付与されることにより、配信量が不正に通知されたり、実際には二次配信を担っていないノードがインセンティブを不正に取得したりすることを防止することができる。例えば、あるノード５１が、あるピースについて最後に送信を行ったノードのノードＩＤを偽ったノードＩＤ列を含む鍵要求を鍵サーバ５３に送信した場合、鍵サーバ５３は当該ノードＩＤを用いて正しい復号鍵を生成することはできないため、当該あるノード５１は当該ピースを復号することができない。このため、ピースを復号するために偽ることのできない情報をインセンティブの付与に用いることで、インセンティブを正しく付与することができ、不正を防止することができる。
【００６３】
また、インセンティブとして、課金処理での値引きに用いる報酬ポイントを付与することにより、二次配信の奨励を効果的に行うことができる。また、配信量に応じたインセンティブを付与することができることにより、上り回線の容量が大きいノードやピースの受信後もＰ２Ｐネットワークに接続されたままの状態であるノードを増やことができる。特に、受信量より配信量が多いノードを増やすことができる。この結果、配信量が増大しても、配信データの提供者の配信コストを低減することが期待できる。
【００６４】
[第２の実施の形態]
次に、サーバ、情報処理方法及びプログラムの第２の実施の形態について説明する。なお、上述の第１の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００６５】
（１）構成
上述の第１の実施の形態においては、配信開始ノード以外で、最後に送信を行ったノード５１に対してのみインセンティブとして報酬ポイントを付与するようにした。本実施の形態においては、最後に送信を行ったノード５１だけではなく、配信開始ノード以外で送信を仲介した各ノード５１に対して報酬ポイントを付与するようにする。
【００６６】
本実施の形態にかかる鍵サーバ５３の構成は、上述の第１の実施の形態にかかる鍵サーバ５３の構成とは以下の点で異なる。報酬ポイント計算部５３８は、まず、上述の第１の実施の形態と同様にして、鍵要求に含まれるコンテンツ種類ＩＤと対応付けられて報酬ポイント換算情報格納部５４０に記憶されている換算ポイントを読み出しこれを、配信量計算部５３６が計算した配信量と掛け合わせることにより、報酬ポイントを計算する。そして、報酬ポイント計算部５３８は、鍵要求に含まれるノードＩＤに含まれる各ノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶されている各々報酬ポイントに、計算した報酬ポイントを加えることにより、各ノード５１の報酬ポイントの合計を各々計算する。そして、報酬ポイント計算部５３８は、各ノードＩＤと対応付けられて報酬ポイント格納部５４１に各々記憶されている報酬ポイントを、計算した報酬ポイントの合計と各々置き換えることにより、報酬ポイント格納部５４１に各々記憶されている報酬ポイントの合計を各々更新する。尚、ノードＩＤと対応付けられている報酬ポイントが報酬ポイント格納部５４１にまだ記憶されていない場合には、報酬ポイント計算部５３８は、鍵要求により復号鍵を要求されているピースに対して計算した報酬ポイントを、当該ノードＩＤと対応付けて報酬ポイント格納部５４１に記憶させる。その他の構成は上述の第１の実施の形態と同様である。
【００６７】
（２）動作
次に、本実施の形態にかかる鍵サーバ５３が上述の鍵送信処理を行う際に行う報酬ポイント計算処理の手順について図２７を用いて説明する。その他の処理の手順は上述の第１の実施の形態と同様である。鍵サーバ５３は、まず、上述の第１の実施の形態と同様にして、ステップＳ７０〜Ｓ７４を行って、鍵要求によって復号鍵が要求されたピースの配信量に応じた報酬ポイントを計算する。その後、ステップＳ７５´では、鍵サーバ５３は、ノードＩＤ列に含まれるノードＩＤであって配信開始ノード以外のノード５１のノードＩＤと対応付けられて報酬ポイント格納部５４１に各々記憶されている報酬ポイントに、ステップＳ７４で計算した報酬ポイントを各々加えることにより、当該各ノード５１の報酬ポイントの合計を計算する。そして、鍵サーバ５３は、当該各ノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶されている各報酬ポイントを、各々計算した報酬ポイントの合計と置き換えることにより、報酬ポイント格納部５４１に各々記憶されている報酬ポイントの合計を各々更新する。尚、報酬ポイントが報酬ポイント格納部５４１にまだ記憶されていないノードＩＤについては、鍵サーバ５３は、ステップＳ７４で計算した報酬ポイントを、当該ノードＩＤと対応付けて報酬ポイント格納部５４１に記憶させる。以上のようにして、鍵サーバ５３は、配信開始ノード以外でピースの送信を仲介した各ノード５１に対して報酬ポイントを付与する。
【００６８】
以上のように、配信開始ノード以外で、最後に送信を行ったノード５１だけではなく、送信を仲介した各ノード５１に対して配信量に応じた報酬ポイントを付与することによっても、二次配信の奨励を効果的に行うことができる。
【００６９】
[第３の実施の形態]
次に、サーバ、情報処理方法及びプログラムの第２の実施の形態について説明する。なお、上述の第１の実施の形態又は第２の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００７０】
（１）構成
上述の第２の実施の形態においては、ある配信データについて、配信開始ノード以外で送信を仲介した各ノード５１に対して付与する報酬ポイントは、配信量が同じであれば全て同じであるとした。本実施の形態においては、鍵サーバ５３は、配信量に応じるだけでなく、送信順序及びピース番号に応じて各ノード５１に対して利益配分率を決定して、利益配分率に応じた報酬ポイントを各々付与する。
【００７１】
本実施の形態にかかる鍵サーバ５３の構成は、上述の第１の実施の形態にかかる鍵サーバ５３の構成とは以下の点で異なる。報酬ポイント換算情報格納部５４０は、配信量に応じた報酬ポイントを計算するための単位量当たりの報酬ポイント（換算ポイント）と、利益配分率を決定するための重み係数とをコンテンツ種類ＩＤ毎に記憶する。図２８は、報酬ポイント換算情報格納部５４０が記憶する換算ポイント及び重み係数を例示する図である。ここでは単位量をキロバイトとする。同図に示されるように、コンテンツ種類ＩＤと、キロバイト当たりの換算ポイントと、重み関数と、当該重み関数の重みを指定する添数とが対応付けられて記憶される。この重み関数の引数は、各ノード５１の送信順序と、ピース番号とになる。各ノード５１の送信順序は、パラメータｉに対応する。
【００７２】
報酬ポイント計算部５３８は、鍵要求に含まれるコンテンツ種類ＩＤと対応付けられて報酬ポイント換算情報格納部５４０に記憶されている換算ポイント、重み関数Φr及び添数r,tを読み出すと共に、鍵要求に含まれるコンテンツ種類ＩＤと対応付けられてピース情報格納部５３５に記憶されたピース情報を読み出してピース数Mを取得する。更に、報酬ポイント計算部５３８は、送信が仲介された回数、即ち、鍵要求に含まれるノードＩＤ列に含まれるノードＩＤの数Nを取得する。そして、報酬ポイント計算部５３８は、鍵要求に含まれるノードＩＤ列に含まれる各ノードＩＤに対して報酬ポイントを各々付与するためのパラメータｉとピース番号mとを重み関数の引数に設定する。このパラメータｉの値は、送信を仲介したノード５０，５１の送信順序に対応する。そして、報酬ポイント計算部５３８は、ノードＩＤ列に含まれパラメータｉに対応する送信順序のノードＩＤが割り当てられたノード５１に対する重みをパラメータｉ毎に計算する。この重みが利益配分率に相当する。従って、重み関数Φr、添数r,t、ピース数M、ノードＩＤの数N、パラメータｉ及びピース番号mが、以下の式２を満たすように、重み関数Φr及び添数r,tを設定することが望ましいが、これに限らない。尚、図２１に示される鍵要求を鍵サーバ５３が受信した場合、‘N=ｆ+1’である。
【００７３】
【数２】
2010166432.tif 000004
【００７４】
そして、報酬ポイント計算部５３８は、計算した重みと、配信量計算部５３６が計算した配信量と、換算ポイントとを用いて、パラメータｉに対応する送信順序のノードＩＤが割り当てられたノード５１に対する報酬ポイントをパラメータｉ毎に例えば以下の式３により計算する。尚、報酬ポイントをBとし、配信量をSとし、換算ポイントをρとする。
【００７５】
【数３】
2010166432.tif 000005
【００７６】
そして、報酬ポイント計算部５３８は、当該ノード５１のノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶されている各々報酬ポイントに、計算した報酬ポイントを加えることにより、各ノード５１の報酬ポイントの合計を各々計算する。そして、報酬ポイント計算部５３８は、各ノードＩＤと対応付けられて報酬ポイント格納部５４１に各々記憶されている報酬ポイントの合計を、計算した報酬ポイントの合計と各々置き換えることにより、報酬ポイント格納部５４１に各々記憶されている報酬ポイントの合計を各々更新する。尚、報酬ポイントが報酬ポイント格納部５４１にまだ記憶されていないノードＩＤについては、報酬ポイント計算部５３８は、鍵要求により復号鍵を要求されているピースに対して計算した報酬ポイントを、当該ノードＩＤと対応付けて報酬ポイント格納部５４１に記憶させる。その他の構成は上述の第１の実施の形態又は第２の実施の形態と同様である。
【００７７】
（２）動作
次に、本実施の形態にかかる鍵サーバ５３が上述の鍵送信処理を行う際に行う報酬ポイント計算処理の手順について図２９を用いて説明する。その他の処理の手順は上述の第１の実施の形態又は第２の実施の形態と同様である。鍵サーバ５３は、まず、鍵要求に含まれるノードＩＤ列に含まれる各ノードＩＤを読み出し（ステップＳ８０）、各ノードＩＤに対して報酬ポイントを各々付与するためのパラメータｉを設定する（ステップＳ８１）。図２２の鍵要求の例では、鍵サーバ５３は、まず‘ｉ＝f’と設定する。そして、鍵サーバ５３は、ノードＩＤ列に含まれパラメータｉに対応する送信順序のノードＩＤを参照して、当該ノードＩＤが割り当てられたノードが配信開始ノードであるか否かを判定する（ステップＳ８２）。当該ノードが配信開始ノードである場合（ステップＳ８２：ＹＥＳ）、鍵サーバ５３は、処理を終了する。当該ノードが配信開始ノードでない場合（ステップＳ８２：ＮＯ）、鍵サーバ５３は、上述の第１の実施の形態と同様のステップＳ７１〜Ｓ７２を行って、鍵要求によって復号鍵が要求されたピースの配信量を計算する。次いで、鍵サーバ５３は、鍵要求に含まれるコンテンツ種類ＩＤと対応付けられて報酬ポイント換算情報格納部５４０に記憶されている換算ポイント、重み関数Φr及び添数r,tを読み出すと共に、鍵要求に含まれるコンテンツ種類ＩＤと対応付けられてピース情報格納部５３５に記憶されたピース情報を読み出してピース数Mを取得し、鍵要求に含まれるノードＩＤ列に含まれる各ノードＩＤの数Nを取得する（ステップＳ８３）。そして、鍵サーバ５３は、ピース数M及びノードＩＤの数Nを重み関数Φrの添数とする。次いで鍵サーバ５３は、ステップS８３で読み出した重み関数の引数にパラメータｉとピース番号mとを設定して、当該ノード５１に対する重みを計算する（ステップＳ８４）。
【００７８】
そして、鍵サーバ５３は、ステップＳ８４で計算した重みと、ステップＳ７２で計算した配信量と、ステップＳ８３で読み出した換算ポイントと、ステップＳ８３で読み出した重み関数Φr及び添数r,tと、添数として設定したピース数M及びノードＩＤの数Nとを用いて、パラメータｉに対応する順序のノードＩＤが割り当てられたノード５１に対する報酬ポイントを計算する（ステップＳ８５）。そして、鍵サーバ５３は、当該ノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶されている報酬ポイントを、ステップＳ８５で計算した報酬ポイントの合計と置き換えることにより、報酬ポイント格納部５４１に記憶されている報酬ポイントの合計を更新する（ステップＳ８６）。尚、報酬ポイントが報酬ポイント格納部５４１にまだ記憶されていないノードＩＤについては、鍵サーバ５３は、ステップＳ８５で計算した報酬ポイントを、当該ノードＩＤと対応付けて報酬ポイント格納部５４１に記憶させる。その後、鍵サーバ５３は、‘ｉ=ｉ-1’としてパラメータｉを再設定して（ステップＳ８７）、パラメータｉに対応する送信順序のノードＩＤを参照して、当該ノードＩＤが割り当てられたノードが配信開始ノードであるか否かを判定する（ステップＳ８８）。パラメータｉに対応する送信順序のノードＩＤが割り当てられたノードが配信開始ノードであると判定する（ステップＳ８８：ＹＥＳ）まで、鍵サーバ５３は、ステップＳ８４〜Ｓ８７の処理を繰り返す。即ち、図２２の鍵要求の例では、パラメータｉの値が‘f’から ’1’になるまで、鍵サーバ５３は、ステップＳ８４〜Ｓ８７の処理を繰り返して、配信開始ノード以外でピースの送信を仲介した各ノード５１に対して、送信順序及びピース番号に応じて利益配分率を決定し、当該利益配分率及び配信量に応じた報酬ポイントを各々付与する。
【００７９】
以上のように、配信量、送信順序及びピース番号に応じた報酬ポイントを各ノード５１に各々付与することで、二次配信の奨励を効果的且つ柔軟に行うことができる。
【００８０】
尚、上述の例では、重み係数の引数として、送信順序に対応するパラメータｉと、ピース番号mとを設定したが、重み係数の引数はこれらに限らない。また、重み係数の添数として、予め定められた添数r,tと、ピース数M及びノードＩＤの数Nとを用いたが、添数はこれらに限らない。
【００８１】
（３）重み関数の例
ここで、重み関数の例について説明する。例えば、上述の第１の実施の形態と同様に、最後に送信を行ったノード５１に対してのみ報酬ポイントを付与する場合の重み関数は例えば、以下の式４により表される。
【００８２】
【数４】
2010166432.tif 000006
【００８３】
また、上述の第２の実施の形態と同様に、ピースの送信を仲介した各ノード５１に対して報酬ポイントを等分に付与する場合の重み関数は例えば、以下の式５により表される。
【００８４】
【数５】
2010166432.tif 000007
【００８５】
また、送信順序が早いほど（ここではパラメータiの値が小さいほど）小さく、送信順序が遅いほど（ここではパラメータiの値が大きいほど）大きくなるように報酬ポイントを付与する場合の重み関数は例えば、以下の式６により表される。
【００８６】
【数６】
2010166432.tif 000008
【００８７】
また、最後に送信を行ったノード５１に対してのみ報酬ポイントを付与する場合であり且つピースが先頭に近いほど（ここではピース番号が小さいほど）小さく、ピースが最後尾に近いほど（ここではピース番号が大きいほど）大きくなるように報酬ポイントを付与する場合の重み関数は例えば、以下の式７により表される。
【００８８】
【数７】
2010166432.tif 000009
【００８９】
また、送信順序が早いほど小さく、送信順序が遅いほど大きく且つピースが先頭に近いほど（ここではピース番号が小さいほど）小さく、ピースが最後尾に近いほど（ここではピース番号が大きくなるほど）大きくなるように報酬ポイントを付与する場合の重み関数は例えば、以下の式８により表される。尚、式８は、式６の右辺及び左辺を掛け合わせたものである。
【００９０】
【数８】
2010166432.tif 000010
【００９１】
例えば、式７，８の重み関数によって、同じ配信量であっても、ピースが最後尾に近いほど大きくなるように報酬ポイントが計算されることにより、二次配信されにくい最後尾のピースの二次配信をより効果的に奨励することができる。
【００９２】
尚、各ノード５１が二次配信を行なった配信データ毎に配信量を計算して、この配信量と、単位量当たりの換算ポイントと、送信順序に応じた重み係数とを用いて、各ノード５１に対して付与する報酬ポイントを計算するようにしても良い。この場合の報酬ポイントを計算するための計算式は、例えば、以下の式９により表される。尚、Diは、パラメータｉに対応する送信順序のノードＩＤが割り当てられたノード５１が当該配信データについて送信を行なった配信量である。Cは、配信データの単位量当たりの換算ポイントであり、定数又は関数により計算された値である。Nは、送信が仲介された回数であり、wi,Nは、パラメータｉに対応する送信順序のノードＩＤが割り当てられたノード５１に対する重み係数である。尚、重み係数wi,Nは、以下の式１０を満たすことが望ましいが、これに限らない。
【００９３】
【数９】
2010166432.tif 000011
【００９４】
この重み係数wi,Nを算出する具体的な計算式は、例えば、式１１〜式１３に表される。式１１によれば、二次配信を行なった各ノード５１の重みが等分になる。
【００９５】
【数１０】
2010166432.tif 000012
【００９６】
式１２におけるrは、比例係数であり、‘0<r<1’なる定数である。この式１２によれば、各ノード５１の重みは、送信順序が早いほど小さく送信順序が遅いほど大きくなる。
【００９７】
式１３におけるrは、比例係数であり、‘0<r<1/2’なる定数である。この式１３によれば、各ノード５１の重みは、送信順序が早いほど小さく送信順序が遅いほど大きくなるが、ｉ=1’のパラメータｉに対応する送信順序のノードＩＤが割り当てられたノード５１、即ち、配信開始ノードであるノード５０から配信データを直接受信したノード５１の重みも例外的に大きくなる。
【００９８】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００９９】
＜変形例１＞
上述した実施の形態において、各ノード５０で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。この場合には、プログラムは、各ノード５０において上記記録媒体から読み出して実行することにより主記憶装置（例えばＲＡＭ）上にロードされ、上記機能的構成において説明した各部が主記憶装置上に生成される。鍵サーバ５３で実行される各種プログラムについても同様である。
【０１００】
また、上述した実施の形態において、各ノード５０の機能的構成において説明した各部のうち全部又は一部をハードウェアにより構成しても良い。鍵サーバ５３の機能的構成において説明した各部のうち全部又は一部についても同様である。
【０１０１】
＜変形例２＞
上述した実施の形態において、装置識別情報は、ノードＩＤであるとしたが、これに限らず、各ノードを一意に識別可能な情報であれば良く、例えば、各ノードのＩＰアドレスや、ＭＡＣアドレスや、ＵＲＬなどであっても良い。
【０１０２】
また、上述した実施の形態において、ピース特定情報は、コンテンツの先頭から順に割り付けたピース番号であるとしたが、ピースを識別するための情報であればどのようなものであっても良く、例えば、先頭からのバイト数や、ピースのハッシュ値などであっても良い。
【０１０３】
＜変形例３＞
上述した実施の形態のデータ配信システムにおいては、配信開始ノードの数は複数であっても良い。また、Ｐ２ＰネットワークＮＴに接続されるこの他のノードの数も特に限定されない。
【０１０４】
また、上述した実施の形態においては、鍵サーバ５３は、配布開始ノードなどの他のノード５０、５１と物理的に同じ装置であっても良い。
【０１０５】
また、上述した実施の形態においては、鍵サーバ５３は、課金処理、報酬ポイント計算処理及び復号鍵生成処理の順に処理を行ったが、処理の順序はこの順に限らない。
【０１０６】
また、上述した実施の形態においては、鍵サーバ５３が、課金処理部５３７と、ピース情報格納部５３５と、配信量計算部５３６と、価格情報格納部５３９と、報酬ポイント計算部５３８と、報酬ポイント格納部５４１と、報酬ポイント換算情報格納部５４０とを有するように構成した。しかし、これら各部を鍵サーバ５３が備えるのではなく、これらの各部を備えるサーバをデータ配信システムに別途備え、このサーバと鍵サーバ５３とが接続される構成であっても良い。このような構成においては、鍵サーバ５３は、鍵要求に含まれるノードＩＤ列に含まれるノードＩＤの全部又は一部、乱数列、コンテンツ種類ＩＤ及びピース番号と、当該鍵要求を送信したノード５１のノードＩＤとを当該サーバに送信する。これらを受信したサーバは、上述の鍵サーバ５３と同様にして、課金処理及び報酬ポイント計算処理を行えば良い。尚、当該サーバを１つの装置として構成するのではなく、例えば、課金処理部５３７を少なくとも備えるサーバと、配信量計算部５３６及び報酬ポイント計算部５３８を少なくとも備えるサーバとの複数の装置で構成するようにしても良い。
【０１０７】
＜変形例４＞
上述の実施の形態においては、１つのピース要求によって複数のピースが要求されるようにしても良い。この場合、ノード５０，５１は、複数のピースのそれぞれについて上述したように暗号化ピース、ノードＩＤ列及び乱数列の組を、ピース要求を送信した他のノード５１に送信すれば良い。
【０１０８】
また、上述の実施の形態においては、ノード５０，５１は、ピース要求に応じて暗号化ピースを送信する構成としたが、これに限らず、ピース要求を受信しなくとも、他のノード５１に暗号化ピースと共にノードＩＤ列及び乱数列を送信するようにしても良い。
【０１０９】
＜変形例５＞
上述の実施の形態においては、ノード５１は、配布データを構成する全てのピースについて暗号化ピースが取得されデータ格納部５１７に記憶された場合に、各暗号化ピースを復号するための鍵要求を鍵サーバ５３に送信するようにしても良い。この場合、ノード５１は、ピース番号を鍵サーバ５３に送信しなくても良い。又は、ノード５１は、配布データを構成する全てのピースについて暗号化ピースが取得されていない場合であっても、データ格納部５１７に記憶された暗号化ピースを復号するための鍵要求を鍵サーバ５３に送信するようにしても良い。また、ノード５１は、１つの鍵要求によって、１つの暗号化ピースを復号するための復号鍵を要求するようにしても良いし、複数の暗号化ピースを復号するための各復号鍵を要求するようにしても良い。
【０１１０】
尚、ノード５１は復号を、ピースを全部受信した後に行なっても良いし、ピースを受信する度に行なっても良い。また、配信データが画像データや音楽データであって、当該配信データを復号して再生する場合、ノード５１は全てのピースを再生しても良いし、一部のピースのみを再生しても良いし、ピース毎に再生しても良い。
【０１１１】
＜変形例６＞
上述の実施の形態においては、ノード５０，５１は、データ格納部５１７に記憶された暗号化ピースを他のノード５１に送信する場合、その都度、乱数を生成するようにした。しかし、ノード５０，５１は、乱数をその都度生成するのではなく、例えば、暗号化ピースの送信回数に応じて発生させるようにしても良い。例えば、ノード５０，５１は、暗号化ピースの送信を所定の回数（例えば５回）行う毎に新たな乱数を生成するようにしても良い。また、ノード５０，５１が乱数を生成するタイミングは、他のノード５１からピース要求を受信したときであっても良いし、所定の時間毎であっても良い。
【０１１２】
また、上述の実施の形態においては、ノード５１は、データ格納部５１７に記憶された暗号化ピースを暗号化して他のノード５１に送信する場合、当該暗号化ピースのデータの全部ではなく一部のデータについて暗号化するようにしても良い。この場合、当該暗号化ピースの配信を仲介する各ノード５１が暗号化するデータが、同じく当該暗号化ピースの配信を仲介する他のノード５１が暗号化するデータと重複部分が生じるように、各ノード５１は当該暗号化ピースの一部のデータを暗号化するようにすれば良い。このような構成によれば、各ノード５１が行う暗号化に関する処理負担を軽減させることができると共に、暗号化部分を重複させることにより、復号鍵が暴露された場合の影響を抑制することが可能になる。
【０１１３】
＜変形例７＞
上述の実施の形態においては、ノード５１が他のノード５１に暗号化ピースと共に送信するノードＩＤ列及び乱数列は、例えば、(ID#0, r_0),(ID#1,r_1)…(ID#f, r_f)などのように、ノードＩＤと当該ノードＩＤに対応する乱数との組をノードＩＤ毎に示す形態であっても良い。
【０１１４】
＜変形例８＞
上述の実施の形態においては、ピースの暗号化には、暗号鍵でもあり、暗号化を復号するための復号鍵でもある一時対称鍵を用いた。しかし、ピースの暗号化に用いる暗号鍵と、暗号化ピースに対して行われている暗号化を復号するための復号鍵とは各々別であるとしても良い。
【０１１５】
また、上述した各実施の形態においては、各ノード５０，５１は、ピースの暗号化に用いる一時対称鍵を、乱数及び秘密鍵を用いて生成したが、これに限らず、例えば、秘密鍵自体や乱数自体を一時対称鍵として用いても良いし、乱数とピース番号とを用いて一時対称鍵を生成しても良い。
【０１１６】
また、上述の実施の形態においては、各ノード５０，５１に一意に割当られた秘密情報として秘密鍵を用いたが、これに限らない。
【０１１７】
また、上述の実施の形態においては、秘密鍵は、各ノード５０，５１に一意に割当られているとしたが、これに限らない。例えば、各ノード５０，５１のうち一部のノードに同一の秘密鍵が割り当てられるようにしても良い。
【０１１８】
また、上述の実施の形態においては、秘密情報を各ノード５０，５１と鍵サーバ５３とを共有する方法は限定されず、例えば、秘密情報を事前に共有する方法や、公開鍵で暗号化してピースの配信時に秘密情報をノード５１及び鍵サーバ５３に同時に配信する方法などであっても良い。また、秘密情報を各ノード５０，５１と鍵サーバ５３とを共有するのではなく、非対称鍵を用いて秘密情報を共有しない構成であっても良い。
【０１１９】
＜変形例９＞
上述の実施の形態においては、上述した暗号化ピース、ノードＩＤ列及び乱数列をパッケージ化したパッケージデータの形態で配布されるように構成しても良い。この場合、パッケージデータはコンピュータで読み取り可能な記録媒体に記録されてノードに提供されるようにしても良いし、サーバを介してノードにダウンロードされるように構成しても良い。当該パッケージデータを取得したノードは、ピース要求に応じて、上述の実施の形態と同様にして、当該パッケージデータに含まれる暗号化ピースに対して暗号化を選択的に行った暗号化ピースと、パッケージデータに含まれるノードＩＤ及び自身のノードＩＤと、パッケージデータに含まれる乱数列及び自身が生成した乱数とを他のノードに送信すれば良い。
【０１２０】
＜変形例１０＞
上述の実施の形態においては、配信開始ノードであるノード５０は、暗号化ピースを送信する際に、ノード５１と同様にして、所定の確率に従って暗号化を選択的に行うようにしても良い。この場合、ノード５０は、上述のノード５１の有する暗号化決定部５２１及び乱数代替生成部５２２と同様の機能を有するように構成すれば良い。
【０１２１】
また、上述の実施の形態においては、ノード５１が暗号化を選択的に行う際の確率は所定であるとしたが、これを可変にしても良い。例えば、暗号化ピースについての配信が仲介された回数（経由回数という）に応じて当該確率を変更するようにしても良いし、固定値と可変値とを使い分けるようにしても良い。
【０１２２】
＜変形例１１＞
上述した各実施の形態にかかる鍵サーバ５３を、各ノード５１がピースを送信する際に暗号化するか否かを決定して決定結果に従ってピースに対して暗号化を行って送信するデータ配信システムに適用したが、これに限らず、各ノード５１がピースを送信する毎に暗号化を行うデータ配信システムに適用するようにしても良い。
【０１２３】
また、このようにピースに対して各ノード５１が暗号化を重ねて送信するのではなく、各ノード５１が他のノード５０，５１から暗号化ピースを受信し、更に当該暗号化ピースを復号するための復号鍵を受信して、当該復号鍵を用いて当該暗号化ピースを一旦復号した後、復号したピースを新たに暗号化して新たな暗号化ピースを出力し、当該新たな暗号化ピースを他のノード５１に送信するデータ配信システムに適用しても良い。この場合、各ノード５１は、復号鍵を鍵サーバ５３から受信するようにしても良いし、ピースの暗号化を行ったノード５１自体から受信するようにしても良い。また、この復号鍵自体が暗号化されて送信されるようにしても良い。
【０１２４】
＜変形例１２＞
上述した各実施の形態において、配信データ毎に報酬ポイントが可変に設定されるようにし、鍵サーバ５３は配信データ毎の報酬ポイントを記憶する報酬ポイント格納部５４１を備えるようにしたが、これに限らず、全ての配信データに同一の報酬ポイントが設定されるようにしても良い。この場合、鍵サーバ５３は、報酬ポイント格納部５４１を備えなくても良く、ノード５１は、鍵サーバ５３に鍵要求を送信する際、コンテンツ種類ＩＤを含めなくても良い。
【０１２５】
また、上述した各実施の形態において、ピース情報格納部５３５においては、最後尾のピースについては、それ以外のピースと別にデータサイズが記憶されるようにし、このデータサイズを用いて配信量を計算するようにしたが、最後尾ピースについてもそれ以外のピースと同様のデータサイズを用いて配信量を計算するようにしても良い。
【０１２６】
また、各配信データの各ピースのデータサイズが固定であり全て同一である場合、鍵サーバ５３はピース情報格納部５３５を備えず、ノード５１は、鍵サーバ５３に鍵要求を送信する際、コンテンツ種類ＩＤを含めなくても良い。
【０１２７】
＜変形例１３＞
上述した各実施の形態において、鍵サーバ５３は、鍵要求を受信する度に課金処理を行うようにしたが、これに限らない。例えば、鍵サーバ５３は、鍵要求に含まれるピース番号が特定の値である場合にのみ課金処理を行うようにしても良い。
【０１２８】
また、上述した各実施の形態において、価格情報格納部５３９は、各配信データの価格だけではなく、当該価格と等価なポイントとして交換可能な報酬ポイントの値である交換ポイントを記憶するようにしても良い。図３０は、本変形例にかかる価格情報格納部５３９に記憶される価格及び交換ポイントを例示する図である。同図に示されるように、コンテンツ種類ＩＤと、配信データの価格と、交換ポイントとが対応付けられて記憶される。例えば、コンテンツ種類ＩＤが‘１２５０００１３’の配信データについては、１０００ポイントの報酬ポイントと等価でありこのポイントを交換ポイントとして当該交換ポイントと交換可能である。このような構成において、課金処理部５３７は、報酬ポイント、価格及び交換ポイントを用いて、鍵要求を送信したノード５１に対して課金額を計算する。
【０１２９】
図３１は、本変形例にかかる課金処理の手順を示すフローチャートである。鍵サーバ５３は、鍵要求を送信したノード５１のノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶された報酬ポイントを読み出し（ステップＳ６０）、鍵要求に含まれるコンテンツ種類ＩＤと同一のコンテンツ種類ＩＤと対応付けられて価格情報格納部５３９に記憶された価格及び交換ポイントを読み出す（ステップＳ６１´）。そして、鍵サーバ５３は、交換ポイントが報酬ポイント以下であるか否かを判定し（ステップＳ６５）、交換ポイントが報酬ポイント以下である場合（ステップＳ６５：ＹＥＳ）、報酬ポイントから交換ポイントを差し引いた値を新たな報酬ポイントの値として、当該ノードＩＤと対応付けられて報酬ポイント格納部５４１に記憶された報酬ポイントを更新して（ステップＳ６６）、課金処理を終了する。一方、交換ポイントが報酬ポイントより大きい場合（ステップＳ６５：ＮＯ）は、鍵サーバ５３は、上述の第１の実施の形態と同様にしてステップＳ６２〜Ｓ６４の処理を行う。
【０１３０】
以上のような構成によっても、二次配信を担ったノード５１に対して配信量に応じてインセンティブを正しく付与することができる。
【０１３１】
＜変形例１４＞
上述した各実施の形態において、インセンティブとして付与する報酬ポイントは、次回以降の課金処理での値引きに用いられるようにしたが、これに限らず、例えば、特典のおまけなどと交換可能にするようにしても良い。この場合、例えば、鍵サーバ５３が、鍵要求を送信したノード５１に対して、当該ノード５１に付与された報酬ポイントに応じて特典を提供する提供部を備えるようにしても良い。又は、このような提供部を備えるサーバをデータ配信システムに別途備えるようにしても良い。
【０１３２】
尚、鍵サーバ５３が、報酬ポイントを値引きとして用いるか特典との交換に用いるかを判定して、当該判定結果に応じて、課金処理を行うようにしても良い。図３２は、本変形例にかかる鍵送信処理の手順を示すフローチャートである。ステップＳ４０の後、ステップＳ１００では、鍵サーバ５３は、鍵要求によって復号鍵が要求されているピースが有料か無料か又は報酬ポイントが特典との交換により用いられるかを判定する。尚、各ピースが有料か無料か又は報酬ポイントが特典との交換により用いられるかは、例えば、各ピースのピース番号と対応付けて鍵サーバ５３に予め記憶されるようにすれば良い。そして、当該ピースが無料である場合、鍵サーバ５３は、上述の各実施の形態と同様のステップＳ４２〜Ｓ４４の処理を行う。一方、当該ピースが有料か又は報酬ポイントが特典との交換により用いられる場合、上述の各実施の形態と同様のステップＳ４１の課金処理を行い、次いで、課金が可能である否かを判定する（ステップＳ１０１）。課金が可能である場合（ステップＳ１０１：ＹＥＳ）、鍵サーバ５３は、ステップＳ４２〜Ｓ４４の処理を行い、課金が可能でない場合（ステップＳ１０１：ＮＯ）、復号鍵の送信が不可である旨を示すメッセージを、鍵要求を送信したノード５１に送信する（ステップＳ１０２）。
【０１３３】
また、報酬ポイントには、有効期限が設定されるようにしても良い。図３３は、本変形例にかかる報酬ポイント格納部５４１に記憶される報酬ポイントを例示する図である。同図に示されるように、ノード毎の報酬ポイントに対して有効期限が対応付けられて記憶される。このような構成において、鍵サーバ５３は、課金処理を行う際、報酬ポイント格納部５４１に記憶される報酬ポイントに対応付けられている有効期限が現在日時より経過していない場合に、当該報酬ポイントの値を用い、有効期限が現在日時より経過している場合、報酬ポイントの値を‘０’として、課金処理を行えば良い。
【０１３４】
＜変形例１５＞
上述した各実施の形態において、配信データ毎に換算ポイントが可変に設定されるようにし、鍵サーバ５３は配信データ毎の換算ポイントを記憶する報酬ポイント換算情報格納部５４０を備えるようにしたが、これに限らず、全ての配信データに同一の換算ポイントが設定されるようにしても良い。この場合、鍵サーバ５３は、報酬ポイント換算情報格納部５４０を備えなくても良く、ノード５１は、鍵サーバ５３に鍵要求を送信する際、コンテンツ種類ＩＤを含めなくても良い。
【０１３５】
＜変形例１６＞
上述した各実施の形態において、配信開始ノードであるノード５１に対しては、報酬ポイントを付与しないように構成したが、報酬ポイントを付与するように構成しても良い。
【符号の説明】
【０１３６】
５０，５１，５１Ａ，５１Ｂ  ノード
５３  鍵サーバ
５００  固有情報格納部
５０１  乱数生成部
５０２  一時対称鍵生成部
５０３  ピース暗号化部
５０４  ピース化部
５０５  データ送信部
５０６  送信要求受付部
５１０  固有情報格納部
５１１  乱数生成部
５１２  一時対称鍵生成部
５１３  ピース暗号化部
５１４  データ受信部
５１５  データ送信部
５１６  送信要求受付部
５１７  データ格納部
５１８  送信要求送信部
５１９  鍵要求送信部
５２０  ピース復号部
５２１  暗号化決定部
５２２  乱数代替生成部
５３０  秘密鍵格納部
５３１  データ受信部
５３２  暗号化スキップ判定部
５３３  一時対称鍵生成部
５３４  データ送信部
５３５  ピース情報格納部
５３６  配信量計算部
５３７  課金処理部
５３８  報酬ポイント計算部
５３９  価格情報格納部
５４０  報酬ポイント換算情報格納部
５４１  報酬ポイント格納部
ＮＴ  Ｐ２Ｐネットワーク
【図１】
2010166432.tif 000013
【図２】
2010166432.tif 000014
【図３】
2010166432.tif 000015
【図４】
2010166432.tif 000016
【図５】
2010166432.tif 000017
【図６】
2010166432.tif 000018
【図７】
2010166432.tif 000019
【図８】
2010166432.tif 000020
【図９】
2010166432.tif 000021
【図１０】
2010166432.tif 000022
【図１１】
2010166432.tif 000023
【図１２】
2010166432.tif 000024
【図１３】
2010166432.tif 000025
【図１４】
2010166432.tif 000026
【図１５】
2010166432.tif 000027
【図１６】
2010166432.tif 000028
【図１７】
2010166432.tif 000029
【図１８】
2010166432.tif 000030
【図１９】
2010166432.tif 000031
【図２０】
2010166432.tif 000032
【図２１】
2010166432.tif 000033
【図２２】
2010166432.tif 000034
【図２３】
2010166432.tif 000035
【図２４】
2010166432.tif 000036
【図２５】
2010166432.tif 000037
【図２６】
2010166432.tif 000038
【図２７】
2010166432.tif 000039
【図２８】
2010166432.tif 000040
【図２９】
2010166432.tif 000041
【図３０】
2010166432.tif 000042
【図３１】
2010166432.tif 000043
【図３２】
2010166432.tif 000044
【図３３】
2010166432.tif 000045