以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
以下では,本発明にかかる情報処理分散システムを,著作権保護されたコンテンツに関する情報の処理を効率よく分散処理することが可能な,情報処理分散システム500に適用して説明する。
コンテンツは,例えば,音楽,講演,ラジオ番組等の音声(Audio)コンテンツや,映画,テレビジョン番組,ビデオプログラム,写真,絵画,図表等を構成する静止画若しくは動画からなる映像(Video)コンテンツ,電子図書(E−book),ゲーム,ソフトウェアなど,任意のコンテンツであってもよい。以下では,コンテンツとして,音声コンテンツ,特に配信サーバから配信された,或いは音楽CDからリッピングされた音楽コンテンツの例を挙げて説明するが,本発明はかかる例に限定されない。
コンテンツに関する情報の処理とは,コンテンツやコンテンツを暗号化するコンテンツ鍵の暗号化や復号化,コンテンツを再生するために必要な証明書の検証,音楽データの圧縮処理などである。これらの処理は,情報処理装置のCPU負荷のかかる処理が多く,各処理のユーザ応答時間が長くなるという問題があった。
コンテンツの著作権を保護することは違法行為を防止するために必要であるが,著作権保護されたコンテンツを利用する際に上記の処理に時間がかかってしまうと,コンテンツの流通を妨げることとなる。
昨今,ユーザがコンテンツを再生する際に利用する機器は多種多様となっており,ネットワークに接続してコンテンツをダウンロードしたり,相互に接続してネットワークを介してコンテンツに関する情報を送受信したりすることが可能となっている。
そこで,本実施形態では,相互にネットワーク接続された情報処理装置間で,CPU負荷のかかるコンテンツに関する情報の処理を,ネットワーク全体を考慮して効率よく分散して処理を行っている。
以上情報処理分散システム500の概要について説明した。次に,本実施形態にかかる情報処理分散システム500において採用される,リンク方式による著作権管理について説明する。リンク方式の著作権管理により,コンテンツの著作権を保護することができるとともに,上記コンテンツに関する情報についても安全に送受信することが可能となる。
<1.リンク方式による著作権管理の概要>
まず,本実施形態にかかるリンク方式による著作権管理に対応したコンテンツ提供システムの概要について説明する。
本実施形態にかかるコンテンツ提供システムは,映像,音声等のデジタルコンテンツを暗号処理した著作権管理コンテンツ(以下,「コンテンツ」という)の利用者および利用状態を管理するシステムである。このコンテンツ提供システムは,インターネット等を通じたコンテンツ大量配布行為等といったコンテンツの違法利用を確実に防止するべく,コンテンツを購入したユーザ以外のユーザに対してコンテンツの利用を制限する。
コンテンツを購入したユーザが暗号化されたコンテンツを再生等するためには,コンテンツを暗号化したコンテンツ暗号処理鍵(以下,「コンテンツ鍵」という。)でコンテンツを復号化する必要がある。コンテンツがインターネット等により違法に配布されたとしても,このコンテンツ鍵がなければコンテンツを再生することができない。したがって,本実施形態にかかるコンテンツ提供システムにおいては,コンテンツ鍵を安全に配布し,かつ正しいユーザに使用させなければならない。
一方,コンテンツを購入したユーザが所有する機器間においては,ある程度自由にコンテンツを再生可能にする必要がある。さもなければ,コンテンツを購入したユーザは,コンテンツを購入したものの,自身の所有する機器でコンテンツを再生できなかったり,コンテンツを購入した機器でのみしか再生できなかったりしてしまう。
このように,本実施形態にかかるコンテンツ提供システムでは,著作権管理を行いつつも,私的利用の範囲内ではコンテンツの共有を認め,同一ユーザが所有する複数の機器におけるコンテンツ共有の利便性,自由度を高めることが可能な著作権管理方式を採用している。この著作権管理方式を実現させるため,本実施形態においては,リンク方式による著作権管理スキームを採用している。
リンク方式による著作権管理では,機器同士を関連付けることにより機器間でコンテンツを共有することが可能となる。本実施形態においては,機器同士を関連付けることを機器同士をリンクするという。例えば,ユーザが所有する機器1にユーザが所有する機器2をリンクすることにより,機器1で再生可能であるコンテンツが機器2においても再生可能となる。リンク方式については後で詳しく説明するが,コンテンツを再生できる機器1にリンクされている機器ではコンテンツを再生することができ,リンクされていない機器ではコンテンツを再生することができないため,著作権管理を行いつつも,ユーザ所有の機器においてはある程度自由にコンテンツを再生することが可能となる。
なお,コンテンツは,例えば,音楽,公演,ラジオ番組等の音声(Audio)コンテンツや,映画,テレビジョン番組,ビデオプログラム,写真,絵画,図表等を構成する静止画若しくは動画からなる映像(Video)コンテンツ,電子図書(E−book),ゲーム,ソフトウェアなど,任意のコンテンツであってもよい。以下では,コンテンツとして,音楽コンテンツ,特に,配信サーバから配信された,或いは音楽CDからリッピングされた音楽コンテンツの例を挙げて説明するが,本発明はかかる例に限定されない。
次に,図1に基づいて,上記のようなリンク方式の著作権管理を行うための,本実施形態にかかるコンテンツ提供システムにおけるリンク方式の概要について説明する。なお,図1は,本実施形態にかかるコンテンツ提供システムのリンク方式の概要を示す説明図である。
図1に示したように,ユーザAはユーザ機器10aと10bと10dとを所有していたとする。例えば,ユーザAは,ユーザ機器10aを介してコンテンツ提供サービスに加入して,コンテンツを購入する。ユーザAは,自身が所有する機器であるユーザ機器10aでコンテンツを再生したいとすれば,ユーザ機器10aをユーザAにリンクする。上述したように,ユーザ機器10aをユーザAにリンクさせると,ユーザAが購入したコンテンツをユーザ機器10aで再生することが可能となる。
ここで,ユーザ機器10aをユーザAにリンクするとは,ユーザ機器10aがユーザAの秘密情報を取得することをいう。ユーザAの秘密情報とは,本来ユーザAしか知ることのできない情報であって,例えば,ユーザAの秘密鍵の情報などである。例えば,コンテンツ鍵を安全にユーザAに配布するために,コンテンツ鍵はユーザAの公開鍵または秘密鍵で暗号化されてユーザAに配布される。
ユーザAはユーザ機器10aでコンテンツを再生しようとするが,ユーザ機器10aがユーザAの秘密鍵の情報を知らなければ,ユーザ機器10aにおいてコンテンツ鍵を復号化することができず,コンテンツを再生することができない。そこで,ユーザ機器10aをユーザAにリンクする,つまりユーザ機器10aがユーザAの秘密鍵の情報を取得することができれば,ユーザ機器10aにおいてユーザAが購入したコンテンツを再生することが可能となる。
同様に,ユーザ機器10bをユーザAにリンクする。ユーザ機器10bがユーザAの秘密鍵の情報を知ることができれば,ユーザ機器10bにおいてもユーザAが購入したコンテンツを再生することが可能となる。
ユーザAの秘密鍵がユーザ機器10aに安全に配布されるためには,ユーザAの秘密鍵がユーザ機器10aの公開鍵または秘密鍵で暗号化されてユーザ機器10aに配布される必要がある。ユーザAの秘密鍵はユーザ機器10aにより復号され,復号されたユーザAの秘密鍵でコンテンツ鍵を復号することとなる。さらに,ユーザ機器10dでもコンテンツを再生したい場合には,ユーザ機器10dをユーザ機器10aにリンクすればよい。ユーザ機器10dはユーザ機器10aの秘密鍵の情報を取得することができ,さらにユーザ機器10aの秘密鍵でユーザAの秘密鍵の情報も取得することができる。そして,ユーザAの秘密鍵でユーザAが購入したコンテンツを再生することが可能となる。
このように,自身がリンクされた先をたどってリンク先の秘密情報を取得することにより,リンク先において購入したコンテンツを自身の機器で再生することが可能となる。例えば,ユーザAの家族であるユーザBにユーザ機器10aをリンクすれば,ユーザBが購入したコンテンツもユーザ機器10aにおいて再生することが可能となる。さらにユーザAとユーザBをファミリーにリンクすれば,例えば,ファミリーがコンテンツ提供サービスの会員となりコンテンツを購入した場合に,ユーザAもユーザBもそのコンテンツを再生することが可能となる。そして,上述したように,ユーザAおよびユーザBにリンクされているユーザ機器があれば,そのユーザ機器でファミリーが購入したコンテンツを再生することが可能となる。
また,ユーザとそのユーザの所有するユーザ機器,またはユーザ所有のユーザ機器同士がリンクされていれば,コンテンツ鍵をユーザに対して安全に配布するだけで,コンテンツを利用するユーザを制限し,かつ,ユーザ所有の機器間においてはある程度自由にコンテンツを共有することが可能となる。
以上,リンク方式による著作権管理の概要について説明した。次に,リンク方式による著作権管理を実現する具体的な一例として,コンテンツ提供システム100について説明する。
<2.コンテンツ提供システムの全体構成>
図2は,本実施形態にかかるコンテンツ提供システム100の全体構成図である。図2に示したように,コンテンツ提供システム100は,ユーザ機器10と,著作権管理サーバ20aと,コンテンツ提供サーバ20bなどを備える。ユーザ機器10は,図2に示したように,複数のユーザ機器10a,10b,10c,10d・・を含んでもよい。また,著作権管理サーバ20aとコンテンツ提供サーバ20bは別のサーバとして構成されているが,1のサーバとして構成されていてもよい。
ユーザ機器10は,コンテンツを利用するための各種の情報処理装置である。図2には,ユーザ機器10の例として,ノート型若しくはデスクトップ型のパーソナルコンピュータ(Personal Computer;以下「PC」という。)10a,オーディオ機器10b,10c,携帯型のコンテンツ再生装置であるポータブルデバイス(Portable Device;以下「PD」という。)10dなどを例示することができる。
かかるユーザ機器10は,例えばコンテンツの利用機能(例えばコンテンツの再生,保存,移動,結合,分割,変換,複製,貸出,返却機能等),上述したリンクによるコンテンツ再生制御機能,コンテンツの管理機能(例えば,コンテンツIDに基づくコンテンツ,コンテンツ鍵等の検索または削除機能など),リッピング,セルフレコーディング等によるコンテンツ作成機能などを有する。
このユーザ機器10のうち,ネットワーク30を介した通信機能を有する装置(例えば,PC10a)は,著作権管理サーバ20aおよびコンテンツ提供サーバ20bとの間で通信接続可能である。このようなユーザ機器10は,例えば,コンテンツ提供サーバ20bから,コンテンツ配信サービス用のソフトウェアや,著作権管理用ソフトウェアをダウンロードして,インストール可能である。これにより,ユーザ機器10は,コンテンツ提供サーバ20bから,暗号処理されたコンテンツの配信を受けたり,著作権管理サーバ20aからコンテンツのコンテンツ鍵やコンテンツの利用条件などを含むライセンスの配信を受けたり,これらのデータをストレージ装置やリムーバブル記憶媒体などの記憶手段に記録することができる。
また,ユーザ機器10は,例えば,セルフレコーディング(自己録音,録画等)やリッピングなどによって,新規にコンテンツを作成して,ストレージ装置やリムーバル記憶媒体に記録することができる。なお,セルフレコーディングとは,ユーザ機器10自身が有する撮像装置/集音装置によって撮像/集音した音声等を,映像/音声のデジタルデータとして記憶することをいう。また,リッピングとは,音楽CD,ビデオDVD,ソフトウェア用CD−ROM等の記憶媒体に記録されているデジタルコンテンツ(音声データや映像データ等)を抽出し,コンピュータで処理可能なファイル形式に変換して,ストレージ装置やリムーバル記憶媒体に記録することをいう。
上述したように,ユーザ機器10b,10c,10dがPC10aにリンクされていれば,PC10aにおいてダウンロードされ,PC10aにおいて再生可能なコンテンツは,リンクされたユーザ機器においても再生することができる。ユーザ機器10においてコンテンツを再生する際には,コンテンツを暗号化したコンテンツ鍵が必要となる。このコンテンツ鍵は,さらに暗号化されており,ユーザ機器10は,コンテンツ鍵を暗号化している鍵を取得することによりコンテンツ鍵を復号して,そのコンテンツ鍵でコンテンツを復号してコンテンツを自身の機器で再生することができる。
著作権管理サーバ20aは,コンテンツ鍵を安全にユーザに送信し,コンテンツの再生を制限しつつ,ユーザが所有する機器間においてコンテンツを共有させるためのリンク処理を行う情報処理装置である。具体的には,著作権管理サーバ20aは,ユーザおよびユーザが所有するユーザ機器10の登録処理を行ったり,ユーザとユーザ機器のリンクやユーザ機器同士のリンクを行ったり,コンテンツ鍵を暗号化してユーザ機器10に送信したりする。
コンテンツ提供サーバ20bは,コンテンツを提供するサーバであって,ユーザにコンテンツ提供サービスを提供するサーバである。コンテンツ提供サーバ20bは,ユーザ機器10からの要求に応じて,当該ユーザ機器10にネットワーク30を介してコンテンツを配信する。
例えば,音楽コンテンツを配信する場合には,この配信サーバ20bは,電子音楽配信(EMD;Electronic Music Distribution)サービスを提供するサーバとして構成される。この場合,配信サーバ20bは,配信対照の音楽コンテンツを,例えば,ATRAC3(Advanced Transform Acoustig Coding)方式,またはMP3(MPEG Audio Layer−3)方式などの圧縮符号化方式で圧縮符号化し,DES(Data Encryption Standard)などの暗号化方式で暗号化した上で,ユーザ機器10に配信する。また,コンテンツ提供サーバ20bは,このように暗号化されたコンテンツとともに,当該コンテンツを復号化するためのコンテンツ鍵を暗号化してユーザ機器10に送信してもよい。また,当該コンテンツ鍵を著作権管理サーバ20aに提供して,著作権管理サーバ20aにおいてコンテンツ鍵を暗号化してユーザ機器10に送信するようにしてもよい。
また,コンテンツ提供サーバ20bは,ユーザ機器10が例えばリッピング,セルフレコーディング等により自ら作成したコンテンツの利用を管理する作成コンテンツ利用サービスを提供するサーバとしても構成できる。この場合,コンテンツ提供サーバ20bは,ユーザ機器10に対し,コンテンツの暗号化を解除するコンテンツ鍵を配信する。これによって,ユーザ機器10は,コンテンツ提供サーバ20bから取得したコンテンツ鍵に基づいて,上記リッピング等により自ら作成したコンテンツを再生することができるようになる。
ネットワーク30は,上記ユーザ機器10と著作権管理サーバ20aとコンテンツ提供サーバ20bとを通信可能に接続する通信回線網である。このネットワーク30は,例えば,インターネット,電話回線網,衛星通信網等の公衆回線網や,WAN,LAN,IP−VPN等の専用回線網などで構成されており,有線・無線を問わない。
上記コンテンツ提供システム100においては,コンテンツを利用制限する著作権管理機能を担保しつつ,各種のユーザ機器10間におけるコンテンツのポータビリティを向上させ,ユーザの利便性,コンテンツ利用の自由度を向上させることができるものである。
<3.ユーザ機器のハードウェア構成>
次に,本実施形態にかかるユーザ機器10のハードウェア構成について説明する。以下では,ユーザ機器10の代表例として,PC10aとPD10dのハードウェア構成例について説明する。なお,ユーザ機器10であるPC10aとPD10bは,本発明のコンテンツ処理装置の一具現例として構成されている。
まず,図3に基づいて,本実施形態にかかるPC10aのハードウェア構成について説明する。なお,図3は,本実施形態にかかるPC10aのハードウェア構成例を概略的に示すブロック図である。
図3に示すように,PC10aは,例えばCPU(Central Processing Unit)101と,ROM(Read Only Memory)102と,RAM(Random Access Memory)103と,ホストバス104と,ブリッジ105と,外部バス106と,インタフェース107と,入力装置108と,出力装置110と,ストレージ装置(HDD)111と,ドライブ112と,接続ポート114と,通信装置115とを備える。
CPU101は,演算処理装置および制御装置として機能し,ROM102またはHDD111に格納された各種プログラムに従って動作し,PC10a内の各部を制御する。具体的な処理としては,例えば,コンテンツの暗号化および復号化処理,データ改ざん防止およびデータ検証のためのデジタル署名(MAC(Message Authentication Code)等)の生成および検証処理,接続された他のユーザ機器10との間で実行するコンテンツ当の入出力時の認証およびセッションキー共有処理,コンテンツ,ライセンスおよびコンテンツ鍵等の入出力処理制御,さらに,ライセンス評価等の著作権管理処理などを実行する。
ROM102は,CPU101が使用するプログラムや,演算パラメータ等を記憶する。また,このROM102は,コンテンツ,ライセンスおよびコンテンツ鍵など保存する記憶手段として利用することもできる。RAM103は,CPU101の実行において使用するプログラムや,その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス104により相互に接続されている。
ホストバス104は,ブリッジ105を介して,PCI(Peripheral Component Interconnect/interface)バスなどの外部バス106に接続されている。
入力装置108は,例えば,マウス,キーボード,タッチパネル,ボタン,スイッチ,レバー等の操作手段と,入力信号を生成してCPU101に出力する入力制御回路などから構成されている。PC10aのユーザは,この入力装置108を操作することにより,PC10aに対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置110は,例えばCRT(Cathode Ray Tube)ディスプレイ装置,液晶ディスプレイ(LCD)装置,ランプ等の表示装置と,スピーカ等の音声出力装置などで構成される。この出力装置110は,例えば再生されたコンテンツを出力する。具体的には,表示装置は再生された映像コンテンツをテキストまたはイメージで動画若しくは静止画で表示する。一方,音声出力装置は,再生された音声コンテンツを発音する。
HDD111は,本実施形態にかかるPC10aの記憶手段の一例として構成されたデータ格納用の装置である。このHDD111は,CPU101が実行するプログラムや各種データをハードディスクに格納する。また,このHDD111には,例えば,コンテンツ,ライセンス,コンテンツ鍵などの各種データが格納される。
ドライブ112は,記憶媒体用リーダ/ライタであり,PC10aに内蔵,或いは外付けされる。このドライブ112は,PC10aにローディングされた磁気ディスク(HD等),光ディスク(CD,DVD等)光磁気ディスク(MO等),または半導体メモリ等のリムーバブル記憶媒体40に対してコンテンツ,ライセンス,コンテンツ鍵などの各種データを記録/再生する。
具体的には,ドライブ112は,リムーバル記憶媒体40に記憶されているデータを読み出して,インタフェース107,外部バス106,ブリッジ105,およびホストバス104を介して接続されているRAM103に供給する。CPU101は,必要に応じて,これらのデータをROM102またはHDD111などに格納する。一方ドライブ112は,ROM102またはHDD111などに格納されているデータや,新たに生成したデータ,外部装置から取得したデータをCPU101から受け取り,リムーバブル記憶媒体40に書き込む。
接続ポート114は,例えば,PC10aと他のユーザ機器10などの外部周辺機器とを接続するポートであり,USB,IEEE1394等の接続端子を有する。接続ポート114は,インタフェース107,および外部バス106,ブリッジ105,ホストバス104等を介してCPU101等に接続されている。かかる接続ポート114によって,PC10aha,PD10b等に対してローカルライン30bを介して接続され,各種のデータを通信可能となる。
通信装置115は,例えば,ネットワーク30(ネットワーク30aを含む。)に接続するための通信デバイス等で構成された通信インタフェースである。この通信装置115は,他のユーザ機器10や,著作権管理サーバ20aや,コンテンツ提供サーバ20b等の外部機器との間で,ネットワーク30を介してコンテンツ,コンテンツ鍵などの各種データを送受信する。
次に,図4に基づいて,本実施形態にかかるPD10dのハードウェア構成について説明する。なお,図4は,本実施形態にかかるPD10dのハードウェア構成例を概略的に示すブロック図である。
図4に示すように,PD10dは,例えば,制御装置201と,フラッシュメモリ202と,RAM203と,バス206と,入力装置208と,表示装置210と,HDD211と,ドライブ212と,デコーダ213と,通信装置215と,オーディオ出力回路216と,リモートコントローラ218と,ヘッドフォン219とを備える。
制御装置201は,例えば,フラッシュメモリ202またはHDD211に格納された各種プログラムに従って動作し,PD10dの各部を制御する。フラッシュメモリ202は,例えば,制御装置201の動作を規定したプログラムや,各種のデータを記憶する。このROM102は,コンテンツ,ライセンスおよびコンテンツ鍵などを保存する記憶手段として利用することもできる。また,RAM203は,例えばSDRAM(Synchronous DRAM)で構成され,制御装置201の処理に関する各種データを一時記憶する。
バス206は,制御装置201,フラッシュメモリ202,RAM203,データ処理装置204,入力装置208,表示装置210,HDD211,ドライブ212,デコーダ213,通信装置215およびオーディオ出力回路216などを接続するデータ線である。
入力装置208とリモートコントローラ218は,例えば,タッチパネル,ボタンキー,レバー,ダイヤル等の操作手段と,ユーザによる操作手段に対する操作に応じて入力信号を生成して制御装置201に出力する入力制御回路などから構成されている。コンテンツ処理装置10のユーザは,この入力装置208や,後述のリモートコントローラ218を操作することにより,コンテンツ処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
表示装置210は,例えばLCDパネルおよびLCD制御回路などで構成される。この表示装置210は,制御装置201の制御に応じて,各種情報をテキストまたはイメージで表示する。
HDD211は,本実施形態にかかるPD10dの記憶手段の一例として構成されたデータ格納用の装置である。このHDD211は,例えば数十GBの記憶容量を有するハードディスクドライブ(HDD)で構成され,コンテンツ,ライセンス,コンテンツ鍵や,制御装置201のプログラム,各種のデータを格納する。かかるHDD211を備えたPD10dは,コンテンツを記録および再生可能なコンテンツ記録再生装置として構成される。これによって,PC10aからリムーバブル記憶媒体40を介して提供されたコンテンツのみならず,PCa等からローカルラインを介して受信したコンテンツをHDD211に格納して,再生することができるようになる。しかし,かかる例に限定されず,例えば,PD10dはHDD211を具備せず,コンテンツの再生専用装置として構成されてもよい。この場合には,PD10aは,例えば,リムーバブル記憶媒体40に保存されているコンテンツを読み出して再生のみ実行可能(記録は不可能)となる。
ドライブ212は,記憶媒体用リーダ/ライタであり,PC10aに内蔵される。このドライブ212は,PD10bにローディングされた上記各種のリムーバブル記憶媒体40に対して,コンテンツ,ライセンス,コンテンツ鍵などの各種データを,記録/再生する。デコーダ213は,暗号化されているコンテンツのデコート処理,サラウンド処理,PCMデータへの変換処理などを行う。
通信装置215は,例えば,USBコントローラおよびUSB端子などで構成され,USBケーブル等のローカルライン30bを介して接続されたPC10a等のユーザ機器10との間で,コンテンツ,ライセンス,コンテンツ鍵,制御信号などの各種データを送受信する。
オーディオ出力回路216は,デコーダ213によりデコードされ,制御装置201によってDA変換されたアナログ音声データを増幅してリモートコントローラ218に出力する。このアナログ音声データは,リモートコントローラ218からヘッドフォン219に出力され,ヘッドフォン219に内蔵されたスピーカ(図示せず)から音声出力される。
以上のように,図3および図4では,ユーザ機器10の一例であるPC10aおよびPC10dのハードウェア構成例を説明した。しかし,コンテンツを利用するユーザ機器10は,上記PC10aおよびPC10dの例に限定されず,図2に示したように,据え置き型の音声プレーや10fや,その他テレビジョン装置,携帯電話等さまざまな電子機器,情報処理装置によって構成することが可能である。したがって,ユーザ機器10は,それぞれの機器固有のハードウェア構成に応じた処理を実行する。
<4.著作権管理サーバの機能構成>
次に,図5に基づいて,著作権管理サーバ20aの機能構成について説明する。図5に示したように,著作権管理サーバ20aは,受信部302,送信部304,登録部306,リンク発行部308,ライセンス発行部310,ユーザ情報記憶部312,コンテンツ鍵記憶部314などを含んで構成される。
受信部302は,例えば,通信回線,通信回路,通信デバイス等で構成された通信インタフェースであり,ネットワーク30を介して接続されたユーザ端末10の属性情報を受信したり,ユーザ端末10において入力された情報を受信したりする。
登録部306は,コンテンツ提供サービス及び/または著作権管理サービスの利用を希望する新規ユーザの登録処理,登録変更処理,登録解除処理およびユーザアカウント情報(ユーザID,クレジット番号,パスワード等)の管理などを行う。サービス登録されたユーザに対しては,ユーザ単位で固有の鍵が付与される。ここで付与される鍵は,公開鍵暗号で使用される対となる公開鍵と秘密鍵でもよいし,秘密鍵暗号で使用される共通鍵でもよい。また,この鍵情報はユーザIDとともにユーザ情報記憶部312に記憶される。
また,登録部306は,ユーザが所有するユーザ機器の管理を行う。登録部306は,受信部302を介してユーザ機器の特定情報(機器のタイプ,モデル,バージョン等)を取得して,デバイスIDとユーザ機器固有の鍵を付与する。ここで,デバイスIDは,そのユーザ機器を一意に特定することのできる識別情報である。デバイスIDは,あらかじめユーザ機器に設定されているデバイスIDを取得して,そのデバイスIDによりユーザ機器を管理するようにしてもよい。
このように,登録部306において付与された鍵情報は,ユーザIDまたはデバイスIDと関連付けられてユーザ情報記憶部312に記憶され,ユーザIDまたはデバイスIDと鍵情報とをノード情報として生成し,送信部304を介して各ユーザまたは各ユーザ機器に送信する。ノード情報を受信したユーザIDまたはユーザ機器は,著作権管理サーバ20aにおいて一意に識別されるIDを取得することとなる。
登録部306により付与された鍵は,サーバによりコンテンツ鍵を暗号化するために使用されたり,ユーザ機器により暗号化されたコンテンツ鍵を復号化するために使用されたりする。例えば,サーバにおいて,コンテンツ鍵をユーザの公開鍵で暗号化した場合には,そのコンテンツ鍵を受け取ったユーザは,ユーザの秘密鍵でコンテンツ鍵を復号化する必要がある。したがって,この場合には,ユーザの秘密鍵をユーザに送信しておく必要がある。
リンク発行部308は,ユーザにユーザ所有のユーザ機器を関連付けたり,ユーザが所有するユーザ機器同士を関連付けたりする機能を有する。具体的には,ユーザ機器からの入力に応じて,ユーザ機器をユーザにリンクするリンク情報を生成して,そのリンク情報を,ユーザ機器に送信し,ユーザ情報記憶部312にも記憶する。例えば,著作権管理サービスに登録したユーザは,ユーザ所有のユーザ機器3台で購入したコンテンツを自由に再生したいとする。ユーザは,自身の所有するユーザ機器3台のリンク要求を著作権管理サーバ20aに送信する。リンク要求を受けた著作権管理サーバ20aのリンク発行部は,ユーザが所有するユーザ機器3台とユーザをリンクする。
ここで,ユーザ機器3台とユーザをリンクするとは,ユーザ情報記憶部312に記憶されているユーザの秘密鍵を各ユーザ機器の公開鍵で暗号化することをいう。ユーザが購入したコンテンツを復号するコンテンツ鍵がユーザの秘密鍵で暗号化されている場合,暗号化されたコンテンツ鍵はユーザの秘密鍵でなければ復号することができない。しかし,ユーザ所有のユーザ機器がユーザにリンクされていれば,ユーザ所有のユーザ機器においてユーザの秘密鍵を取得して,コンテンツ鍵を復号することができ,さらにそのコンテンツ鍵で暗号化されているコンテンツを復号して再生することが可能となる。
ユーザ情報記憶部312は,ユーザIDやデバイスIDと,鍵情報およびリンク情報が関連付けられて記憶されている。著作権管理サーバ20aは,ユーザIDやデバイスIDを取得することにより,ユーザ情報記憶部312に記憶されている各ユーザやユーザ機器に対応する鍵情報を取得することができる。
図6に基づいて,ユーザ情報記憶部312に記憶されているユーザ情報について説明する。図6に示すように,ユーザ情報記憶部312には,ユーザID3121,クレジットカード番号3122,ユーザ鍵3123,デバイスID3124,デバイス鍵3125,リンク3126などの情報が格納されている。
ユーザID3121およびクレジット番号3122は,コンテンツ提供サービスおよび著作権管理サービスの提供を受けるユーザのユーザアカウント情報であって,ユーザを一意に特定することができる識別情報である。ユーザ鍵3123は,1のユーザID3121に対して割り当てられる鍵情報である。
デバイスID3124は,ユーザにリンクされたユーザ機器のIDであって,ユーザが所有するユーザ機器のIDが格納されている。デバイス鍵3125は,コンテンツ提供システム100において一意に識別される番号であって,工場出荷時等にあらかじめユーザ機器に設定された識別番号でもよいし,著作権管理サーバ20aの登録部306により設定された識別番号でもよい。
デバイス鍵3125は,各ユーザ機器に割り当てられた鍵情報が格納されている。デバイス鍵3125についても,予めユーザ機器に設定されているデバイス鍵を格納してもよいし,登録部306により割り当てられた鍵情報を格納するようにしてもよい。
リンク3126は,ユーザ機器ごとに設定されたリンク情報が格納されている。例えば,ユーザ機器1が「Yamada Taro」にリンクされている場合には,「リンクA」には,デバイスIDとユーザIDと関連付けの方向と,ユーザ鍵A(秘密鍵)をデバイス鍵1(公開鍵)で暗号化した情報が含まれている。リンク3126は,各ユーザ機器に送信され,ユーザ機器の記憶部に記憶されてもよいし,ユーザ機器がサーバにアクセスすることにより,自身のリンク情報を取得するようにしてもよい。以上ユーザ情報記憶部312の格納情報について説明した。
図5に戻り,ライセンス発行部308は,コンテンツを購入したユーザに対してコンテンツ鍵を含むライセンスを発行する。この際,ライセンス発行部310は,ライセンスに含まれるコンテンツ鍵をユーザの秘密鍵で暗号化することにより,ユーザに安全にコンテンツ鍵を配布することができる。またライセンスには,コンテンツの利用条件等を含むようにしてもよい。コンテンツ鍵およびコンテンツの利用条件は,コンテンツ提供サーバ20bにより提供されるようにしてもよい。
ライセンス発行部310において発行されたライセンスは,送信部304を介してユーザ機器10に送信される。また,このライセンスは,ユーザ情報記憶部312に記憶してもよい。
ライセンスには,コンテンツを識別するコンテンツID等が含まれている。ユーザは,コンテンツを購入した後に著作権管理サーバ20aよりライセンスを取得してもよいし,コンテンツを購入する前にあらかじめライセンスを取得して,その後にコンテンツを購入してもよい。
また,コンテンツ鍵が格納されているコンテンツ鍵記憶部312と,ライセンス発行部310をコンテンツ提供サーバ20bに備えるようにしてもよい。その場合,コンテンツ提供サーバ20bは,コンテンツ鍵を暗号化するユーザ鍵等の情報を著作権管理サーバ20aから取得して,コンテンツ鍵を暗号化しライセンスを生成するようにしてもよい。コンテンツ提供サーバ20bにおいて生成されたライセンスは,コンテンツとともにユーザ所有のユーザ機器に送信されてもよい。
送信部304は,例えば,通信回線,通信回路,通信デバイス等で構成された通信インタフェースであり,登録部306において登録処理が行われ発行されたノード情報や,リンク発行部308により発行されたリンク情報や,ライセンス発行部310により発行されたライセンスをネットワークを介してユーザ機器10に送信する機能を有する。
コンテンツ鍵記憶部314には,コンテンツ鍵が格納されており,コンテンツ提供サーバ20bで生成されたコンテンツ鍵を受信して記憶してもよいし,著作権管理サーバ20aにおいてコンテンツ鍵を生成して記憶してもよい。例えば,著作権管理サーバ20aにおいてコンテンツ鍵を生成して,そのコンテンツ鍵をユーザ機器に送信し,さらにコンテンツ提供サーバ20bに送信してもよい。コンテンツ鍵を受信したコンテンツ提供サーバ20bは,ユーザが購入したコンテンツをそのコンテンツ鍵で暗号化して,暗号化したコンテンツをユーザ機器10に送信してもよい。
以上,著作権管理サーバ20aの機能構成について説明した。次に,コンテンツ提供システム100を利用したリンク方式によるコンテンツ提供方法について説明する。図7〜11は,本実施形態にかかるリンク方式によるコンテンツ提供方法の基本的なフローを示すタイミングチャートである。コンテンツ提供システム100に含まれるユーザ機器(PC)10と著作権管理サーバ20aは,ネットワーク30を介して安全に通信接続される。
<5.ユーザ機器およびユーザ登録方法>
図7は,ユーザ機器のうち,ネットワークに接続しているユーザ機器(PC)10aの登録方法を説明するタイミングチャートである。まず,ユーザ機器(PC)10aの特定情報を著作権管理サーバに送信する(S102)。ここで,ユーザ機器の特定情報とは,ユーザ機器の機器タイプ,モデル,バージョン等ユーザ機器を特定することができる情報である。このユーザ機器の特定情報は,ユーザ入力によりユーザ機器(PC)10aから送信されてもよいし,特定情報が予めユーザ機器(PC)10aに設定されている場合には,ユーザ機器(PC)10aと著作権管理サーバ20aの通信接続が確立された後,特定情報が著作権管理サーバ20aに送信されるようにしてもよい。
ステップS102において,ユーザ機器(PC)10aの特定情報を受信した著作権管理サーバ20aは,その特定情報を著作権管理サーバ20aに備わるユーザ情報記憶部に記憶する(S104)。また,送信されたユーザ機器(PC)10aの特定情報より,著作権管理サーバ20aにおいて一意に特定することができるデバイスIDを付与する。さらに,ユーザ機器毎にデバイス鍵を発行する。発行されたデバイスIDとデバイス鍵は,ユーザ機器(PC)10aの特定情報と関連付けられて,ユーザ情報記憶部に記憶される。デバイス鍵は,機器毎に発行される鍵であって,公開鍵暗号で使用される対となる公開鍵と秘密鍵でもよいし,秘密鍵暗号で使用される共通鍵でもよい。
ステップS104においてユーザ機器(PC)10aの登録が行われた後,ステップS104で発行されたデバイスIDとデバイス鍵を含むノードを発行する(S106)。ステップS106において発行されるノードは,著作権管理サーバ20aが各ユーザ機器を一意に特定することができる情報であって,少なくともデバイスIDが含まれるが,デバイス鍵やユーザ機器(PC)10aの特定情報などを含んでもよい。ステップS106において発行されたノードはユーザ機器(PC)10aに送信される(S108)。
ユーザ機器(PC)10aは,著作権管理サーバ20aに送信されたノード情報をユーザ機器(PC)10aに備わるメモリに格納する。
以上,ネットワークに接続しているユーザ機器(PC)10aの登録方法について説明した。次に,図8に基づいて,ネットワークに接続されていないユーザ機器,例えばPD10dの登録方法について説明する。
図8は,ネットワークに接続されていないユーザ機器(PD)10dの登録方法について説明するタイミングチャートである。まず,ユーザ機器(PD)10dの特定情報がユーザ機器(PC)10aに提供される(S110)。例えば,ユーザ機器(PD)10dがユーザ機器(PC)10aに接続された後,ユーザ機器(PD)10dの機器タイプ,モデル,バージョン等がユーザ機器(PC)10aに送信されるようにしてもよいし,ユーザの入力に応じてユーザ機器(PD)10dの特定情報がユーザ機器(PC)10aに送信されるようにしてもよい。
ステップS110において,ユーザ機器(PD)10dの特定情報を取得したユーザ機器(PC)10aは,著作権管理サーバ20aにユーザ機器(PD)10dの特定情報を送信する(S112)。ステップS112においてユーザ機器(PD)10dの特定情報を受信した著作権管理サーバ20aは,ユーザ機器(PD)10dの登録を行う(S114)。著作権管理サーバ20aは,ステップS114において,ユーザ機器(PD)10dの特定情報をユーザ情報記憶部に記憶し,ユーザ機器(PD)10dのデバイスIDとデバイス鍵を発行して,ユーザ機器(PD)10dの特定情報と関連付けてユーザ情報記憶部に記憶する。
ステップS114においてユーザ機器(PD)10dの登録処理を行った後,著作権管理サーバ20aは,ユーザ機器(PD)10dのノードを発行する(S116)。上述したように,ステップS116において発行されるノードには,著作権管理サーバ20aがユーザ機器(PD)10dの識別情報や,デバイス鍵などが含まれている。ステップS116において発行されたユーザ機器(PD)10dのノードは,ユーザ機器(PC)10aに送信される(S118)
ステップS118において著作権管理サーバ20aよりユーザ機器(PD)10dのノード情報を送信されたユーザ機器(PC)は,ユーザ機器(PD)10dのノード情報をユーザ機器(PD)10dに提供する(S120)。ステップS120においてノード情報を提供されたユーザ機器(PD)10dは,メモリ等の記憶部にノード情報を格納する。ユーザ機器(PD)10dのノード情報は,ユーザ機器(PC)10aのメモリに格納するようにしてもよい。
ユーザ機器(PD)10dは,コンテンツやコンテンツを復号するためのコンテンツ鍵を取得するためには,ユーザ機器(PC)10aに接続する必要がある。したがって,ユーザ機器(PC)10aにおいてユーザ機器(PD)10dの情報を記憶していれば,送信されたコンテンツをユーザ機器(PD)10dで再生できるか否かをユーザ機器(PC)10aが判断することができる。
以上,ネットワークに接続されていないユーザ機器(PD)10dの登録方法について説明した。次に,図9に基づいて,ユーザ機器を使用するユーザの登録方法について説明する。
図9は,ユーザの登録方法について説明するタイミングチャートである。ユーザAの登録処理は,ネットワークに接続されているユーザ機器(PC)10aを介して行われる。まず,ユーザAの特定情報が著作権管理サーバ20aに送信される(S122)。ここで,ユーザAの特定情報は,ユーザAのユーザIDとユーザAが所持するクレジットカード番号等である。このユーザIDは著作権管理サーバ20aにおいて一意に特定することができる識別情報であり,ユーザAが指定する識別情報でもよいし,著作権管理サーバ20aにおいて付与されてもよい。
ステップS122においてユーザAの特定情報を送信された著作権管理サーバ20aは,ユーザAの登録処理を行う(S124)。ステップS124において,著作権管理サーバ20aは,ユーザAのユーザIDとクレジットカード番号等をユーザ情報記憶部に記憶する。また,ユーザAのユーザ鍵を発行して,ユーザID等と関連付けてユーザ情報記憶部に記憶する。
そして,著作権管理サーバ20aは,ユーザ情報記憶部に記憶されたユーザIDとユーザ鍵とを含むユーザAのノードを発行する(S126)。著作権管理サーバ20aは,ステップS126において発行されたノード情報をユーザ機器(PC)10aに送信する。
上述したように,ユーザ機器を所有するユーザは,ネットワークを介して著作権管理サーバ20aに自身の所有するユーザ機器を登録する。また,コンテンツ提供サービスや,著作権管理サービスを利用するユーザのユーザ登録を行う。これにより,著作権管理サービスを提供する著作権管理サーバ20aは,著作権管理サービスを利用したいユーザの情報や,そのユーザが所有するユーザ機器の情報をユーザ情報記憶部に記憶して管理することができる。また,各ユーザや,各ユーザ機器に対して発行された鍵情報も,ユーザやユーザ機器に関連付けてユーザ情報記憶部に記憶して管理することができる。
著作権管理サーバ20aは,ネットワークに接続されたユーザ機器を介してユーザAのユーザIDを取得して,そのユーザが所有しているユーザ機器や,そのユーザの鍵情報を知ることができる。例えば,コンテンツを暗号化したコンテンツ鍵を安全にユーザに配布するために,コンテンツ鍵をさらにユーザAのユーザ鍵で暗号化してもよい。著作権管理サーバ20aは,取得したユーザAのユーザIDを基に,ユーザ情報記憶部に記憶されたユーザAの暗号鍵を取得して,コンテンツ鍵をユーザAのユーザ鍵で暗号化する。ユーザAの公開鍵で暗号化されたコンテンツ鍵は,ユーザAの秘密鍵を用いなければ復号することができないため,著作権管理サーバ20aはコンテンツ鍵を安全にユーザに送信することが可能となる。さらに,コンテンツを購入したユーザAのみしかコンテンツ鍵を復号することができないため,コンテンツ鍵を復号可能なユーザを制限することも可能となる。
しかし,ユーザAの暗号鍵によりコンテンツ鍵が復号できたとしても,ユーザAの所有するユーザ機器でコンテンツが再生できなければ,ユーザAはコンテンツを聴くことができない。本実施形態においては,ユーザ機器をユーザに関連付けることにより,ユーザAが購入したコンテンツをユーザ機器において再生することが可能となる。次に,ユーザAとユーザ機器の関連付けについて説明する。
<6.ユーザAとユーザ機器の関連付け>
図10および11は,ユーザAとユーザ機器との関連付けを説明するタイミングチャートである。まず,ネットワークに接続されたユーザ機器(PC)10aと,ユーザAとの関連付けについて説明する。ユーザ機器(PC)10aとユーザAとを関連付ける場合には,上述の登録処理により発行されたユーザ機器(PC)10aのノードと,ユーザAのノードを著作権管理サーバ20aに送信する(S130)。
ステップS130において,ユーザ機器(PC)10aのノード情報と,ユーザAのノード情報を取得した著作権管理サーバ20aは,ユーザ機器(PC)10aとユーザAを関連づけるリンクを生成する(S132)。ステップS132において生成されるリンクには,例えば,ユーザ機器(PC)10aのノード情報と,ユーザAのノード情報と,関連付けの方向とが含まれている。リンク情報に含まれるノード情報は,ユーザ機器やユーザを一意に識別できる情報であればよく,ユーザ機器のデバイスIDやユーザのユーザIDでもよい。関連付けの方向とは,どのノードがどのノードに関連付けられているかを表す情報である。ユーザ機器(PC)10aがユーザAに関連付けられている場合,関連付けの方向は,リンク元となるユーザ機器(PC)10aからリンク先となるユーザAへの方向を表す情報となる。
ここで,図11に基づいてステップS132において生成されるリンクについて詳細に説明する。上述したように,ユーザ機器(PC)10aやユーザAは,著作権管理サーバ20aにおいて,デバイスIDやユーザIDによりノードとして管理される。このノード情報400,402が著作権管理サーバ20aに送信されると,著作権管理サーバ20aは,リンク404に含まれる「From」406と,「To」408の情報を設定する。ユーザ機器(PC)10aをユーザAに関連付ける場合には,「From」にリンク元となるユーザ機器(PC)10aのノードIDを設定し,「To」にリンク先となるユーザAのノードIDを設定する。ここでノードIDとは,ユーザ機器(PC)10aやユーザAなどのノードを識別する識別情報であって,ユーザ機器(PC)10aのデバイスIDやユーザAのユーザIDでもよい。
また,リンク404には,リンク先となるユーザAの秘密情報をリンク元となるユーザ機器(PC)10aの公開鍵で暗号化した鍵情報を含んでもよい。ユーザAの秘密情報とは,本来ユーザAしか知ることのできない情報であって,ユーザAの秘密鍵の情報などである。
図10に戻り,ステップS132により生成されたリンク情報は,リンク元であるユーザ機器(PC)10aのデバイスIDと関連付けられて,ユーザ情報記憶部に記憶される(S134)。これにより,著作権管理サーバ20aは,ユーザ情報記憶部に記憶されているユーザ機器がどのユーザと関連付けられているかを管理することができる。そして,ユーザ機器のデバイスIDとユーザのユーザIDと関連付けの方向を含むリンク情報を発行して(S136),ユーザ機器(PC)10aに送信する(S138)。上述したように,ユーザ機器(PC)10aに送信されるリンク情報には,ユーザAの秘密情報をユーザ機器(PC)10aの公開鍵で暗号化された鍵情報を含んでもよい。
ステップS138においてリンク情報を受信したユーザ機器(PC)10aは,受信したリンク情報により,自身がどのユーザと関連付けられているかを知ることができる。また,ユーザ機器(PC)10aがユーザAに関連付けられている場合には,リンクに含まれている鍵情報によって,ユーザAの秘密情報を知ることができる。例えばユーザAがコンテンツ提供サービスに登録し,コンテンツを購入した場合,そのコンテンツは暗号化されたユーザAに送信される。コンテンツを暗号化したコンテンツ鍵は,ユーザAの秘密鍵で暗号化されてユーザAが所有するユーザ機器(PC)10aに送信される。このとき,ユーザ機器(PC)10aがユーザAに関連付けられていれば,ユーザ機器(PC)10aは,著作権管理サーバ20aより送信されたリンク情報に含まれるユーザAの秘密情報を取得して,暗号化されたコンテンツ鍵を復号することができる。
以上,ネットワークに接続されたユーザ機器(PC)10aとユーザAとの関連付けについて説明した。次に,図12に基づいて,ネットワークに接続されていないユーザ機器(PD)10dとユーザ機器(PC)10aとの関連付けについて説明する。
まず,ユーザ機器(PC)10aは,ユーザ機器(PC)10aに接続されたユーザ機器(PD)10dのノード情報を取得する(S140)。ステップS140においてユーザ機器(PD)10dのノード情報を取得したユーザ機器(PC)10aは,ユーザ機器(PD)のノード情報と,自身のノード情報を著作権管理サーバ20aに送信する(S142)。ステップS142において,2のノード情報とともに,関連付けの方向も送信するようにしてもよい。
ステップS142において,ユーザ機器のノードと関連付けの方向の情報を受信した著作権管理サーバ20aは,受信した情報を基に,リンクを生成する(S144)。上述したように,ステップS144において生成されるリンク情報は,ユーザ機器(PD)10dのノード情報と,ユーザ機器(PC)10aのノード情報と,関連付けの方向の情報とが含まれている。
ステップS144において生成されたリンク情報は,ユーザ情報記憶部にユーザ機器(PD)10dのデバイスIDと関連付けられて記録される(S146)。そして,ユーザ機器(PD)10dのノード情報と,ユーザ機器(PC)10aのノード情報と,関連付けの方向の情報とが含まれているリンク情報が発行され(S148),ユーザ機器(PC)10aに送信される(S150)。
ステップS150において著作権管理サーバ20aよりリンク情報を受信したユーザ機器(PC)10aは,そのリンク情報をユーザ機器(PD)10dに提供する(S152)。上述したように,リンク情報には,ユーザ機器(PD)10dがユーザ機器(PC)10に関連付けられているという情報が含まれている。つまり,リンクの「From」にユーザ機器(PD)10dのノード情報が設定され,「To」にユーザ機器(PC)10aのノード情報が設定されている。
また,リンクには,ユーザ情報記憶部に記憶されているユーザ機器(PC)10aの秘密鍵が,ユーザ機器(PD)10dの公開鍵等により暗号化された鍵情報も含まれている。ユーザ機器(PD)10dは,リンク情報を取得することにより,ユーザ機器(PC)10aの秘密鍵の情報を取得することが可能となる。
さらに,ステップS148のリンク発行の際に,ユーザ機器(PD)10dのリンク先となるユーザ機器(PC)10cのリンク情報を送信するようにしてもよい。ユーザ機器(PC)10aがユーザAと関連付けられている場合,ユーザ機器(PD)10dには,ユーザ機器(PC)10aとユーザAとを関連付けるリンク情報も送信される。これにより,ユーザ機器(PD)10dは,ユーザ機器(PC)10aの秘密鍵の情報を取得した後,ユーザ機器(PC)10aの秘密鍵の情報を用いてユーザAの秘密鍵の情報も取得することが可能となる。
図13に基づいて,リンクに含まれる鍵情報について説明する。図13は,リンクに含まれる鍵情報を説明する説明図である。
図13に示したように,ノードA,ノードB,ノードCの3つのノードが著作権管理サーバ20aのユーザ情報記憶部に記憶されていたとする。上述したように,ユーザ機器やユーザに対してそれぞれ識別情報と鍵情報などを含むノード情報が割り当てられる。各ユーザやユーザ機器に対して,それぞれ,秘密鍵,公開鍵,共通鍵等が発行される。
各ノードに含まれる鍵情報について説明すると,ノードAには,ノードAの公開鍵(Kpub[A])4101と,秘密鍵(Kpriv[A])4102と,共通鍵(Ks[A])4103が含まれる。公開鍵暗号方式により暗号化が行われる場合には,公開鍵4101を用いて暗号化を行い,公開鍵4101と対となる秘密鍵4102を用いて復号化が行われる。また,共通鍵暗号方式により暗号化が行われる場合には,暗号化と復号化に同一の鍵が使用され,共通鍵4103を用いて暗号化を行い,共通鍵4103を用いて復号化が行われる。
上記公開鍵暗号方式は,暗号化用の鍵は公開され,復号化用の鍵を秘密に保つ方法である。例えば,ノードAの公開鍵4101はネットワーク上の公開鍵ファイルに格納され,誰でも自由に参照することができる。一方公開鍵4101と対となる秘密鍵4102は,鍵の所有者以外の者が取得することができないように,秘密に管理されるべきものである。
また,上記共通鍵暗号方式は,送信側と受信側が共通鍵を共有し,秘密にする方法である。例えば,ノードAの共通鍵4103は,著作権管理サーバ20aとノードA以外のものが取得することができないように,秘密に管理されるべきものである。
同様に,ノードB412には,ノードBの公開鍵(Kpub[B])4121と,秘密鍵(Kpriv[B])4122と,共通鍵(Ks[B])4123が含まれる。ノードC414には,ノードCの公開鍵(Kpub[C])4141と,秘密鍵(Kpriv[A])4142と,共通鍵(Ks[A])4143が含まれる。
図13に示したように,ノードAをノードBに関連付ける場合には,リンク416が発行される。リンク416には,ノードAのノードIDと,ノードBのノードIDとノードAとノードBの関連付けの方向の情報が含まれている。上述したように,ノードAがノードBに関連付けられている場合には,リンク元がノードAとなり,リンク先がノードBとなる。さらに,リンク416には,ノードBの秘密情報となる秘密鍵4122と共通鍵4123が,ノードAの公開鍵4101または共通鍵4103で暗号化された鍵情報が含まれる。
リンク416を取得したノードAは,自身がどのノードに関連付けられているかを知るとともに,関連付けられたリンク先の秘密情報を取得することができる。リンク416に含まれるノードBの秘密情報は,ノードAの公開鍵4101または共通鍵4103で暗号化されているため,ノードAにより秘密に管理されているノードAの秘密鍵4102または共通鍵4103でなければ復号することができない。つまり,リンク416に含まれる鍵情報は,ノードA以外のものが取得しても復号することができない。
同様に,リンク418には,ノードBのノードIDと,ノードCのノードIDと,ノードBとノードCとの関連付けの方向の情報が含まれている。リンク418に含まれる関連付けの方向は,ノードBからノードCに向かう方向となり,リンク元がノードBとなり,リンク先がノードCとなる。また,リンク418には,ノードCの秘密情報が,ノードBの公開鍵4122または共通鍵4123により暗号化された情報も含まれている。ノードBは,リンク418により,ノードCの秘密鍵4142または共通鍵4143を取得することが可能となる。
例えば,ノードCがコンテンツを購入するユーザに割り当てられた情報であったとする。コンテンツを購入したユーザは,ノードCを著作権管理サーバ20aに送信する。ユーザのノードであるノードCを受信した著作権管理サーバ20aは,ユーザが購入したコンテンツを暗号化したコンテンツ鍵(KC)をユーザの公開鍵であるノードCの公開鍵(Kpub[C])で暗号化する。ノードCの公開鍵4141で暗号化されたコンテンツ鍵420は,ユーザの所有しているユーザ機器(PC)に送信される。
ユーザの所有するユーザ機器(PC)にノードBが割り当てられた場合,ノードCの公開鍵で暗号化されたコンテンツ鍵をノードBの秘密鍵で復号化できなければ,コンテンツ鍵で暗号化されたコンテンツをユーザ機器(PC)で再生することができない。しかし,ノードBにリンク418が発行されていれば,ノードBは,リンク418の情報を基に,ノードCの秘密情報を取得することができる。ノードBを割り振られたユーザ機器(PC)がノードCを割り振られたユーザの秘密情報を取得することができれば,その秘密情報に含まれるユーザの秘密鍵を用いて,コンテンツ鍵420を復号することができ,コンテンツ鍵420で暗号化されたコンテンツを復号化することができる。
同様の方法で,ユーザ機器(PC)に接続されたユーザ機器(PD)にノードAが割り振られた場合,ユーザ機器(PD)は,自身の鍵で暗号化されているノードBの秘密情報を復号化することができる。さらに,リンク416に含まれたノードBの秘密鍵で,リンク418に含まれているノードCの秘密情報を復号化することができる。ノードCの秘密鍵を取得したノードAを割り振られたユーザ機器(PD)は,ノードCの公開鍵で暗号化されているコンテンツ鍵420を復号化し,コンテンツ鍵420で暗号化されたコンテンツを復号化することができる。
図13では,ノードAがノードBに関連付けられており,ノードBがノードCに関連付けられているが,ノードAを直接ノードCに関連付けてもよい。その場合,ノードAに対して発行されるリンク情報には,リンク元にノードAのノードIDが設定され,リンク先にノードCのノードIDが設定される。また,ノードCの秘密情報がノードAの公開鍵により暗号化された鍵情報が含まれる。
コンテンツを購入したユーザが,そのコンテンツをユーザが所有するユーザ機器で再生するには,ユーザ機器がコンテンツ鍵を暗号化したユーザ鍵の情報を取得している必要がある。各ユーザ機器は,自身に発行されたリンク情報を基に,コンテンツ鍵が暗号化されているユーザ鍵を取得して,コンテンツ鍵を復号する。
このように,コンテンツを暗号化したコンテンツ鍵をユーザの公開鍵で暗号化して,ユーザが所有するユーザ機器に送信すれば,ユーザに関連付けられたユーザ機器において,暗号化されたコンテンツを復号化して再生することが可能となる。コンテンツを暗号化するコンテンツ鍵は,再生するユーザ機器毎に固有の鍵で暗号化されていなくても,リンク情報を基にコンテンツ鍵が暗号化されている鍵情報を取得してコンテンツ鍵を復号化することができる。ユーザ機器は,リンク情報により自身がどのユーザに関連付けられているかを知ることができる。つまり,リンク情報により,ユーザ機器はどのユーザの秘密情報を取得することができるかを知ることが可能となる。
以上,リンクに含まれる鍵情報について説明した。次に図14に基づいて,著作権管理サーバ20aにおいて発行されるライセンスについて説明する。
<7.ライセンスについて>
図14は,著作権管理サーバ20aにおけるライセンスの発行について説明するタイミングチャートである。著作権管理サーバ20aにおいて発行されるライセンスには,ユーザが購入したコンテンツを再生するために必要な,コンテンツを復号化するコンテンツ鍵等の情報が含まれている。ライセンスに含まれるコンテンツ鍵はさらにユーザ鍵等によって暗号化されており,ライセンスを取得したユーザ機器等は,ライセンスに含まれた各情報により,コンテンツ鍵がどのユーザ鍵で暗号化されているかを知ることができる。ラインセンスを取得したユーザ機器等は,上述したリンク情報等を基に,コンテンツ鍵を復号化することができれば,そのコンテンツ鍵で暗号化されたコンテンツを再生することが可能となる。
ユーザ機器(PC)10aは,コンテンツを再生するために必要なライセンスを取得するために,コンテンツを一意に識別するコンテンツIDと,ユーザAのノード情報とを著作権管理サーバ20aに送信する(S160)。上述したように,ユーザAが所有するユーザ機器がユーザAに関連付けられていれば,ユーザAに対して発行されたライセンスを,ユーザAに関連付けられたユーザ機器も使用することが可能となる。
ステップS160において,コンテンツIDとユーザAのノード情報を受信した著作権管理サーバ20aは,コンテンツを暗号化したコンテンツ鍵をユーザAの公開鍵で暗号化する(S162)。そして,著作権管理サーバ20aは,ステップS162において暗号化したコンテンツ鍵を含むライセンスを生成する(S164)。
図15に基づいて,ステップS164において生成されるライセンスについて説明する。図15に示したように,ライセンス440は,コンテンツ鍵441と,コントロール444と,プロテクタ447と,コントローラ450などを含む。また,コンテンツ430は,ライセンスに含まれるコンテンツ鍵により暗号化されており,コンテンツ提供サーバ20bより送信される。
ライセンス440に含まれるコンテンツ鍵441は,ユーザ機器(PC)10aにより送信されたノード情報に含まれる鍵で暗号化されている。例えば,ユーザAのノード情報がユーザ機器(PC)より送信された場合には,ユーザAの公開鍵でコンテンツ鍵が暗号化される。プロテクタ447には,コンテンツの識別情報であるコンテンツIDと,コンテンツ鍵の識別情報であるコンテンツ鍵IDが含まれる。プロテクタ447に含まれる情報によって,ライセンス440が,どのコンテンツを再生する際に使用されるライセンスなのかがわかる。
コントロール444には,コンテンツの利用条件等であるコントロールコード446が含まれる。コントロールコード446には,ユーザが購入したコンテンツの再生期限などが含まれ,コントロールコードに記述された利用条件の範囲内において,ユーザはコンテンツを利用することとなる。またコントロールコード446には,ライセンス440がどのノードに対して発行されたライセンスなのかがわかる情報が含まれていてもよい。
ライセンス440を取得したユーザ機器は,コントロール444を参照して,ライセンス440がどのノードに対して発行されたものかを判別する。判別の結果,ユーザ機器に関連付けられたユーザに対して発行されたライセンスであれば,ユーザ機器はそのライセンスを利用して,コンテンツを再生することができる。
コントローラ450は,コンテンツ鍵441とコントロール444とを関連付ける情報であって,コンテンツ鍵441の識別情報と,コントロール444の識別情報が含まれている。また,コンテンツ鍵441およびコントロール444の改ざんを判別するため,コンテンツ鍵441のハッシュ値453と,コントロール444のハッシュ値454を含んでもよい。例えば,著作権管理サーバ20aからユーザ機器等に送信される際に,ライセンス440に含まれるコンテンツ鍵441が改ざんされた場合には,コンテンツ鍵441より求められるハッシュ値と,コントローラに含まれるハッシュ値とが異なる値となり,コンテンツ鍵441が改ざんされたか否かを判定することができる。コントロール444についても,コントロールハッシュ値454により改ざんの判別をすることができ,ライセンスを送信する際に,コンテンツの利用条件等の書き換えを発見することが可能となる。以上,ライセンスについて説明した。
図14に戻り,ステップS164において生成されたライセンスは,ユーザ機器(PC)10aに対して発行され(S116),ユーザ機器(PC)10aに送信される(S168)。
ステップS168によりライセンスを受信したユーザ機器(PC)10aは,ユーザ機器(PC)10aを所有するユーザのユーザ鍵で暗号化されたコンテンツ鍵を,リンクに含まれる鍵情報を用いて復号する。そして,ユーザ機器(PC)10aにおいて,コンテンツ鍵で暗号化されたコンテンツを,復号化したコンテンツ鍵で復号して再生することが可能となる。
以上,ライセンスの発行について説明した。次に,図16に基づいてリンク方式により著作権保護されたコンテンツを再生するユーザ機器10の機能構成について説明する。以下ユーザ機器10をコンテンツ再生装置10として説明する。
<8.コンテンツ再生装置の機能構成>
コンテンツ再生装置10は,例えば,リンク情報受信部540と,コンテンツ情報受信部541と,コンテンツ選択部542と,コンテンツ受信部544と,コンテンツ情報記憶部546と,リンク情報記憶部548と,判断部550と,鍵処理部552と,再生制御部554と,コンテンツ鍵復号部556と,コンテンツ記憶部558と,コンテンツ再生部560などを備える。
リンク情報受信部540は,著作権管理サーバ20aからリンク情報を受信する。リンク情報は,上述の通りである。つまり,リンク情報には,一方がリンク元であり,他方がリンク先である一対の識別情報が含まれている。その識別情報は,著作権管理サーバにおいてユーザを一意に識別する識別情報(ユーザID)または著作権管理サーバにおいてコンテンツ再生装置を一意に識別する識別情報(デバイスID)である。リンク情報にはまた,リンク先に設定されている識別情報によって特定されるユーザまたはコンテンツ再生装置に固有の鍵(ユーザ鍵またはデバイス鍵)を,リンク元に設定されている識別情報によって特定されるユーザまたはコンテンツ再生装置に固有の鍵で暗号化した情報が含まれている。
リンク情報記憶部548は,リンク情報受信部540が受信したリンク情報を記憶する。リンク情報記憶部548は,リンク情報を記憶することにより,リンク情報記憶部548が所属しているコンテンツ再生装置10(以後,自装置と称する。)のデバイスIDと,自装置を使用するユーザのユーザIDとの関連付けを行っている。より具体的には,リンク情報記憶部548は,記憶しているリンク情報に従って,起点が自装置であり,到達点がユーザである経路が生成されることによって,自装置と,自装置を使用するユーザとの関連付けを実現している。この経路が生成されていれば,コンテンツ再生装置10は,リンク情報を辿ることにより,自装置に固有のデバイス鍵を用いて,自装置と関連づけられているユーザのユーザ鍵を,復号することが可能となる。
コンテンツ情報受信部541は,著作権管理サーバ20aからコンテンツ情報を受信する。具体的には,コンテンツ情報受信部541は,コンテンツID,コンテンツのメタ情報,暗号化されたコンテンツ鍵,ユーザIDおよび利用制限情報が含まれるコンテンツ情報を,通信網504を介して著作権管理サーバ20aから受信する。コンテンツ情報受信部541は,受信したコンテンツ情報を,コンテンツ情報記憶部546に格納する。
コンテンツ情報記憶部546は,コンテンツ情報を記憶している。コンテンツ情報記憶部546は,RAMやHDDにより構成される。
コンテンツ選択部542は,コンテンツ情報記憶部546に記憶されているコンテンツ情報を選択する。具体的には,コンテンツ選択部542は,コンテンツ情報記憶部546に記憶されているコンテンツ情報に含まれるコンテンツのメタ情報を表示するディスプレイ等の表示手段と,ユーザにより所望のメタ情報を選択されるマウスやキーボード等の入力手段を含む。コンテンツ選択部542は,ユーザにより選択されたメタ情報と関連付けられているコンテンツのコンテンツIDを再生制御部554に提供する。
また,コンテンツ選択部542は,コンテンツ転送装置50bより送信されたコンテンツ一覧のなかから,1または2以上のコンテンツを選択する。コンテンツ転送装置50bより転送されるコンテンツ一覧は,コンテンツのタイトル等コンテンツの内容がわかる情報であって,ユーザの入力により,1または2以上のコンテンツタイトルが選択されるようにしてもよい。
再生制御部554は,コンテンツの再生を制限する。再生制御部554は,コンテンツ選択部542から取得したコンテンツIDが含まれるコンテンツ情報を,コンテンツ情報記憶部546から取得する。そして,再生制御部554は,取得したコンテンツ情報に含まれる利用制限情報に基づいて,コンテンツ選択部542によって選択されたコンテンツの再生が可能か否かを判断する。具体的には例えば,再生制御部554は,各コンテンツの再生回数を保存しておき,利用制限情報に含まれる再生可能回数と,保存している再生回数とを比較することによって,コンテンツの再生可否を判断する。または,利用制限情報に含まれる再生可能日時と,現在日時とを比較することによって,コンテンツの再生可否を判断する。
判断部550は,コンテンツ情報に含まれるユーザIDと,リンク情報記憶部548において自装置と関連付けられているユーザIDとに基づいて,コンテンツ鍵復号部にコンテンツ鍵の復号を許可するか否かを判断する。具体的には,判断部550は,再生制御部554からコンテンツ情報を取得する。そして,判断部550は,取得したコンテンツ情報に含まれるユーザIDと,リンク情報記憶部548において自装置と関連付けられているユーザIDとを比較し,2つのユーザIDが対応する場合には,コンテンツ鍵復号部556によるコンテンツ鍵の復号処理を許可する。復号処理を許可する場合には,判断部550は,鍵処理部552に処理を開始させることにより,コンテンツ再生装置10の後続の処理を続行させる。2つのユーザIDが対応するとは,一方のユーザIDから,所定の法則によって他方のユーザIDを導き出せることであり,2つのユーザIDが一致する場合を含む。
判断部550が行う処理の具体例を,図19を参照して説明する。まず,判断部550は,取得したコンテンツ情報に含まれるユーザIDが,リンク情報記憶部548に記憶されているかを調べる。記憶されている場合には,判断部550は,リンク情報記憶部548において,自装置を起点とし,そのユーザIDを到達点とする経路が生成されているかを,リンク情報に基づいて調べる。つまり,まず,判断部550は,コンテンツ情報に含まれるユーザIDがリンク先に設定されているリンク情報(例えば,リンクA)を,リンク情報記憶部548から検索する(S230)。
該当リンク情報がある場合には(S232),リンクAのリンク元に設定されている識別情報が,自装置のデバイスIDであるかを判断する(S234)。リンクAのリンク元が,自装置のデバイスIDである場合には,自装置を起点とし,ユーザIDを到達点とする経路が生成されていると判断し,コンテンツ鍵復号部556によるコンテンツ鍵の復号処理を許可する(S238)。
ステップS234で,リンクAのリンク元が,自装置のデバイスIDでない場合には,判断部550は,リンクAのリンク元の識別情報がリンク先として設定されている他のリンク情報(例えば,リンクB)を検索する(S236)。該当するリンク情報が無い場合には,判断部550は,自装置を起点とし,ユーザIDを到達点とする経路が生成されていないと判断し,コンテンツ鍵復号部556によるコンテンツ鍵の復号処理を許可しない(S240)。一方,ステップS206で,該当するリンク情報が有る場合には,リンクBのリンク元に設定されている識別情報が自装置のデバイスIDであるかを判断する(S234)。
上記処理を繰り返してリンク情報を辿り,リンク元に自装置のデバイスIDが設定されているリンク情報がリンク情報記憶部548に記憶されていれば,判断部550は,コンテンツ鍵復号部556によるコンテンツ鍵の復号処理を許可する。
判断部550は,コンテンツ鍵の復号処理を許可する場合には,上記処理において特定された,自装置からユーザIDへの経路を生成するリンク情報(例えば,リンクA,リンクBおよびリンクC)と,コンテンツ情報記憶部546から取得したコンテンツ情報を鍵処理部552に提供する。
鍵処理部552は,リンク情報記憶部548に記憶されているリンク情報に基づいて,自装置に関連付けられているユーザのユーザ鍵を復号する。具体的には,鍵処理部552は,判断部550からリンク情報を取得し,まず,リンク元が自装置であるリンク情報(例えば,リンクC)に含まれている暗号化された情報(鍵)を,自装置に固有のデバイス鍵により復号する。次に,鍵処理部552は,リンクCにおいてリンク先に設定されている識別情報がリンク元に設定されているリンク情報(例えば,リンクB)に含まれている暗号化された情報(鍵)を,直前に復号した鍵によって復号する。鍵処理部552は,この処理を繰り返して,リンク先にユーザIDが設定されているリンク情報(例えば,リンクA)に含まれている暗号化された情報(すなわち,リンクAのリンク元の鍵で暗号化されたユーザ鍵)を復号する。その後,鍵処理部552は,復号したユーザ鍵と,判断部550から取得したコンテンツ情報をコンテンツ鍵復号部556に提供する。
コンテンツ鍵復号部556は,鍵処理部552からコンテンツ情報とユーザ鍵を取得し,取得したコンテンツ情報に含まれるコンテンツ鍵を,取得したユーザ鍵で復号する。コンテンツ鍵復号部556は,コンテンツ情報に含まれるコンテンツIDと,復号したコンテンツ鍵をコンテンツ再生部560に提供する。
コンテンツ再生部560は,コンテンツ鍵復号部556から,コンテンツIDとコンテンツ鍵を取得し,取得したコンテンツIDによって特定されるコンテンツをコンテンツ記憶部558から取得し,そのコンテンツをコンテンツ鍵により復号して再生する。
コンテンツ受信部554は,著作権管理サーバ20aや,他のコンピュータ等からコンテンツを受信し,コンテンツ記憶部558に格納する。
次いで,図17に基づいて,コンテンツの再生に関わる各処理部が,どの情報を使用して各処理を行うかを簡潔に説明する。
コンテンツ再生装置10において,コンテンツの再生に関わる情報は,コンテンツ情報記憶部546とリンク情報記憶部548に記憶されている。コンテンツ情報記憶部546には,ユーザID562,少なくとも1つのコンテンツメタ情報564,少なくとも1つのコンテンツ鍵566,利用制限情報568,およびコンテンツID(図示なし)を1セットとするコンテンツ情報が,1つまたは複数記憶されている。
リンク情報記憶部548には上述の通りリンク情報が記憶されているが,具体的には,少なくとも1つのデバイスID570,ユーザID572,関連付けの方向574,ユーザ鍵576,および少なくとも1つのデバイス鍵が,各々リンク情報として関連付けられて記憶されている。なお,関連付けの方向574は,各リンク情報に含まれるリンク元,リンク先を示す。
判断部550は,コンテンツ情報記憶部546に記憶されているユーザID562と,リンク情報記憶部548に記憶されているデバイスID570,ユーザID572,関連付けの方向574とを使用して,上述の判断処理を行う。
鍵処理部552は,リンク情報記憶部548に記憶されているユーザ鍵576と,デバイス鍵578とを使用して上述のユーザ鍵の復号処理を行う。
再生制御部554は,コンテンツ情報記憶部546に記憶されている利用制限情報568を使用して,上述の再生可否の判断処理を行う。
コンテンツ鍵復号部556は,コンテンツ情報記憶部546に記憶されているコンテンツ鍵566と,リンク情報記憶部548に記憶されているユーザ鍵576とを使用して,上述の,コンテンツ鍵の復号処理を行う。
以上,コンテンツ再生装置10の機能構成について説明した。なお,上述の全ての機能がひとつのコンピュータに備えられてコンテンツ再生装置10が構成されていてもよいが,各機能が複数のコンピュータに分散されており,全体としてひとつのコンテンツ再生装置10として機能するように構成されていても構わない。次に,図18に基づいて,コンテンツ再生装置10が行うコンテンツ再生処理の流れについて説明する。
<9.コンテンツ再生処理の流れ>
まず,コンテンツ再生装置10は,再生するコンテンツを選択する(S400)。より詳細には,ユーザによる入力処理を受けて,コンテンツ選択部542が,再生するコンテンツのコンテンツIDを指定する。
次に,コンテンツ再生装置10は,コンテンツ情報に含まれる利用制限情報を取得する(S402)。より詳細には,再生制御部554が,S400で指定されたコンテンツIDが含まれるコンテンツ情報に関連付けられている利用制限情報を,コンテンツ情報記憶部546から取得する。
次に,コンテンツ再生装置10は,コンテンツの再生を許可するか否かを判断する(S404)。より詳細には,再生制御部554が,S402で取得した利用制限情報に基づいて,コンテンツの再生の可否を判断する。判断の結果,再生を許可する場合には,S406に進む。一方,再生を許可しない場合には,コンテンツ再生装置10は,コンテンツの再生は行わずに処理を終了する。
次に,コンテンツ再生装置10は,コンテンツ情報に含まれるユーザIDと経路の到達点を比較する(S406)。より詳細には,判断部500が,S402で特定されたコンテンツ情報に含まれるユーザIDと,リンク情報記憶部548において自装置と関連付けられているユーザIDとを比較する。
次に,コンテンツ再生装置10は,コンテンツ鍵の復号を許可するか否かを判断するS408)。より詳細には,判断部550が,S406において比較した2つのユーザIDが対応する場合には,コンテンツ鍵の復号を許可し,S410に進む。一方,2つのユーザIDが対応しない場合には,コンテンツ鍵の復号を許可せず,コンテンツ再生装置10は,コンテンツの再生は行わずに処理を終了する。
次に,コンテンツ再生装置10は,ユーザ鍵を復号する(S410)。より詳細には,鍵処理部552が,リンク情報記憶部548に記憶されている,暗号化されたユーザ鍵を,自装置のデバイス鍵を用いて復号する。なお,鍵処理部552は,ユーザ鍵の復号に,リンク情報記憶部548に記憶されている自装置以外のコンテンツ再生装置10のデバイス鍵を,必要に応じて使用する。
次に,コンテンツ再生装置10は,コンテンツ鍵を復号する(S412)。より詳細には,コンテンツ鍵復号部556が,コンテンツ情報に含まれている暗号化されたコンテンツ鍵を,S410で復号されたユーザ鍵を用いて,復号する。
次に,コンテンツ再生装置10は,再生するコンテンツを復号する(S414)。より詳細には,コンテンツ再生部560が,暗号化されているコンテンツを,S412で復号されたコンテンツ鍵を用いて,復号する。
次に,コンテンツ再生装置10は,コンテンツを再生する(S416)。より詳細には,コンテンツ再生部560が,S414で復号されたコンテンツを再生する。以上,コンテンツ再生装置10が行うコンテンツ再生処理の流れについて説明した。
<10.鍵管理の概念>
次に,図20に基づいて,ユーザ機器が持つ鍵束の概念について説明する。各ユーザ機器はコンテンツ鍵を復号化するために必要な鍵束を持ち,その鍵束を用いて暗号化されたコンテンツ鍵を復号化する。
図20は,本実施形態にかかる鍵管理の概念図である。460に示されるように,本実施形態においては木構造の概念が採用されている。すなわちKroot鍵461を頂点として、各ノードにはK0鍵462,K1鍵463,K10鍵464,K11鍵465・・・というようにノード鍵が割り当てられている。また最下段にはKI鍵468,KJ鍵469・・・というように,各ユーザ機器であるI,Jが固有に保有するユーザ鍵が割り当てられる。ここで各ノード鍵は,木構造上の直下のノード鍵によって暗号化されているものとする。例えばK1鍵463は,K10鍵464またはK11鍵465によって暗号化されている。
一方で,pub(or Sec)Key471はKroot鍵461に相当する。つまり,コンテンツ鍵472はKroot鍵461によって暗号化されている。図13においては,コンテンツ鍵はノードCの公開鍵によって暗号化されたが,より詳細にはコンテンツ鍵はKroot鍵461によって暗号化される。
ここで例えばユーザ機器Iが,コンテンツを復号化するコンテンツ鍵472を取得するためには,KI鍵,E(KI鍵,K100鍵),E(K100鍵,K10鍵),E(K10鍵,K1鍵),E(K1鍵,Kroot鍵),E(pub(or Sec)Key,CK)から構成される鍵束が必要になる。当該鍵束はコンテンツ本体に含まれる。
このように,ユーザが所有するユーザ機器は,それぞれが持っている鍵束を用いて,Kroot鍵461を取得して,コンテンツ鍵472を復号化することができる。上述したように,本実施形態においては,リンク方式により,ユーザ所有の機器間で著作権保護されたコンテンツを共有することが可能となる。
以上,情報処理分散システム500において採用される著作権管理方式について説明した。次に,図21に基づいて,情報処理分散システム500の全体構成について説明する。
<11.情報処理分散システムの全体構成>
図21に示したように,情報処理分散システム500は,管理サーバ600と,情報処理装置600,601と,ユーザ機器(PD)604などを含んで構成される。管理サーバ600と,情報処理装置601,602は,家庭内など限られた範囲でネットワークに接続され,相互に情報送受信可能な情報処理装置である。
家庭内など個人が利用するネットワークは,有線LAN(Local Area Network),無線LAN,W−PAN(Wireless−Personal Area Network)などである。例えばW−PANは,半径10m程度の狭い範囲で高速伝送が可能な無線方式である。W−PANの範囲内で無線通信が可能な機器同士は,互いに周辺の無線端末の情報を取得し,無線端末同士が接続可能な状態となる。
また,家庭内で用いられる無線通信ネットワークの一環として,アクセスポイントを介さずに各通信端末同士で直接通信可能なアドホック(Ad−hoc)通信が行われる。かかるアドホック通信では,各通信端末同士が直接,CSMAのプロトコルの管理下で非同期に無線通信を行うことができる。他にも,IEEE802.15.3におけるUWB(Ultra Wide Band)通信では,アクセスポイントを介してネットワークの管理が行われ,プリアンブルを用いたパケット構造のデータ通信方式により上記のアドホック通信(またはメッシュ通信)を実現している。このような家庭内で用いられるネットワークを以下ホームネットワークという。
情報処理装置601,602は,上述のユーザ機器10の機能を兼ね備え,著作権管理サーバ20aに接続してコンテンツ情報やリンク情報等を取得することができる。さらに上述のリンク方式によりコンテンツ提供サーバ20bより提供した暗号化されたコンテンツを復号し,再生するコンピュータである。
また,情報処理装置601,602としては,パーソナルコンピュータ,DVDレコーダ,オーディオ機器などを例示できるが,かかる例に限定されない。情報処理装置601,602は,コンテンツ提供サーバ20bより提供されたコンテンツに関する情報の処理を実行することができる。コンテンツに関する情報の処理とは,コンテンツの復号化やコンテンツを利用するために必要な証明書の検証や,音楽データの圧縮処理などを行う。
音楽データの圧縮処理とは,例えば,コンパクトディスクに記録された音声データを上述したATRAC3方式やMP3方式などの圧縮符号化方式に圧縮する処理である。コンパクトディスクに記録されている音声データは,音声を例えばPCM(Pulse Code Modulation)方式等で記録したデジタルデータである。PCM方式は音声をデジタルデータに変換する方式の一つであり,音を一定時間ごとに数値化して記録する方式である。コンパクトディスクに記録されている音声データは,サンプリング周波数44.1kHz(1秒間に44100回の数値化),量子化16ビット(0〜65535の65536段階で音声データを表現)で記録されている。
コンパクトディスクに記録された音声データをATRAC3方式やMP3方式などで圧縮することにより,コンパクトディスク並みの音質で10分の1程度のデータ量に圧縮することができる。このような圧縮処理を用いて,音楽CD,ビデオDVD,ソフトウェア用CD−ROM等の記憶媒体に記録されているデジタルコンテンツ(音声データや映像データ等)を抽出し,情報処理装置で処理可能なファイル形式に変換して,ストレージ装置やリムーバル記憶媒体に記憶することをリッピングともいう。
上記リッピング等のコンテンツに関する情報の処理は,情報処理装置601,602のCPU負荷のかかる処理が多く処理時間が長くなる。本実施形態では,例えば情報処理装置601によりリッピングが行われる場合に,CPU負荷の高い圧縮処理を,自装置とホームネットワークに接続された他の情報処理装置とを用いて効率よく分散処理することが可能となる。
例えば,ホームネットワークに接続された他の情報処理装置の資源情報や負荷状況に応じて,処理の依頼先となる情報処理装置と依頼する処理の割合を決定して,ホームネットワーク全体を考慮した分散処理を行うことができる。以下,他の情報処理装置に処理を依頼する情報処理装置を依頼元情報処理装置601とし,処理の依頼先となる情報処理装置を依頼先情報処理装置602とする。
管理サーバ600は,ホームネットワークに接続された情報処理装置の識別情報と,処理機能の種類である処理種別や資源情報などを関連付けて記憶するコンピュータである。管理サーバ600は,ホームネットワークに接続された依頼元情報処理装置601からの要求に応じて,依頼先情報処理装置602の資源情報等を送信する。管理サーバ600は,情報処理装置601,602の機能を備えて,管理サーバ600においてもコンテンツに関する情報の処理を実行するようにしてもよい。
ユーザ機器(PD)604は,携帯型のコンテンツ再生装置であって,例えば数十GBの記憶容量を有するハードディスクドライブ(HDD)を備えた携帯型オーディオプレーヤなどである。ユーザ機器(PD)604は,ホームネットワークに接続された情報処理装置601にUSBなどにより接続し,そのコンピュータを介してコンテンツ情報を取得する。例えば,情報処理装置601においてリッピングされたコンテンツが,ユーザ機器(PD)604に送信され,ユーザ機器(PD)604においてコンテンツを再生することが可能となる。このとき,依頼元情報処理装置601とユーザ機器(PD)604が,上述したリンク方式により関連付けられていれば,著作権保護されたコンテンツを安全に送受信して,そのコンテンツをユーザ機器(PD)604で再生することができる。
以上,情報処理分散システム500の全体構成について説明した。次に,図22に基づいて管理サーバ600および依頼元情報処理装置601の機能構成について説明する。
<12.管理サーバおよび依頼元情報処理装置の機能構成>
図22は,管理サーバおよび依頼元情報処理装置の機能構成を示すブロック図である。管理サーバ600は,処理種別受信部630と,情報処理装置選択部632と,装置情報送信部634と,装置情報記憶部638などを備える。
処理種別受信部630は,依頼元情報処理装置601が依頼する処理の種別を,依頼元情報処理装置601より受信する。処理の種別とは,情報処理装置に備わる機能を用いて実行される処理の種類であって,例えば,復号処理や暗号処理,圧縮処理などである。各情報処理装置は,1または2以上の処理機能を備えており,各情報処理装置によって実行できる処理が異なっていてもよい。
装置情報記憶部638には,各情報処理装置の識別情報と,資源情報と,処理種別などが関連付けられて記憶されている。例えば,図25に示したように,装置情報記憶部638には,識別情報701と,装置種別702と,IPアドレス703と,CPU704と,物理メモリ705と,処理種別706などを含む。識別情報701は,ホームネットワーク内で各情報処理装置を一意に識別することができる情報であって,予め設定されている識別情報を取得して記憶してもよいし,管理サーバ600により設定するようにしてもよい。各情報処理装置の情報は,情報処理装置がネットワークに追加接続される毎に装置情報記憶部638に記憶するようにしてもよい。これにより,ユーザが意識せずとも,分散処理に必要な各情報処理装置の情報を装置情報記憶部638に記憶して管理することが可能となる。
CPU704は,CPUの性能を表す情報である。物理メモリ705は,情報処理装置に備わる記憶装置の容量の大きさを表す情報である。CPU704と物理メモリ705は,情報処理装置の資源情報である。以下,CPU704と物理メモリ705を情報処理装置の資源情報ともいう。処理種別は,上述したように,情報処理装置に備わる機能の種類を表す情報である。図25に示したように,例えば,復号処理と暗号処理を実行する機能を備える情報処理装置の処理種別を101とし,復号処理と暗号処理と圧縮処理を実行する機能を備える情報処理装置の処理種別を103としてもよい。
装置情報記憶部638に記憶されているホームネットワークに接続された情報処理装置の装置情報は,各情報処理装置から送信されるようにしてもよい。また,管理サーバ600が,情報処理装置がホームネットワークに接続された際に,接続された情報処理装置の装置情報が記憶されていない場合には,その情報処理装置の装置情報を取得して記憶するようにしてもよい。さらに,各情報処理装置に資源情報等が変更した場合には,装置情報記憶部638に記憶されている装置情報を更新するようにしてもよい。
図22に戻り,情報処理選択部632は,処理種別受信部630により受信した処理種別に応じた情報処理装置を,装置情報記憶部638に記憶されている情報処理装置の中から選択して,選択した情報処理装置の識別情報701を取得する。例えば,依頼元情報処理装置601により送信された処理種別706が「103」であった場合,装置情報記憶部638の処理種別706が「103」である情報処理装置の識別情報701を取得する。この場合,処理種別706が「103」である情報処理装置の識別情報は「002」と「003」となる。
装置情報送信部634は,情報処理装置選択部632により選択された情報処理装置の識別情報と,識別情報に関連付けられた装置情報を依頼元情報処理装置601に送信する。例えば,情報処理装置選択部632により選択された情報処理装置の識別情報701が「002」と「003」であった場合には,各情報処理装置の装置情報となるCPU704や物理メモリ705などを送信する。このとき,依頼元情報処理装置601以外の装置情報を送信するようにしてもよい。
依頼元情報処理装置601は,処理実行受け入れ可否問い合わせ部610と,負荷情報取得部612と,依頼先決定部614,情報送信部616と,処理種別送信部618と,装置情報受信部620と,リンク情報記憶部622と,鍵処理部624と,情報暗号化部626などを備える。
処理種別送信部618は,処理種別を管理サーバ600に送信する。処理種別は,コンテンツに関する情報の処理を実行するために必要な処理機能の種類であって,復号処理や暗号処理など処理の種類を表す情報である。装置情報受信部620は,処理種別により指定された機能を持つ,処理の依頼先となる依頼先情報処理装置602の識別情報と装置情報を受信し,受信した識別情報と装置情報を処理実行受け入れ可否問い合わせ部610と依頼先決定部614に提供する。
処理実行受け入れ可否問い合わせ部610は,装置情報受信部により提供された識別情報の依頼先情報処理装置602に処理実行を受け入れ可能か否かを問い合わせる。依頼先情報処理装置602に問い合わせた結果を負荷情報取得部612に提供する。負荷情報取得部612は,処理実行受け入れ可能な依頼先情報処理装置602の現在の負荷情報を取得して,依頼先決定部614に提供する。ここで負荷情報とは,依頼先情報処理装置のCPU使用率やメモリ使用率などである。また,依頼先情報処理装置との伝送路能力や,pingを実行するなどして求めた伝送路負荷情報などを取得して依頼先決定部614に提供してもよい。
依頼先決定部614は,負荷情報取得部612により提供された依頼先情報処理装置602の負荷情報や,伝送路付加情報から求められる処理データの予想転送時間などの情報から,自装置も含めて処理の依頼先を決定する。また,依頼先決定部614により,実行する処理の割合が決定されるようにしてもよい。
例えば,上述したコンパクトディスクに記録されている音声データを圧縮する処理を行う場合には,コンパクトディスクにPCM方式等で記録された音楽データを圧縮する処理をどの依頼先情報処理装置602に何割依頼するかを決定する。コンパクトディスクに10曲分の音楽データが記録されている場合には,4曲は自装置で圧縮し,6曲は依頼先情報処理装置602に圧縮処理を依頼するようにしてもよい。
リンク情報記憶部622および鍵処理部624は,上述したリンク情報記憶部548と鍵処理部552とほぼ同様の機能を備えるため,説明を省略する。
情報暗号化部626は,鍵処理部624により取得された依頼元情報処理装置601を所有するユーザに固有のユーザ鍵を取得し,取得したユーザ鍵でコンテンツに関する情報を暗号化する。例えば,コンパクトディスクに記録されたデータが依頼する処理の対象であった場合には,そのデータが情報暗号化部626により暗号化される。コンパクトディスクに記録されたデータが音楽データであった場合には,データを暗号化する際に,曲毎に暗号化するようにしてもよい。曲毎に暗号化されたデータが情報送信部616に提供される。
情報送信部616は,情報暗号化部626により暗号化されたデータを,依頼先決定部614により決定された割合に分割して,依頼先情報処理装置602に送信する。例えば,上述したように,音楽データが曲毎に暗号化されている場合には,依頼先情報処理装置602の資源情報と負荷情報に応じて10曲分のうち4曲を送信して,圧縮処理を依頼することができる。
以上,管理サーバ600と依頼元情報処理装置601の機能構成について説明した。次に,図23に基づいて,処理の依頼先となる依頼先情報処理装置602の機能構成について説明する。
<13.依頼先情報処理装置の機能構成>
図23は,依頼先情報処理装置602の機能構成を示したブロック図である。依頼先情報処理装置602は,受け入れ可否判断結果送信部604と,負荷情報送信部642と,情報受信部644と,処理実行結果送信部646と,処理実行受け入れ可否判断部648と,負荷情報710と,情報復号部650と,処理実行部652と,処理結果暗号化部654と,リンク情報記憶部656と,鍵処理部658などを備える。
処理実行受け入れ可否判断部648は,依頼元情報処理装置601より処理実行受け入れが可能か否かの問い合わせがあった場合に,負荷情報710を参照して,自装置において依頼元情報処理装置601の処理を受け入れ可能か否かを判断する。図26に示したように,負荷情報710には,依頼先情報処理装置602のCPU使用率711と,物理メモリ使用率712と,作業受入713などが含まれる。処理実行受け入れ可否判断部648は,負荷情報710に含まれる作業受入713の作業受け入れ可否情報を取得して,取得した結果を受け入れ可否判断結果送信部640に送信する。
受け入れ可否判断結果送信部640は,処理実行受け入れ可否判断部648により提供された処理実行受け入れ可否判断結果を依頼元情報処理装置601に送信する。負荷情報送信部642は,依頼元情報処理装置601より負荷情報の問い合わせがあった場合に,負荷情報710に含まれるCPU使用率711と物理メモリ使用率712など資源の使用状況を依頼元情報処理装置601に送信する。
情報受信部644は,依頼元情報処理装置601により送信された依頼処理の対象となる情報を受信して,情報復号部650に提供する。情報復号部650は,情報受信部644により提供された処理の対象となる情報が暗号化されている場合には,鍵処理部658より依頼先情報処理装置601を使用するユーザに固有のユーザ鍵で処理の対象となる情報を復号する。
リンク情報記憶部656および鍵処理部658は,上述したリンク情報記憶部548と鍵処理部552とほぼ同様の機能を備えるため,説明を省略する。上述したように,処理の対象となるコンテンツに関する情報は,依頼元情報処理装置601を使用するユーザのユーザ鍵で暗号化されて送信される。ホームネットワークで接続された依頼元情報処理装置601と依頼先情報処理装置602を使用するユーザは同一であり,各情報処理装置は,上述したリンク方式により関連づけられている。したがって,依頼元情報処理装置601と依頼先情報処理装置602に記憶されているユーザ鍵は同一であり,例えばユーザの共通鍵を使用して暗号および復号が行われることにより,情報処理装置間で安全に情報を送受信することが可能となる。
処理実行部652は,情報復号部650により復号された情報を処理する。例えば,音楽データが送信され,音楽データの圧縮処理を依頼された場合には,処理実行部652により,音楽データの圧縮処理が実行される。処理結果暗号化部6554は,処理実行部652により実行された処理結果をユーザ鍵で暗号化する。
処理実行結果送信部646は,処理結果暗号化部654により暗号化された処理結果を依頼元情報処理装置602に送信する。ここでもユーザの共通鍵を使用して秘密鍵暗号方式により処理結果を暗号,復号して,情報を安全に送受信することが可能となる。
上記情報処理分散システム500により,負荷が高く時間のかかる処理を実行する際に,ホームネットワークに接続されている複数の情報処理装置の資源情報や負荷情報を勘案して,効率よく処理を分散することができる。また,ホームネットワークに接続されている情報処理装置はリンク方式により関連付けられているため,各情報処理装置に記憶されているユーザ鍵を用いて,依頼の対象となる情報を安全に送受信することが可能となる。つまり,依頼の対象となるコンテンツの著作権を保護しつつ,分散処理を可能としている。
以上依頼先情報処理装置602の機能構成について説明した。次に,図24に基づいて,コンテンツに関する情報を分散処理する方法について説明する。
<14.コンテンツに関する情報の分散処理方法>
まず,依頼先情報処理装置601が管理サーバ600に処理種別を送信する(S500)。ステップS500により依頼先情報処理装置601により処理種別を送信された管理サーバ600は,送信された処理種別を持つ情報処理装置を選択する(S502)。また,送信された処理種別を持つ情報処理装置の識別情報と,識別情報に関連付けられた情報処理装置の装置情報とが取得される。
ステップS502において選択された情報処理装置の識別情報と装置情報とが依頼先情報処理装置601に送信される(S504)。ステップS504において処理の依頼先となる依頼先情報処理装置の識別情報と装置情報とを取得した依頼元情報処理装置601は,識別情報をもとに,依頼先情報処理装置602に処理実行受け入れが可能か否かを問い合わせる(S506)。
ステップS508において依頼元情報処理装置601から処理実行受け入れ可否問い合わせを受けた依頼先情報処理装置602は,処理の実行を受け入れ可能か否かを判断する(S510)。ステップS510において判断された,処理実行受け入れ可否の判断結果を依頼元情報処理装置601に送信する(S512)。
ステップS512において,依頼先情報処理装置602より処理実行受け入れ可否の判断結果を受信した依頼元情報処理装置601は,処理の実行を受け入れ可能な依頼先情報処理装置602に対して,現在の負荷情報を問い合わせる(S514)。ステップS516において負荷情報を問い合わせられた依頼先情報処理装置602は,現在のCPUの使用率や,物理メモリの使用率などの負荷情報を依頼元情報処理装置601に送信する(S518)。
ステップS518において依頼先情報処理装置602の負荷情報を取得した依頼元情報処理装置は,自装置も含むホームネットワークに接続された情報処理装置の資源情報や負荷情報,他の情報処理装置との伝送路能力等を考慮して,処理の依頼先および処理の割合を決定する(S520)。ステップS520において決定された処理の依頼先に,処理の実行依頼と,処理の割合に応じたコンテンツに関する情報を暗号化して送信する(S522)。
ステップS522において依頼元情報処理装置601から処理の実行依頼を受けた依頼先情報処理装置は,依頼された処理を実行する(S524)。ステップS524において処理された結果を依頼元情報処理装置601に送信する(S526)。ステップS526において,処理されたコンテンツに関する情報は,依頼先情報処理装置602により暗号化されて送信される。依頼元情報処理装置601は,ステップS526において,処理の実行結果を受信した後,実際の作業応答時間も参考にして,処理依頼の割合を見直すようにしてもよい。
以上,コンテンツに関する情報を分散処理する方法について説明した。次に,図27に基づいて,依頼元情報処理装置602においてユーザ鍵により暗号化されたコンテンツに関する情報を復号する方法について説明する。
<15.コンテンツに関する情報の復号方法>
図27は,依頼元情報処理装置602においてユーザ鍵により暗号化されたコンテンツに関する情報を復号する方法について説明するフローチャートである。ユーザ鍵で暗号化されたコンテンツに関する情報にはユーザの識別情報が含まれている。
まず,取得したコンテンツに関する情報に含まれるユーザIDが,リンク情報記憶部656に記憶されているかを調べる。記憶されている場合には,リンク情報記憶部656において,自装置を起点とし,そのユーザIDを到達点とする経路が生成されているかが,リンク情報に基づいて調べられる。つまり,まず,コンテンツ情報に含まれるユーザIDがリンク先に設定されているリンク情報(例えば,リンクA)が,リンク情報記憶部656から検索する(S530)。
該当リンク情報がある場合には(S532),リンクAのリンク元に設定されている識別情報が,自装置のデバイスIDであるかが判断される(S534)。リンクAのリンク元が,自装置のデバイスIDである場合には,自装置を起点とし,ユーザIDを到達点とする経路が生成されていると判断し,情報復号部650によるコンテンツ鍵の復号処理が許可される(S538)。
ステップS534で,リンクAのリンク元が,自装置のデバイスIDでない場合には,リンクAのリンク元の識別情報がリンク先として設定されている他のリンク情報(例えば,リンクB)が検索される(S536)。該当するリンク情報が無い場合には,自装置を起点とし,ユーザIDを到達点とする経路が生成されていないと判断し,情報復号部650によるコンテンツ鍵の復号処理は許可されない(S540)。一方,ステップS536で,該当するリンク情報が有る場合には,リンクBのリンク元に設定されている識別情報が自装置のデバイスIDであるかを判断する(S534)。
上記処理を繰り返してリンク情報を辿り,リンク元に自装置のデバイスIDが設定されているリンク情報がリンク情報記憶部656に記憶されていれば,情報復号部650によるコンテンツ鍵の復号処理が許可される。以上,ユーザ鍵により暗号化されたコンテンツに関する情報を復号する方法について説明した。
本実施形態にかかる情報処理分散システム500によれば,複数のコンテンツに関する情報を処理する情報処理装置が接続された環境において,ユーザに面倒な操作をさせることなく,各情報処理装置の計算資源を有効利用することが可能となる。また,著作権保護されたコンテンツや,コンテンツに関する情報を,ホームネットワークに接続された情報処理装置間で安全に送受信することが可能となる。本実施形態では,情報処理装置を所有するユーザにリンクされた情報処理装置のみ復号可能なコンテンツに関する情報を送受信することができる。つまり,ユーザにリンクされていない情報処理装置にコンテンツに関する情報が送信されても,その情報処理装置ではコンテンツに関する情報を復号することができない。これにより,ユーザに与えた利用権限を越えてコンテンツに関する情報が利用されることを防止できる。したがって,コンテンツの著作権を保護しながら,効率よく分散処理を行うことが可能となる。
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
上述した実施形態においては,管理サーバ600においてホームネットワークに接続された各情報処理装置の装置情報が記憶されているが,かかる例に限定されない。例えば,各情報処理装置が,自装置に接続された情報処理装置の装置情報を記憶するようにしてもよい。また,装置情報が記憶されていない場合には,処理を実行する毎に自装置に接続された情報処理装置の装置情報を取得するようにしてもよい。これにより,管理サーバ600を設けずに,PtoP方式のように,依頼元となる情報処理装置が直接他の情報処理装置の装置情報を問い合わせることが可能となる。