コンテンツ配信システム、コンテンツ配信方法およびプログラム
【課題】コンテンツ管理等を行うストレージを必要としないP2Pコンテンツ配信に対応したシステムを提供する。
【解決手段】クライアント端末が、マスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信し、暗号化されたユーザ鍵とコンテンツ鍵とを管理サーバに送信する。管理サーバは、保有するマスター鍵により、ユーザ鍵を復号し、そのユーザ鍵を用いて、暗号化されたコンテンツ鍵からコンテンツ鍵を復号し、マスター鍵を暗号化して新たなユーザ鍵を生成する。さらに、新たなユーザ鍵で復号したコンテンツ鍵を暗号化して、新たなユーザ鍵と前記コンテンツ鍵とをクライアント端末に返送し、クライアント端末が、コンテンツ鍵を新たなユーザ鍵により復号し、そのコンテンツ鍵でコンテンツを復号する。
【解決手段】クライアント端末が、マスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信し、暗号化されたユーザ鍵とコンテンツ鍵とを管理サーバに送信する。管理サーバは、保有するマスター鍵により、ユーザ鍵を復号し、そのユーザ鍵を用いて、暗号化されたコンテンツ鍵からコンテンツ鍵を復号し、マスター鍵を暗号化して新たなユーザ鍵を生成する。さらに、新たなユーザ鍵で復号したコンテンツ鍵を暗号化して、新たなユーザ鍵と前記コンテンツ鍵とをクライアント端末に返送し、クライアント端末が、コンテンツ鍵を新たなユーザ鍵により復号し、そのコンテンツ鍵でコンテンツを復号する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、DRM(Digital Rights Management)技術に関し、特に、P2Pコンテンツ配信に対応したコンテンツ配信システム、コンテンツ配信方法およびプログラムに関する。
【背景技術】
【0002】
近年、インターネットや携帯電話網といったネットワークの発達により、音楽や動画といったマルチメディアコンテンツのネットワーク流通が盛んに行われるようになってきている。音楽の分野では携帯型音楽プレイヤーとPCや携帯電話との連携により、徐々にCDによる流通からネットワーク配信への移行が進んでおり、また動画においてもネットワーク上でのストリーミングサービスなどが増えつつある。
【0003】
そのため、コンテンツの不正使用や不正流通、不正コピーを防止するために、コンテンツの暗号化を行う方法があり、ユーザに対し個別の暗号化鍵を作成し(これをユーザ鍵とする)、この鍵でコンテンツを暗号化した鍵(これをコンテンツ鍵とする)を暗号化する二重鍵方式や、さらにコンテンツ鍵を別な鍵で暗号化し、その鍵をユーザ鍵で暗号化する三重鍵方式などを用いて効率よくユーザ毎のコンテンツ制御を行う方式が提案されている。
【0004】
また、初めて視聴要求を発した端末に対応する暗号化コンテンツ鍵については全ての端末の情報が登録された暗号化コンテンツ鍵メインデータベースから検索して取得し、2回目以降の視聴要求については過去の履歴から作成され、配信サーバと接続された有効な端末のみが登録された暗号化コンテンツ鍵サブデータベースから検索して取得して、検索時間を削減する技術(例えば、特許文献1参照)やデータ再生装置が、暗号化コンテンツの復号に必要な復号鍵を暗号鍵蓄積サーバに要求し、暗号鍵蓄積サーバは復号鍵の有効期限と実時間とを比較して、有効期限内である場合のみ復号鍵をデータ再生装置に送出することで、暗号データの利用可能時間を情報提供者側で管理し、ユーザ側で任意に再生することのできない暗号文伝送システム(例えば、特許文献1参照)も提案されている。
【特許文献1】特開2005−117380号公報
【特許文献2】特開2003−174439号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、現在においては、コンテンツの管理面などから商用サービスではサーバ配信型が主流であり、iTS(iTunes Store)やYouTubeなどはその典型例である。一方で、コンテンツ流通の負荷分散や口コミ的な流通効果を踏まえて、P2P(Peer
to Peer)技術によるコンテンツ流通技術が注目され、近年ではWinnyなどの流行が見られ、また一部では商用サービスにP2P技術を用いたシステムを試験運用するケースも出始め、今後は商用サービスにおいてもこのタイプのコンテンツ流通が行われるものと推測される。
【0006】
しかしながら、従来手法ではユーザ鍵で暗号化するコンテンツ鍵などを管理する必要があり、またすべてのユーザへのコンテンツ鍵配布のために全ユーザ鍵を知っておく必要がある。この場合、P2Pのようにコンテンツがサーバを経由しないで流通するようなモデルにおいてもコンテンツ管理やユーザ管理を行うストレージが必要となり、P2Pによるコンテンツ配信の障害となるといった問題があった。
【0007】
そこで、本発明は、上記事情に鑑みてなされたものであり、コンテンツ管理やユーザ管理を行うストレージを必要としないP2Pコンテンツ配信に対応したコンテンツ配信システム、コンテンツ配信方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記した課題を解決するために以下の事項を提案している。
【0009】
(1)本発明は、管理サーバ(例えば、図1の管理サーバ2に相当)を仲介して、クライアント端末(例えば、図1のクライアント端末1に相当)間でP2Pにより、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルの配信を行うコンテンツ配信システムであって、前記管理サーバが保有するマスター鍵を暗号化して新たなユーザ鍵を生成するとともに、該生成した新たなユーザ鍵でコンテンツ鍵を暗号化して、前記クライアント端末に送信し、前記クライアント端末が、受信したコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号することを特徴とするコンテンツ配信システムを提案している。
【0010】
この発明によれば、管理サーバが保有するマスター鍵を暗号化して新たなユーザ鍵を生成するとともに、その生成した新たなユーザ鍵でコンテンツ鍵を暗号化して、クライアント端末に送信し、クライアント端末が、受信したコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。したがって、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【0011】
(2)本発明は、管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムであって、前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する受信手段(例えば、図2の受信部11に相当)と、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する送信手段(例えば、図2の送信部12に相当)と、を備え、前記管理サーバが、前記マスター鍵を保有する保有手段(例えば、図3のマスター鍵保有部23に相当)と、前記マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する鍵復号手段(例えば、図3の鍵復号部22に相当)と、前記マスター鍵を暗号化して新たなユーザ鍵を生成するユーザ鍵生成手段(例えば、図3のユーザ鍵生成部24に相当)と、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する暗号化手段(例えば、図3の暗号化部25に相当)と、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する返送手段(例えば、図3の送信部26に相当)と、を備え、前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号するコンテンツ復号手段(例えば、図2の復号部13に相当)と、を備えることを特徴とするコンテンツ配信システムを提案している。
【0012】
この発明によれば、クライアント端末の受信手段が、マスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信し、送信手段が、受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバに送信する。管理サーバの保有手段は、マスター鍵を保有し、鍵復号手段は、マスター鍵を用いて、受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する。ユーザ鍵生成手段は、マスター鍵を暗号化して新たなユーザ鍵を生成し、暗号化手段は、生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化し、返送手段が、新たなユーザ鍵と新たなユーザ鍵で暗号化されたコンテンツ鍵とをクライアント端末に返送する。そして、クライアント端末のコンテンツ復号手段が、返送されたコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。したがって、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【0013】
(3)本発明は、(2)のコンテンツ配信システムについて、前記管理サーバを複数備えることができるコンテンツ配信システムを提案している。
【0014】
この発明によれば、管理サーバを複数備えることができる。したがって、管理サーバを増設することによって、システムの拡充を簡単に行うことができる。
【0015】
(4)本発明は、管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムにおけるコンテンツ配信方法であって、前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する第1のステップ(例えば、図5のステップS101に相当)と、前記クライアント端末が、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する第2のステップ(例えば、図5のステップS102に相当)と、前記管理サーバが、前記マスター鍵を保有し、該マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する第3のステップ(例えば、図5のステップS103に相当)と、前記管理サーバが、前記マスター鍵を暗号化して新たなユーザ鍵を生成する第4のステップ(例えば、図5のステップS104に相当)と、前記管理サーバが、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する第5のステップ(例えば、図5のステップS105に相当)と、前記管理サーバが、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する第6のステップ(例えば、図5のステップS106に相当)と、前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する第7のステップ(例えば、図5のステップS107に相当)と、を備えることを特徴とするコンテンツ配信方法を提案している。
【0016】
この発明によれば、クライアント端末が、マスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信し、受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバに送信する。管理サーバは、マスター鍵を保有し、マスター鍵を用いて、受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号し、マスター鍵を暗号化して新たなユーザ鍵を生成するとともに、生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化して、新たなユーザ鍵と新たなユーザ鍵で暗号化されたコンテンツ鍵とをクライアント端末に返送する。そして、クライアント端末が、返送されたコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。したがって、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【0017】
(5)本発明は、管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムにおけるコンテンツ配信方法をコンピュータに実行させるためのプログラムであって、前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する第1のステップ(例えば、図5のステップS101に相当)と、前記クライアント端末が、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する第2のステップ(例えば、図5のステップS102に相当)と、前記管理サーバが、前記マスター鍵を保有し、該マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する第3のステップ(例えば、図5のステップS103に相当)と、前記管理サーバが、前記マスター鍵を暗号化して新たなユーザ鍵を生成する第4のステップ(例えば、図5のステップS104に相当)と、前記管理サーバが、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する第5のステップ(例えば、図5のステップS105に相当)と、前記管理サーバが、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する第6のステップ(例えば、図5のステップS106に相当)と、前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する第7のステップ(例えば、図5のステップS107に相当)と、をコンピュータに実行させるためのプログラムを提案している。
【0018】
この発明によれば、クライアント端末が、マスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信し、受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバに送信する。管理サーバは、マスター鍵を保有し、マスター鍵を用いて、受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号し、マスター鍵を暗号化して新たなユーザ鍵を生成するとともに、生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化して、新たなユーザ鍵と新たなユーザ鍵で暗号化されたコンテンツ鍵とをクライアント端末に返送する。そして、クライアント端末が、返送されたコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。したがって、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【発明の効果】
【0019】
本発明によれば、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなるという効果がある。これにより、特別なストレージを必要とせずに不正流通・使用を防止するコンテンツ配信が実現でき、P2P上でのコンテンツに対し著作権保護を実現できるという効果がある。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0021】
図1から図5を用いて、本発明の実施形態について説明する。
【0022】
<システム構成>
本実施形態に係るコンテンツ配信システムは、図1に示すように、P2P通信を行うクライアント端末1と、マスター鍵を管理する管理サーバ2とからなり、これらクライアント端末1と管理サーバ2とがネットワーク3を介して接続されている。なお、管理サーバ2は、システムの規模に応じて増設することが可能である。
【0023】
<クライアント端末の構成>
クライアント端末1は、図2に示すように、受信部11と、送信部12と、復号部13と、クライアント情報格納部14とから構成されている。
【0024】
受信部11は、他のクライアント端末1からマスター鍵で暗号化されたユーザ鍵とそのユーザ鍵で暗号化されたコンテンツ鍵とそのコンテンツ鍵で暗号化されたコンテンツとからなる図4に示されるようなコンテンツファイルを受信するするとともに、管理サーバ2から新たなユーザ鍵とこの新たなユーザ鍵で暗号化されたコンテンツ鍵とを受信する。
【0025】
送信部12は、受信部11が受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバに送信する。また、新たなユーザ鍵を発行するのに必要なクライアント情報を送信する。
【0026】
復号部13は、管理サーバ2から受信したコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。クライアント情報格納部14は、新たなユーザ鍵を発行するのに必要なクライアント情報(ユーザにバインドさせる場合はユーザ情報、クライアント端末にバインドさせて他のクライアントで使用できないようにするなら端末固有情報など)を格納する。
【0027】
<管理サーバの構成>
管理サーバ2は、図3に示すように、受信部21と、鍵復号部22と、マスター鍵保有部23と、ユーザ鍵生成部24と、暗号化部25と、送信部26とから構成されている。
【0028】
受信部21は、クライアント端末1から受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを受信する。また、新たなユーザ鍵を発行するのに必要なクライアント情報を送信する。
【0029】
鍵復号部22は、マスター鍵を用いて、受信部21において受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する。
【0030】
マスター鍵保有部23は、マスター鍵を格納、管理する。ユーザ鍵生成部24は、受信部21において受信した新たなユーザ鍵を発行するのに必要なクライアント情報を用いて、マスター鍵を暗号化して新たなユーザ鍵を生成する。
【0031】
暗号化部25は、ユーザ鍵生成部24が生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化する。送信部26は、クライアント端末1に、新たなユーザ鍵と新たなユーザ鍵で暗号化されたコンテンツ鍵とを送信する。
【0032】
<コンテンツ配信システムの処理>
次に、図5を用いて、コンテンツ配信システムの処理について、説明する。
【0033】
まず、クライアント端末の受信部11が、他のクライアント端末1からマスター鍵で暗号化されたユーザ鍵とそのユーザ鍵で暗号化されたコンテンツ鍵とそのコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する(ステップS101)。
【0034】
そして、クライアント端末の送信部12が、受信部11において受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバ2に送信する(ステップS102)。
【0035】
管理サーバ2は、マスター鍵を保有し、そのマスター鍵を用いて、受信部21において受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する(ステップS103)。
【0036】
次いで、管理サーバ2は、ユーザ鍵生成部24において、マスター鍵を暗号化して新たなユーザ鍵を生成する(ステップS104)。また、管理サーバ2の暗号化部25は、ユーザ鍵生成部24において生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化する(ステップS105)。
【0037】
さらに、管理サーバ2の送信部は、ユーザ鍵生成部24において生成した新たなユーザ鍵とこの新たなユーザ鍵で暗号化されたコンテンツ鍵とをクライアント端末に送信する(ステップS106)。そして、クライアント端末1の受信部11が、受信したコンテンツ鍵を復号化部13において新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する(ステップS107)。
【0038】
したがって、本実施形態によれば、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【0039】
<実施例>
次に、図6から図11を用いて、より具体的な実施例について説明する。
【0040】
なお、本実施例においては、以下の使用環境および条件を満たすものとする。
1)P2Pにおけるコンテンツ検索技術は整備されている。
2)必要となる場合において、PKC(公開鍵証明書)や認証局は整備されており、認証などの手順において、公開鍵・秘密鍵、署名鍵・検証鍵が正当に発行され、利用される。
3)クライアント端末が所有するコンテンツ鍵とは別に、ライセンス管理サーバだけが所有するマスター鍵が存在する。
4)コンテンツに付随する著作権情報やユーザに付随するライセンス条項に関する処理(課金など)は別途整備されているものとする。
5)クライアント端末は耐タンパ性モジュールを持ち、そのモジュール内にユーザのライセンス情報が組み込まれる。内部の情報および処理をユーザが改ざん、ならびに盗聴することは不可能であると仮定する。
【0041】
また、本実施例において、使用される記号は以下の通りである。
1)rn:
乱数
2)SENC(m,k):メッセージ(m)を共有鍵(k)によって共通鍵暗号系で暗号化されたデータ
3)Ka、Kb:ユーザ鍵(クライアントAはKa、クライアントBはKb)
4)gx、px、s、t、u、v[但し、x={0,1}]:
コンテンツ配信時の通信で使用される一時鍵のためのDH鍵共有用数値(原始元gx、素数px、クライアントA(コンテンツの供給元兼コンテンツ鍵暗号化変更依頼元)の秘密情報sおよびv、クライアントB(コンテンツの受信先)の秘密情報t、流通管理サーバ(コンテンツ鍵の更新依頼先)の秘密情報u)
5)TK:クライアントA−B間の一時通信用共有鍵
6)c、Meta、CID、CK:コンテンツ(c)と、その付随情報(Meta)と、コンテンツID(CID)と、コンテンツ暗号化用のコンテンツ鍵(CK)
7)g2、p2、u:コンテンツ流通管理サーバとコンテンツ使用依頼を行うクライアントB間で共有するユーザ鍵(=通信用の鍵)(原始元g1、素数p1、流通管理サーバの秘密情報u)
8)IDb:クライアントBが使用するクライアント端末の端末固有情報
9)f(・):端末固有情報の変換関数
10)Km:コンテンツ流通管理サーバが持つマスター鍵
11)||:前後の値の連接
【0042】
<実施例1>
以下、図6から図8を用いて、実施例1について説明する。
【0043】
<コンテンツの配信処理>
まず、図6に示すように、
1)クライアントBからコンテンツ送信要求の合図があったら、クライアントAは、乱数r0とDH鍵生成用の数値g0,p0,s0を生成して、クライアントBに送信する。
2)クライアントBは、tを生成してg0t mod
p0を演算する。また、一時鍵TK=g0st mod
p0を計算し、受信した乱数r0を暗号化したSENC(r0, TK)を演算する。さらに、別な乱数r1を生成し、r1、g0t mod
p0、SENC(r0, TK)をクライアントAに送信する。
3)クライアントAは、TKを求め、受信したSENC(r0, TK)を復号し、自分が送信したr0と一致するか確認を行う。確認ができたら、SENC(r1, TK)を計算し、クライアントBに送信する。
4)クライアントBは、SENC(r1, TK)を復号し、自分が送信したr1と一致するか確認を行う。確認ができたら、受信したコンテンツのIDであるCIDからSENC(CID, TK)を計算し、クライアントAに送信する。
5)クライアントAは、CIDを確認し、該当するコンテンツがあれば、そのコンテンツを暗号化したコンテンツ鍵をユーザ鍵で暗号化したものと、そのユーザ鍵をコンテンツのメタ情報Metaと合わせてマスター鍵で暗号化したものSENC(Meta||Ka、 Km)||SENC(CK、 Ka)を管理サーバに送信し、コンテンツ流通用の一時鍵で暗号化し直したものであるSENC(Meta||DK, Km)||SENC(CK, DK)を受信する。これと、暗号化コンテンツを合わせTKで暗号化したものであるSENC(SENC(Meta||DK, Km)||SENC(CK, DK)||SENC(c, CK), TK)を送信パケットとして、クライアントBに送信する。
【0044】
上記5)におけるコンテンツ鍵の暗号化を変更する手順を図7により説明する。
1)クライアントAからコンテンツ配信要求の合図があったら、管理サーバは乱数r2とDH鍵生成用の数値g1,p1,uを生成してクライアントAに送信する。
2)クライアントAは、vを生成してg1v mod
p1を演算する。また、一時鍵TK‘=g1uv mod
p1を計算し、受信した乱数r2を暗号化したSENC(r2, TK’)を演算する。さらに、別な乱数r3を生成し、r3、g1v mod
p1、SENC(r2, TK‘)を管理サーバに送信する。
3)管理サーバは、TK‘を求め、受信したSENC(r2, TK’)を復号し自分が送信したr2と一致するか確認を行う。確認ができたら、SENC(r3, TK‘)を計算し、クライアントAに送信する。
4)クライアントAは、SENC(r3, TK‘)を復号し、自分が送信したr3と一致するか確認を行う。確認ができたら、コンテンツ配信用の一時暗号化鍵DKを生成する。これとコンテンツを暗号化したコンテンツ鍵をユーザ鍵で暗号化したものと、そのユーザ鍵をMetaと合わせてマスター鍵で暗号化したものであるSENC(Meta||Ka, Km)||SENC(CK, Ka)とを一緒にTK’で暗号化したものであるSENC(DK||SENC(Meta||Ka, Km)||SENC(CK, Ka), TK‘)を管理サーバに送信する。
6)管理サーバは、全ての情報を復号した後、DKで再暗号化したものSENC(Meta||DK, Km)||SENC(CK, DK)を生成し、これをTK‘で暗号化してクライアントAに送信する。
7)クライアントAは、受信した情報を復号し、SENC(Meta||DK, Km)||SENC(CK, DK)を得る。
なお、P2Pではなく、コンテンツ配信サーバで求める場合(初めてコンテンツの配信を受ける人、またはP2Pの検索でコンテンツが見つからなかった人)も、クライアントAをコンテンツ配信サーバとして同様の手順で求める。ただし、上記4)の手順においては、代わりにSENC(CID||DK||CK, TK‘)を送信する。また、上記5)の手順は同じである。
【0045】
<コンテンツ使用依頼の処理>
図8を用いて、コンテンツ使用依頼の処理について説明する。
【0046】
1)クライアントBからコンテンツ使用依頼の合図があったら,管理サーバは乱数r4とDH鍵生成用の数値g2,p3,wを生成してクライアントBに送信する.
2)クライアントBは、自分の端末のハードウェアIDであるIDbからf(IDb)を生成して、g2f(IDb) mod p2を演算する。また、暗号化鍵Kb=g2wf(id) mod
p2を計算し、受信した乱数r4を暗号化したSENC(r4, Kb)を演算する。更に、別な乱数r5を生成し、r5、g2f(IDb) mod
p5、SENC(r4, Kb)を管理サーバに送信する。
3)管理サーバはKbを求め、受信したSENC(r4, Kb)を復号し、自分が送信したr4と一致するか確認を行う。確認ができたら、SENC(r5, Kb)を計算し、クライアントBに送信する。
4)クライアントBは、SENC(r5, Kb)を復号し、自分が送信したr5と一致するか確認を行う。確認ができたら、クライアントAから受信したものからSENC(SENC(Meta||DK, Km) ||SENC(CK, DK)||, Kb)を計算し、管理サーバに送信する。
5)管理サーバは、DKを導出して復号し、Kbで再暗号処理を行い、SENC(SENC(Meta||Kb, Km) ||SENC(CK, Kb)||, Kb)を計算し、クライアントBに送信する。クライアントBは、受信したものとg2w mod
p2を保存する。
【0047】
<実施例2>
図9から図11を用いて、実施例2について説明する。
前記の実施例1では、コンテンツ取得時と使用時の通信を独立させたものを示したが、本実施例では、コンテンツ取得時にコンテンツを配信先の端末にバインドさせ使用時の通信を必要としないものについて説明する。つまり、実施例1は、将来ユーザを追跡できない方法で鍵の生成を行える方式が提案された際に、その方式の適用によりユーザ間の連携といったプライバシ情報を保護できるようにするためのものであったが、本実施例は、コンテンツ取得時に全ての処理を終了させることでユーザの負担を軽減させるためのものである。
【0048】
<ユーザ鍵の発行処理>
図9を用いて、本実施例におけるユーザ鍵の発行処理について、説明する。
1)クライアントBからユーザ鍵依頼の合図があったら,管理サーバは乱数r0とDH鍵生成用の数値g2,p3,wを生成してクライアントBに送信する。
2)クライアントBは、自分の端末のハードウェアIDであるIDbからf(IDb)を生成して、g2f(IDb) mod p2を演算する。また、暗号化鍵Kb=g2wf(id) mod
p2を計算し、受信した乱数r0を暗号化したものであるSENC(r0, Kb)を演算する。更に、別な乱数r1を生成し、r1、g2f(IDb) mod
p5、SENC(r0, Kb)を管理サーバに送信する。
3)管理サーバは、Kbを求め、受信したSENC(r0, Kb)を復号し、自分が送信したr0と一致するか確認を行う。確認ができたら、SENC(r1, Kb)を計算し、クライアントBに送信する。
4)クライアントBは、SENC(r1, Kb)を復号し、自分が送信したr1と一致するか確認を行う。確認ができたら、クライアントBはg2w mod
p2を保存する。
【0049】
<コンテンツの配信処理>
図10および図11を用いて、本実施例におけるコンテンツの配信処理について、説明する。
1)クライアントBからコンテンツ送信要求の合図があったら、クライアントAは、乱数r2とDH鍵生成用の数値g0,p0,s0を生成してクライアントBに送信する。
2)クライアントBは、tを生成してg0t mod
p0を演算する。また、一時鍵TK=g0st mod
p0を計算し、受信した乱数r2を暗号化したSENC(r2, TK)を演算する。さらに、別な乱数r3を生成し、r3、g0t mod
p0、SENC(r2, TK)をクライアントAに送信する。
3)クライアントAは、TKを求め、受信したSENC(r2, TK)を復号し、自分が送信したr2と一致するか確認を行う。確認ができたら、SENC(r3, TK)を計算し、クライアントB送信する。
4)クライアントBは、SENC(r3, TK)を復号し、自分が送信したr3と一致するか確認を行う。確認ができたら、受信したコンテンツのIDであるCIDとユーザ鍵生成用シードからSENC(CID|| g2f(IDb) mod p2, TK)を計算し、クライアントAに送信する。
5)クライアントAは、CIDを確認し該当するコンテンツがあれば、そのコンテンツを暗号化したコンテンツ鍵をユーザ鍵で暗号化したものと、そのユーザ鍵をコンテンツのメタ情報Metaと合わせてマスター鍵で暗号化したものであるSENC(Meta||Ka, Km)||SENC(CK, Ka)をクライアントBから受信したユーザ鍵生成用シードと連結して管理サーバに送信し、クライアントBのユーザ鍵で暗号化し直したものであるSENC(Meta||Kb, Km)||SENC(CK, Kb)を受信する。これと暗号化コンテンツを合わせTKで暗号化したものであるSENC(SENC(Meta||Kb, Km)||SENC(CK, Kb)||SENC(c, CK), TK)を送信パケットとしてクライアントBに送信する。
6)クライアントBは、受信したものを復号し、保存する。
【0050】
上記5)におけるコンテンツ鍵の暗号化を変更する手順について説明する。
1)クライアントAからコンテンツ配信要求の合図があったら、管理サーバは、乱数r4とDH鍵生成用の数値g1,p1,uを生成してクライアントAに送信する。
2)クライアントAは、vを生成してg1v mod
p1を演算する。また、一時鍵TK‘=g1uv mod
p1を計算し、受信した乱数r4を暗号化したSENC(r4, TK’)を演算する。さらに別な乱数r5を生成し、r5、g1v mod
p1、SENC(r4, TK‘)を管理サーバに送信する。
3)管理サーバは、TK‘を求め、受信したSENC(r4, TK’)を復号し自分が送信したr4と一致するか確認を行う。確認ができたら、SENC(r5, TK‘)を計算し、クライアントAに送信する。
4)クライアントAは、SENC(r5, TK‘)を復号し、自分が送信したr5と一致するか確認を行う。確認ができたら、クライアントBのユーザ鍵生成用シードとコンテンツを暗号化したコンテンツ鍵をユーザ鍵で暗号化したものと、そのユーザ鍵をMetaと合わせてマスター鍵で暗号化したものであるSENC(Meta||Ka, Km)||SENC(CK, Ka)と一緒にTK’で暗号化したものであるSENC(g2f(IDb) mod p2||SENC(Meta||Ka, Km)||SENC(CK, Ka), TK‘)を管理サーバに送信する。
5)管理サーバは、全ての情報を復号した後、クライアントBのユーザ鍵生成用シードからKbを生成し、この鍵で再暗号化したものであるSENC(Meta||Kb, Km)||SENC(CK, Kb)を生成し、これをTK‘で暗号化してクライアントAに送信する。
6)クライアントAは、受信した情報を復号し、SENC(Meta||Kb, Km)||SENC(CK, Kb)を得る。
【0051】
なお、これらプログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをクライアント端末1、管理サーバ2のそれぞれ(いずれもコンピュータシステム)に読み込ませ、実行することによって本発明のコンテンツ配信システムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0052】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0053】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0054】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、
【図面の簡単な説明】
【0055】
【図1】本発明の実施形態に係るシステムの構成図である。
【図2】本発明の実施形態に係るクライアント端末の構成図である。
【図3】本発明の実施形態に係る管理サーバの構成図である。
【図4】本発明の実施形態に係るコンテンツファイルの構成を例示した図である。
【図5】本発明の実施形態に係る処理フローである。
【図6】本発明の実施例1に係るコンテンツ配信の処理フローである。
【図7】本発明の実施例1に係るコンテンツ鍵暗号化変更の処理フローである。
【図8】本発明の実施例1に係るコンテンツ使用依頼の処理フローである。
【図9】本発明の実施例2に係るユーザ鍵発行の処理フローである。
【図10】本発明の実施例2に係るコンテンツ配信の処理フローである。
【図11】本発明の実施例2に係るコンテンツ鍵暗号化変更の処理フローである。
【符号の説明】
【0056】
1・・・クライアント端末、2・・・管理サーバ、3・・・ネットワーク、11・・・受信部、12・・・送信部、13・・・復号部、14・・・クライアント情報格納部、21・・・受信部、22・・・鍵復号部、23・・・マスター鍵保有部、24・・・ユーザ鍵生成部、25・・・暗号化部、26・・・送信部
【技術分野】
【0001】
本発明は、DRM(Digital Rights Management)技術に関し、特に、P2Pコンテンツ配信に対応したコンテンツ配信システム、コンテンツ配信方法およびプログラムに関する。
【背景技術】
【0002】
近年、インターネットや携帯電話網といったネットワークの発達により、音楽や動画といったマルチメディアコンテンツのネットワーク流通が盛んに行われるようになってきている。音楽の分野では携帯型音楽プレイヤーとPCや携帯電話との連携により、徐々にCDによる流通からネットワーク配信への移行が進んでおり、また動画においてもネットワーク上でのストリーミングサービスなどが増えつつある。
【0003】
そのため、コンテンツの不正使用や不正流通、不正コピーを防止するために、コンテンツの暗号化を行う方法があり、ユーザに対し個別の暗号化鍵を作成し(これをユーザ鍵とする)、この鍵でコンテンツを暗号化した鍵(これをコンテンツ鍵とする)を暗号化する二重鍵方式や、さらにコンテンツ鍵を別な鍵で暗号化し、その鍵をユーザ鍵で暗号化する三重鍵方式などを用いて効率よくユーザ毎のコンテンツ制御を行う方式が提案されている。
【0004】
また、初めて視聴要求を発した端末に対応する暗号化コンテンツ鍵については全ての端末の情報が登録された暗号化コンテンツ鍵メインデータベースから検索して取得し、2回目以降の視聴要求については過去の履歴から作成され、配信サーバと接続された有効な端末のみが登録された暗号化コンテンツ鍵サブデータベースから検索して取得して、検索時間を削減する技術(例えば、特許文献1参照)やデータ再生装置が、暗号化コンテンツの復号に必要な復号鍵を暗号鍵蓄積サーバに要求し、暗号鍵蓄積サーバは復号鍵の有効期限と実時間とを比較して、有効期限内である場合のみ復号鍵をデータ再生装置に送出することで、暗号データの利用可能時間を情報提供者側で管理し、ユーザ側で任意に再生することのできない暗号文伝送システム(例えば、特許文献1参照)も提案されている。
【特許文献1】特開2005−117380号公報
【特許文献2】特開2003−174439号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、現在においては、コンテンツの管理面などから商用サービスではサーバ配信型が主流であり、iTS(iTunes Store)やYouTubeなどはその典型例である。一方で、コンテンツ流通の負荷分散や口コミ的な流通効果を踏まえて、P2P(Peer
to Peer)技術によるコンテンツ流通技術が注目され、近年ではWinnyなどの流行が見られ、また一部では商用サービスにP2P技術を用いたシステムを試験運用するケースも出始め、今後は商用サービスにおいてもこのタイプのコンテンツ流通が行われるものと推測される。
【0006】
しかしながら、従来手法ではユーザ鍵で暗号化するコンテンツ鍵などを管理する必要があり、またすべてのユーザへのコンテンツ鍵配布のために全ユーザ鍵を知っておく必要がある。この場合、P2Pのようにコンテンツがサーバを経由しないで流通するようなモデルにおいてもコンテンツ管理やユーザ管理を行うストレージが必要となり、P2Pによるコンテンツ配信の障害となるといった問題があった。
【0007】
そこで、本発明は、上記事情に鑑みてなされたものであり、コンテンツ管理やユーザ管理を行うストレージを必要としないP2Pコンテンツ配信に対応したコンテンツ配信システム、コンテンツ配信方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記した課題を解決するために以下の事項を提案している。
【0009】
(1)本発明は、管理サーバ(例えば、図1の管理サーバ2に相当)を仲介して、クライアント端末(例えば、図1のクライアント端末1に相当)間でP2Pにより、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルの配信を行うコンテンツ配信システムであって、前記管理サーバが保有するマスター鍵を暗号化して新たなユーザ鍵を生成するとともに、該生成した新たなユーザ鍵でコンテンツ鍵を暗号化して、前記クライアント端末に送信し、前記クライアント端末が、受信したコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号することを特徴とするコンテンツ配信システムを提案している。
【0010】
この発明によれば、管理サーバが保有するマスター鍵を暗号化して新たなユーザ鍵を生成するとともに、その生成した新たなユーザ鍵でコンテンツ鍵を暗号化して、クライアント端末に送信し、クライアント端末が、受信したコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。したがって、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【0011】
(2)本発明は、管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムであって、前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する受信手段(例えば、図2の受信部11に相当)と、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する送信手段(例えば、図2の送信部12に相当)と、を備え、前記管理サーバが、前記マスター鍵を保有する保有手段(例えば、図3のマスター鍵保有部23に相当)と、前記マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する鍵復号手段(例えば、図3の鍵復号部22に相当)と、前記マスター鍵を暗号化して新たなユーザ鍵を生成するユーザ鍵生成手段(例えば、図3のユーザ鍵生成部24に相当)と、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する暗号化手段(例えば、図3の暗号化部25に相当)と、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する返送手段(例えば、図3の送信部26に相当)と、を備え、前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号するコンテンツ復号手段(例えば、図2の復号部13に相当)と、を備えることを特徴とするコンテンツ配信システムを提案している。
【0012】
この発明によれば、クライアント端末の受信手段が、マスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信し、送信手段が、受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバに送信する。管理サーバの保有手段は、マスター鍵を保有し、鍵復号手段は、マスター鍵を用いて、受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する。ユーザ鍵生成手段は、マスター鍵を暗号化して新たなユーザ鍵を生成し、暗号化手段は、生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化し、返送手段が、新たなユーザ鍵と新たなユーザ鍵で暗号化されたコンテンツ鍵とをクライアント端末に返送する。そして、クライアント端末のコンテンツ復号手段が、返送されたコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。したがって、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【0013】
(3)本発明は、(2)のコンテンツ配信システムについて、前記管理サーバを複数備えることができるコンテンツ配信システムを提案している。
【0014】
この発明によれば、管理サーバを複数備えることができる。したがって、管理サーバを増設することによって、システムの拡充を簡単に行うことができる。
【0015】
(4)本発明は、管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムにおけるコンテンツ配信方法であって、前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する第1のステップ(例えば、図5のステップS101に相当)と、前記クライアント端末が、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する第2のステップ(例えば、図5のステップS102に相当)と、前記管理サーバが、前記マスター鍵を保有し、該マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する第3のステップ(例えば、図5のステップS103に相当)と、前記管理サーバが、前記マスター鍵を暗号化して新たなユーザ鍵を生成する第4のステップ(例えば、図5のステップS104に相当)と、前記管理サーバが、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する第5のステップ(例えば、図5のステップS105に相当)と、前記管理サーバが、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する第6のステップ(例えば、図5のステップS106に相当)と、前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する第7のステップ(例えば、図5のステップS107に相当)と、を備えることを特徴とするコンテンツ配信方法を提案している。
【0016】
この発明によれば、クライアント端末が、マスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信し、受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバに送信する。管理サーバは、マスター鍵を保有し、マスター鍵を用いて、受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号し、マスター鍵を暗号化して新たなユーザ鍵を生成するとともに、生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化して、新たなユーザ鍵と新たなユーザ鍵で暗号化されたコンテンツ鍵とをクライアント端末に返送する。そして、クライアント端末が、返送されたコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。したがって、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【0017】
(5)本発明は、管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムにおけるコンテンツ配信方法をコンピュータに実行させるためのプログラムであって、前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する第1のステップ(例えば、図5のステップS101に相当)と、前記クライアント端末が、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する第2のステップ(例えば、図5のステップS102に相当)と、前記管理サーバが、前記マスター鍵を保有し、該マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する第3のステップ(例えば、図5のステップS103に相当)と、前記管理サーバが、前記マスター鍵を暗号化して新たなユーザ鍵を生成する第4のステップ(例えば、図5のステップS104に相当)と、前記管理サーバが、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する第5のステップ(例えば、図5のステップS105に相当)と、前記管理サーバが、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する第6のステップ(例えば、図5のステップS106に相当)と、前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する第7のステップ(例えば、図5のステップS107に相当)と、をコンピュータに実行させるためのプログラムを提案している。
【0018】
この発明によれば、クライアント端末が、マスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信し、受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバに送信する。管理サーバは、マスター鍵を保有し、マスター鍵を用いて、受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号し、マスター鍵を暗号化して新たなユーザ鍵を生成するとともに、生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化して、新たなユーザ鍵と新たなユーザ鍵で暗号化されたコンテンツ鍵とをクライアント端末に返送する。そして、クライアント端末が、返送されたコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。したがって、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【発明の効果】
【0019】
本発明によれば、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなるという効果がある。これにより、特別なストレージを必要とせずに不正流通・使用を防止するコンテンツ配信が実現でき、P2P上でのコンテンツに対し著作権保護を実現できるという効果がある。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0021】
図1から図5を用いて、本発明の実施形態について説明する。
【0022】
<システム構成>
本実施形態に係るコンテンツ配信システムは、図1に示すように、P2P通信を行うクライアント端末1と、マスター鍵を管理する管理サーバ2とからなり、これらクライアント端末1と管理サーバ2とがネットワーク3を介して接続されている。なお、管理サーバ2は、システムの規模に応じて増設することが可能である。
【0023】
<クライアント端末の構成>
クライアント端末1は、図2に示すように、受信部11と、送信部12と、復号部13と、クライアント情報格納部14とから構成されている。
【0024】
受信部11は、他のクライアント端末1からマスター鍵で暗号化されたユーザ鍵とそのユーザ鍵で暗号化されたコンテンツ鍵とそのコンテンツ鍵で暗号化されたコンテンツとからなる図4に示されるようなコンテンツファイルを受信するするとともに、管理サーバ2から新たなユーザ鍵とこの新たなユーザ鍵で暗号化されたコンテンツ鍵とを受信する。
【0025】
送信部12は、受信部11が受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバに送信する。また、新たなユーザ鍵を発行するのに必要なクライアント情報を送信する。
【0026】
復号部13は、管理サーバ2から受信したコンテンツ鍵を新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する。クライアント情報格納部14は、新たなユーザ鍵を発行するのに必要なクライアント情報(ユーザにバインドさせる場合はユーザ情報、クライアント端末にバインドさせて他のクライアントで使用できないようにするなら端末固有情報など)を格納する。
【0027】
<管理サーバの構成>
管理サーバ2は、図3に示すように、受信部21と、鍵復号部22と、マスター鍵保有部23と、ユーザ鍵生成部24と、暗号化部25と、送信部26とから構成されている。
【0028】
受信部21は、クライアント端末1から受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを受信する。また、新たなユーザ鍵を発行するのに必要なクライアント情報を送信する。
【0029】
鍵復号部22は、マスター鍵を用いて、受信部21において受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する。
【0030】
マスター鍵保有部23は、マスター鍵を格納、管理する。ユーザ鍵生成部24は、受信部21において受信した新たなユーザ鍵を発行するのに必要なクライアント情報を用いて、マスター鍵を暗号化して新たなユーザ鍵を生成する。
【0031】
暗号化部25は、ユーザ鍵生成部24が生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化する。送信部26は、クライアント端末1に、新たなユーザ鍵と新たなユーザ鍵で暗号化されたコンテンツ鍵とを送信する。
【0032】
<コンテンツ配信システムの処理>
次に、図5を用いて、コンテンツ配信システムの処理について、説明する。
【0033】
まず、クライアント端末の受信部11が、他のクライアント端末1からマスター鍵で暗号化されたユーザ鍵とそのユーザ鍵で暗号化されたコンテンツ鍵とそのコンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する(ステップS101)。
【0034】
そして、クライアント端末の送信部12が、受信部11において受信したマスター鍵で暗号化されたユーザ鍵とユーザ鍵で暗号化されたコンテンツ鍵とを管理サーバ2に送信する(ステップS102)。
【0035】
管理サーバ2は、マスター鍵を保有し、そのマスター鍵を用いて、受信部21において受信したマスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する(ステップS103)。
【0036】
次いで、管理サーバ2は、ユーザ鍵生成部24において、マスター鍵を暗号化して新たなユーザ鍵を生成する(ステップS104)。また、管理サーバ2の暗号化部25は、ユーザ鍵生成部24において生成した新たなユーザ鍵で復号したコンテンツ鍵を暗号化する(ステップS105)。
【0037】
さらに、管理サーバ2の送信部は、ユーザ鍵生成部24において生成した新たなユーザ鍵とこの新たなユーザ鍵で暗号化されたコンテンツ鍵とをクライアント端末に送信する(ステップS106)。そして、クライアント端末1の受信部11が、受信したコンテンツ鍵を復号化部13において新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する(ステップS107)。
【0038】
したがって、本実施形態によれば、コンテンツファイルの形式をマスター鍵で暗号化したユーザ鍵、ユーザ鍵で暗号化したコンテンツ鍵、コンテンツ鍵で暗号化したコンテンツの構成としたことから、管理サーバは、マスター鍵のみを管理するだけでよいため、クライアント毎のユーザ鍵の管理やコンテンツ毎のコンテンツ鍵の管理を行うストレージが必要なくなる。
【0039】
<実施例>
次に、図6から図11を用いて、より具体的な実施例について説明する。
【0040】
なお、本実施例においては、以下の使用環境および条件を満たすものとする。
1)P2Pにおけるコンテンツ検索技術は整備されている。
2)必要となる場合において、PKC(公開鍵証明書)や認証局は整備されており、認証などの手順において、公開鍵・秘密鍵、署名鍵・検証鍵が正当に発行され、利用される。
3)クライアント端末が所有するコンテンツ鍵とは別に、ライセンス管理サーバだけが所有するマスター鍵が存在する。
4)コンテンツに付随する著作権情報やユーザに付随するライセンス条項に関する処理(課金など)は別途整備されているものとする。
5)クライアント端末は耐タンパ性モジュールを持ち、そのモジュール内にユーザのライセンス情報が組み込まれる。内部の情報および処理をユーザが改ざん、ならびに盗聴することは不可能であると仮定する。
【0041】
また、本実施例において、使用される記号は以下の通りである。
1)rn:
乱数
2)SENC(m,k):メッセージ(m)を共有鍵(k)によって共通鍵暗号系で暗号化されたデータ
3)Ka、Kb:ユーザ鍵(クライアントAはKa、クライアントBはKb)
4)gx、px、s、t、u、v[但し、x={0,1}]:
コンテンツ配信時の通信で使用される一時鍵のためのDH鍵共有用数値(原始元gx、素数px、クライアントA(コンテンツの供給元兼コンテンツ鍵暗号化変更依頼元)の秘密情報sおよびv、クライアントB(コンテンツの受信先)の秘密情報t、流通管理サーバ(コンテンツ鍵の更新依頼先)の秘密情報u)
5)TK:クライアントA−B間の一時通信用共有鍵
6)c、Meta、CID、CK:コンテンツ(c)と、その付随情報(Meta)と、コンテンツID(CID)と、コンテンツ暗号化用のコンテンツ鍵(CK)
7)g2、p2、u:コンテンツ流通管理サーバとコンテンツ使用依頼を行うクライアントB間で共有するユーザ鍵(=通信用の鍵)(原始元g1、素数p1、流通管理サーバの秘密情報u)
8)IDb:クライアントBが使用するクライアント端末の端末固有情報
9)f(・):端末固有情報の変換関数
10)Km:コンテンツ流通管理サーバが持つマスター鍵
11)||:前後の値の連接
【0042】
<実施例1>
以下、図6から図8を用いて、実施例1について説明する。
【0043】
<コンテンツの配信処理>
まず、図6に示すように、
1)クライアントBからコンテンツ送信要求の合図があったら、クライアントAは、乱数r0とDH鍵生成用の数値g0,p0,s0を生成して、クライアントBに送信する。
2)クライアントBは、tを生成してg0t mod
p0を演算する。また、一時鍵TK=g0st mod
p0を計算し、受信した乱数r0を暗号化したSENC(r0, TK)を演算する。さらに、別な乱数r1を生成し、r1、g0t mod
p0、SENC(r0, TK)をクライアントAに送信する。
3)クライアントAは、TKを求め、受信したSENC(r0, TK)を復号し、自分が送信したr0と一致するか確認を行う。確認ができたら、SENC(r1, TK)を計算し、クライアントBに送信する。
4)クライアントBは、SENC(r1, TK)を復号し、自分が送信したr1と一致するか確認を行う。確認ができたら、受信したコンテンツのIDであるCIDからSENC(CID, TK)を計算し、クライアントAに送信する。
5)クライアントAは、CIDを確認し、該当するコンテンツがあれば、そのコンテンツを暗号化したコンテンツ鍵をユーザ鍵で暗号化したものと、そのユーザ鍵をコンテンツのメタ情報Metaと合わせてマスター鍵で暗号化したものSENC(Meta||Ka、 Km)||SENC(CK、 Ka)を管理サーバに送信し、コンテンツ流通用の一時鍵で暗号化し直したものであるSENC(Meta||DK, Km)||SENC(CK, DK)を受信する。これと、暗号化コンテンツを合わせTKで暗号化したものであるSENC(SENC(Meta||DK, Km)||SENC(CK, DK)||SENC(c, CK), TK)を送信パケットとして、クライアントBに送信する。
【0044】
上記5)におけるコンテンツ鍵の暗号化を変更する手順を図7により説明する。
1)クライアントAからコンテンツ配信要求の合図があったら、管理サーバは乱数r2とDH鍵生成用の数値g1,p1,uを生成してクライアントAに送信する。
2)クライアントAは、vを生成してg1v mod
p1を演算する。また、一時鍵TK‘=g1uv mod
p1を計算し、受信した乱数r2を暗号化したSENC(r2, TK’)を演算する。さらに、別な乱数r3を生成し、r3、g1v mod
p1、SENC(r2, TK‘)を管理サーバに送信する。
3)管理サーバは、TK‘を求め、受信したSENC(r2, TK’)を復号し自分が送信したr2と一致するか確認を行う。確認ができたら、SENC(r3, TK‘)を計算し、クライアントAに送信する。
4)クライアントAは、SENC(r3, TK‘)を復号し、自分が送信したr3と一致するか確認を行う。確認ができたら、コンテンツ配信用の一時暗号化鍵DKを生成する。これとコンテンツを暗号化したコンテンツ鍵をユーザ鍵で暗号化したものと、そのユーザ鍵をMetaと合わせてマスター鍵で暗号化したものであるSENC(Meta||Ka, Km)||SENC(CK, Ka)とを一緒にTK’で暗号化したものであるSENC(DK||SENC(Meta||Ka, Km)||SENC(CK, Ka), TK‘)を管理サーバに送信する。
6)管理サーバは、全ての情報を復号した後、DKで再暗号化したものSENC(Meta||DK, Km)||SENC(CK, DK)を生成し、これをTK‘で暗号化してクライアントAに送信する。
7)クライアントAは、受信した情報を復号し、SENC(Meta||DK, Km)||SENC(CK, DK)を得る。
なお、P2Pではなく、コンテンツ配信サーバで求める場合(初めてコンテンツの配信を受ける人、またはP2Pの検索でコンテンツが見つからなかった人)も、クライアントAをコンテンツ配信サーバとして同様の手順で求める。ただし、上記4)の手順においては、代わりにSENC(CID||DK||CK, TK‘)を送信する。また、上記5)の手順は同じである。
【0045】
<コンテンツ使用依頼の処理>
図8を用いて、コンテンツ使用依頼の処理について説明する。
【0046】
1)クライアントBからコンテンツ使用依頼の合図があったら,管理サーバは乱数r4とDH鍵生成用の数値g2,p3,wを生成してクライアントBに送信する.
2)クライアントBは、自分の端末のハードウェアIDであるIDbからf(IDb)を生成して、g2f(IDb) mod p2を演算する。また、暗号化鍵Kb=g2wf(id) mod
p2を計算し、受信した乱数r4を暗号化したSENC(r4, Kb)を演算する。更に、別な乱数r5を生成し、r5、g2f(IDb) mod
p5、SENC(r4, Kb)を管理サーバに送信する。
3)管理サーバはKbを求め、受信したSENC(r4, Kb)を復号し、自分が送信したr4と一致するか確認を行う。確認ができたら、SENC(r5, Kb)を計算し、クライアントBに送信する。
4)クライアントBは、SENC(r5, Kb)を復号し、自分が送信したr5と一致するか確認を行う。確認ができたら、クライアントAから受信したものからSENC(SENC(Meta||DK, Km) ||SENC(CK, DK)||, Kb)を計算し、管理サーバに送信する。
5)管理サーバは、DKを導出して復号し、Kbで再暗号処理を行い、SENC(SENC(Meta||Kb, Km) ||SENC(CK, Kb)||, Kb)を計算し、クライアントBに送信する。クライアントBは、受信したものとg2w mod
p2を保存する。
【0047】
<実施例2>
図9から図11を用いて、実施例2について説明する。
前記の実施例1では、コンテンツ取得時と使用時の通信を独立させたものを示したが、本実施例では、コンテンツ取得時にコンテンツを配信先の端末にバインドさせ使用時の通信を必要としないものについて説明する。つまり、実施例1は、将来ユーザを追跡できない方法で鍵の生成を行える方式が提案された際に、その方式の適用によりユーザ間の連携といったプライバシ情報を保護できるようにするためのものであったが、本実施例は、コンテンツ取得時に全ての処理を終了させることでユーザの負担を軽減させるためのものである。
【0048】
<ユーザ鍵の発行処理>
図9を用いて、本実施例におけるユーザ鍵の発行処理について、説明する。
1)クライアントBからユーザ鍵依頼の合図があったら,管理サーバは乱数r0とDH鍵生成用の数値g2,p3,wを生成してクライアントBに送信する。
2)クライアントBは、自分の端末のハードウェアIDであるIDbからf(IDb)を生成して、g2f(IDb) mod p2を演算する。また、暗号化鍵Kb=g2wf(id) mod
p2を計算し、受信した乱数r0を暗号化したものであるSENC(r0, Kb)を演算する。更に、別な乱数r1を生成し、r1、g2f(IDb) mod
p5、SENC(r0, Kb)を管理サーバに送信する。
3)管理サーバは、Kbを求め、受信したSENC(r0, Kb)を復号し、自分が送信したr0と一致するか確認を行う。確認ができたら、SENC(r1, Kb)を計算し、クライアントBに送信する。
4)クライアントBは、SENC(r1, Kb)を復号し、自分が送信したr1と一致するか確認を行う。確認ができたら、クライアントBはg2w mod
p2を保存する。
【0049】
<コンテンツの配信処理>
図10および図11を用いて、本実施例におけるコンテンツの配信処理について、説明する。
1)クライアントBからコンテンツ送信要求の合図があったら、クライアントAは、乱数r2とDH鍵生成用の数値g0,p0,s0を生成してクライアントBに送信する。
2)クライアントBは、tを生成してg0t mod
p0を演算する。また、一時鍵TK=g0st mod
p0を計算し、受信した乱数r2を暗号化したSENC(r2, TK)を演算する。さらに、別な乱数r3を生成し、r3、g0t mod
p0、SENC(r2, TK)をクライアントAに送信する。
3)クライアントAは、TKを求め、受信したSENC(r2, TK)を復号し、自分が送信したr2と一致するか確認を行う。確認ができたら、SENC(r3, TK)を計算し、クライアントB送信する。
4)クライアントBは、SENC(r3, TK)を復号し、自分が送信したr3と一致するか確認を行う。確認ができたら、受信したコンテンツのIDであるCIDとユーザ鍵生成用シードからSENC(CID|| g2f(IDb) mod p2, TK)を計算し、クライアントAに送信する。
5)クライアントAは、CIDを確認し該当するコンテンツがあれば、そのコンテンツを暗号化したコンテンツ鍵をユーザ鍵で暗号化したものと、そのユーザ鍵をコンテンツのメタ情報Metaと合わせてマスター鍵で暗号化したものであるSENC(Meta||Ka, Km)||SENC(CK, Ka)をクライアントBから受信したユーザ鍵生成用シードと連結して管理サーバに送信し、クライアントBのユーザ鍵で暗号化し直したものであるSENC(Meta||Kb, Km)||SENC(CK, Kb)を受信する。これと暗号化コンテンツを合わせTKで暗号化したものであるSENC(SENC(Meta||Kb, Km)||SENC(CK, Kb)||SENC(c, CK), TK)を送信パケットとしてクライアントBに送信する。
6)クライアントBは、受信したものを復号し、保存する。
【0050】
上記5)におけるコンテンツ鍵の暗号化を変更する手順について説明する。
1)クライアントAからコンテンツ配信要求の合図があったら、管理サーバは、乱数r4とDH鍵生成用の数値g1,p1,uを生成してクライアントAに送信する。
2)クライアントAは、vを生成してg1v mod
p1を演算する。また、一時鍵TK‘=g1uv mod
p1を計算し、受信した乱数r4を暗号化したSENC(r4, TK’)を演算する。さらに別な乱数r5を生成し、r5、g1v mod
p1、SENC(r4, TK‘)を管理サーバに送信する。
3)管理サーバは、TK‘を求め、受信したSENC(r4, TK’)を復号し自分が送信したr4と一致するか確認を行う。確認ができたら、SENC(r5, TK‘)を計算し、クライアントAに送信する。
4)クライアントAは、SENC(r5, TK‘)を復号し、自分が送信したr5と一致するか確認を行う。確認ができたら、クライアントBのユーザ鍵生成用シードとコンテンツを暗号化したコンテンツ鍵をユーザ鍵で暗号化したものと、そのユーザ鍵をMetaと合わせてマスター鍵で暗号化したものであるSENC(Meta||Ka, Km)||SENC(CK, Ka)と一緒にTK’で暗号化したものであるSENC(g2f(IDb) mod p2||SENC(Meta||Ka, Km)||SENC(CK, Ka), TK‘)を管理サーバに送信する。
5)管理サーバは、全ての情報を復号した後、クライアントBのユーザ鍵生成用シードからKbを生成し、この鍵で再暗号化したものであるSENC(Meta||Kb, Km)||SENC(CK, Kb)を生成し、これをTK‘で暗号化してクライアントAに送信する。
6)クライアントAは、受信した情報を復号し、SENC(Meta||Kb, Km)||SENC(CK, Kb)を得る。
【0051】
なお、これらプログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをクライアント端末1、管理サーバ2のそれぞれ(いずれもコンピュータシステム)に読み込ませ、実行することによって本発明のコンテンツ配信システムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0052】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0053】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0054】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、
【図面の簡単な説明】
【0055】
【図1】本発明の実施形態に係るシステムの構成図である。
【図2】本発明の実施形態に係るクライアント端末の構成図である。
【図3】本発明の実施形態に係る管理サーバの構成図である。
【図4】本発明の実施形態に係るコンテンツファイルの構成を例示した図である。
【図5】本発明の実施形態に係る処理フローである。
【図6】本発明の実施例1に係るコンテンツ配信の処理フローである。
【図7】本発明の実施例1に係るコンテンツ鍵暗号化変更の処理フローである。
【図8】本発明の実施例1に係るコンテンツ使用依頼の処理フローである。
【図9】本発明の実施例2に係るユーザ鍵発行の処理フローである。
【図10】本発明の実施例2に係るコンテンツ配信の処理フローである。
【図11】本発明の実施例2に係るコンテンツ鍵暗号化変更の処理フローである。
【符号の説明】
【0056】
1・・・クライアント端末、2・・・管理サーバ、3・・・ネットワーク、11・・・受信部、12・・・送信部、13・・・復号部、14・・・クライアント情報格納部、21・・・受信部、22・・・鍵復号部、23・・・マスター鍵保有部、24・・・ユーザ鍵生成部、25・・・暗号化部、26・・・送信部
【特許請求の範囲】
【請求項1】
管理サーバを仲介して、クライアント端末間でP2Pにより、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルの配信を行うコンテンツ配信システムであって、
前記管理サーバが保有するマスター鍵を暗号化して新たなユーザ鍵を生成するとともに、該生成した新たなユーザ鍵でコンテンツ鍵を暗号化して、前記クライアント端末に送信し、前記クライアント端末が、受信したコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号することを特徴とするコンテンツ配信システム。
【請求項2】
管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムであって、
前記クライアント端末が、
マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する受信手段と、
該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する送信手段と、
を備え、
前記管理サーバが、
前記マスター鍵を保有する保有手段と、
前記マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する鍵復号手段と、
前記マスター鍵を暗号化して新たなユーザ鍵を生成するユーザ鍵生成手段と、
該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する暗号化手段と、
前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する返送手段と、
を備え、
前記クライアント端末が、
返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号するコンテンツ復号手段と、
を備えることを特徴とするコンテンツ配信システム。
【請求項3】
前記管理サーバを複数備えることができる請求項2に記載のコンテンツ配信システム。
【請求項4】
管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムにおけるコンテンツ配信方法であって、
前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する第1のステップと、
前記クライアント端末が、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する第2のステップと、
前記管理サーバが、前記マスター鍵を保有し、該マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する第3のステップと、
前記管理サーバが、前記マスター鍵を暗号化して新たなユーザ鍵を生成する第4のステップと、
前記管理サーバが、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する第5のステップと、
前記管理サーバが、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する第6のステップと、
前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する第7のステップと、
を備えることを特徴とするコンテンツ配信方法。
【請求項5】
管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムにおけるコンテンツ配信方法をコンピュータに実行させるためのプログラムであって、
前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する第1のステップと、
前記クライアント端末が、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する第2のステップと、
前記管理サーバが、前記マスター鍵を保有し、該マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する第3のステップと、
前記管理サーバが、前記マスター鍵を暗号化して新たなユーザ鍵を生成する第4のステップと、
前記管理サーバが、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する第5のステップと、
前記管理サーバが、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する第6のステップと、
前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する第7のステップと、
をコンピュータに実行させるためのプログラム。
【請求項1】
管理サーバを仲介して、クライアント端末間でP2Pにより、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルの配信を行うコンテンツ配信システムであって、
前記管理サーバが保有するマスター鍵を暗号化して新たなユーザ鍵を生成するとともに、該生成した新たなユーザ鍵でコンテンツ鍵を暗号化して、前記クライアント端末に送信し、前記クライアント端末が、受信したコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号することを特徴とするコンテンツ配信システム。
【請求項2】
管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムであって、
前記クライアント端末が、
マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する受信手段と、
該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する送信手段と、
を備え、
前記管理サーバが、
前記マスター鍵を保有する保有手段と、
前記マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する鍵復号手段と、
前記マスター鍵を暗号化して新たなユーザ鍵を生成するユーザ鍵生成手段と、
該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する暗号化手段と、
前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する返送手段と、
を備え、
前記クライアント端末が、
返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号するコンテンツ復号手段と、
を備えることを特徴とするコンテンツ配信システム。
【請求項3】
前記管理サーバを複数備えることができる請求項2に記載のコンテンツ配信システム。
【請求項4】
管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムにおけるコンテンツ配信方法であって、
前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する第1のステップと、
前記クライアント端末が、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する第2のステップと、
前記管理サーバが、前記マスター鍵を保有し、該マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する第3のステップと、
前記管理サーバが、前記マスター鍵を暗号化して新たなユーザ鍵を生成する第4のステップと、
前記管理サーバが、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する第5のステップと、
前記管理サーバが、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する第6のステップと、
前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する第7のステップと、
を備えることを特徴とするコンテンツ配信方法。
【請求項5】
管理サーバを仲介して、クライアント端末間でP2Pにより、暗号化されたコンテンツの配信を行うコンテンツ配信システムにおけるコンテンツ配信方法をコンピュータに実行させるためのプログラムであって、
前記クライアント端末が、マスター鍵で暗号化されたユーザ鍵と該ユーザ鍵で暗号化されたコンテンツ鍵と該コンテンツ鍵で暗号化されたコンテンツとからなるコンテンツファイルを受信する第1のステップと、
前記クライアント端末が、該受信した前記マスター鍵で暗号化されたユーザ鍵と前記ユーザ鍵で暗号化されたコンテンツ鍵とを前記管理サーバに送信する第2のステップと、
前記管理サーバが、前記マスター鍵を保有し、該マスター鍵を用いて、前記受信した前記マスター鍵で暗号化されたユーザ鍵からユーザ鍵を復号するとともに、復号したユーザ鍵を用いて、前記ユーザ鍵で暗号化されたコンテンツ鍵からコンテンツ鍵を復号する第3のステップと、
前記管理サーバが、前記マスター鍵を暗号化して新たなユーザ鍵を生成する第4のステップと、
前記管理サーバが、該生成した新たなユーザ鍵で前記復号したコンテンツ鍵を暗号化する第5のステップと、
前記管理サーバが、前記新たなユーザ鍵と前記新たなユーザ鍵で暗号化されたコンテンツ鍵とを前記クライアント端末に返送する第6のステップと、
前記クライアント端末が、返送されたコンテンツ鍵を前記新たなユーザ鍵を用いて復号し、さらに復号されたコンテンツ鍵でコンテンツを復号する第7のステップと、
をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−135721(P2009−135721A)
【公開日】平成21年6月18日(2009.6.18)
【国際特許分類】
【出願番号】特願2007−309642(P2007−309642)
【出願日】平成19年11月30日(2007.11.30)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成21年6月18日(2009.6.18)
【国際特許分類】
【出願日】平成19年11月30日(2007.11.30)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]