以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
(第1の実施形態)
以下に,本発明の第1の実施形態にかかる著作権管理システム,およびその構成要素について説明する。
<1.著作権管理方式の概要>
まず,本実施形態にかかる著作権管理システムにおける著作権管理方式の概要について説明する。
本実施形態にかかる著作権管理システムは,映像,音声等のデジタルコンテンツを暗号処理した著作権管理コンテンツ(以下,「コンテンツ」という)の利用条件および利用状態を管理するシステムである。この著作権管理システムは,著作権管理者によって利用条件が規定されているデジタルコンテンツを暗号処理し,この際のコンテンツ暗号処理鍵と,コンテンツの利用条件及び利用状態記述とを用いて,コンテンツの利用を制御して,著作権管理を行う。このような著作権管理を行うために必要な基本データは以下の3つである。
(1)コンテンツ
(2)コンテンツ暗号処理鍵(以下,「コンテンツ鍵」という。)
(3)コンテンツの利用や基本データの伝送に関する利用条件及び利用状態記述(以下,「ライセンス」という。)
コンテンツは,上述のように,暗号処理されたデジタルコンテンツの集合(著作権管理コンテンツ)である。このコンテンツは,ライセンスに記述された利用条件の範囲内においてコンテンツ鍵によって復号処理され利用可能となる。コンテンツ鍵は,コンテンツの利用時に必要となる値であり,各著作権管理システムにおいて値の秘密を守りつつ,ライセンスに関連付けて管理される。ライセンスは,コンテンツの利用や上記3つの基本データの伝送などを制限するための利用条件と,コンテンツの現在までの利用状態(ステータス)とが記述されており,著作権管理システム内で偽造・改竄されないよう管理される。
また,このような3つの基本データを利用する著作権管理システムでは,著作権管理を好適に実行するため,以下の3つの要件を満たさなければならない。
(要件1)コンテンツ鍵の秘匿性保証(コンテンツ鍵が暴露されないこと)
(要件2)ライセンスの完全性保証(ライセンスが改竄されないこと)
(要件3)3つの基本データの関連性の保証(コンテンツとコンテンツ鍵とライセンスとを関連付けて,これらの関連付けが入れ替えられないこと)
このような要件を満たしつつ,ユーザ機器の種類やコンテンツの種類,利用制限のタイプなどに応じた様々な実装に対応可能な著作権管理システムを構築するために,本実施形態にかかる著作権管理システムでは,著作権管理機能を複数の基本機能の集まりとみなし,各ユーザ機器において著作権管理を実行する著作権管理部(著作権管理用ソフトウェア)を,上記基本機能ごとに複数のモジュールに分割する。そして,著作権管理システムでは,この複数の基本機能モジュール間で上記3つの基本データを授受して処理することで,コンテンツの著作管理を実行する。
このモジュール分割についてより詳細に説明すると,まず,著作権管理部の利用制限機能を全てリストアップして,これらの利用制限機能を以下の2つの機能に分類する。
(a)ライセンスの永続保存に関する機能
(b)ライセンスの一時利用に関する機能
さらに,これら2つの大きな分類の中で,コンテンツを利用するユーザの視点でのコンテンツの利用形態(ユースケース)ごとに利用制限機能を分割して,著作権管理部をこの各利用制限機能に対応するモジュール(ライセンス処理コンポーネント)に部品化する。
これにより,上記(a),(b)に属するライセンス処理コンポーネントを,それぞれ1つ以上組み合わせることで,各ユースケースのコンテンツ利用制限を実現できる。また,ライセンスには,各利用制限機能に関するパラメータを各ライセンス処理コンポーネントごとに区分して記述する。このように記述されたライセンスを,ネットワーク内の各ユーザ機器に設けられた上記ライセンス処理コンポーネント間でポータブルにやりとりする。この結果,コンテンツの利用制限を行う場所をネットワークで接続された複数のユーザ機器に分散することができる。
このように,本実施形態にかかる著作権管理システムは,著作権管理部(著作権管理用ソフトウェア)を,コンテンツの利用形態に応じたライセンスの処理単位ごとに,複数のライセンス処理コンポーネント(基本機能モジュール)に部品化して分散配置し,これらのライセンス処理コンポーネントを例えばネットワーク上で組み合わせて利用することで,コンテンツのネットワーク内ポータビリティを実現しようとするものである。
ここで,図1に基づいて,上記ライセンス処理コンポーネントと,その組合せの具体例について説明する。図1は,本実施形態にかかる著作権管理システムにおける各ライセンス処理コンポーネントと,その組合せの具体例を示す説明図である。
図1に示すように,著作権管理を実行する各ライセンス処理コンポーネント11,12,21,22は,上記(a)の機能を実行する保存コンポーネント1と,上記(b)の機能を実行する利用コンポーネント2に分類される。
保存コンポーネント1は,ライセンスの永続保存機能を有するライセンス処理コンポーネントであり,記憶手段にライセンス305及びコンテンツ鍵302を安全に保存する。この保存コンポーネント1は,例えば,ハードディスクドライブ(以下,「HDD」という。)用の保存コンポーネント11と,半導体メモリ等のリムーバブル記憶媒体用の保存コンポーネント12とを含む。HDD用の保存コンポーネント11は,ユーザ機器に内蔵されているHDD111に,ライセンス305およびコンテンツ鍵302を安全に保存する。また,リムーバブル記憶媒体用の保存コンポーネント12は,ユーザ機器に装着されたリムーバブル記憶媒体40にライセンス305およびコンテンツ鍵302を安全に保存する。このように,保存コンポーネント1は,異なる記憶方式を有する複数の記憶手段ごとにそれぞれ設けられる。
このような保存コンポーネント1は,自身に対応する記憶手段に保存されているライセンス305およびコンテンツ鍵302を読み出して,利用コンポーネント2に伝送する。また,保存コンポーネント1は,利用コンポーネント2から伝送されたライセンス305およびコンテンツ鍵302を,自身に対応する記憶手段に書き込んで保存する。
一方,利用コンポーネント2は,ライセンスの一時利用機能を有するライセンス処理コンポーネントであり,上記保存コンポーネント1から伝送されたライセンス305を評価して,コンテンツの利用や,或いはライセンス305およびコンテンツ鍵302の伝送を制御する。この利用コンポーネント1は,例えば,保存コンポーネント1から伝送されたライセンス305を評価してコンテンツの再生を制御する再生コンポーネント21や,保存コンポーネント1から伝送されたライセンス305を評価して当該ライセンス305の移動を制御する移動コンポーネント22などを含む。
このように利用コンポーネント2は,コンテンツの利用時に,保存コンポーネント1から受け取ったライセンス305等を一時的に利用するのみであり,ライセンス305等を永続的に保有する(例えば,記憶手段に保存する)ことはできない。
以上のように,著作権管理部の基本機能を複数の保存コンポーネント1と複数の利用コンポーネント2とに分割することで,これらのコンポーネント間でライセンス305等を授受して,コンテンツの利用を制御できる。
例えば,コンテンツを再生制御する場合には,図1に示すように,保存コンポーネント11は,再生対象コンテンツに対応するライセンス305およびコンテンツ鍵302を,HDD111から読み出して,再生コンポーネント21に伝送する。再生コンポーネント21は,伝送されたライセンス305に記述されている再生条件を評価して,再生対象コンテンツの再生の可否を判断する。この結果,再生可能と判断した場合には,再生コンポーネント21は,コンテンツ鍵Lにより再生対象コンテンツを復号処理して,後述する再生用アプリケーションに再生を実行させる。
また,ユーザ機器間でコンテンツを移動するため,当該コンテンツに対応するライセンスを移動制御する場合には,図1に示すように,保存コンポーネント11は,移動対象コンテンツに対応するライセンス305およびコンテンツ鍵302を,HDD111から読み出して,移動コンポーネント22に伝送する。移動コンポーネント22は,伝送されたライセンス305に記述されている移動条件を評価して,当該ライセンスおよびコンテンツ鍵302の移動の可否を判断する。この結果,移動可能と判断した場合には,移動コンポーネント22は,当該ライセンスおよびコンテンツ鍵302を,保存コンポーネント12に伝送する。保存コンポーネント21は,伝送された当該ライセンスおよびコンテンツ鍵302を,リムーバブル記憶媒体40に保存する。このようにライセンス305等が移動された場合,例えば,後述する移動用アプリケーションによって,上記移動対象コンテンツをもHDD11からリムーバブル記憶媒体40に移動させる。この結果,リムーバブル記憶媒体40を装着した別のユーザ機器で,上記移動されたライセンス305に基づいて上記移動対象コンテンツを再生できるようになる。このように,ライセンス305およびコンテンツ鍵302の移動を制御することによって,結果的に,コンテンツの移動を制御することができる。
以上,本実施形態にかかる著作権管理システムにおける著作権管理方式の概要について説明した。かかる著作権管理方式に準拠して,個々のユーザ機器やコンテンツの種類などに応じて著作権管理部(著作権管理用ソフトウェア)を実装することで,ネットワーク接続されたユーザ機器間等で,多様な種類のコンテンツをやりとりして,コンテンツのポータビリティを向上できる。以下に,かかる著作権管理システムの各構成要素およびその動作について詳細に説明する。
<2.システム構成>
次に,図2に基づいて,本実施形態にかかる著作権管理システム100の全体構成について説明する。なお,図2は,本実施形態にかかる著作権管理システム100の全体構成を概略的に示すブロック図である。
図2に示すように,本実施形態にかかる著作権管理システム100は,例えば,複数のユーザ機器10a,10b,…(以下では「ユーザ機器10」と総称する場合もある。)と,配信サーバ20と,これら装置を相互に接続するネットワーク30(ホームネットワーク30aおよびローカルライン30bを含む。)と,これら装置間でコンテンツやライセンス等のデータを授受するためのリムーバブル記憶媒体40と,から構成される。
ユーザ機器10は,コンテンツを利用するための各種の情報処理装置であり,本発明のライセンス処理装置の一構成例である。図1には,このユーザ機器10の例として,ノート型若しくはデスクトップ型のパーソナルコンピュータ(Personal Computer;以下「PC」という。)10a,携帯型のコンテンツ再生装置であるポータブルデバイス(Portable Device;以下「PD」という。)10b,ホームサーバ10c,テレビジョン装置10d,CD,HD若しくはDVDレコーダ/プレーヤ等の記録再生装置10e,据え置き型の音声プレーヤ10f,カーオーディオ機器10g,携帯電話10hなどが例示されている。しかし,かかる例に限定されず,ユーザ機器10は,例えば,任意のコンピュータ装置,PDA(Personal Digital Assistant)等の携帯端末,デジタルビデオカメラ,家庭用ゲーム機,情報家電など,各種の情報処理装置で構成することができる。
かかるユーザ機器10は,例えば,コンテンツの利用機能(例えばコンテンツの再生,保存,移動,結合,分割,変換,複製,貸出,返却機能等),ライセンスに基づくコンテンツの利用制御機能,コンテンツの管理機能(例えば,コンテンツIDに基づくコンテンツ,ライセンス,コンテンツ鍵等の検索または削除機能など),リッピング,セルフレコーディング等によるコンテンツ作成機能などを有する。
このユーザ機器10のうち,ネットワーク30を介した通信機能を有する装置(例えば,PC10a,ホームサーバ10cなど)は,配信サーバ20との間で通信接続可能である。このようなユーザ機器10は,例えば,配信サーバ20から,コンテンツ配信サービス用のソフトウェアや,著作権管理用ソフトウェアをダウンロードして,インストール可能である。これにより,ユーザ機器10は,コンテンツ配信サーバ20から,暗号処理されたコンテンツ,ライセンスおよび暗号化されたコンテンツ鍵の配信を受け,これらのデータをストレージ装置やリムーバブル記憶媒体40などの記憶手段に記録することができる。
また,ユーザ機器10は,例えば,セルフレコーディング(自己録音,録画等)やリッピングなどによって,新規にコンテンツを作成して,ストレージ装置やリムーバブル記憶媒体40に記録することができる。なお,セルフレコーディングとは,ユーザ機器10自身が有する撮像装置/集音装置によって撮像/集音した音声等を,映像/音声のデジタルデータとして記録することをいう。また,リッピングとは,音楽CD,ビデオDVD,ソフトウェア用CD−ROM等の記憶媒体に記録されているデジタルコンテンツ(音声データや映像データ等)を抽出し,コンピュータで処理可能なファイル形式に変換して,ストレージ装置やリムーバブル記憶媒体40に記録することをいう。
また,ユーザ機器10は,ライセンスに記述された利用条件(例えば再生条件,移動条件等)の範囲内で,このライセンスに対応するコンテンツを利用可能である。このようなコンテンツの利用制限を行うために,ユーザ機器10は,ライセンスを評価して,コンテンツおよびライセンスの処理を制御する著作権管理部(著作権管理モジュール)を備えている。この著作権管理部は,PC10a等のユーザ機器10に著作権管理用ソフトウェアを事後的にインストールして構成されてもよいし,或いは,PC10a,PD10b,テレビジョン装置10d,記録再生装置10e,据え置き型の音声プレーヤ10f,カーオーディオ機器10gなどのユーザ機器10にプリインストールされていてもよい。
ユーザ機器10は,かかる著作権管理部によってライセンスに記述されたコンテンツの利用条件および利用状態を評価して,利用条件を満たすか否かを判断し,この結果,利用条件を満たすと判断された場合にのみ,コンテンツの利用(再生,複製等)や,ライセンスの処理(保存,複製,移動等)を許可して,実行することが可能である。例えば,コンテンツの再生が許可された場合には,ユーザ機器10は,暗号化されたコンテンツ鍵を復号化する鍵を取得でき,この取得した鍵を用いて,暗号化されたコンテンツ鍵を復号し,さらに,この復号されたコンテンツ鍵を用いて,暗号化されたコンテンツを復号して,当該コンテンツを再生することができる。
また,ユーザ機器10は,他のユーザ機器10との間で,ネットワーク30,ホームネットワーク30a,ローカルライン30b,或いはリムーバブル記憶媒体40を介して,コンテンツやライセンスをやり取り(移動,複製,貸出,返却等)することができる。ただし,ユーザ機器10間でコンテンツやライセンスをやり取りするためには,著作権管理部によって,ライセンスに記述された移動条件等を評価して,当該コンテンツおよびライセンスの移動等が許可される必要がある。
配信サーバ20は,サーバ機能を備えたコンピュータ装置などで構成され,コンテンツ配信サービスプロバイダに設けられる。この配信サーバ20は,例えば,コンテンツ配信サービスを提供するサーバであり,ユーザ機器10からの配信要求に応じて,当該ユーザ機器10にネットワーク30を介してコンテンツを配信する。
例えば,音楽コンテンツを配信する場合には,この配信サーバ20は,電子音楽配信(EMD;Electronic Music Distribution)サービスを提供するEMDサーバとして構成される。この場合,配信サーバ20は,配信対象の音楽コンテンツを,例えば,ATRAC3(Advanced Transform Acoustic Coding)方式,またはMP3(MPEG Audio Layer−3)方式などの圧縮符号化方式で圧縮符号化し,DES(Data Encryption Standard)などの暗号化方式で暗号化した上で,ユーザ機器10に配信する。また,配信サーバ20は,このように暗号化されたコンテンツとともに,当該コンテンツの利用条件が記述されたライセンスと,当該コンテンツを復号するための暗号化されたコンテンツ鍵とを,ユーザ機器10に配信する。
また,配信サーバ20は,ユーザ機器10が例えばリッピング,セルフレコーディング等により自ら作成したコンテンツの利用を管理する作成コンテンツ利用サービスを提供するサーバとしても構成できる。この場合,配信サーバ20は,ユーザ機器10に対し,上記作成されたコンテンツの利用条件を記述したライセンスと,当該コンテンツの暗号化を解除するコンテンツ鍵とを配信する。これによって,ユーザ機器10は,配信サーバ20から取得したライセンスおよびコンテンツ鍵に基づき,上記リッピング等により自ら作成したコンテンツを利用(再生,複製等)できるようになる。
なお,図2の例では,サービスプロバイダから,配信サーバ20によるネットワーク30を介した配信によって,ユーザ機器10にコンテンツ,ライセンス,コンテンツ鍵等が提供されるが,かかる例に限定されない。例えば,サービスプロバイダから,DVD,CD,MD,半導体メモリ等のリムーバブル記憶媒体40を介して,ユーザ機器10にコンテンツ,ライセンス,コンテンツ鍵等が提供されてもよい。
ネットワーク30は,上記ユーザ機器10および配信サーバ20を通信可能に接続する通信回線網である。このネットワーク30は,例えば,インターネット,電話回線網,衛星通信網等の公衆回線網や,WAN,LAN,IP−VPN等の専用回線網などで構成されており,有線・無線を問わない。
さらに,かかるネットワーク30は,ホームネットワーク30b等の私的ネットワークや,ローカルライン30bを含む。このうち,私的ネットワークは,著作権管理の観点からみて,私的使用の範囲内でコンテンツを共有する複数のユーザ機器10を相互に接続するネットワークである。かかる私的ネットワークの具体例としては,例えば,同一の家庭内において限られたユーザによって使用される複数のユーザ機器10を接続するLANであるホームネットワーク30bや,小規模の限られたグループ(会社,友人等)内で使用される複数のユーザ機器10を接続するLANなどが挙げられる。
例えば,図1に示すユーザ自宅にあるホームネットワーク30aには,PC10a,ホームサーバ10c,テレビジョン装置10d,記録再生装置10e,据え置き型の音声プレーヤ10fが相互に接続されている。このうち,ホームサーバ10cは,例えば,ハブ機能,ルーター機能,ゲートウェイ機能などを有しており,ユーザ自宅内のユーザ機器10と外部との通信を管理している。
また,ローカルライン30bは,複数のユーザ機器10を相互に接続するためのケーブルであり,例えば,例えばUSB(Univarsal Serial Bus)ケーブル,SCSI(Small Computer System Interface)ケーブル,IEEE1394ケーブル,ミニプラグなどで構成される。このローカルライン30bを介して,PD10bとPC10aとを接続することで,PD10bとPC10a間でコンテンツ等の各種のデータを通信可能となる。なお,ユーザ機器10は,相互に無線通信可能に構成されてもよい。
例えば,図1に示すユーザ自宅では,PC10aとPD10bとがローカルライン30bで接続され,また,ユーザ別荘では,PC10aと据え置き型の音声プレーヤ10fとがローカルライン30bで接続され,さらに,自動車では,カーオーディオ機器10gとPD10bとがローカルライン30bで接続されている。
リムーバブル記憶媒体40は,コンテンツ,ライセンス,コンテンツ鍵等の各種データを格納することが可能な記憶手段であり,例えば,DVD−R,DVD−RW,DVD−RAM,CD−R,CD−RW,光磁気ディスク等の各種の光ディスク3や,フレキシブルディスク,ハードディスク等の磁気ディスク,各種の半導体メモリなどである。なお,このリムーバブル記憶媒体40は,例えば,暗号鍵等を用いてコンテンツの利用を制限する著作権管理機能付きの記憶媒体であってもよい。
ユーザ機器10は,ネットワーク30を介さずとも,かかるリムーバブル記憶媒体40を介して,コンテンツ,ライセンス,コンテンツ鍵等を相互にやりとりできる。また,このリムーバブル記憶媒体40を,販売店の店頭等に設けられたコンテンツ販売端末(図示せず。)に挿入して,ユーザ操作に応じて購入されたコンテンツやライセンス等をリムーバブル記憶媒体40に記憶させてもよい。これにより,購入されたコンテンツ等を,かかるリムーバブル記憶媒体40を介してユーザ機器10に提供することができる。
以上のような構成の著作管理システム100では,各ユーザ機器10には,上述したようにライセンスの処理単位ごと(コンテンツの利用制限機能ごと)にコンポーネントに分割された構成の著作権管理部が,各ユーザ機器10のタイプ等に応じて実装されている。このため,ユーザは自己の所有するユーザ機器10間で,コンテンツ,ライセンスおよびコンテンツ鍵等を比較的自由にやり取りして,多様な態様でコンテンツを利用することができるという利点がある。
具体的には,異なる実装の著作権管理部がインストールされたユーザ機器10間で,コンテンツ,ライセンスおよびコンテンツ鍵(以下,コンテンツ等という)を,自由に移動,複製,貸出,返却(以下,移動等という。)することができる。このときの通信経路としては,上記ネットワーク30,ホームネットワーク30a,ローカルライン30bを利用できる。例えば,ユーザ自宅内では,ホームネットワーク30aに接続されている複数のユーザ機器10間で,機器のタイプに関わらず,コンテンツ等を移動等することができる。また,PC10aに保存されているコンテンツ等を,ローカルライン30bを介して,PD10bに移動等できる。また,ユーザ自宅のPC10aに保存されているコンテンツ等を,ネットワーク30を介して,遠隔地にあるユーザ別荘のPC10aや,自動車内のカーオーディオ機器10gに移動等することもできる。さらに,リムーバブル記憶媒体40を読み書き可能なユーザ機器10間で,リムーバブル記憶媒体40を介してコンテンツ等を移動等できる。例えば,携帯電話10fによって配信サーバ20からダウンロードしたコンテンツ等をリムーバブル記憶媒体40に記録して,ユーザ自宅内のPC10a等に提供できる。
また,物理的に離隔したユーザ機器10間で,コンテンツをリモート制御して利用することもできる。例えば,あるユーザ機器10(例えば,ホームネットワーク30aのホームサーバ10c)に保存されているコンテンツを,他の複数のユーザ機器10(ホームネットワーク30aに接続されたPC10a,PD10b,テレビジョン装置10c等)によって,参照して利用することができる。また,PC10aに保存されているコンテンツ等を,同一のホームネットワーク30aに接続された据え置き型の音声プレーヤ10fでコンテンツを再生して出力することもできる。さらに,ユーザ自宅内のPC10aやホームサーバ10cに保存されているコンテンツ等を,ユーザ別荘にあるPC10aや,自動車内のカーオーディオ機器10gによってリモート操作して,ユーザ別荘のPC10aや自動車内のカーオーディオ機器10gでコンテンツを再生出力することもできる。
このように,本実施形態にかかる著作権管理システムでは,コンテンツを利用制限する著作権管理機能を担保しつつ,各種のユーザ機器10間におけるコンテンツのポータビリティを向上させ,ユーザの利便性,コンテンツ利用の自由度を向上させることができるものである。
<3.ユーザ機器のハードウェア構成>
次に,本実施形態にかかるユーザ機器10のハードウェア構成について説明する。以下では,ユーザ機器10の代表例として,PC10aとPD10bのハードウェア構成例について説明する。なお,ユーザ機器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によって,PC10aは,PD10b等に対してローカルライン30bを介して接続され,各種のデータを通信可能となる。
通信装置115は,例えば,ネットワーク30(ネットワーク30aを含む。)に接続するための通信デバイス等で構成された通信インタフェースである。この通信装置115は,他のユーザ機器10や配信サーバ20等の外部機器との間で,ネットワーク30を介して,コンテンツ,ソースIDリストL,グループ証明書G,制御信号などの各種データを送受信する。
次に,図4に基づいて,本実施形態にかかるPD10bのハードウェア構成について説明する。なお,図4は,本実施形態にかかるPD10bのハードウェア構成例を概略的に示すブロック図である。
図4に示すように,PD10bは,例えば,制御装置201と,フラッシュメモリ202と,RAM203と,バス206と,入力装置208と,表示装置210と,HDD211と,ドライブ212と,デコーダ213と,通信装置215と,オーディオ出力回路216と,リモートコントローラ218と,ヘッドフォン219とを備える。
制御装置201は,例えば,フラッシュメモリ202またはHDD211に格納された各種プログラムに従って動作し,PD10bの各部を制御する。フラッシュメモリ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は,本実施形態にかかるPD10bの記憶手段の一例として構成されたデータ格納用の装置である。このHDD211は,例えば数十GBの記憶容量を有するハードディスクドライブ(HDD)で構成され,コンテンツ,ライセンス,コンテンツ鍵や,制御装置201のプログラム,各種のデータを格納する。かかるHDD211を備えたPD10bは,コンテンツを記録および再生可能なコンテンツ記録再生装置として構成される。これによって,PC10aからリムーバブル記憶媒体40を介して提供されたコンテンツのみならず,PCa等からローカルライン30bを介して受信したコンテンツを,HDD211に格納して,再生することができるようになる。しかし,かかる例に限定されず,例えば,PD10bは,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およびPD10bのハードウェア構成例を説明した。しかし,コンテンツを利用するユーザ機器10は,上記PC10aおよびPD10bの例に限定されず,図2に示したようにホームサーバ10c,テレビジョン装置10d,記録再生装置10e,据え置き型の音声プレーヤ10f,カーオーディオ機器10g,携帯電話10h,その他の様々な電子機器,情報処理装置によって構成することが可能である。従って,ユーザ機器10は,それぞれの機器固有のハードウェア構成を有することが可能であり,そのハードウェア構成に応じた処理を実行する。
ただし,コンテンツを利用制御するためにライセンスを処理するライセンス処理装置であるユーザ機器10は,上述した著作権管理部(著作権管理モジュール)を有する。具体的には,かかるユーザ機器10は,例えば,著作権管理用プログラムを保存する記憶手段と,この著作権管理用プログラムを実行するプロセッサとを有し,ライセンスの利用条件を評価して,自デバイスにおけるコンテンツ利用可否を判定し,利用可能との判定を得たことを条件としてコンテンツ利用を実行する。
<4.著作権管理部の機能構成>
次に,図5に基づいて,本実施形態にかかるユーザ機器10等が備える著作権管理部(著作権管理モジュール)3の機能構成について説明する。なお,図5は,本実施形態にかかるユーザ機器10等が備える著作権管理部3の機能構成を示すブロック図である。
図5に示すように,著作権管理部3は,コンテンツを利用するためのアプリケーション4と接続されている。このアプリケーション4は,ユーザインターフェース機能と,コンテンツを実際に利用する機能を有する。具体的には,アプリケーション4は,ユーザインターフェース機能として,ユーザからのコンテンツ利用要求を受け付けたり,各種操作画面を表示装置に表示したりする。また,アプリケーション4は,コンテンツ利用機能としては,例えば,コンテンツの再生を実行する,或いは,複数のユーザ機器10間(例えば,PC10aとPD10b間)または同一のユーザ機器10内の記憶手段間(例えば,HDD111とリムーバブル記憶媒体40間)で,コンテンツを移動等する。かかるアプリケーション4によるコンテンツの利用は,著作権管理部3によって制御される。
著作権管理部3は,上述した複数のライセンス処理コンポーネントと,これらライセンス処理コンポーネントを制御するコンポーネント管理部5とを備える。ライセンス処理コンポーネントは,ライセンスを動的に処理する処理単位(各利用制限機能)に応じて部品化されたモジュールである。このライセンス処理コンポーネントは,コンテンツの利用(再生,移動等)を制御するためにライセンスおよびコンテンツ鍵を処理(評価,伝送等)する機能や,ライセンスおよびコンテンツ鍵を記憶手段に安全に保存して管理する機能を有する。
この著作権管理部3では,コンポーネント管理部5による制御に基づき,各ライセンス処理コンポーネント間で,ライセンスに関する情報(ライセンス自体,コンテンツ鍵など)を安全に授受することにより,適切なライセンス処理コンポーネントに適切なデータを伝送,処理して,コンテンツの利用を制御する。
かかる各ライセンス処理コンポーネントは,上述したように,保存コンポーネント1と,利用コンポーネント2に分類される。
まず,保存コンポーネント1について詳述する。保存コンポーネント1は,ライセンスおよびコンテンツ鍵を記憶手段に安全に保管する機能を有する。具体的には,保存コンポーネント1は,コンテンツ鍵の秘匿性(上記要件1)およびライセンスの完全性(上記要件2)を保証しつつ,これらコンテンツ鍵,ライセンスおよびコンテンツの関連性(上記要件3)を保証するように,HDD111やリムーバブル記憶媒体40等の記憶手段に,ライセンスおよびコンテンツ鍵を保存する処理を行う(この処理をバインド(bind)と称する。)。また,保存コンポーネント1は,このライセンスおよびコンテンツ鍵のバインド処理の他,記憶手段からライセンスおよびコンテンツ鍵を読み出す,或いは,記憶手段に保存されているライセンスおよびコンテンツ鍵を書き換え,削除するなどの処理を行う。
この保存コンポーネント1は,記憶手段に対する読み書きを実行する部分が実装環境に依存するため,相異なる記憶方式を有する記憶手段ごとにそれぞれ設けられる。このため,基本的には,1種類の記憶手段に,1種類の保存コンポーネント1が対応する。より具体的には,保存コンポーネント1は,例えば,リムーバブル記憶媒体40の種類や仕様(例えば,通常の半導体メモリ,著作権管理機能付き半導体メモリ,CD,DVDなど)に対応してそれぞれ設けられ,また,異なるタイプのユーザ機器10が具備するHDD(PC10aのHDD111,PD10bのHDD211など)に対応してそれぞれ設けられる。
図5の例では,HDDで構成されたライセンス・コンテンツ鍵記憶部6aに,ライセンスおよびコンテンツ鍵を保存するHDD用の保存コンポーネント(Bind1)11と,リムーバブル記憶媒体40で構成されたライセンス・コンテンツ鍵記憶部6bに,ライセンスおよびコンテンツ鍵を保存するリムーバブル記憶媒体用の保存コンポーネント(Bind2)12が示されている。
かかる保存コンポーネント1は,ライセンスおよびコンテンツ鍵が改竄されたり,秘匿が暴露されたりしないように,ライセンスおよびコンテンツ鍵を記憶手段に安全に関連付けて保存(即ち,バインド)する。この安全な保存方法の具体的手法について説明する。
例えば,保存コンポーネント1は,対応する記憶手段に,コンテンツ等が格納される通常の記憶領域とは別に,保存コンポーネント1以外はアクセス不能な秘密記憶領域を生成し,ライセンス及びコンテンツ鍵をこの秘密記憶領域に保存するようにしてもよい。これによって,著作権管理部3によって認証されたユーザでなければ,上記秘密記憶領域に保存されているライセンスおよびコンテンツ鍵にアクセス不能となるので,コンテンツ鍵の秘匿性およびライセンスの完全性を保証できる。この手法は,記憶手段が,DVD等の光ディスクである場合などに有用である。
また,保存コンポーネント1は,対応する記憶手段に,ライセンス及びコンテンツ鍵を,保存コンポーネントのみが取り扱い可能な保存用秘密鍵(改竄を防止するための秘密のメディア鍵)で暗号化して保存するようにしてもよい。これによって,記憶手段内のライセンス及びコンテンツ鍵にアクセスはできるが,上記保存用秘密鍵で復号化しなければ,当該ライセンス及びコンテンツ鍵を利用できないので,コンテンツ鍵の秘匿性およびライセンスの完全性を保証できる。この手法は,記憶手段が,半導体メモリである場合などに有用である。
次に,利用コンポーネント2について詳述する。利用コンポーネント2は,ライセンス及びコンテンツ鍵,必要に応じてコンテンツを入力として,ライセンスに記述された各種の利用条件(後述する再生条件,移動条件等)を評価してコンテンツの利用を制御する機能を有する。また,利用コンポーネント2の種類によっては,コンテンツの利用制御内容に応じて,ライセンスを更新して,更新されライセンスを出力するものもある。
また,この利用コンポーネント2は,例えば,HDD,リムーバブル記憶媒体40等で構成されたコンテンツ記憶部7と接続されており,必要に応じて,コンテンツ記憶部7からコンテンツを読み出して処理できる。これに対し,利用コンポーネント2は,ライセンス・コンテンツ鍵記憶部6から,直接,ライセンス及びコンテンツ鍵を取得することはできず,必ず,保存コンポーネント1を介さなければならない。換言すると,利用コンポーネント2は,自ら,ライセンス及びコンテンツ鍵を記憶手段に読み書きおよび保存する機能は有しておらず,保存コンポーネント1によってライセンス・コンテンツ鍵記憶部6から読み出されて伝送されたライセンス及びコンテンツ鍵を処理し,さらに,必要に応じて,ライセンスおよびコンテンツ鍵を保存コンポーネント1に伝送して,記憶手段に書き込ませる。
かかる利用コンポーネント2は,少なくともコンテンツの利用形態(操作)の種類だけ設けられる。ここで,コンテンツの利用形態の種類について説明する。コンテンツの利用形態としては,例えば,コンテンツを音や映像として出力する「再生」,ユーザ機器10間または記憶手段間でコンテンツを移動(原本転送)する「移動」,ある記憶手段に保存されているコンテンツを複製(写本転送)して他の記憶手段に保存する「複製」,ユーザ機器10間または記憶手段間でコンテンツを貸し出す「貸出」,ユーザ機器10間または記憶手段間で貸し出されたコンテンツを貸出元に返却する「返却」などがある。
なお,上記「再生」の種類としては,例えば,等速度再生,等速度逆再生,早送り再生,巻き戻し再生,早送り,巻き戻し,一時停止,シーク操作などが可能である。また,上記「貸出」は,SDMI準拠の「チェックアウト(Check Out)」に相当し,上記「返却」は,SDMI準拠の「チェックイン(Check In)」に相当する。
このようなコンテンツの各利用(各操作)を制御するために,本実施形態では,利用コンポーネント2の具体例として,例えば,再生コンポーネント(Play)21と,移動コンポーネント(Move)22,複製コンポーネント(Copy)23と,貸出コンポーネント(Rent)24と,返却コンポーネント(Return)25とが設けられている。
再生コンポーネント21は,ライセンスに記述された再生条件を評価して,コンテンツの再生を制御する。この再生コンポーネント21は,ライセンスの更新を伴う再生制御と,ライセンスの更新を伴わない再生制御とに応じて,2種類設けられるが,詳細は後述する。
また,移動コンポーネント22は,コンテンツの移動を制御するために,このコンテンツに対応するライセンスに記述された移動条件を評価して,ユーザ機器10間または記憶手段間での当該ライセンスおよびコンテンツ鍵の移動(原本転送)を制御する。例えば,この移動コンポーネント22によって,移動元と移動先の記憶手段間においてライセンス及びコンテンツ鍵の移動が許可されれば,この移動元と移動先の記憶手段間において,当該ライセンスに対応するコンテンツの移動も許可される。
また,複製コンポーネント23は,コンテンツの複製を制御するために,このコンテンツに対応するライセンスに記述された複製条件を評価して,ユーザ機器10間または記憶手段間での当該ライセンスおよびコンテンツ鍵の複製(写本転送)を制御する。例えば,この複製コンポーネント23によって,複製元と複製先の記憶手段間においてライセンス及びコンテンツ鍵の複製が許可されれば,この複製元と複製先の記憶手段間において,当該ライセンスに対応するコンテンツの複製も許可される。
また,貸出コンポーネント24は,コンテンツの貸出を制御するために,このコンテンツに対応するライセンスに記述された貸出条件を評価して,ユーザ機器10間または記憶手段間での当該ライセンスおよびコンテンツ鍵の貸出を制御する。例えば,この貸出コンポーネント24によって,貸出元と貸出先の記憶手段間においてライセンス及びコンテンツ鍵の貸出が許可されれば,この貸出元と貸出先の記憶手段間において,当該ライセンスに対応するコンテンツの貸出も許可される。
また,返却コンポーネント24は,コンテンツの返却を制御するために,このコンテンツに対応するライセンスに記述された返却条件を評価して,貸出元と貸出先のユーザ機器10間または貸出元と貸出先の記憶手段間での当該ライセンスおよびコンテンツ鍵の返却を制御する。例えば,この返却コンポーネント24によって,貸出元と貸出先の記憶手段間においてライセンス及びコンテンツ鍵の返却が許可されれば,この貸出元と貸出先の記憶手段間において,当該ライセンスに対応するコンテンツの返却も許可される。
以上,5種類の利用コンポーネント2について説明した。なお,同一種類のコンテンツ利用制御を行う利用コンポーネント2に関し,実装による環境依存の部分に応じて,複数の利用コンポーネント2を設けてもよい。例えば,デコーダの種類毎に,複数の再生コンポーネント21を設けてもよい。
以上のような保存コンポーネント1と利用コンポーネント2からなるライセンス処理コンポーネントは,図1でも説明したように,相互にライセンス及びコンテンツ鍵を授受することにより,コンテンツの利用を制御する。このようにライセンス及びコンテンツ鍵を授受するために,ライセンス処理コンポーネント間では,特定のプロトコルに従ったメッセージをやり取りする。このメッセージには,
(1)ライセンス,
(2)コンテンツ鍵,
(3)ライセンスの伝送タイプ(即ち,メッセージの種類)を表す伝送タイプ識別情報,
(4)メッセージの伝送元のライセンス処理コンポーネントの属性を表すコンポーネント属性情報,
が含まれる。このメッセージのうち,(3)伝送タイプ識別情報および(4)コンポーネント属性情報は,適正なライセンス処理コンポーネントにライセンス及びコンテンツ鍵を適正に伝送することを保証するためのデータであるが,詳細については後述する。
次に,コンポーネント管理部5について説明する。コンポーネント管理部5は,アプリケーション4からのコンテンツ利用要求に応じて,必要なライセンス処理コンポーネントを使用して,コンテンツの利用制御を実行する機能を有する。コンポーネント管理部5は,基本的には,1つのコンテンツ利用要求に対して,1つの利用コンポーネント2と,1または2以上の保存コンポーネント1とを使用して,利用要求を受けたコンテンツの利用を制御する。このコンポーネント管理部5の基本的な動作について説明する。
まず,コンポーネント管理部5は,コンテンツ利用制御処理に使用するライセンス処理コンポーネントを決定する。具体的には,コンポーネント管理部5は,アプリケーション4からコンテンツ利用要求を受けると,要求を受けたコンテンツの利用制御を行う利用コンポーネント2と,コンテンツの利用制御に必要なライセンス及びコンテンツ鍵を保存する保存コンポーネント1を決定する。そして,これら決定された保存コンポーネント1および利用コンポーネント2にロード指示を送り,ロード(起動)させる。
次いで,コンポーネント管理部5は,ロードした保存コンポーネントに,コンテンツの利用内容に応じたメッセージの作成を指示し,ロードした保存コンポーネント1から,メッセージを取得する。この際,コンポーネント管理部5は,コンテンツ利用内容に応じて,保存コンポーネント1に格納されているライセンス及びコンテンツ鍵を無効化(削除)するよう指示する場合がある。例えば,コンテンツの移動の場合には,コンポーネント管理部5は,保存コンポーネント1に対し,保存されているライセンスおよびコンテンツ鍵を削除してから,転送のためのメッセージを送信するよう指示する。
さらに,コンポーネント管理部5は,保存コンポーネント1から取得したメッセージを,利用コンポーネント2に転送する。利用コンポーネント2は,メッセージの正当性を確認した後,ライセンスに記述された利用条件を評価して,コンテンツの利用の可否を判断し,利用可能であれば,コンテンツの利用をアプリケーションに指示する。なお,利用コンポーネント2が移動コンポーネント22等である場合には,コンテンツの移動に応じて,対応するライセンスおよびコンテンツ鍵も移動させるため,他の保存コンポーネント1にメッセージを送信する。
このように,コンポーネント管理部5は,コンテンツの利用要求に応じて,必要な複数のライセンス処理コンポーネントを機能させて,これらのライセンス処理コンポーネントの間で,ライセンス及びコンテンツ鍵をやり取りさせることで,要求されたコンテンツ利用を制御する。
次に,図6に基づいて,本実施形態にかかるライセンス処理コンポーネント間で,ライセンスをやり取りして,コンテンツの利用を制御する具体例について説明する。なお,図6は,本実施形態にかかるライセンス処理コンポーネント間で,ライセンスをやり取りする構成例を示すブロック図である。
図6に示すように,ライセンス処理コンポーネントとして,3つの保存コンポーネント11,12,13と,再生コンポーネント21および移動コンポーネント22が接続可能な状態にあるとする。このときの接続経路は,同一のユーザ機器10内の接続であれば,バス等であり,異なる複数のユーザ機器10間で接続する場合には,上記ネットワーク30,ホームネットワーク30aまたはローカルライン30b等である。
保存コンポーネント11,12,13は,上述したように,暗号技術等を利用したり,秘密記憶領域を有する記憶手段を利用することによって,ライセンスを,記憶手段に安全に保存することができる。保存コンポーネント1は,記憶手段に保存したライセンスを読み出して,利用コンポーネント2によって解釈可能となるように実体化(有効化)して,利用コンポーネント2に伝送する。
例えば,図6に示すように,保存コンポーネント11は,保存しているライセンスAを実体化して,再生コンポーネント21に伝送する。再生コンポーネント21は,保存コンポーネント11から伝送されたライセンスAに記述された再生条件を評価して,当該ライセンスAに対応するコンテンツの再生を制御する。
また,保存コンポーネント12は,保存しているライセンスBを実体化して,移動コンポーネント22に伝送する。移動コンポーネント22は,保存コンポーネント12から伝送されたライセンスBに記述された移動条件を評価して,当該ライセンスBの移動の可否,及び,当該ライセンスBに対応するコンテンツの移動の可否を判断し,移動可能であれば, ライセンスBを保存コンポーネント13に伝送する。保存コンポーネント13は,伝送されたライセンスBに記述された保存条件を評価して,保存可能と判断すれば,対応する記憶手段にライセンスBを安全に保存(バインド)する。さらに,保存コンポーネント13は,伝送指示を受けると,保存しているライセンスBを実体化して,再生コンポーネント21に伝送する。すると,再生コンポーネント21は,伝送されたライセンスBに記述された再生条件を評価して,当該ライセンスBに対応するコンテンツの再生を制御する。
このように,保存コンポーネント11,12,13と,再生コンポーネント21および移動コンポーネント22等の利用コンポーネント2との間で,ライセンスをやり取りすることによって,1つのコンテンツ利用が制御される。即ち,コンテンツの利用を制御する場合には,少なくとも1つの保存コンポーネント1と,少なくとも1つの利用コンポーネント2が連携して動作することが求められる。
次に,図7に基づいて,本実施形態にかかる著作権管理部3を構成する各ライセンス処理コンポーネントの実装例について説明する。なお,図7は,本実施形態にかかる著作権管理部3を構成する各ライセンス処理コンポーネントの実装例を示す説明図である。
図7には,ライセンス処理コンポーネントが実装されるライセンス処理装置の構成例として,上記図2に示した機器のうち,配信サーバ20,PC10a,ホームサーバ10c,PD10bが備えるライセンス処理コンポーネントを示してある。
これら各機器には,上記各種のライセンス処理コンポーネントが分散配置されている。具体的には,配信サーバ20は,移動コンポーネント22と,HDD411用の保存コンポーネント11を備える。また,PC10aは,再生,移動,複製,貸出,返却コンポーネント21,22,23,24,25と,HDD111用の保存コンポーネント11と,リムーバブル記憶媒体40用の保存コンポーネント12とを備える。また,ホームサーバ10cは,HDD311用の保存コンポーネント11を備える。また,PD10bは,再生コンポーネント21と,リムーバブル記憶媒体40用の保存コンポーネント12を備える。
このようなライセンス処理コンポーネントの実装例においては,ユーザ機器10および配信サーバ20に配された各ライセンス処理コンポーネントを組み合わせることで,著作権管理を行いつつ,多様な態様でコンテンツを利用することができる。
例えば,配信サーバ20の保存コンポーネント11および移動コンポーネント22と,PC10aの保存コンポーネント11とを組み合わせることによって,配信サーバ20に保存されているコンテンツおよびライセンス等をPC10aに配信(移動)して,PCのHDD111に保存することができる。
また,PC10aの複製コンポーネント23および保存コンポーネント11と,ホームサーバ10cの保存コンポーネント11とを組み合わせることによって,PC10aのHDD111に保存されているコンテンツおよびライセンス等をホームサーバ10cに複製して,ホームサーバ10cのHDD311に保存することができる。さらに,ホームサーバの保存コンポーネント11と,PC10aの再生コンポーネント21とを組み合わせることによって,ホームサーバ10aに保存されているコンテンツを,PC10aで再生することもできる。
また,PC10a内で貸出コンポーネント24,保存コンポーネント11および保存コンポーネント12を組み合わせることによって,PC10aのHDD111に保存されているコンテンツおよびライセンス等を,PC10aのリムーバブル記憶媒体40に貸し出して保存することができる。さらに,このリムーバブル記憶媒体40をPD10bに提供して装着した上で,PD10bの再生コンポーネント21と保存コンポーネント12を組み合わせることによって,当該リムーバブル記憶媒体40に保存されているコンテンツをPD10bで再生することができる。
以上,本実施形態にかかる著作権管理システム100で使用される著作権管理部3の機能構成について説明した。上記のように,著作権管理部3を,コンテンツの利用形態に即したライセンスの処理単位ごとに複数のライセンス処理コンポーネントに部品化して構築することで,著作権管理部3の汎用性,拡張性を向上できる。このため,著作権管理部3を多様なタイプのユーザ機器10に対応するように設計して実装したときに,異なる実装の著作権管理部3を有するユーザ機器10間で,コンテンツおよびライセンス等を好適にやり取りして,コンテンツの利用およびその制限を的確に実行できる。
<5.データ構成>
次に,図8に基づいて,本実施形態にかかる著作権管理システム100で取り扱われる基本データの構成について説明する。なお,図8は,本実施形態にかかる著作権管理システム100で取り扱われる基本データの相互関係を示す説明図である。
図8に示すように,著作権管理システム100で取り扱われるデータは,主に,デジタルコンテンツ301と,コンテンツ鍵302と,コンテンツ(著作権管理コンテンツ)303と,コンテンツID304と,ライセンス305である。
(デジタルコンテンツ301)
デジタルコンテンツ301は,著作権管理の対象となる映像,音声,テキスト等のデジタルデータである。より詳細には,このデジタルコンテンツ301,例えば,音楽,講演,ラジオ番組等の音声データ(Audio data),映画,テレビジョン番組,ビデオプログラム,写真,絵画,図表等を構成する静止画若しくは動画からなる映像(Video data),或いは,電子図書(E−book),ゲーム,ソフトウェアなどのデータである。本実施形態では,デジタルコンテンツ301として,主に,配信サーバ20から配信された音楽データ,或いは音楽CD等からリッピングされた音楽データの例を挙げて説明するが,かかる例に限定されない。著作権管理システム100では,このデジタルコンテンツ301を暗号処理して著作権管理コンテンツ303を生成し,システム内で著作権管理する。
(コンテンツ鍵302)
コンテンツ鍵302は,コンテンツ303を復号化するためのコンテンツ暗号処理鍵であり,例えば,1又は2以上の秘密鍵の集合である鍵束(Key Ring)で構成される。例えば,コンテンツ鍵302のある具体例は,暗号化されたオーディオデータを復号するための秘密鍵と,暗号化されたフリンジデータの復号するための秘密鍵との集合である。また,コンテンツ鍵302の別の具体例は,ビデオデータを時系列的に分割し,それぞれ異なる秘密鍵を用いて暗号化した時の秘密鍵の集合である。
上述したように,本実施形態にかかる著作権管理システム100では,デジタルコンテンツ301の秘匿性を保証するために,秘密鍵を用いてデジタルコンテンツ301を暗号化する。このとき,「デジタルコンテンツ301:秘密鍵=m:n」の関係にあり,1つのデジタルコンテンツ301に対して複数の秘密鍵を用いて暗号化しても良いし,複数のデジタルコンテンツ301を1つの秘密鍵を用いて暗号化しても良い。これらの秘密鍵の集合(鍵束)をコンテンツ鍵302と定義する。この結果,「デジタルコンテンツ301:コンテンツ鍵302=m:1」の関係となる。本実施形態にかかる著作権管理システム100では,このコンテンツ鍵302を1つの著作権管理されたコンテンツ303と対等なものとみなし,利用条件による制御単位として扱う。
(コンテンツ303)
コンテンツ303は,1つのコンテンツ鍵302によって暗号化されたデジタルコンテンツ301の集合(著作権管理コンテンツ)である。この結果,「コンテンツ鍵302:コンテンツ303=1:1」の関係にある。本明細書では,「コンテンツ303」若しくは「コンテンツ」なる用語は,コンテンツ鍵302により暗号処理されたデジタルコンテンツ301の集合である著作権管理コンテンツを意味する。コンテンツ303は,著作権管理部3により利用制御されるが,ライセンス305およびコンテンツ鍵302が安全に管理されていれば,必ずしも,コンテンツ303自体を安全に管理する必要は無い。
(コンテンツID304)
コンテンツID304は,コンテンツ鍵302に一意に付与される識別子である。上記のように「コンテンツ鍵302:コンテンツ303=1:1」の関係にあるので,このコンテンツID304によって,コンテンツ303を識別することができる。即ち,コンテンツID304は,コンテンツ303を識別するためのコンテンツ識別情報として機能する。本実施形態にかかる著作権管理部3は,このコンテンツID304と,コンテンツの利用内容の指示が入力されれば,コンテンツ303の利用を制御することができる。
(ライセンス305)
ライセンス305は,コンテンツ303の利用権限を表す電子データである。このライセンス305には,コンテンツ303の利用(再生,移動,貸出等),並びに,コンテンツ303,コンテンツ鍵302およびライセンス305の伝送に関する利用条件及び利用状態が記述される。ライセンス305はコンテンツ鍵302に対して付与され,1つのンテンツ鍵302に対して,複数のコンテンツ鍵302を定めることできる。この結果,「コンテンツ鍵302:コンテンツ303:ライセンス305=1:1:n」の関係にある。
なお,上記図8の説明では,説明の便宜上,デジタルコンテンツ,コンテンツ鍵,コンテンツ,コンテンツID,ライセンスなる用語に符号301〜305を付して説明したが,本明細書の他の記載では,これらの用語に符号を付さないで表現する場合もある。この場合であっても,これら各用語の意味は,上記で定義した内容と実質的に同一である。
<6.ライセンス記述>
次に,図9〜図12に基づいて,本実施形態にかかるライセンスの記述の具体例について説明する。なお,図9〜図12は,本実施形態にかかるライセンスの記述の具体例を示す説明図であり,それぞれ,コンテンツの移動,複製,貸出,返却制御に使用可能なライセンスの具体例を示す。
図9〜図12に示すように,ライセンスには,コンテンツの利用(再生,移動,貸出等)を制御するために必要な情報が記述されている。この図示の例では,ライセンスは,XML(eXtended Markup Language)により記述されているが,ライセンスの記述言語はかかる例に限定されない。
このライセンスは,ライセンスに関する情報が記述されるライセンス情報記述部501と,コンテンツの利用条件が記述される利用条件記述部502と,からなる。
ライセンス情報記述部501には,例えば,ライセンスによって制御する対象となるコンテンツおよびコンテンツ鍵を表す「コンテンツID」と,コンテンツの著作権者である個人又は企業(サービスプロバイダ等)を表す識別情報である「著作権者情報」と,が記述される。コンテンツIDは,<U_ContentID>タグで囲まれた部分に記述され,著作権者情報は,<Legal Copyright>タグで囲まれた欄に記述される。ライセンスにコンテンツIDを記述することによって,ライセンスと,このライセンスに対応するコンテンツおよびコンテンツ鍵とを関連付けることができる。なお,このライセンス情報記述部501には,ライセンスに関する情報として,ライセンスの発行日等を記述してもよい。
利用条件記述部502は,コンテンツの利用条件情報が,コンテンツの利用形態(操作内容)ごと,即ち,各ライセンス処理コンポーネントごとに区分されて記述されている。具体的には,図9〜図12に示すように,利用条件記述部502は,コンテンツの再生条件が記述された再生条件記述部521と,コンテンツの移動条件が記述された移動条件記述部522と,コンテンツの複製条件が記述された複製条件記述部523と,コンテンツの貸出条件が記述された貸出条件記述部524と,コンテンツの返却条件が記述された返却条件記述部525と,コンテンツに対応するライセンスの保存条件が記述された保存条件記述部511と,に区分されている。
このように,利用条件を各ライセンス処理コンポーネントの処理機能に応じて区分して記述することで,各ライセンス処理コンポーネントは,自身に対応する区分の利用条件を評価して,コンテンツの利用制御を実行できる。例えば,再生コンポーネント21は,ライセンスのうち,再生条件記述部521のみを評価して,コンテンツの再生の可否を制御する。また,保存コンポーネント1は,ライセンスのうち,保存条件記述部511のみを評価して,記憶手段に対するライセンスおよびコンテンツ鍵の保存の可否を制御する。
また,ライセンスの利用条件記述部502には,上記全ての利用条件が記述されている必要はない。例えば,図9に示すように,コンテンツの移動制御用のライセンスは,少なくとも,再生条件記述部521と,移動条件記述部522と,保存条件記述部511を含めばよい。また,図10に示すように,コンテンツの複製制御用のライセンスは,少なくとも,再生条件記述部521と,複製条件記述部524と,保存条件記述部511とを含めばよい。さらに,図11に示すように,コンテンツの貸出制御用のライセンス(貸出元ライセンス)は,少なくとも,再生条件記述部521と,貸出条件記述部524と,保存条件記述部511とを含めばよい。また,図12に示すように,コンテンツの返却制御用のライセンス(貸出用ライセンス)は,少なくとも,再生条件記述部521と,返却条件記述部525と,保存条件記述部511とを含めばよい。
なお,図12に示す貸出用ライセンスは,図11に示す貸出元ライセンスに基づいて生成される。具体的には,例えば,貸出元ライセンスから,ライセンス情報記述部501,再生条件記述部521および保存条件記述部511を抽出し,これらに対し,新たに生成された返却条件記述部525を追加することで,貸出用ライセンスが生成される。このように生成された貸出用ライセンスの貸出処理時には,貸出用ライセンスの返却条件記述部524と,貸出元ライセンスの貸出条件記述部523とに,同一の貸出IDが記述され,双方のライセンスが関連付けられる。
次に,このような利用条件記述部502の記述内容について説明する。利用条件記述部502には,例えば,コンテンツの利用制御パラメータと,コンテンツの利用状態(ステータス)と,プロパティ選択リスト(Property Selection List)とが記述される。
利用制御パラメータは,コンテンツの利用を制御(許可/制限)するためのパラメータである。この利用制御パラメータは,例えば,コンテンツの利用回数制限(再生回数制限,移動回数制限,複製回数制限,貸出回数制限など),コンテンツの利用有効期限(再生有効期限,移動有効期限,複製有効期限,貸出有効期限,返却有効期限など),或いは,ライセンスおよびコンテンツ鍵の保存回数制限若しくは保存有効期限などを表すパラメータである。
利用状態(以下,「ステータス」)は,コンテンツの利用に関する現在の状態を示す情報である。このステータスは,例えば,コンテンツの再生済み回数などを含む再生ステータス,コンテンツの移動済み回数などを含む移動ステータス,コンテンツの複製済み回数などを含む複製ステータス,コンテンツの貸出済み回数(チェックアウト回数)などを含む貸出ステータス,ライセンスの保存済み回数などを含む保存ステータスなどである。
プロパティ選択リストは,ライセンスの各利用条件を評価してコンテンツの利用制御を行うことが可能なライセンス処理コンポーネントを制限するためのリストである。コンテンツの中には,特定のライセンス処理コンポーネントを備えたユーザ機器10でしか処理を許可させたくないものがある。具体例としては,再生回数制御に対応した再生コンポーネント21を備えたユーザ機器10でしか再生を認めないコンテンツなどがある。このような要望に対処するために,本実施形態では,ライセンスにプロパティ選択リストを記述して,ライセンスを処理可能なライセンス処理コンポーネントを制限する。
このプロパティ選択リストは,再生条件記述部521,移動条件記述部522など,アック利用制限記述部ごとにそれぞれ記述される。各プロパティ選択リストには,プロパティIDとアクションコードとの組合せが少なくとも1つ含まれる。
プロパティIDは,ライセンス処理コンポーネントの特性を表す識別子である。ライセンス処理コンポーネントの特性は,例えば,当該コンポーネントを提供した企業,当該コンポーネントが準拠する著作権管理方式,当該コンポーネントが取り扱うコンテンツの種類(映像データか,音声データか等),当該コンポーネントの有する機能(利用回数制限機能,有効期限制限機能,デジタルデータ出力機能,暗号処理機能を有するか等),その他,様々なコンポーネントの特性である。また,アクションには,ライセンス処理コンポーネントのプロパティIDに相当する特性の有無に応じた,リスト解釈方法が記述されている。
各ライセンス処理コンポーネントは,自身の特性に対応するプロパティIDを保持しており,上記プロパティ選択リストに記述されたプロパティIDと同一のプロパティIDを自身が保持しているか否かを確認し,保持している場合には,上記アクションコードで指定されたアクションを行う。アクションには,様々な条件が定義されており,任意のライセンス処理コンポーネントにおけるコンテンツ利用を制御できる。
以上,ライセンスに記述される構成要素について説明した。ここで,図9に示すライセンスの再生条件記述部521の記述例について詳述する。図9のライセンスの再生条件記述部521の記述は以下の通りである。
<Play>
<PropertySelectionList>
MagicGateVideo,0x82;CountDownPlay,0x81;
</PropertySelectionList>
<Parameter>Remain=3,</Parameter>
<Status>Remain=2,</Status>
</Play>
<PropertySelectionList>の欄には,コンテンツ再生に関するプロパティ選択リストが記述されている。例えば,「MagicGateVideo」は,当該再生条件記述部521を取り扱い可能な再生コンポーネント21の特性を表すプロパティIDであり,「0x82」はアクションコードである。この記述は,プロパティ「MagicGateVideo」について,アクションID「0x82]に定義された処理を実行することを示している。さらに,再生回数制限「CountDownPlay」について,アクションコード[0x81]に定義された処理を実行すること示している。
<Parameter>の欄には,コンテンツの再生制御パラメータが記述されている。具体的には,「Remain=3」は,再生回数制限を実行するための回数パラメータであり,再生上限回数が「3」回であることを表す。この結果,再生コンポーネント21は,当該ライセンスに基づいて,最大3回までしか,当該ライセンスに対応するコンテンツの再生を許可することができない。
<Status>の欄には,コンテンツの再生状態を表す再生ステータスが記述されている。具体的には,「Remain=2」は,現在までにコンテンツが再生された回数である再生済み回数を表す回数ステータスであり,再生済み回数が「2」回であることを表す。再生コンポーネント21は,この再生済み回数が上記再生上限回数未満であるか否かを評価し,未満であれば,コンテンツの再生を許可する。図示の例では,上記のように再生上限回数が「3」回であるので,当該ライセンスに基づいてあと1回だけコンテンツを再生可能である。
次に,各ライセンス処理コンポーネントによって,以上のような記述のライセンスを評価する手法について説明する。
各ライセンス処理コンポーネントは,上記ライセンスに記述された利用条件のうち,自らに対応する区分の利用条件記述(例えば,再生コンポーネント21であれば再生条件記述521)を参照して,コンテンツの利用制御を行う。ライセンス処理コンポーネントは,コンテンツの利用制御を行うために,以下の手順で処理を行う。
(1)ライセンス内の利用条件記述の検索
まず,ライセンス処理コンポーネントは,ライセンスの記述の中から,自らに対応する区分の利用条件記述(例えば,再生コンポーネント21であれば再生条件記述部521)を検索して読み出す。この検索動作は,ライセンスに記述されている利用条件識別符号(例えば<Play>タグ)に基づいてなされる。ライセンス処理コンポーネントは,ライセンス内に,ライセンス内に自身に対応する区分の利用条件記述がなければ,コンテンツの利用を許可することなく,処理を終了する。一方,自身に対応する区分の利用条件記述があれば,次の(2)の処理に進む。
(2)プロパティ選択リストの検証に基づく処理の可否判断
次いで,ライセンス処理コンポーネントは,自身に対応する利用条件記述のプロパティ選択リストを評価して,次の(3)の処理を実行することの可否を判断する。具体的には,まず,ライセンス処理コンポーネントは,当該利用条件記述のプロパティ選択リストにリストアップされたプロパティIDを,自身が保有しているか否かに基づいて,上記アクションに従った処理を行う。この処理を,プロパティ選択リスト中の各プロパティIDについて,上位に記載されているものから順に行って,最終的には(3)の処理を実行することの可否の結果を得る。これにより,ライセンス処理コンポーネントの実装の妥当性や,ライセンス処理コンポーネントに実装済みの処理機能をチェックすることができる。
(3)利用制御パラメータおよびステータスに基づくコンテンツの利用の可否判断
次いで,ライセンス処理コンポーネントは,利用条件記述部から,利用制御パラメータおよびステータスの値を読み出し,この値を自身が保有している利用可否判断関数に当てはめて,この関数に定められた条件を満たすか否かを判断する。この結果,当該条件を満たす場合にはコンテンツの利用を許可し,一方,当該条件を満たさない場合にはコンテンツの利用を禁止する。このようなコンテンツの利用制御の例としては,利用回数制御(例えば,再生回数制御,保存回数制御,移動回数制御など),利用有効期限制御(例えば,再生有効期限制御,保存有効期限制御,移動有効期限制御など)などがある。
ここで,再生コンポーネント21が,ライセンスの再生条件記述部521を評価して再生回数制御を行う例について説明する。
まず,再生コンポーネント21は,再生条件記述部521から,再生回数制限を実行するための回数パラメータ(例えば図9の<Parameter>Remain=3)を取得する。このとき,回数パラメータが0であれば,再生コンポーネント21は,再生回数制御を行わず,他の再生条件を満たすことを条件に再生を許可する。
次いで,上記取得した回数パラメータが0以外であれば,再生コンポーネント21は,再生条件記述部521から,再生済み回数を表す回数ステータス(例えば図9の<Status>Remain=2)を取得する。さらに,再生コンポーネント21は,回数パラメータの値と回数ステータスの値とを比較する。
この結果,回数パラメータの値が回数ステータスの値より大きい場合には,再生コンポーネント21は,コンテンツの再生を許可するとともに,回数ステータス値を1加算する。一方,回数パラメータの値が回数ステータスの値以下である場合には,再生コンポーネント21は,コンテンツの再生を禁止する。
以上,再生コンポーネント21による再生回数制御処理の例について説明した。他の利用コンポーネント2または保存コンポーネント1による利用回数制御処理も,上記再生回数制御処理と略同一であるので,詳細説明は省略する。
なお,各ライセンス処理コンポーネントが,如何なる利用制御パラメータおよびステータスを参照するかは,ライセンス処理コンポーネントの実装に依存し,ライセンスの記述内容には依存しない。
例えば,再生コンポーネント21が再生回数制御を行う関数を保有する場合には,当該再生コンポーネント21は,上記の用に,再生条件記述部521の再生回数制御に関する回数パラメータを参照して,再生回数に基づく再生可否制御を行う。このとき,再生条件記述部521に,再生回数制御に関する回数パラメータが記述されていなければ,再生コンポーネント21は,再生可能と判断されるようなデフォルト値を用いる。
一方,再生コンポーネント21が再生回数制御を行う関数を保有しない場合には,再生条件記述部521の再生回数制御に関する再生制御パラメータが記述されていたとしても,当該再生コンポーネント21は,かかるパラメータを無視して,再生制御を行う。
このように,各ライセンス処理コンポーネントは,ライセンスの記述内容に依存することなく,それぞれの実装に応じて利用制御パラメータおよびステータスを適宜参照するように構成されている。これによって,ライセンス処理コンポーネントの実装に関わらず,各ライセンス処理コンポーネント間でやり取りされるライセンスを標準化することができる。
<7.コンポーネント間でのライセンス伝送プロトコル>
上述したように,本実施形態にかかる著作権管理システム100では,著作権管理部3の機能を部品化した複数のライセンス処理コンポーネント間で,ライセンスおよびコンテンツ鍵等を授受することによって,コンテンツの利用を制御する。このとき,ライセンスおよびコンテンツ鍵等が,適切なライセンス処理コンポーネント間において,適切な手順で伝送されるように制御する必要がある。さもなければ,ライセンス処理コンポーネント間でライセンス等が不正に伝送されてしまい,コンテンツが不正利用される危険性がある。例えば,ある保存コンポーネント11から他の保存コンポーネント12に対し,複製コンポーネント23を経ることなく,ライセンスおよびコンテンツ鍵が直接伝送されてしまうと,当該ライセンスの複製条件として複製回数の制限があるにもかかわらず,複製済み回数がカウントされずにライセンス等が不正に複製されてしまうことになる。
そこで,本実施形態にかかる著作権管理部3では,ライセンスおよびコンテンツ鍵の不正な伝送を防止して,著作権管理機能を確実かつ正当に実行させるべく,ライセンス処理コンポーネント間におけるライセンス等の伝送プロトコルが規定されている。
この伝送プロトコルでは,上述したように,ライセンス処理コンポーネント間において,ライセンスおよびコンテンツ鍵等のデータを含むメッセージがやり取りされる。この伝送プロトコルは,コンポーネント間でやり取りされるメッセージ全体の物理フォーマットについて規定するものではなく,メッセージの構成要素であるデータのフォーマットを規定するものである。データフォーマットを定義することにより,相異なる実装のライセンス処理コンポーネント間においての相互運用性を確保する事が容易になる。例えば,相異なる実装の著作権管理部3を備えた複数のユーザ機器10間においてライセンス等を授受したい場合に,各々の著作権管理部3が取り扱うメッセージのデータフォーマットが共通であれば,ライセンス等のデータを変換せずに容易に授受することができる。
なお,メッセージの物理フォーマットについては実装依存としてもよい。これにより,適用環境に適したライセンス伝送プロトコルの実装が可能になる。例えば,通信プロトコル上に実装する場合の一例として,メッセージの構成データを行指向に送信するプロトコルを実装する方法が考えられる。また,クラス間のメソッド呼び出しとして実装する際には,メッセージを構成するデータを引数に入力して実装する方法が考えられる。
以下に,このようなライセンス処理コンポーネント間のライセンスの伝送プロトコルについて詳細に説明する。
まず,図13に基づいて,本実施形態にかかるライセンス処理コンポーネント間におけるメッセージ伝送の概要について説明する。なお,図13は,本実施形態にかかるライセンス処理コンポーネント間におけるメッセージ伝送の概要を示す説明図である。
図13に示すように,ライセンス等の伝送元(送信側)のライセンス処理コンポーネント31(以下,「伝送元コンポーネント31」という。)から,ライセンス等の伝送先(受信側)のライセンス処理コンポーネント32(以下,「伝送先コンポーネント32」という。)に,ライセンス305と,当該ライセンスに対応するコンテンツ鍵302とを伝送する場合について説明する。なお,伝送元コンポーネント31と伝送先コンポーネント32は,保存コンポーネント1または利用コンポーネント2のいずれであってもよいが,伝送元コンポーネント31が保存コンポーネント1である場合には,伝送先コンポーネント32は利用コンポーネント2であり,一方,伝送元コンポーネント31が利用コンポーネント2である場合には,伝送先コンポーネント32は保存コンポーネント1である。
本実施形態にかかるライセンス伝送プロトコルでは,伝送元コンポーネント31から伝送先コンポーネント32には,所定のデータフォーマットのメッセージ400が伝送される。このメッセージ400は,伝送タイプ識別情報310と,コンポーネント属性情報320と,伝送対象のライセンス305と,当該伝送対象のライセンス305に対応するコンテンツ鍵302とを含む。かかるメッセージ400を伝送することにより,上記伝送対象のライセンス305とコンテンツ鍵302に対し,伝送タイプ識別情報310と,コンポーネント属性情報320とを付加し,これら4つのデータを関連付けて伝送できる。
伝送タイプ識別情報310は,伝送元コンポーネント31と伝送先コンポーネント32との間におけるライセンス305の伝送タイプ(転送/提示/更新1/更新2/更新3)を表す情報である。また,コンポーネント属性情報320は,伝送元コンポーネント31の属性(利用/保存)を表す情報である。以下に,これらの情報についてそれぞれ詳述する。
(伝送タイプ識別情報)
図14は,本実施形態にかかるコンポーネント間におけるライセンスの伝送タイプを示す説明図である。図14に示すように,ライセンス305の伝送タイプは,ライセンス305の伝送目的と,伝送元コンポーネント31と伝送先コンポーネント32との相互作用とに応じて,大まかには,「転送(Transfer)」,「提示(Show)」,「更新(Update)」という3タイプに分類できる。さらに,「更新」は,「更新1(更新要求;Request Update)」,「更新2(更新ライセンス転送;Transfer Updated Licence)」「更新3(更新完了通知;Notify Updated Completion)」,という3タイプに分類される。この結果,ライセンス305の伝送タイプは,5タイプあることになる。以下に,各伝送タイプについて説明する。
図14(a)に示すように,「転送」は,ライセンス305の原本305aの伝送である。伝送元コンポーネント31から伝送先コンポーネント32にライセンス305を「転送」する場合には,伝送元コンポーネント31は,保持しているライセンス305を削除して,当該ライセンス305の原本305aを伝送先コンポーネント32に伝送する。これによって,伝送元コンポーネント31から伝送先コンポーネント32にライセンス305を移動できる。
また,図14(b)に示すように,「提示」は,ライセンス305の写本(複製)305bの伝送である。伝送元コンポーネント31から伝送先コンポーネント32にライセンス305を「提示」する場合には,伝送元コンポーネント31は,保持しているライセンス305を保持したままで削除することなく,当該ライセンス305の写本305bを伝送先コンポーネント32に伝送する。これによって,伝送元コンポーネント31が保持しているライセンス305を伝送先コンポーネント32に提示できる。
また,図14(c)に示すように,「更新」は,伝送元コンポーネント31が保持しているライセンス305を更新するための伝送である。ライセンス305を「更新」する場合には,まず,伝送元コンポーネント31は,保持しているライセンス305の写本305bを伝送先コンポーネント32に提示して更新要求を行う(「更新1」)。次いで。伝送先コンポーネント32は,伝送されたライセンス305を更新して,更新されたライセンス305の原本305aを伝送先コンポーネント32に転送する(「更新2」)。さらに,伝送先コンポーネント32は,更新されたライセンス305の写本305bを伝送先コンポーネント32に提示して,更新完了通知を行う(「更新3」)。これによって,伝送元コンポーネント31の保持していたライセンス305が更新される。
このように,伝送元コンポーネント31と伝送先コンポーネント32との間のライセンス305の伝送タイプは,5タイプある。従って,本実施形態にかかるライセンスの伝送プロトコルでは,これら5つの伝送タイプに応じて,5種類の伝送タイプ識別情報320が設定されている。
図15に,本実施形態にかかる伝送タイプ識別情報320の一例である伝送タイプIDと,メッセージとの関係を示す。図15に示すように,上述した5種類の伝送タイプ(転送,提示,更新1,2,3)に応じて,5種類の伝送タイプID(0x01,0x02,0x03,0x04,0x05,)がそれぞれ割り当てられている。この伝送タイプIDは,上記伝送タイプを識別するためのIDであり,上記伝送タイプ識別情報の一例である。
伝送元コンポーネント31によって,このような伝送タイプIDをメッセージ400に含ませることにより,当該メッセージ400に含まれるライセンス305の伝送タイプを指定して,ライセンス305を伝送できる。
メッセージ400は,如何なる伝送タイプIDを含むかに応じて,5種類に分類される。具体的には,伝送タイプID「0x01」を含むメッセージ400は,ライセンスの原本を転送するためのメッセージである。また,伝送タイプID「0x02」を含むメッセージ400は,ライセンスの写本を提示するためのメッセージである。また,伝送タイプID「0x03」を含むメッセージ400は,ライセンスの更新要求を行うためのメッセージである。また,伝送タイプID「0x04」を含むメッセージ400は,更新されたライセンスを転送するためのメッセージである。また,伝送タイプID「0x05」を含むメッセージ400は,ライセンスの更新完了を通知するためのメッセージである。このようなメッセージ400の種類については,後述の図17で詳述する。
以上,ライセンスの伝送タイプの相違に応じた伝送タイプ識別情報310(伝送タイプID)について説明した。伝送元コンポーネント31によって,上記伝送タイプ識別情報310をライセンス305とともに伝送することにより,伝送先コンポーネント32において,当該ライセンス305の伝送タイプを識別し,識別した伝送タイプに応じたライセンス305等の処理を実行できる。
(コンポーネント属性情報)
図5に示したように,ライセンス処理コンポーネントは,その属性に応じて大きく2種類に分類される。1つは,ライセンス305を記憶手段に保存する保存コンポーネント1(保存コンポーネント11等)であり,もう1つは,ライセンス305を利用する利用コンポーネント2(再生コンポーネント21等)である。この属性分けは,同一属性を有するライセンス処理コンポーネント同士の接続を禁止するために用いられる。
コンポーネント属性情報320は,伝送元コンポーネント31の属性を表す情報であり,具体的には,伝送元コンポーネント31が,保存コンポーネント1または利用コンポーネント2のいずれに属するかを表す情報である。各ライセンス処理コンポーネントは,自身が属するコンポーネント属性情報320を保有しており,メッセージの作成時に,自身が保有するコンポーネント属性情報320をメッセージに含ませる。
図16に,このコンポーネント属性情報320の具体例であるコンポーネント属性IDと,メッセージとの関係を示す。図16に示すように,保存コンポーネント1には,「0x01」なるコンポーネント属性IDが割り当てられ,利用コンポーネント2には,「0x02」なるコンポーネント属性IDが割り当てられている。即ち,図5に示した保存コンポーネント1に属する保存コンポーネント11,12,…は,同一のコンポーネント属性ID「0x01」を保有し,利用コンポーネント2に属する再生,移動,複製,貸出,返却コンポーネント21,22,23,24,25は,同一のコンポーネント属性ID「0x02」を保有する。
従って,伝送元コンポーネント31が保存コンポーネント1に属する場合,この伝送元コンポーネント31から伝送されるメッセージ400には,コンポーネント属性ID「0x01」が含まれる。一方,伝送元コンポーネント31が利用コンポーネント2に属する場合,この伝送元コンポーネント31から伝送されるメッセージ400には,コンポーネント属性ID「0x02」が含まれることとなる。
このようなコンポーネント属性ID等で構成されるコンポーネント属性情報320を,メッセージ400に含ませることにより,伝送先コンポーネント32において,伝送元コンポーネント31の属性を識別し,伝送元コンポーネント31と伝送先コンポーネント32とが異なる属性であることをチェックすることができる。
(メッセージ種類)
次に,本実施形態にかかるメッセージ400の種類について説明する。上述したように,メッセージ400は上記ライセンス305の伝送タイプに応じて,分類される。図17に,本実施形態にかかるメッセージの種類と,その構成データを示す。
図17に示すように,本実施形態では,メッセージ400は,例えば,上記5種類のライセンス305の伝送タイプに応じて,5種類のメッセージ(転送メッセージ,提示メッセージ,更新要求メッセージ,更新転送メッセージ,更新完了メッセージ)に分類される。以下に,各メッセージについて詳述する。
(1)転送メッセージ
転送メッセージは,伝送元コンポーネント31から伝送先コンポーネント32に,ライセンスの原本を伝送(即ち,転送)するためのメッセージである。このため,伝送タイプ識別情報310として,「転送」を表す伝送タイプID「0x01」を含む。また,伝送元コンポーネント31は,保存コンポーネント1または利用コンポーネント2のいずれでもよいので,コンポーネント属性情報320として,「保存」または「利用」を表すコンポーネント属性ID「0x01」または「0x02」のいずれかを含む。
(2)提示メッセージ
提示メッセージは,伝送元コンポーネント31から伝送先コンポーネント32に,ライセンスの写本を伝送(即ち,提示)するためのメッセージである。このため,伝送タイプ識別情報310として,「提示」を表す伝送タイプID「0x02」を含む。また,伝送元コンポーネント31は,保存コンポーネント1に限られるので,コンポーネント属性情報320として,「保存」を表すコンポーネント属性ID「0x01」を含む。
(3)更新要求メッセージ
更新要求メッセージは,伝送元の保存コンポーネント1が,伝送先の利用コンポーネント2に対し,記憶手段に保存しているライセンスの更新要求を行うためのメッセージである。このため,伝送タイプ識別情報310として,「更新1(更新要求)」を表す伝送タイプID「0x03」を含む。また,伝送元コンポーネント31は,保存コンポーネント1に限られるので,コンポーネント属性情報320として,「保存」を表すコンポーネント属性ID「0x01」を含む。この更新要求メッセージにより,伝送元の保存コンポーネント1内のライセンスは,転送メッセージによる同時アクセスから排他処理される。また,この更新要求メッセージに対しては,次の(4)更新転送メッセージで応答しなければならない。
(4)更新転送メッセージ
更新転送メッセージは,伝送元の利用コンポーネント2によって更新されたライセンスを,上記更新要求元の保存コンポーネント1に転送するためのメッセージである。このため,伝送タイプ識別情報310として,「更新2(更新ライセンス転送)」を表す伝送タイプID「0x04」を含む。また,伝送元コンポーネント31は,利用コンポーネント1に限られるので,コンポーネント属性情報320として,「利用」を表すコンポーネント属性ID「0x02」を含む。かかる更新転送メッセージは,上記(3)更新要求メッセージの受信に応じて,送信される。かかる更新転送メッセージを受け取った上記更新要求元の保存コンポーネント1は,更新されたライセンスを記憶手段に上書きする。また,この更新転送メッセージに対して,次の(5)更新完了メッセージで応答してもよい。
(5)更新完了メッセージ
更新完了メッセージは,上記更新要求元の保存コンポーネント1においてライセンスの更新が完了したことを,伝送先の利用コンポーネント2に通知するためのメッセージである。このため,伝送タイプ識別情報310として,「更新3(更新完了通知)」を表す伝送タイプID「0x05」を含む。また,伝送元コンポーネント31は,保存コンポーネント1に限られるので,コンポーネント属性情報320として,「保存」を表すコンポーネント属性ID「0x01」を含む。かかる更新転送メッセージは,上記(4)更新転送メッセージの受信に応じて更新ライセンスを上書きした後に,送信される。この更新完了メッセージは,オプショナルなメッセージであり,必ずしも送信されなくても良い。また,この更新完了メッセージは,ライセンス305およびコンテンツ鍵302を含まなくてもよい。
以上,本実施形態にかかる5種類のメッセージについて説明した。なお,上記5種類のメッセージ以外のメッセージ(例えば,処理中断メッセージなど)を,ライセンス処理コンポーネント間で伝送してもよい。
次に,本実施形態にかかるライセンス処理コンポーネント間における,ライセンス(上記メッセージ)の授受処理について説明する。
(取り扱い可能な伝送タイプ)
まず,図18に基づいて,本実施形態にかかる各ライセンス処理コンポーネントが取り扱い可能な伝送タイプ(即ち,メッセージの種類)について説明する。なお,図18は,本実施形態にかかる各ライセンス処理コンポーネントが取り扱い可能な伝送タイプを示す説明図である。
図18に示すように,各ライセンス処理コンポーネントは,自身が取り扱い可能なライセンスの伝送タイプが予め設定されている。換言すると,各ライセンス処理コンポーネントは,自身が取り扱い可能なメッセージの種類が予め設定されている。
例えば,第1の再生コンポーネント(Play(更新あり))21aは,上記再生コンポーネント21の一種であり,ライセンスに記述された再生ステータスの更新を伴わない通常の再生制御を行う。この第1の再生コンポーネント21a(以下,単に「再生コンポーネント21a」という。)は,保存コンポーネント1から提示されたライセンスを受け取り可能(即ち,上記提示メッセージを受信して,処理可能)である。また,再生コンポーネント21aは,他のライセンス処理コンポーネントに対し,ライセンスを伝送(メッセージを送信)することはできない。
これに対し,第2の再生コンポーネント(Play(更新なし))21bは,上記再生コンポーネント21の一種であり,ライセンスに記述された再生ステータスの更新を伴う再生制御を行う。この第2の再生コンポーネント21a(以下,単に「再生コンポーネント21b」という。)は,ライセンスの「更新」のため,保存コンポーネント1との間で更新対象のライセンスを授受可能である。具体的には,再生コンポーネント21bは,更新要求元の保存コンポーネント1から,上記更新要求メッセージ(更新1)および更新完了メッセージ(更新3)を受信して処理可能であり,また,更新要求元の保存コンポーネント1に,上記更新転送メッセージ(更新2)を送信可能である。
また,移動コンポーネント(Move)22は,保存コンポーネント1から転送されたライセンスを受け取り可能であり,さらに,他の保存コンポーネント1に,ライセンスを転送可能である。具体的には,移動コンポーネント22は,移動元の保存コンポーネント1から,上記転送メッセージを受信して処理可能であり,移動先の保存コンポーネント1に上記転送メッセージを送信可能である。
また,複製コンポーネント(Copy)23は,保存コンポーネント1から提示されたライセンスを受け取り可能であり,さらに,他の保存コンポーネント1に,ライセンスを転送可能である。具体的には,複製コンポーネント23は,複製元の保存コンポーネント1から,上記提示メッセージを受信して処理可能であり,複製先のライセンス処理コンポーネントに,上記転送メッセージを送信可能である。
また,貸出コンポーネント(Rent)24は,ライセンスの「更新」のため,保存コンポーネント1との間で更新対象のライセンスを授受可能である。具体的には,貸出コンポーネント24は,更新要求元の保存コンポーネント1から,上記更新要求メッセージ(更新1)および更新完了メッセージ(更新3)を受信して処理可能であり,また,更新要求元の保存コンポーネント1に,上記更新転送メッセージ(更新2)を送信可能である。さらに,貸出コンポーネント24は,貸出先の保存コンポーネント1に,ライセンスを転送可能,つまり,上記転送メッセージを送信可能である。
また,返却コンポーネント(Return)25は,上記貸出元ライセンスの「更新」のため,保存コンポーネント1との間で更新対象のライセンスを授受可能である。具体的には,返却コンポーネント25は,更新要求元の保存コンポーネント1から,上記更新要求メッセージ(更新1)および更新完了メッセージ(更新3)を受信して処理可能であり,また,更新要求元の保存コンポーネント1に,上記更新転送メッセージ(更新2)を送信可能である。さらに,返却コンポーネント25は,貸出先の保存コンポーネント1から,転送されたライセンスを受け取り可能,つまり,上記転送メッセージを受信して処理可能である。
また,読み出し専用保存コンポーネント(Bind(読み出し専用))16は,上記保存コンポーネント1の一種であり,ライセンスが安全に保存された,読み出し専用記憶手段からライセンス等を読み出して提示可能であるが,記憶手段にライセンス等を書き込むことはできない。この読み出し専用保存コンポーネント16は,例えば,再生専用機であるPD10bに設けられたリムーバブル記憶媒体40用保存コンポーネント12などである。
この読み出し専用保存コンポーネント16は,利用コンポーネント2に,記憶手段から読み出したライセンスを提示可能(即ち,上記提示メッセージを送信可能)であるが,他のライセンス処理コンポーネントから,ライセンスを受け取る(メッセージを受信)することはできない。
また,書き込み専用保存コンポーネント(Bind(書き込み専用))17は,上記保存コンポーネント1の一種であり,ライセンス等を記憶手段に書き込んで保存可能であるが,記憶手段からライセンス等を読み出すことはできない。この書き込み専用保存コンポーネント17は,例えば,サービスプロバイダが,ユーザ機器10に,コンテンツおよびライセンス等をプリインストールする場合や,リムーバブル記憶媒体40にコンテンツおよびライセンス等を予め書き込んで市場に流通させる場合などに用いられる。
この書き込み専用保存コンポーネント17は,利用コンポーネント2から転送されたライセンスを受け取り可能(即ち,上記転送メッセージを受信して,処理可能)であるが,他のライセンス処理コンポーネントに対し,ライセンスを伝送(メッセージを送信)することはできない。
また,読み書き可能保存コンポーネント(Bind(読み書き可能))18は,上記保存コンポーネント1の一種であり,記憶手段に対して,ライセンス等を読み出し,書き込み,保存,書き換え(更新)可能である。この読み書き可能保存コンポーネント18は,例えば,PC10a等に設けられた,HDD用保存コンポーネント11またはリムーバブル記憶媒体40用保存コンポーネント12などである。
この読み書き可能保存コンポーネント18は,利用コンポーネント2から,転送されたライセンス,および更新のため転送されたライセンスを受け取り可能である。具体的には,読み書き可能保存コンポーネント18は,利用コンポーネント2から,上記転送メッセージおよび上記更新転送メッセージ(更新2)を受信して処理可能である。また,この読み書き可能保存コンポーネント18は,記憶手段から読み出したライセンスを,利用コンポーネント2に,転送,提示,更新のため伝送可能である。具体的には,読み書き可能保存コンポーネント18は,利用コンポーネント2に,上記転送メッセージ,提示メッセージおよび更新要求メッセージ(更新1)および更新完了メッセージ(更新3)を送信可能である。
以上のように,各ライセンス処理コンポーネントは,当該ライセンス処理コンポーネント自身の処理機能に応じて,入出力可能なライセンスの伝送タイプが予め定められている。このため,ライセンス処理コンポーネント間でメッセージを授受するときに,適正な伝送タイプでライセンスを授受できる。
(コンポーネントの機能構成)
次に,図19に基づいて,本実施形態にかかるライセンス処理コンポーネント間でライセンスに関する情報(メッセージ)を授受するための,伝送元コンポーネント31および伝送先コンポーネント32の機能構成について説明する。なお,図19は,本実施形態にかかる伝送元コンポーネント31および伝送先コンポーネント32のメッセージ伝送に関する機能構成を示すブロック図である。
図19に示すように,伝送元コンポーネント31は,ライセンス取得部352と,伝送タイプ決定部354と,属性情報取得部356と,メッセージ作成部358と,メッセージ送信部360とを備える。
ライセンス取得部352は,伝送対象の前記ライセンス,および当該伝送対象のライセンスに対応するコンテンツ鍵を取得する。このライセンス取得部352の処理機能は,伝送元コンポーネント31が保存コンポーネント1である場合と,伝送元コンポーネント31が利用コンポーネント2である場合とで異なるので,以下にそれぞれの場合について具体的に説明する。
伝送元コンポーネント31が保存コンポーネント1である場合には,ライセンス取得部352は,コンポーネント管理部5からの伝送指示(メッセージ作成指示)に基づいて,ライセンス・コンテンツ鍵記憶部6からライセンスおよびコンテンツ鍵を読み出すことによって,上記伝送対象のライセンスおよびコンテンツ鍵を取得する。このとき,伝送元コンポーネント31は,上記伝送指示に含まれているコンテンツIDに基づいて,ライセンス・コンテンツ鍵記憶部6を検索し,当該コンテンツIDが上記ライセンス情報記述部501に記述されているライセンスを,伝送対象のライセンスとして取得する。さらに,コンテンツ取得部352は,コンテンツIDによって当該ライセンスに関連付けられているコンテンツ鍵も取得する。なお,伝送元コンポーネント31は,コンテンツIDに対応するライセンスの有無をコンポーネント管理部5に返信しても良い。また,上記ライセンス・コンテンツ鍵記憶部6は,HDD111やリムーバブル記憶媒体40等の記憶手段であり,伝送元コンポーネント31が利用コンポーネント2ある場合には,このライセンス・コンテンツ鍵記憶部6を有さない。
一方,伝送元コンポーネント31が利用コンポーネント2である場合には,ライセンス取得部352は,他の保存コンポーネント1から受信したメッセージから,ライセンスおよびコンテンツ鍵を取り出すことによって,上記伝送対象のライセンスおよびコンテンツ鍵を取得する。
ライセンス取得部352は,上記のように取得したライセンスおよびコンテンツ鍵を,メッセージ作成部358に出力する。
伝送タイプ決定部354は,伝送先コンポーネント32から伝送先コンポーネント32に対する,上記伝送対象のライセンスの伝送タイプを決定する。このとき,伝送タイプ決定部354は,コンポーネント管理部5から受信した伝送指示(例えば,メッセージ作成指示)に含まれている伝送タイプ指示情報に基づいて伝送タイプを決定してもよいし,あるいは,伝送元コンポーネント31の処理機能に応じて予め設定された所定の伝送タイプに決定してもよい。
例えば,伝送元コンポーネント31が複数の伝送タイプでライセンスを伝送可能な場合(即ち,複数種類のメッセージを送信可能である場合,例えば,伝送元コンポーネント31が図18に示した読み書き可能保存コンポーネント18である場合など)には,伝送タイプ決定部354は,コンポーネント管理部5からの伝送タイプ指示情報に基づいて,伝送タイプを決定する。一方,伝送元コンポーネント31が,取り扱い可能な伝送タイプが予め定められている場合(例えば,伝送元コンポーネント31が移動コンポーネント22等の利用コンポーネント2である場合など)には,伝送タイプ決定部354は,上記伝送対象のライセンスの伝送タイプを,予め設定されている所定の伝送タイプに決定する。
伝送タイプ決定部354は,上記のように決定した伝送タイプを表す伝送タイプ識別情報310(伝送タイプ識別ID)を,メッセージ作成部358に出力する。
属性情報取得部356は,伝送元コンポーネント31の属性を表すコンポーネント属性情報320を取得する。上述したように,各ライセンス処理コンポーネントは,保存コンポーネント1または利用コンポーネント2のいずれかに分類されており,自身の属性を表すコンポーネント属性情報320(「保存」又は「利用」を表すコンポーネント属性ID)を保有している。属性情報取得部356は,伝送元コンポーネント31が保有しているコンポーネント属性情報320を読み出し,メッセージ作成部358に出力する。
メッセージ作成部358は,上記ライセンス取得部352から入力された伝送対象のライセンスおよびコンテンツ鍵と,上記伝送タイプ決定部354から入力された伝送タイプ識別情報310と,上記属性情報取得部354から入力されたコンポーネント属性情報320とを連結して,メッセージを作成し,メッセージ送信部360に出力する。
メッセージ送信部360は,上記メッセージ作成部によって作成されたメッセージを,伝送先コンポーネント32に送信する。このとき,送信するメッセージが改竄されないように,任意のデータ保護技術(例えば,デジタル署名を付加するなど)を利用してもよい。
また,図19に示すように,伝送先コンポーネント32は,メッセージ受信部370と,メッセージ検査部372と,ライセンス評価部374と,ライセンス処理部376と,ライセンス更新部378とを備える。
メッセージ受信部370は,伝送元コンポーネント31から送信された上記メッセージを受信し,メッセージ検査部372に出力する。
メッセージ検査部372は,メッセージ受信部370から入力されたメッセージに含まれる伝送タイプ識別情報310およびコンポーネント属性情報320に基づいて,メッセージの正当性を検査し,当該メッセージに含まれるライセンスの処理を許可/禁止する。
具体的には,メッセージ検査部372は,メッセージ受信部370から入力されたメッセージに関し,データ保護技術による処理や検証作業を行った上で,当該メッセージから,伝送タイプ識別情報310,コンポーネント属性情報320,ライセンス,コンテンツ鍵を取り出す。
また,メッセージ検査部372は,メッセージから取り出した伝送タイプ識別情報310と,伝送先コンポーネント32が受け取り可能な伝送タイプを表す伝送タイプ識別情報とに基づいて,受信したメッセージの正当性(即ち,ライセンスが適正な伝送タイプで伝送されてきたか否か)を検査する(第1の検査基準)。
より詳細には,伝送先コンポーネント32は,図18に示したように,受け取り可能な伝送タイプを表す伝送タイプIDを保有している。そこで,メッセージ検査部372は,メッセージから取り出した伝送タイプIDと,受け取り可能な伝送タイプを表す伝送タイプIDとを照合する。この結果,双方の伝送タイプIDが一致する場合には,伝送されたメッセージが正当であると判断する。一方,双方の伝送タイプIDが異なる場合には,伝送されたメッセージが不当であると判断し,当該メッセージから取り出したライセンスの処理を禁止する。
かかるメッセージ検査部372の第1の検査基準に基づく検査機能によって,伝送先コンポーネント32は,伝送先コンポーネント32の機能に応じて予め設定された所定の伝送タイプで伝送されたライセンスのみを処理可能となる。
さらに,メッセージ検査部372は,メッセージから取り出したコンポーネント属性情報320と,伝送先コンポーネント32自身の属性を表すコンポーネント属性情報とに基づいて,受信したメッセージの正当性(即ち,ライセンスの伝送が適正であるか否か)を検査する(第2の検査基準)。この検査の結果,メッセージ検査部372は,伝送元コンポーネント31の属性と伝送先コンポーネント32の属性とが異なる場合には,メッセージが正当であると判断し,一方,双方の属性が同一である場合には,メッセージが不当であると判断する。
より詳細には,伝送先コンポーネント32は,伝送先コンポーネント32自身のコンポーネント属性(「保存」又は「利用」)を表すコンポーネント属性IDを保有している。例えば,伝送先コンポーネント32が保存コンポーネント1である場合は,コンポーネント属性「保存」を表すコンポーネント属性ID「0x01」を保有しており,一方,伝送先コンポーネント32が利用コンポーネント2である場合は,コンポーネント属性「利用」を表すコンポーネント属性ID「0x02」を保有している。
そこで,メッセージ検査部372は,メッセージから取り出したコンポーネント属性IDと,伝送先コンポーネント32自身の属性を表すコンポーネント属性IDとを照合する。この結果,双方のコンポーネント属性IDが異なる場合には,伝送されたメッセージが正当であると判断する。一方,双方の伝送タイプIDが一致する場合には,伝送されたメッセージが不当であると判断し,当該メッセージから取り出したライセンスの処理を禁止する。
かかるメッセージ検査部372の第2の検査基準に基づく検査機能によって,保存コンポーネント1は,利用コンポーネント2から伝送されたライセンスのみを処理可能であり,利用コンポーネント2は,保存コンポーネント1から伝送されたライセンスのみを処理可能となる。
なお,伝送先コンポーネント32は,上記のような伝送先コンポーネント32自身のコンポーネント属性を表すコンポーネント属性IDではなく,伝送先コンポーネント32が取り扱い可能なコンポーネント属性を表すコンポーネント属性IDを保有していてもよい。この場合は,メッセージ検査部372は,メッセージから取り出したコンポーネント属性IDと,上記取り扱い可能なコンポーネント属性を表すコンポーネント属性IDとを照合し,双方が一致する場合には,伝送されたメッセージが正当であると判断し,双方が異なる場合には,伝送されたメッセージが正当であると判断するようにしてもよい。
以上,メッセージ検査部372は,上記2つの検査基準でメッセージの正当性を検査した結果,双方の検査基準とも満たした場合には,メッセージから取り出したライセンスおよびコンテンツ鍵の処理を許可し,いずれか一方若しくは双方の検査基準を満たささない場合には,メッセージから取り出したライセンスおよびコンテンツ鍵の処理を禁止して,例えば,エラー通知する。
ライセンス評価部374は,メッセージ検査部372によって,ライセンス等の処理が許可された場合に,ライセンスに記述されている利用条件(再生条件,保存条件,移動条件等)のうち,伝送先コンポーネント32の機能に応じた区分の利用条件を評価して,当該ライセンスに対応するコンテンツの利用(再生等)や,当該ライセンス等の処理(保存,移動等)を制御する。具体的には,ライセンス評価部374は,上記評価の結果,当該ライセンスの利用条件を満たす場合には,上記コンテンツの利用や当該ライセンス等の処理を許可し,満たさない場合には,上記コンテンツの利用や当該ライセンス等の処理を禁止する。
ライセンス処理部376は,ライセンス評価部374によって,ライセンスの処理が許可された場合に,伝送先コンポーネント32の機能に応じて,ライセンスおよびコンテンツ鍵を処理する。例えば,伝送元コンポーネント31が保存コンポーネント1である場合には,ライセンス処理部376は,記憶手段に当該ライセンスおよびコンテンツ鍵を保存する。また,伝送元コンポーネント31が利用コンポーネント2である場合には,ライセンス処理部376は,当該ライセンスに対応するコンテンツの再生を指示したり,他の保存コンポーネント1に対する当該ライセンスおよびコンテンツの伝送(転送)を指示したりする。また,伝送元コンポーネント31が貸出コンポーネント24である場合には,ライセンス処理部376は,貸出元ライセンスに基づいて貸出用ライセンスを作成するライセンス作成部としても機能する。
ライセンス更新部378は,ライセンス評価部374からの指示に基づいて,ライセンスに記述されたステータスを更新する。例えば,ライセンス更新部378は,ライセンスに記述されている再生ステータスの再生済み回数を増加させたり,移動ステータスの移動済み回数を増加させたりする。
以上,伝送元コンポーネント31および伝送先コンポーネント32の機能構成について説明した。なお,図19では,説明の便宜上,伝送元コンポーネント31については,メッセージの送信処理に関する機能ブロックを図示し,伝送先コンポーネント32については,メッセージの受信処理およびその後の処理に関する機能ブロックを図示した。しかし,実際には,伝送元コンポーネント31および伝送先コンポーネント32は,メッセージの送信処理および受信処理の双方を実行可能である場合もあり,この場合には,1つのコンポーネント31,32が,双方の処理に関する機能ブロックを有するものとする。
<8.ライセンス伝送方法>
次に,図20に基づいて,本実施形態にかかる伝送元コンポーネント31と伝送先コンポーネント32との間で,ライセンスに関する情報(メッセージ)を伝送するライセンス伝送方法について説明する。図20は,本実施形態にかかる伝送元コンポーネント31と伝送先コンポーネント32との間におけるライセンス伝送方法を示すタイミングチャートである。
図20に示すように,まず,ステップS10では,伝送元コンポーネント31が伝送指示を受ける(ステップS10)。伝送元コンポーネント31が保存コンポーネント1である場合,伝送指示は,コンポーネント管理部5から受信したメッセージ作成指示であり。このメッセージ作成指示には伝送タイプ指示情報とコンテンツIDが含まれる。一方,伝送元コンポーネント31が,移動コンポーネント22等の利用コンポーネント2である場合,例えば,保存コンポーネント1から受信したメッセージが,伝送指示の役割を果たす。このように伝送指示を受けた伝送元コンポーネント31は,メッセージ作成処理ステップS12〜S18を開始する。
次いで,ステップS12では,伝送元コンポーネント31が,伝送対象のライセンスの伝送タイプを決定する(ステップS12)。伝送元コンポーネント31の伝送タイプ決定部354は,上述したように,伝送元コンポーネント31による伝送目的に応じて,伝送指示や予め設定されたデータに基づき伝送タイプを決定し,決定した伝送タイプを表す伝送タイプ識別IDを生成する。例えば,ライセンスの原本を転送する場合には,伝送タイプ「転送」を表す伝送タイプ識別ID「0x01」を生成する。
さらに,ステップS14では,伝送元コンポーネント31が,伝送元コンポーネント31自身の属性を表すコンポーネント属性情報320を取得する(ステップS14)。伝送元コンポーネント31の属性情報取得部356は,上述したように,伝送元コンポーネント31が保有している,伝送元コンポーネント31自身の属性を表すコンポーネント属性IDを読み出して取得する。例えば,伝送元コンポーネント31が保存コンポーネント1である場合には,コンポーネント属性IDは「0x01」である。
なお,属性情報取得部356は,伝送元コンポーネント31が保存コンポーネント1と利用コンポーネント2のいずれの種類であるかを判断して,当該伝送元コンポーネント31のコンポーネント属性を設定し,コンポーネント属性IDを生成してもよい。
その後,ステップS16では,伝送元コンポーネント31が,伝送対象のライセンスと,当該ライセンスに対応するコンテンツ鍵を取得する(ステップS16)。上述したように,伝送元コンポーネント31が保存コンポーネント1である場合には,ライセンス取得部352は,メッセージ伝送指示に含まれるコンテンツIDに基づいて,ライセンス・コンテンツ鍵記憶部6を検索して,伝送対象のライセンスと,当該ライセンスに対応するコンテンツ鍵を取得する。また,伝送元コンポーネント31が利用コンポーネント2である場合には,ライセンス取得部352は,保存コンポーネント1から受信したメッセージから取り出され,必要に応じて加工(例えば,ライセンス更新部378による更新,ライセンス処理部376による貸出元ライセンスの作成など)されたライセンスとコンテンツ鍵を取得する。
なお,上記ステップS12〜S16の処理順は,上記順序に限られず,任意の順序で行ってよい。
次いで,ステップS18では,伝送元コンポーネント31が,メッセージを作成する(ステップS18)。伝送元コンポーネント31のメッセージ作成部358は,上記取得された伝送対象のライセンスおよびコンテンツ鍵と,上記決定された伝送タイプ識別情報310(伝送タイプID)と,上記取得されたコンポーネント属性情報320(コンポーネント属性ID)とを連結して,メッセージを作成する。
さらに,ステップS20では,伝送元コンポーネント31が,メッセージを伝送先コンポーネント32に送信する(ステップS20;ライセンス伝送ステップ)。具体的には,伝送元コンポーネント31のメッセージ送信部360は,コンポーネント管理部5により指定された伝送先コンポーネント32に対し,上記作成されたメッセージを送信する。なお,1つのメッセージは,1つの伝送先コンポーネント32にのみ送信可能である。これにより,ライセンスの不正な複製等やコンテンツの不正利用を防止できる。
その後,ステップS22では,伝送先コンポーネント32が,伝送元コンポーネント31から送信されたメッセージを受信する(ステップS22)。メッセージの受信後には,このメッセージに含まれているライセンスの処理を行う前に,以下のメッセージ検査処理S24〜S28(検査ステップ)を行って,メッセージの正当性を検証する。
まず,ステップS24では,伝送先コンポーネント32が,受信したメッセージ内のデータを取り出す(ステップS24)。具体的には,伝送先コンポーネント32のメッセージ検査部372は,上記受信されたメッセージに関し,データ保護技術による処理や検証作業を行った上で,当該メッセージから,伝送タイプ識別情報310(伝送タイプID),コンポーネント属性情報320(コンポーネント属性ID),ライセンス,コンテンツ鍵を取り出す。
次いで,ステップS26では,伝送先コンポーネント32が,第1の検査基準である伝送タイプに基づいて,メッセージの正当性を検査する(ステップS26)。具体的には,伝送先コンポーネント32のメッセージ検査部372は,上述したように,メッセージから取り出した伝送タイプIDと,伝送先コンポーネント32が受け取り可能な伝送タイプを表す伝送タイプID(予め設定済み)とを照合する。この結果,双方の伝送タイプIDが一致する場合には,伝送されたメッセージが正当である(即ち,ライセンスが適正な伝送タイプで伝送された)と判断する。この場合には,ステップS28に進む。一方,双方の伝送タイプIDが異なる場合には,伝送されたメッセージが不当である(即ち,ライセンスが不正な伝送タイプで伝送された)と判断し,当該メッセージから取り出したライセンスの処理を禁止する。この場合には,エラー終了となる。
さらに,ステップS28では,伝送先コンポーネント32が,第2の検査基準であるコンポーネント属性に基づいて,メッセージの正当性を検査する(ステップS28)。具体的には,伝送先コンポーネント32のメッセージ検査部372は,メッセージから取り出したコンポーネント属性IDと,伝送先コンポーネント32の属性を表すコンポーネント属性IDとを照合する。この結果,双方のコンポーネント属性IDが異なる場合には,伝送されたメッセージが正当(即ち,ライセンスが適正な伝送元から伝送された)と判断する。この場合には,当該メッセージから取り出したライセンスの処理が許可され,ステップS30に進む。一方,双方の伝送タイプIDが一致する場合には,伝送されたメッセージが不当である(即ち,ライセンスが不正な伝送元から伝送された)と判断し,当該メッセージから取り出したライセンスの処理を禁止する。この場合には,エラー終了となる。
なお,上記ステップS26〜S28の処理順は,上記順序に限られず,ステップS28を実行後にステップS26を行ってもよい。
その後,ステップS30では,伝送先コンポーネント32が,メッセージから取り出したライセンスおよびコンテンツ鍵を処理する(ステップS30)。例えば,伝送先コンポーネント32のライセンス評価部374は,当該ライセンスを評価して,当該ライセンスおよびコンテンツ鍵の処理(移動,保存等)の可否を判断したり,当該ライセンスに対応するコンテンツの利用(再生,移動等)の可否を判断する。このようにして,伝送されたライセンスに対応するコンテンツの利用が制御される。
以上,本実施形態にかかるライセンス処理コンポーネント間におけるライセンス伝送方法と,この際の伝送元コンポーネント31と伝送先コンポーネント32のライセンス処理方法について説明した。かかる方法によれば,送信側の伝送元コンポーネント31によって,伝送対象のライセンスに対し,伝送タイプ識別情報と,伝送元のコンポーネント属性情報とを付加して送信し,受信側の伝送先コンポーネント32によって,当該伝送タイプ識別情報とコンポーネント属性情報に基づいて,ライセンスの伝送の正当性を検査し,伝送が正当であると判断された場合にのみ当該ライセンスの処理を許可する。このようなライセンス伝送プロトコルに従うことで,適正なコンポーネントに適正な伝送タイプでライセンスを伝送できるので,ライセンスに定められた範囲を超えた不正なライセンス処理や不正なコンテンツ利用を防止できる。
ここで,図21に基づいて,複数のライセンス処理コンポーネント間で,上記伝送プロトコルに従ってライセンスを適正に授受する具体例について説明する。図21は,本実施形態にかかる複数のライセンス処理コンポーネント間でライセンスを授受する具体例を示す説明図である。
図21には,移動コンポーネント22と,保存コンポーネント12,11とを組み合わせて,リムーバブル記憶媒体40に保存されているライセンスおよびコンテンツ鍵を,HDD111に移動させる例が示されている。
本実施形態にかかる伝送プロトコルでは,ライセンスの移動は,移動コンポーネント22を介して行われ,かつ,移動元にライセンスが残らないように,ライセンスを転送しなければならないと規定されている。従って,図21の例で,ライセンスを適正に移動させるためには,まず,保存コンポーネント12が,転送メッセージ401(伝送タイプ:「転送」,コンポーネント属性「保存」)を,移動コンポーネント22に送信し,次いで,移動コンポーネント22が,転送メッセージ402(伝送タイプ:「転送」,コンポーネント属性「利用」)を,保存コンポーネント11に送信する必要がある。
このような伝送プロトコルにより,ライセンスの不正な移動を禁止できる。例えば,もし,保存コンポーネント12と保存コンポーネント11とが直接接続され,双方の間でライセンスが直接伝送されることが可能であれば,移動済み回数をカウントすることなく,ライセンスが不正に移動されることになる。しかし,上述したように,保存コンポーネント12は,コンポーネント属性「利用」を含むメッセージのみを受け取って処理可能に構成されている。このため,保存コンポーネント12から,保存コンポーネント11に,転送メッセージ403(伝送タイプ:「転送」,コンポーネント属性「保存」)を送信しても,保存コンポーネント12はこの転送メッセージ403を受け取って,ライセンスをHDD111に保存することができない。従って,保存コンポーネント12,11間を直接接続して,移動コンポーネント22を介することなく,ライセンスを不正に移動させることを禁止できる。
また,もし,保存コンポーネント12から移動コンポーネント22にライセンスの写本を伝送(即ち,提示)して,保存コンポーネント11に移動することが可能であれば,リムーバブル記憶媒体40にライセンスを残したままで,ライセンスが不正に移動されることになる。しかし,上述したように,移動コンポーネント22は,伝送タイプ「転送」を含むメッセージのみを受け取って処理可能に構成されている。このため,保存コンポーネント12から,移動コンポーネント22に,提示メッセージ404(伝送タイプ:「提示」,コンポーネント属性「保存」)を送信しても,保存コンポーネント12はこの提示メッセージ404を受け取って,ライセンスの移動処理を実行できない。従って,移動元の保存コンポーネント12にライセンスを残したままで,ライセンスを不正に移動させることを禁止できる。
<9.コンテンツ再生制御方法>
次に,本実施形態にかかるコンテンツ再生制御方法について説明する。以下では,ライセンスに記述された再生ステータスの更新を伴わない通常の再生制御方法と,当該再生ステータスの更新を伴う再生制御方法とに分けて説明する。
(ライセンスの更新を伴わないコンテンツ再生制御方法)
まず,図22に基づいて,本実施形態にかかるライセンスの更新を伴わない通常のコンテンツ再生制御方法の概要について説明する。図22は,本実施形態にかかるライセンスの更新を伴わない通常のコンテンツ再生制御方法の概要を示す説明図である。
図22に示すように,PC10aは,再生ステータスの更新を伴わない通常の再生制御を行う再生コンポーネント21a(図8参照)と,HDD用の保存コンポーネント11と,リムーバブル記憶媒体用の保存コンポーネント12とを具備している。
このようなPC10aは,保存コンポーネント11および再生コンポーネント21aを用いて,HDD111に保存されているライセンスおよびコンテンツ鍵に基づいて,当該ライセンスに対応するコンテンツを再生制御することができる。
具体的には,保存コンポーネント11は,HDD111に保存されているライセンスおよびコンテンツ鍵を読み出して,提示メッセージ(伝送タイプ:提示,伝送元のコンポーネント属性:保存)を作成し,この提示メッセージを再生コンポーネント21aに送信する。この場合,ライセンスおよびコンテンツ鍵Kの原本は,HDD111に保存されたままである。再生コンポーネント21aは,保存コンポーネント11から受信した更新要求メッセージを検査した上で,この提示メッセージに含まれるライセンスを評価して,上記コンテンツの再生可否を判断する。この結果,再生可能と判断した場合には,再生コンポーネント21aは,HDD111に保存されているコンテンツを読み出し,上記提示メッセージから取り出したコンテンツ鍵で暗号解除して,当該コンテンツを再生可能化する。
また,PC10aは,保存コンポーネント12および再生コンポーネント21aを用いて,上記HDD111の場合と同様にして,リムーバブル記憶媒体40に保存されているライセンスおよびコンテンツ鍵に基づいて,当該ライセンスに対応するコンテンツを再生制御することができる。
なお,以上のようなPC10aにおける2通りの再生制御処理において,再生対象のコンテンツは,例えば,HDD111またはリムーバブル記憶媒体40のいずれに保存されていてもよく,対応するライセンス等の保存場所に依存しない。
一方,PD10bは,再生コンポーネント21aと,リムーバブル記憶媒体用の保存コンポーネント12とを具備している。このPD10bに,PC10aから,上記ライセンス,コンテンツ鍵およびコンテンツが保存されているリムーバブル記憶媒体40が提供されたとする。
このようなPD10bは,保存コンポーネント12および再生コンポーネント21aを用いて,上記リムーバブル記憶媒体40に保存されているライセンスおよびコンテンツ鍵に基づいて,リムーバブル記憶媒体40に保存されているコンテンツを再生制御することができる。
具体的には,PD10bの保存コンポーネント12は,HDD111に保存されているライセンスおよびコンテンツ鍵を読み出して,提示メッセージ(伝送タイプ:提示,伝送元のコンポーネント属性:保存)を作成し,この提示メッセージを再生コンポーネント21aに送信する。この場合,ライセンスおよびコンテンツ鍵Kの原本は,リムーバブル記憶媒体40に保存されたままである。再生コンポーネント21aは,保存コンポーネント12から受信した提示メッセージを検査した上で,この提示メッセージに含まれるライセンスを評価して,上記コンテンツの再生可否を判断する。この結果,再生可能と判断した場合には,再生コンポーネント21aは,リムーバブル記憶媒体40に保存されているコンテンツを読み出し,上記提示メッセージから取り出したコンテンツ鍵で暗号解除して,当該コンテンツを再生可能化する。
次に,図23に基づいて,本実施形態にかかるライセンスの更新を伴わない通常のコンテンツ再生制御方法の処理フローについて詳細に説明する。なお,図23は,本実施形態にかかるライセンスの更新を伴わない通常のコンテンツ再生制御方法の処理フローを示すタイミングチャートである。
図23に示すように,まず,アプリケーション4は,ユーザから,ユーザによって指定されたコンテンツの再生要求を受け付ける(ステップS102)。次いで,アプリケーション4は,再生要求を受けたコンテンツのコンテンツファイルから,コンテンツIDを抽出する(ステップS104)。さらに,アプリケーション4は,コンポーネント管理部5に,コンテンツIDと,コンテンツ利用内容が「再生」であることを表す利用内容情報とを含む再生制御指示情報を送信して,当該コンテンツIDに対応するコンテンツの再生制御を行うよう指示する(ステップS106)。
次いで,コンポーネント管理部5は,アプリケーション4から受信した上記再生制御指示情報に基づいて再生制御を開始し,受信したコンテンツIDに対応するライセンスの検索を,各保存コンポーネント11,12,…に指示する(ステップS108)。この検索指示は,各保存コンポーネント11,12,…にコンテンツIDと,検索指示命令とを送信することによってなされる。この検索指示の対象となる保存コンポーネントは,コンポーネント管理部5と同一のユーザ機器10内にある1又は2以上の保存コンポーネントに限ってもよいし,或いは,ホームネットワーク30b等で接続された他のユーザ機器10内にある保存コンポーネントをも含んでもよい。
検索指示を受けた各保存コンポーネント11,12,…は,コンポーネント管理部5から受信したコンテンツIDに基づいて,自身に対応する記憶手段(HDD111,リムーバブル記憶媒体40等)内に,上記コンテンツIDに対応するライセンスが保存されているか否かを検索する(ステップS110)。この検索の結果,当該ライセンスを発見した場合には,保存コンポーネント11は,当該ライセンスを記憶手段から読み出してコンポーネント管理部5に送信する(ステップS112)。この際,検索結果として,1つの保存コンポーネント1が,1又は2以上の当該ライセンスを送信しても良いし,複数の保存コンポーネント11,12が,それぞれ1又は2以上のライセンスを送信してもよい。なお,いずれの保存コンポーネント11,12,…にも,上記コンテンツIDに対応するライセンスが保存されていない場合には,コンテンツの再生が禁止され,再生制御処理は終了する。
さらに,コンポーネント管理部5は,複数のライセンス処理コンポーネントのうち,ロード(起動)対象の保存コンポーネント11および再生コンポーネント21aを決定する(ステップS114)。具体的には,例えば,コンポーネント管理部5は,ライセンスのリハーサル評価機能を有しており,上記検索指示に応じて1又は2以上の保存コンポーネント1から受信したライセンスの再生条件をリハーサル評価する。コンポーネント管理部5は,このリハーサル評価結果に基づいて,再生要求を受けたコンテンツを再生する上で好適な1つの保存コンポーネント1および1つの再生コンポーネント21を,ロード対象に決定する。
例えば,コンポーネント管理部5は,上記検索指示に応じて複数のライセンスを受信した場合には,これらのライセンスうちで,ユーザにとって最適なライセンスを選択し,この選択したライセンスを保存している保存コンポーネント11をロード対象に決定する。また,仮に,選択したライセンスに基づいて再生を許可するとした場合に,再生ステータスの更新を伴うか否かを判断し,この結果,更新を伴わないと判断した場合には,更新処理を実行しない再生コンポーネント21aをロード対象に決定し,一方,更新を伴うと判断した場合には,更新処理を実行可能な再生コンポーネント21bをロード対象に決定する。
以下では,本ステップS114において,更新を伴わないライセンスが選択され,保存コンポーネント11と,再生コンポーネント21bとが,ロード対象として決定されたものとして説明する。
次いで,コンポーネント管理部5は,上記決定されたロード対象の保存コンポーネント11および再生コンポーネント21aに対して,ロード指示して起動させる(ステップS116)。この結果,保存コンポーネント11および再生コンポーネント21aは,相互認証を行い,双方の間に安全な通信経路,例えばSAC(Secure Authenticated Channel)を形成する(ステップS118)。
さらに,コンポーネント管理部5は,保存コンポーネント11に,提示メッセージの作成を指示する(ステップS120)。具体的には,このメッセージ作成指示は,保存コンポーネント11に対して,上記アプリケーション4から受信したコンテンツIDと,伝送タイプ指示情報とを送信することによってなされる。この伝送タイプ指示情報は,ライセンスの伝送タイプ(即ち,作成するメッセージの種類)を指定する情報である。本処理フローでは,更新を伴わない再生制御処理を行うので,伝送タイプ指示情報は,伝送タイプ「提示」を表す情報である。かかるメッセージ作成指示によって,コンポーネント管理部5は,保存コンポーネント11に対して,上記コンテンツIDに対応するライセンスの写本を,再生コンポーネント21aに伝送するよう(即ち,当該ライセンスを含む提示メッセージを送信するよう)指示することができる。
次いで,保存コンポーネント11は,上記メッセージ作成指示に応じて,上記コンテンツIDに対応するライセンスおよびコンテンツ鍵を伝送するための提示メッセージを作成する(ステップS122)。具体的には,保存コンポーネント11は,自身に対応する記憶手段(HDD111等)から,上記コンテンツIDに対応するライセンスおよびコンテンツ鍵を読み出す。さらに,保存コンポーネント11は,このように読み出したライセンスおよびコンテンツ鍵と,上記コンポーネント管理部5から指示された伝送タイプである「提示」を表す伝送タイプID「0x02」と,保存コンポーネント11自身の属性である「保存」を表すコンポーネント属性ID「0x01」とを連結して,提示メッセージを作成する。
さらに,保存コンポーネント11は,このように作成した提示メッセージを再生コンポーネント21aに送信する(ステップS124)。これに応じて,再生コンポーネント21aは,保存コンポーネント11から上記提示メッセージを受信する。このように,提示メッセージの送信処理では,保存コンポーネント11が上記伝送元コンポーネント31に相当し,再生コンポーネント21aが上記伝送先コンポーネント32に相当する。
その後,再生コンポーネント21aは,保存コンポーネント11から受信した提示メッセージの正当性を検査する(ステップS126)。この提示メッセージの正当性検査処理では,上記提示メッセージから取り出した伝送タイプIDが,伝送タイプ「提示」を表す「0x02」であり,かつ,上記提示メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「保存」を表す「0x01」であることが検査される。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記提示メッセージが正当であると判断した場合には,再生コンポーネント21aは,上記提示メッセージから取り出したライセンスの処理を許可し,ステップS128に進む。一方,上記提示メッセージが不当であると判断した場合には,再生コンポーネント21aは,当該ライセンスの処理を禁止し,再生制御処理が終了する。
次いで,再生コンポーネント21aは,上記提示メッセージから取り出したライセンスを評価して,上記再生要求を受けたコンテンツの再生の可否を判断する(ステップS128)。このライセンス評価処理では,再生コンポーネント21aは,上述したように,当該ライセンスの再生条件記述部521に記述された再生条件を評価し,再生条件を満たすか否かを判断する。
この評価の結果,再生条件を満たすと判断した場合には,再生コンポーネント21aは,上記再生要求を受けたコンテンツの再生を許可する。そして,再生コンポーネント21aは,HDD111等のコンテンツ記憶部7に保存されているコンテンツを読み出し,上記提示メッセージから取り出したコンテンツ鍵を用いて復号化(暗号解除)して,当該コンテンツを再生可能化した状態でアプリケーション4に伝送する(ステップS130)。この結果,アプリケーション4は,復号化されたコンテンツデータの再生を実行する(ステップS132)。
一方,上記ステップS126で,再生条件を満たさないと判断した場合には,再生コンポーネント21aは,当該コンテンツの再生を禁止し,アプリケーション4に対しその旨の通知を行う(図示せず。)。
(更新を伴うコンテンツ再生制御方法)
次に,本実施形態にかかるライセンスの再生ステータスの更新を伴うコンテンツ再生制御方法について説明する
まず,図24に基づいて,本実施形態にかかるライセンスの更新を伴うコンテンツ再生制御方法の概要について説明する。図24は,本実施形態にかかるライセンスの更新を伴うコンテンツ再生制御方法の概要を示す説明図である。
図24に示すように,PC10aは,ライセンスの再生ステータスの更新を伴う再生制御を行う再生コンポーネント21b(図8参照)と,HDD用の保存コンポーネント11とを具備している。
このようなPC10aは,保存コンポーネント11と再生コンポーネント21bとの間で,伝送タイプが「更新」である例えば3つのメッセージを送受信して,ライセンスの更新を伴う再生制御を行うことができる。
具体的には,まず,保存コンポーネント11は,HDD111に保存されているライセンスおよびコンテンツ鍵を読み出して,更新要求メッセージ(伝送タイプ:「更新1」,伝送元のコンポーネント属性:「保存」)を作成し,再生コンポーネント21bに送信する。この場合,ライセンスおよびコンテンツ鍵Kの原本は,HDD111に保存されたままである。再生コンポーネント21bは,保存コンポーネント11から受信した更新要求メッセージを検査した上で,この更新要求メッセージに含まれるライセンスを評価して,上記コンテンツの再生可否を判断する。
この結果,再生可能と判断した場合には,再生コンポーネント21bは,ライセンスの再生ステータスを更新して,この更新ライセンスを含む更新転送メッセージ(伝送タイプ:「更新2」,伝送元のコンポーネント属性:「利用」)を作成し,保存コンポーネント11に送信する。保存コンポーネント11は,再生コンポーネント21bから受信した更新転送メッセージを検査した上で,HDD111に保存されているライセンスを,更新転送メッセージに含まれるライセンスに書き換える。
さらに,保存コンポーネント11は,更新ライセンスを含む更新完了メッセージ(伝送タイプ:「更新3」,伝送元のコンポーネント属性:「保存」)を作成し,再生コンポーネント21bに送信する。再生コンポーネント21bは,保存コンポーネント11から受信した更新完了メッセージを検査した上で,HDD111に保存されているコンテンツを読み出し,更新完了メッセージから取り出したコンテンツ鍵で暗号解除して,当該コンテンツを再生可能化する。
次に,図25に基づいて,本実施形態にかかるライセンスの更新を伴うコンテンツ再生制御方法の処理フローについて詳細に説明する。なお,図25は,本実施形態にかかるライセンスの更新を伴うコンテンツ再生制御方法の処理フローを示すタイミングチャートである。
図25に示すように,本再生制御処理(更新あり)におけるステップS202〜ステップS214の処理は,上記図23で説明した再生制御処理(更新なし)におけるステップS102〜ステップS114の処理と略同一であるので,詳細説明は省略する。
なお,ステップS214では,再生ステータスの更新を伴うライセンスが選択され,保存コンポーネント11と,再生ステータスの更新を伴う再生制御を実行可能な再生コンポーネント21bとがロード対象として決定されたものとする。
次いで,コンポーネント管理部5は,上記決定されたロード対象の保存コンポーネント11および再生コンポーネント21bに対して,ロード指示して起動させる(ステップS216)。この結果,保存コンポーネント11および再生コンポーネント21bは,相互認証を行い,双方の間に安全な通信経路,例えばSACを形成する(ステップS218)。
さらに,コンポーネント管理部5は,保存コンポーネント11に,更新要求メッセージの作成を指示する(ステップS220)。具体的には,このメッセージ作成指示は,保存コンポーネント11に対して,上記アプリケーション4から受信したコンテンツIDと,伝送タイプ指示情報とを送信することによってなされる。この伝送タイプ指示情報は,ライセンスの伝送タイプ(即ち,作成するメッセージの種類)を指定する情報である。本処理フローでは,更新を伴う再生制御処理を行うので,伝送タイプ指示情報は,伝送タイプ「更新1」を表す情報である。かかるメッセージ作成指示によって,コンポーネント管理部5は,上記コンテンツIDに対応するライセンスの写本を再生コンポーネント21bに伝送するよう,保存コンポーネント11に対して指示することができる。
次いで,保存コンポーネント11は,上記メッセージ作成指示に応じて,上記コンテンツIDに対応するライセンスおよびコンテンツ鍵を伝送するための更新要求メッセージを作成する(ステップS222)。具体的には,保存コンポーネント11は,自身に対応する記憶手段(HDD111等)から,上記コンテンツIDに対応するライセンスおよびコンテンツ鍵を読み出す。さらに,保存コンポーネント11は,このように読み出したライセンスおよびコンテンツ鍵と,上記コンポーネント管理部5から指示された伝送タイプである「更新1」を表す伝送タイプID「0x03」と,保存コンポーネント11自身の属性である「保存」を表すコンポーネント属性ID「0x01」とを連結して,更新要求メッセージを作成する。
さらに,保存コンポーネント11は,このように作成した更新要求メッセージを再生コンポーネント21bに送信する(ステップS224)。これに応じて,再生コンポーネント21bは,保存コンポーネント11から上記更新要求メッセージを受信する。このように,更新要求メッセージの送信処理(ステップS224)では,保存コンポーネント11が上記伝送元コンポーネント31に相当し,再生コンポーネント21bが上記伝送先コンポーネント32に相当する。
その後,再生コンポーネント21bは,保存コンポーネント11から受信した更新要求メッセージの正当性を検査する(ステップS226)。この更新要求メッセージの正当性検査処理では,上記更新要求メッセージから取り出した伝送タイプIDが,伝送タイプ「更新1」を表す「0x03」であり,かつ,上記更新要求メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「保存」を表す「0x01」であることを検査する。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記更新要求メッセージが正当であると判断した場合には,再生コンポーネント21bは,上記更新要求メッセージから取り出したライセンスの処理を許可し,ステップS228に進む。一方,上記更新要求メッセージが不当であると判断した場合には,再生コンポーネント21bは,当該ライセンスの処理を禁止し,再生制御処理が終了する。
次いで,再生コンポーネント21bは,上記更新要求メッセージから取り出したライセンスを評価して,上記再生要求を受けたコンテンツの再生の可否を判断する(ステップS228)。このライセンス評価処理では,再生コンポーネント21bは,上述したように,当該ライセンスの再生条件記述部521に記述された再生条件を評価し,再生条件を満たすか否かを判断する。この再生条件評価処理では,例えば,再生回数制限または再生有効期限などの再生条件が評価され,必要に応じて,再生条件記述部521に記述された再生ステータスが参照される。
この評価の結果,再生条件を満たさないと判断した場合には,再生コンポーネント21bは,上記再生要求を受けたコンテンツの再生を禁止し,アプリケーション4に対しその旨の通知を行う(図示せず。)。
一方,再生条件を満たすと判断した場合には,再生コンポーネント21bは,上記再生要求を受けたコンテンツの再生を許可するとともに,再生許可に応じて当該ライセンスの再生ステータスを更新する。具体的には,例えば,再生回数制御を行う場合に,再生コンポーネント21bは,上記1回の再生許可に応じて再生済み回数を1つ増加させるように再生ステータスを書き換える。
次いで,再生コンポーネント21bは,上記更新要求メッセージに応答するため,上記再生ステータスが更新されたライセンス(以下,「更新ライセンス」という。)およびコンテンツ鍵を伝送するための更新伝送メッセージを作成する(ステップS230)。具体的には,再生コンポーネント21bは,上記更新ライセンスと,上記更新要求メッセージから取り出したコンテンツ鍵と,更新ライセンスの転送を意味する伝送タイプである「更新2」を表す伝送タイプID「0x04」と,再生コンポーネント21b自身の属性である「利用」を表すコンポーネント属性ID「0x02」とを連結して,更新転送メッセージを作成する。
さらに,再生コンポーネント21bは,このように作成した更新転送メッセージを保存コンポーネント11に送信する(ステップS232)。これに応じて,保存コンポーネント11は,再生コンポーネント21bから上記更新転送メッセージを受信する。このように,更新転送メッセージの送信処理(S232)では,再生コンポーネント21bが上記伝送元コンポーネント31に相当し,保存コンポーネント11が上記伝送先コンポーネント32に相当する。
その後,保存コンポーネント11は,再生コンポーネント21bから受信した更新転送メッセージの正当性を検査する(ステップS234)。この更新転送メッセージの正当性検査処理では,上記更新転送メッセージから取り出した伝送タイプIDが,伝送タイプ「更新2」を表す「0x04」であり,かつ,上記更新転送メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「利用」を表す「0x02」であることを検査する。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記更新転送メッセージが正当であると判断した場合には,保存コンポーネント11は,上記更新転送メッセージから取り出した更新ライセンスの保存を許可し,ステップS326に進む。一方,上記更新転送メッセージが不当であると判断した場合には,保存コンポーネント11は,当該更新ライセンスの処理を禁止し,再生制御処理が終了する。
次いで,保存コンポーネント11は,記憶手段に保存されているライセンスを更新する(ステップS236)。具体的には,保存コンポーネント11は,自身に対応する記憶手段(HDD111等)に保存されているライセンス(上記更新要求メッセージで送信した更新前のライセンス)を,上記更新転送メッセージから取り出した更新ライセンスに書き換える。
さらに,保存コンポーネント11は,上記更新転送メッセージに応答するため,上記ライセンスの更新完了を通知するための更新完了メッセージを作成する(ステップS238)。具体的には,保存コンポーネント11は,自身に対応する記憶手段(HDD111等)から,上記更新ライセンスおよびコンテンツ鍵を読み出す。さらに,保存コンポーネント11は,読み出した更新ライセンスおよびコンテンツ鍵と,ライセンスの更新完了通知を意味する伝送タイプである「更新3」を表す伝送タイプID「0x05」と,保存コンポーネント11自身の属性である「保存」を表すコンポーネント属性ID「0x01」とを連結して,更新完了メッセージを作成する。
次いで,保存コンポーネント11は,このように作成した更新完了メッセージを再生コンポーネント21bに送信する(ステップS240)。これに応じて,再生コンポーネント21bは,保存コンポーネント11から上記更新完了メッセージを受信する。このように,更新完了メッセージの送信処理(S240)では,保存コンポーネント11が上記伝送元コンポーネント31に相当し,再生コンポーネント21bが上記伝送先コンポーネント32に相当する。
その後,再生コンポーネント21bは,保存コンポーネント11から受信した更新完了メッセージの正当性を検査する(ステップS242)。この更新完了メッセージの正当性検査処理では,上記更新完了メッセージから取り出した伝送タイプIDが,伝送タイプ「更新3」を表す「0x05」であり,かつ,上記更新完了メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「保存」を表す「0x01」であることを検査する。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記更新完了メッセージが不当であると判断した場合には,再生コンポーネント21bは,ライセンスの更新が実行されたことを確認できないため,上記再生要求を受けたコンテンツの再生を禁止し,再生制御処理が終了する。
一方,上記更新完了メッセージが正当であると判断した場合には,再生コンポーネント21bは,上記ステップS228でのライセンス評価により再生が許可されたコンテンツ(即ち,再生要求を受けたコンテンツ)を,HDD111等のコンテンツ記憶部7から読み出し,上記更新完了メッセージから取り出したコンテンツ鍵を用いて復号化(暗号解除)して,当該コンテンツを再生可能化した状態でアプリケーション4に伝送する(ステップS244)。この結果,アプリケーション4は,復号化されたコンテンツデータの再生を実行する(ステップS246)。
以上,本実施形態にかかるコンテンツ再生制御方法(ライセンスの更新なし/更新あり)についてそれぞれ説明した。かかるコンテンツ再生制御方法によれば,保存コンポーネント11と再生コンポーネント21との間で,ライセンスおよびコンテンツIDを含むメッセージを授受して,コンテンツを好適に再生制御することができる。このとき,メッセージの受信側のコンポーネントによって,受信したメッセージの正当性を毎回検査するので,ライセンス等の不正な伝送を防止できる。
さらに,コンテンツおよびライセンスのフォーマットと,当該ライセンスの伝送プロトコルと,コンポーネントの基本機能とが標準化されているので,異なる実装の著作権管理部3を備えたユーザ機器10間においても,ポータブル(移植可能)なライセンスを授受して,好適にコンテンツの再生制御を実行できる。特に,あるユーザ機器10に保存されているライセンスを,このユーザ機器10に対しネットワーク30を介して接続され物理的に離隔した他のユーザ機器10に伝送し,当該他のユーザ機器10が備える再生コンポーネント21を用いて,好適に再生制御できるという利点がある。
<10.ライセンス移動方法>
次に,本実施形態にかかるライセンス移動方法について説明する。このライセンス移動法方法は,複数の記憶手段間におけるコンテンツの移動を制御するため,2つの保存コンポーネント1と移動コンポーネント22とを用いて,移動元である第1の記憶手段に保存されているライセンスを,移動先である第2の記憶手段に移動させる方法である。
まず,図26に基づいて,本実施形態にかかるライセンス移動方法の概要について説明する。図26は,本実施形態にかかるPC10a内の2つの記憶手段間におけるライセンス移動方法の概要を示す説明図である。
図26に示すように,PC10aは,移動コンポーネント22と,移動元となる第1の記憶手段の一例であるHDD111用の保存コンポーネント11(第1の保存コンポーネント)と,移動先となる第2の記憶手段の一例であるリムーバブル記憶媒体40用の保存コンポーネント12(第2の保存コンポーネント)とを具備している。
このようなPC10aは,保存コンポーネント11,12と移動コンポーネント22との間で,ライセンスの原本を伝送するための転送メッセージを送受信して,移動元のHDD111から移動元のリムーバブル記憶媒体40に,ライセンスおよびコンテンツ鍵を移動することができる。
詳細には,まず,HDD用の保存コンポーネント11は,移動コンポーネント22にライセンスおよびコンテンツ鍵の原本を伝送(即ち,転送)する。具体的には,保存コンポーネント11は,HDD111に保存されているライセンスおよびコンテンツ鍵を読み出す。次いで,保存コンポーネント11は,読み出したライセンスおよびコンテンツ鍵を含む第1の転送メッセージ(伝送タイプ:「転送」,伝送元のコンポーネント属性:「保存」)を作成し,移動コンポーネント22に送信する。この際,保存コンポーネント11は,HDD111に保存されているライセンスおよびコンテンツ鍵を削除して,HDD111内に当該ライセンス等が残らないようにする。
移動コンポーネント22は,保存コンポーネント11から受信した転送メッセージを検査した上で,この第1の転送メッセージに含まれるライセンスを評価して,ライセンスおよびコンテンツ鍵の移動の可否を判断する。この結果,移動可能と判断した場合には,移動コンポーネント22は,必要に応じて,移動回数のカウントを行ってライセンスの移動ステータスを更新した上で,リムーバブル記憶媒体40用の保存コンポーネント12に,ライセンス等を転送する。具体的には,移動コンポーネント22は,上記保存コンポーネント11から転送されたライセンスおよびコンテンツ鍵を含む第2の転送メッセージ(伝送タイプ:「転送」,伝送元のコンポーネント属性:「利用」)を作成し,保存コンポーネント12に送信する。
保存コンポーネント12は,移動コンポーネント22から受信した転送メッセージを検査した上で,この転送メッセージに含まれるライセンスを評価して,リムーバブル記憶媒体40に対するライセンスおよびコンテンツ鍵の保存の可否を判断する。この結果,保存可能であると判断した場合には,保存コンポーネント12は,リムーバブル記憶媒体40にライセンスおよびコンテンツ鍵を書き込んで保存する。
このように,2つの保存コンポーネント11,12と移動コンポーネント22との間で転送メッセージを授受することで,2つの記憶手段111,40間でライセンス等を移動することができる。なお,上記第1の転送メッセージは第1のメッセージに該当し,上記第2の転送メッセージは第2のメッセージに該当する。
さらに上記のようなライセンス移動方法を利用して,図27に示すように,多様な機器間で,ライセンスおよびコンテンツ鍵を複合的に移動させることができる。なお,図27は,本実施形態にかかる複数の機器間におけるライセンス移動方法の概要を示す説明図である。
図27に示すように,まず,配信サーバ20の移動コンポーネント22は,ユーザ機器10である携帯電話10cの保存コンポーネント12に対し,配信サーバ20の記憶手段(図示せず。)から読み出されたライセンス等を含む転送メッセージ(伝送タイプ:「転送」,伝送元のコンポーネント属性:「利用」)を送信する。次いで,携帯電話10hの保存コンポーネント12は,受信した転送メッセージを検査した上で,この転送メッセージに含まれるライセンス等を,リムーバブル記憶媒体40に書き込んで保存する。このようにして,配信サーバ20に保存されているライセンス等を,携帯電話10bにダウンロードすることができる。
さらに,上記リムーバブル記憶媒体40を携帯電話10hから取り外して,第1のPC10a−1に装着する。第1のPC10a−1は,このリムーバブル記憶媒体40に保存されているライセンス等を,当該PC10a−1とネットワーク30等を介して接続された第2のPC10a−2のHDD111に移動することができる。
具体的には,第1のPC10a−1の保存コンポーネント12は,リムーバブル記憶媒体40から読み出したライセンス等を含む転送メッセージ(伝送タイプ:「転送」,伝送元のコンポーネント属性:「保存」)を作成して,第1のPC10a−1の移動コンポーネント22に送信する。さらに,第1のPC10a−1の移動コンポーネント22は,受信した転送メッセージを検査した上で,この転送メッセージから取り出したライセンスの移動条件を評価する。この結果,移動条件を満たす場合には,移動コンポーネント22は,転送メッセージから取り出したライセンス等を含む転送メッセージ(伝送タイプ:「転送」,伝送元のコンポーネント属性:「利用」)を作成して,ネットワーク30等を介して,第2のPC10a−2の保存コンポーネント11に送信する。これに応じて,第2のPC10a−2の保存コンポーネント11は,受信した転送メッセージを検査した上で,この転送メッセージに含まれるライセンス等を,HDD111に書き込んで保存する。
以上のように,各種の機器に移動コンポーネント22および保存コンポーネント11,12を分散配置し,これらのコンポーネント間で転送メッセージを授受することによって,上記各種の機器間で,ライセンスの移動条件を満たす範囲内で,当該ライセンスおよびコンテンツ鍵を移動させることができる。
次に,図28に基づいて,本実施形態にかかるライセンス移動方法の処理フローについて詳細に説明する。なお,図28は,本実施形態にかかるライセンス移動方法の処理フローを示すタイミングチャートである。
図28に示すように,まず,アプリケーション4は,ユーザから,ユーザによって指定されたコンテンツの移動要求を受け付ける(ステップS302)。次いで,アプリケーション4は,移動要求を受けたコンテンツのコンテンツファイルから,コンテンツIDを抽出する(ステップS304)。さらに,アプリケーション4は,コンポーネント管理部5に移動制御指示情報を送信して,移動要求を受けたコンテンツの移動制御,即ち,当該コンテンツに対応するライセンスおよびコンテンツ鍵の移動制御を行うよう指示する(ステップS306)。この移動制御指示情報は,例えば,上記コンテンツIDと,コンテンツ利用内容が「移動」であることを表す利用内容情報と,コンテンツおよびライセンスの移動元の記憶手段(第1の記憶手段)および移動先の記憶手段(第2の記憶手段)を指定する情報とを含む。
次いで,コンポーネント管理部5は,例えば,アプリケーション4から受信した上記移動制御指示情報に基づいて,ロード(起動)対象のライセンス処理コンポーネントを決定する(ステップS308)。例えば,コンポーネント管理部5は,ロード対象のコンポーネントを,移動コンポーネント22と,上記移動制御指示情報によって指定された移動元の記憶手段に対応する保存コンポーネント11(以下,「移動元の保存コンポーネント11」)と,当該指定された移動先の記憶手段に対応する保存コンポーネント12(以下,「移動先の保存コンポーネント12」)とに決定する。なお,このロード対象決定処理では,コンポーネント管理部5は,例えば,上記図23のステップS108〜S114と同様にして,移動要求を受けたコンテンツに対応するライセンスおよびコンテンツ鍵を保存している保存コンポーネントをコンテンツIDに基づき検索して,ロード対象に決定してもよい。
さらに,コンポーネント管理部5は,上記決定されたロード対象の保存コンポーネント11,12および移動コンポーネント22に対してロード指示を行い,これらのコンポーネントを起動させる(ステップS310)。この結果,移動元の保存コンポーネント11と移動コンポーネント22,並びに,移動コンポーネント22と移動先の保存コンポーネント12とは,相互認証を行い,双方の間に安全な通信経路,例えばSACを形成する(ステップS312)。
さらに,コンポーネント管理部5は,移動元の保存コンポーネント11に,転送メッセージの作成を指示する(ステップS314)。具体的には,このメッセージ作成指示は,移動元の保存コンポーネント11に対して,上記アプリケーション4から受信したコンテンツIDと,伝送タイプ指示情報とを送信することによってなされる。本処理フローでは,ライセンスの移動処理を行うので,上記伝送タイプ指示情報は,伝送タイプ「転送」を表す情報である。かかるメッセージ作成指示によって,コンポーネント管理部5は,上記コンテンツIDに対応するライセンスの原本を移動コンポーネント22に伝送するよう,移動元の保存コンポーネント11に対して指示することができる。
次いで,移動元の保存コンポーネント11は,上記メッセージ作成指示に応じて,上記コンテンツIDに対応するライセンスおよびコンテンツ鍵を転送するための転送メッセージ(第1のメッセージ)を作成する(ステップS316)。具体的には,移動元の保存コンポーネント11は,自身に対応する移動元の記憶手段(HDD111等)から,上記コンテンツIDに対応するライセンスおよびコンテンツ鍵を読み出す。さらに,移動元の保存コンポーネント11は,このように読み出したライセンスおよびコンテンツ鍵と,上記コンポーネント管理部5から指示された伝送タイプである「転送」を表す伝送タイプID「0x01」と,移動元の保存コンポーネント11自身の属性である「保存」を表すコンポーネント属性ID「0x01」とを連結して,転送メッセージを作成する。
さらに,移動元の保存コンポーネント11は,移動元の記憶手段(HDD111等)に保存されている上記ライセンスおよびコンテンツ鍵を無効化(例えば削除)する(ステップS318)。このように,次のステップS320での転送メッセージの送信前に,移動元の記憶手段内のライセンス等を無効化することによって,例えば,不正ユーザが,転送メッセージの送信後に不正な手段によりライセンス等の無効化処理を妨害して,移動元と移動先の双方にライセンス等が存在してしまうことを防止できる。
その後,移動元の保存コンポーネント11は,上記ステップS316で作成した転送メッセージを移動コンポーネント22に送信する(ステップS320)。これに応じて,移動コンポーネント22は,移動元の保存コンポーネント11から上記転送メッセージを受信する。このように,転送メッセージの送信処理(S320)では,移動元の保存コンポーネント11が上記伝送元コンポーネント31に相当し,移動コンポーネント22が上記伝送先コンポーネント32に相当する。
次いで,移動コンポーネント22は,移動元の保存コンポーネント11から受信した転送メッセージの正当性を検査する(ステップS322)。この転送メッセージの正当性検査処理では,上記転送メッセージから取り出した伝送タイプIDが,伝送タイプ「転送」を表す「0x01」であり,かつ,上記転送メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「保存」を表す「0x01」であることが検査される。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記転送メッセージが正当であると判断した場合には,移動コンポーネント22は,上記転送メッセージから取り出したライセンスの処理を許可し,ステップS324に進む。一方,上記転送メッセージが不当であると判断した場合には,移動コンポーネント22は,当該ライセンスの処理を禁止し,移動処理が終了する。
さらに,移動コンポーネント22は,上記転送メッセージから取り出したライセンスを評価して,当該ライセンスおよびコンテンツ鍵の移動の可否を判断する(ステップS324)。このライセンス評価処理では,移動コンポーネント22は,上述したように,当該ライセンスの移動条件記述部522に記述された移動条件を評価し,移動条件を満たすか否かを判断する。この移動条件評価処理では,例えば,移動回数制限または移動有効期限などの移動条件が評価され,必要に応じて,移動条件記述部522に記述された移動ステータスが参照される。
このような評価の結果,移動条件を満たさないと判断した場合には,移動コンポーネント22は,上記転送メッセージから取り出したライセンスおよびコンテンツ鍵の移動を禁止し,アプリケーション4に対しその旨の通知を行う(図示せず。)。
一方,移動条件を満たすと判断した場合には,移動コンポーネント22は,上記転送メッセージから取り出したライセンスおよびコンテンツ鍵の移動を許可するとともに,必要に応じて,当該ライセンスの移動ステータスを更新する。具体的には,例えば,移動回数制御を行う場合に,移動コンポーネント22は,上記1回の移動許可に応じて移動済み回数を1つ増加させるように移動ステータスを書き換える。
次いで,移動コンポーネント22は,上記移動が許可されたライセンスおよびコンテンツ鍵を転送するための転送メッセージ(第2のメッセージ)を作成する(ステップS326)。具体的には,移動コンポーネント22は,上記移動が許可されたライセンス(移動ステータスの更新がなされた場合には,更新されたライセンス)と,上記移動が許可されたコンテンツ鍵と,伝送タイプ「転送」を表す伝送タイプID「0x01」と,移動コンポーネント22自身の属性である「利用」を表すコンポーネント属性ID「0x02」とを連結して,転送メッセージを作成する。
さらに,移動コンポーネント22は,このように作成した転送メッセージを,移動先の保存コンポーネント12に送信する(ステップS328)。これに応じて,移動先の保存コンポーネント12は,移動コンポーネント22から上記転送メッセージを受信する。このように,転送メッセージの送信処理(S328)では,移動コンポーネント22が上記伝送元コンポーネント31に相当し,移動先の保存コンポーネント12が上記伝送先コンポーネント32に相当する。
その後,移動先の保存コンポーネント12は,移動コンポーネント22から受信した転送メッセージの正当性を検査する(ステップS330)。この転送メッセージの正当性検査処理では,上記転送メッセージから取り出した伝送タイプIDが,伝送タイプ「転送」を表す「0x01」であり,かつ,上記転送メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「利用」を表す「0x02」であることを検査する。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記転送メッセージが正当であると判断した場合には,移動先の保存コンポーネント12は,上記転送メッセージから取り出したライセンスの処理を許可し,ステップS334に進む。一方,上記転送メッセージが不当であると判断した場合には,移動先の保存コンポーネント12は,当該ライセンスの処理を禁止し,移動処理が終了する。
次いで,移動先の保存コンポーネント12は,上記転送メッセージから取り出したライセンスを評価して,第2の記憶手段に対する当該ライセンスおよびコンテンツ鍵の保存の可否を判断する(ステップS332)。このライセンス評価処理では,移動先の保存コンポーネント12は,上述したように,当該ライセンスの保存条件記述部511に記述された保存条件を評価し,保存条件を満たすか否かを判断する。この保存条件評価処理では,例えば,保存回数制限または保存有効期限などの保存条件が評価され,必要に応じて,保存条件記述部511に記述された保存ステータスが参照される。
この評価の結果,保存条件を満たさないと判断した場合には,移動先の保存コンポーネント12は,上記転送メッセージから取り出したライセンスの保存を禁止し,中断シーケンスを実行する。
一方,保存条件を満たすと判断した場合には,移動先の保存コンポーネント12は,上記転送メッセージから取り出したライセンスおよびコンテンツ鍵の保存を許可するとともに,必要に応じて,当該ライセンスの保存ステータスを更新する。具体的には,例えば,保存回数制御を行う場合に,移動先の保存コンポーネント12は,上記1回の保存許可に応じて保存済み回数を1つ増加させるように保存ステータスを書き換える。
その後,移動先の保存コンポーネント12は,自身に対応する第2の記憶手段(例えばリムーバブル記憶媒体40)等に対して,上記保存が許可されたライセンスおよびコンテンツ鍵を書き込んで保存する(ステップS334)。
以上のようにして,移動要求を受けたコンテンツに対応するライセンスおよびコンテンツ鍵が,第1の記憶手段から第2の記憶手段に移動される。このようにライセンス等の移動が完了した場合には,例えば,移動先の保存コンポーネント12は,コンポーネント管理部5に移動完了通知を送信し(ステップS336),コンポーネント管理部5は,この移動完了通知の受信に応じて,アプリケーション4にコンテンツ移動許可を通知する(ステップS338)。
この結果,アプリケーション4は,コンポーネント管理部5から受信したコンテンツ移動許可の通知に応じて,上記移動要求を受けたコンテンツを第1の記憶手段から第2の記憶手段に移動する(ステップS340)。具体的には,アプリケーション4は,例えば,第1の記憶手段に保存されている当該コンテンツを読み出して,第2の記憶手段に書き込んで保存し,第1の記憶手段から当該コンテンツを削除する。
以上,本実施形態にかかるライセンス移動方法の処理フローについて説明した。かかるライセンス移動方法によれば,移動元および移動先の保存コンポーネント11,12と移動コンポーネント22との間で,ライセンスおよびコンテンツIDを含むメッセージを授受して,ライセンスおよびコンテンツの移動を好適に制御することができる。このとき,メッセージの受信側のコンポーネントによって,受信したメッセージの正当性を毎回検査するので,ライセンス等の不正な伝送を防止できる。
さらに,コンテンツおよびライセンスのフォーマットと,当該ライセンスの伝送プロトコルと,コンポーネントの基本機能とが標準化されているので,異なる実装の著作権管理部3を備えたユーザ機器10間においても,ライセンスをポータブルに授受して,ライセンスおよびコンテンツの移動を好適に制御できる。特に,ネットワーク30を介して接続され物理的に離隔したユーザ機器10間で,各ユーザ機器10の著作権管理部3の実装に依存せず,ライセンスおよびコンテンツを好適に移動できるという利点がある。従って,各種のユーザ機器10間におけるコンテンツのポータビリティを向上させ,ユーザの利便性を向上できる。
<11.ライセンス複製方法>
次に,本実施形態にかかるライセンス複製方法について説明する。このライセンス複製法方法は,複数の記憶手段間におけるコンテンツの複製を制御するため,2つの保存コンポーネント1と複製コンポーネント23とを用いて,複製元である第1の記憶手段に保存されているライセンスを,複製先である第2の記憶手段に複製する方法である。
まず,図29に基づいて,本実施形態にかかるライセンス複製方法の概要について説明する。図29は,本実施形態にかかるPC10a内の2つの記憶手段間におけるライセンス複製方法の概要を示す説明図である。
図29に示すように,PC10aは,複製コンポーネント23と,複製元となる第1の記憶手段の一例であるHDD111用の保存コンポーネント11(第1の保存コンポーネント)と,複製先となる第2の記憶手段の一例であるリムーバブル記憶媒体40用の保存コンポーネント12(第2の保存コンポーネント)とを具備している。
このようなPC10aは,保存コンポーネント11,12と複製コンポーネント23との間で,ライセンスの写本を伝送するための提示メッセージと,ライセンスの原本を伝送するための転送メッセージを送受信して,複製元のHDD111から複製先のリムーバブル記憶媒体40に,ライセンスおよびコンテンツ鍵を複製することができる。
詳細には,まず,HDD用の保存コンポーネント11は,複製コンポーネント23にライセンスおよびコンテンツ鍵の写本を伝送(即ち,提示)する。具体的には,保存コンポーネント11は,HDD111に保存されているライセンスおよびコンテンツ鍵を読み出す。次いで,保存コンポーネント11は,読み出したライセンスおよびコンテンツ鍵を含む提示メッセージ(伝送タイプ:「提示」,伝送元のコンポーネント属性:「保存」)を作成し,複製コンポーネント23に送信する。この際,保存コンポーネント11は,HDD111に保存されているライセンスおよびコンテンツ鍵を削除しないので,HDD111内に当該ライセンス等が保存されたままとなる。
複製コンポーネント23は,保存コンポーネント11から受信した提示メッセージを検査した上で,この提示メッセージに含まれるライセンスを評価して,ライセンスおよびコンテンツ鍵の複製の可否を判断する。この結果,複製可能と判断した場合には,複製コンポーネント23は,必要に応じて,複製回数のカウントを行ってライセンスの複製ステータスを更新した上で,リムーバブル記憶媒体40用の保存コンポーネント12に,ライセンス等を転送する。具体的には,複製コンポーネント23は,上記保存コンポーネント11から転送されたライセンスおよびコンテンツ鍵を含む転送メッセージ(伝送タイプ:「転送」,伝送元のコンポーネント属性:「利用」)を作成し,保存コンポーネント12に送信する。
保存コンポーネント12は,複製コンポーネント23から受信した転送メッセージを検査した上で,この転送メッセージに含まれるライセンスを評価して,リムーバブル記憶媒体40に対するライセンスおよびコンテンツ鍵の保存の可否を判断する。この結果,保存可能であると判断した場合には,保存コンポーネント12は,リムーバブル記憶媒体40にライセンスおよびコンテンツ鍵を書き込んで保存する。
このように,2つの保存コンポーネント11,12と複製コンポーネント23との間で提示メッセージおよび転送メッセージを授受することで,2つの記憶手段111,40間でライセンス等を複製することができる。なお,上記提示メッセージは第1のメッセージに該当し,上記転送メッセージは第2のメッセージに該当する。
また,上述した図27の移動処理と同様に,各種の機器に複製コンポーネント23および保存コンポーネント11,12を分散配置し,これらのコンポーネント間で,提示及び転送メッセージを授受することによって,上記各種の機器間で,ライセンスの複製条件を満たす範囲内で,当該ライセンスおよびコンテンツ鍵を複製することができる。
次に,図30に基づいて,本実施形態にかかるライセンス複製方法の処理フローについて詳細に説明する。なお,図30は,本実施形態にかかるライセンス複製方法の処理フローを示すタイミングチャートである。
図30に示すように,まず,アプリケーション4は,ユーザから,ユーザによって指定されたコンテンツの複製要求を受け付ける(ステップS402)。次いで,アプリケーション4は,複製要求を受けたコンテンツのコンテンツファイルから,コンテンツIDを抽出する(ステップS404)。さらに,アプリケーション4は,コンポーネント管理部5に複製制御指示情報を送信して,複製要求を受けたコンテンツの複製制御,即ち,当該コンテンツに対応するライセンスおよびコンテンツ鍵の複製制御を行うよう指示する(ステップS406)。この複製制御指示情報は,例えば,上記コンテンツIDと,コンテンツ利用内容が「複製」であることを表す利用内容情報と,コンテンツおよびライセンスの複製元の記憶手段(第1の記憶手段)および複製先の記憶手段(第2の記憶手段)を指定する情報とを含む。
次いで,コンポーネント管理部5は,例えば,アプリケーション4から受信した上記複製制御指示情報に基づいて,ロード(起動)対象のライセンス処理コンポーネントを決定する(ステップS408)。例えば,コンポーネント管理部5は,ロード対象のコンポーネントを,複製コンポーネント23と,上記複製制御指示情報によって指定された複製元の記憶手段に対応する保存コンポーネント11(以下,「複製元の保存コンポーネント11」)と,当該指定された複製先の記憶手段に対応する保存コンポーネント12(以下,「複製先の保存コンポーネント12」)とに決定する。なお,このロード対象決定処理では,コンポーネント管理部5は,例えば,上記図23のステップS108〜S114と同様にして,複製要求を受けたコンテンツに対応するライセンスおよびコンテンツ鍵を保存している保存コンポーネントをコンテンツIDに基づき検索して,ロード対象に決定してもよい。
さらに,コンポーネント管理部5は,上記決定されたロード対象の保存コンポーネント11,12および複製コンポーネント23に対してロード指示を行い,これらのコンポーネントを起動させる(ステップS410)。この結果,複製元の保存コンポーネント11と複製コンポーネント23,並びに,複製コンポーネント23と複製先の保存コンポーネント12とは,相互認証を行い,双方の間に安全な通信経路,例えばSACを形成する(ステップS412)。
さらに,コンポーネント管理部5は,複製元の保存コンポーネント11に,提示メッセージの作成を指示する(ステップS414)。具体的には,このメッセージ作成指示は,複製元の保存コンポーネント11に対して,上記アプリケーション4から受信したコンテンツIDと,伝送タイプ指示情報とを送信することによってなされる。本処理フローでは,ライセンスの複製処理を行うので,上記伝送タイプ指示情報は,伝送タイプ「提示」を表す情報である。かかるメッセージ作成指示によって,コンポーネント管理部5は,上記コンテンツIDに対応するライセンスの写本を複製コンポーネント23に伝送するよう,複製元の保存コンポーネント11に対して指示することができる。
次いで,複製元の保存コンポーネント11は,上記メッセージ作成指示に応じて,上記コンテンツIDに対応するライセンスおよびコンテンツ鍵を転送するための提示メッセージ(第1のメッセージ)を作成する(ステップS416)。具体的には,複製元の保存コンポーネント11は,自身に対応する複製元の記憶手段(HDD111等)から,上記コンテンツIDに対応するライセンスおよびコンテンツ鍵を読み出す。さらに,複製元の保存コンポーネント11は,このように読み出したライセンスおよびコンテンツ鍵と,上記コンポーネント管理部5から指示された伝送タイプである「提示」を表す伝送タイプID「0x02」と,複製元の保存コンポーネント11自身の属性である「保存」を表すコンポーネント属性ID「0x01」とを連結して,提示メッセージを作成する。
なお,このライセンス複製方法では,上述したライセンス移動処理とは異なり,複製元の記憶手段(HDD111等)に保存されている上記ライセンスおよびコンテンツ鍵の原本は,無効化(例えば削除)されない。
その後,複製元の保存コンポーネント11は,上記ステップS416で作成した提示メッセージを複製コンポーネント23に送信する(ステップS420)。これに応じて,複製コンポーネント23は,複製元の保存コンポーネント11から上記提示メッセージを受信する。このように,提示メッセージの送信処理(S420)では,複製元の保存コンポーネント11が上記伝送元コンポーネント31に相当し,複製コンポーネント23が上記伝送先コンポーネント32に相当する。
次いで,複製コンポーネント23は,複製元の保存コンポーネント11から受信した提示メッセージの正当性を検査する(ステップS422)。この提示メッセージの正当性検査処理では,上記提示メッセージから取り出した伝送タイプIDが,伝送タイプ「提示」を表す「0x02」であり,かつ,上記提示メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「保存」を表す「0x01」であることが検査される。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記提示メッセージが正当であると判断した場合には,複製コンポーネント23は,上記提示メッセージから取り出したライセンスの処理を許可し,ステップS424に進む。一方,上記提示メッセージが不当であると判断した場合には,複製コンポーネント23は,当該ライセンスの処理を禁止し,複製処理が終了する。
さらに,複製コンポーネント23は,上記提示メッセージから取り出したライセンスを評価して,当該ライセンスおよびコンテンツ鍵の複製の可否を判断する(ステップS424)。このライセンス評価処理では,複製コンポーネント23は,上述したように,当該ライセンスの複製条件記述部523に記述された複製条件を評価し,複製条件を満たすか否かを判断する。この複製条件評価処理では,例えば,複製回数制限または複製有効期限などの複製条件が評価され,必要に応じて,複製条件記述部523に記述された複製ステータスが参照される。
このような評価の結果,複製条件を満たさないと判断した場合には,複製コンポーネント23は,上記提示メッセージから取り出したライセンスおよびコンテンツ鍵の複製を禁止し,アプリケーション4に対しその旨の通知を行う(図示せず。)。
一方,複製条件を満たすと判断した場合には,複製コンポーネント23は,上記提示メッセージから取り出したライセンスおよびコンテンツ鍵の複製を許可するとともに,必要に応じて,当該ライセンスの複製ステータスを更新する。具体的には,例えば,複製回数制御を行う場合に,複製コンポーネント23は,上記1回の複製許可に応じて複製済み回数を1つ増加させるように複製ステータスを書き換える。
次いで,複製コンポーネント23は,上記複製が許可されたライセンスおよびコンテンツ鍵を転送するための転送メッセージ(第2のメッセージ)を作成する(ステップS426)。具体的には,複製コンポーネント23は,上記複製が許可されたライセンス(複製ステータスの更新がなされた場合には,更新されたライセンス)と,上記複製が許可されたコンテンツ鍵と,伝送タイプ「転送」を表す伝送タイプID「0x01」と,複製コンポーネント23自身の属性である「利用」を表すコンポーネント属性ID「0x02」とを連結して,転送メッセージを作成する。
さらに,複製コンポーネント23は,このように作成した転送メッセージを,複製先の保存コンポーネント12に送信する(ステップS428)。これに応じて,複製先の保存コンポーネント12は,複製コンポーネント23から上記転送メッセージを受信する。このように,転送メッセージの送信処理(S428)では,複製コンポーネント23が上記伝送元コンポーネント31に相当し,複製先の保存コンポーネント12が上記伝送先コンポーネント32に相当する。
その後,複製先の保存コンポーネント12は,複製コンポーネント23から受信した転送メッセージの正当性を検査する(ステップS430)。この転送メッセージの正当性検査処理では,上記転送メッセージから取り出した伝送タイプIDが,伝送タイプ「転送」を表す「0x01」であり,かつ,上記転送メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「利用」を表す「0x02」であることを検査する。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記転送メッセージが正当であると判断した場合には,複製先の保存コンポーネント12は,上記転送メッセージから取り出したライセンスの処理を許可し,ステップS434に進む。一方,上記転送メッセージが不当であると判断した場合には,複製先の保存コンポーネント12は,当該ライセンスの処理を禁止し,複製処理が終了する。
次いで,複製先の保存コンポーネント12は,上記転送メッセージから取り出したライセンスを評価して,第2の記憶手段に対する当該ライセンスおよびコンテンツ鍵の保存の可否を判断する(ステップS432)。このライセンス評価処理では,複製先の保存コンポーネント12は,上述したように,当該ライセンスの保存条件記述部511に記述された保存条件を評価し,保存条件を満たすか否かを判断する。この保存条件評価処理では,例えば,保存回数制限または保存有効期限などの保存条件が評価され,必要に応じて,保存条件記述部511に記述された保存ステータスが参照される。
この評価の結果,保存条件を満たさないと判断した場合には,複製先の保存コンポーネント12は,上記転送メッセージから取り出したライセンスの保存を禁止し,中断シーケンスを実行する。
一方,保存条件を満たすと判断した場合には,複製先の保存コンポーネント12は,上記転送メッセージから取り出したライセンスおよびコンテンツ鍵の保存を許可するとともに,必要に応じて,当該ライセンスの保存ステータスを更新する。具体的には,例えば,保存回数制御を行う場合に,複製先の保存コンポーネント12は,上記1回の保存許可に応じて保存済み回数を1つ増加させるように保存ステータスを書き換える。
その後,複製先の保存コンポーネント12は,自身に対応する第2の記憶手段(例えばリムーバブル記憶媒体40)等に対して,上記保存が許可されたライセンスおよびコンテンツ鍵を書き込んで保存する(ステップS434)。
以上のようにして,複製要求を受けたコンテンツに対応するライセンスおよびコンテンツ鍵が,第1の記憶手段から第2の記憶手段に複製される。このようにライセンス等の複製が完了した場合には,例えば,複製先の保存コンポーネント12は,コンポーネント管理部5に複製完了通知を送信し(ステップS436),コンポーネント管理部5は,この複製完了通知の受信に応じて,アプリケーション4にコンテンツ複製許可を通知する(ステップS438)。
この結果,アプリケーション4は,コンポーネント管理部5から受信したコンテンツ複製許可の通知に応じて,上記複製要求を受けたコンテンツを第1の記憶手段から第2の記憶手段に複製する(ステップS440)。具体的には,アプリケーション4は,例えば,第1の記憶手段に保存されている当該コンテンツを読み出して,第2の記憶手段に書き込んで保存し,第1の記憶手段から当該コンテンツを削除しない。
以上,本実施形態にかかるライセンス複製方法の処理フローについて説明した。かかるライセンス複製方法によれば,複製元および複製先の保存コンポーネント11,12と複製コンポーネント23との間で,ライセンスおよびコンテンツIDを含むメッセージを授受して,ライセンスおよびコンテンツの複製を好適に制御することができる。このとき,メッセージの受信側のコンポーネントによって,受信したメッセージの正当性を毎回検査するので,ライセンス等の不正な伝送を防止できる。
さらに,コンテンツおよびライセンスのフォーマットと,当該ライセンスの伝送プロトコルと,コンポーネントの基本機能とが標準化されているので,異なる実装の著作権管理部3を備えたユーザ機器10間においても,ライセンスをポータブルに授受して,ライセンスおよびコンテンツの複製を好適に制御できる。特に,ネットワーク30を介して接続され物理的に離隔したユーザ機器10間で,各ユーザ機器10の著作権管理部3の実装に依存せず,ライセンスおよびコンテンツを好適に複製できるという利点がある。従って,各種のユーザ機器10間におけるコンテンツのポータビリティを向上させ,ユーザの利便性を向上できる。
<12.ライセンス貸出方法>
次に,本実施形態にかかるライセンス貸出方法について説明する。このライセンス貸出方法は,複数の記憶手段間におけるコンテンツの貸出を制御するため,2つの保存コンポーネント1と貸出コンポーネント24とを用いて,貸出元である第1の記憶手段に保存されている貸出元ライセンスを更新し,この貸出元ライセンスに基づき貸出用ライセンスを作成して貸出先である第2の記憶手段に貸し出す方法である。この貸出処理は,SDMIにおけるチェックアウト処理に相当する。
まず,図31に基づいて,本実施形態にかかるライセンス貸出方法の概要について説明する。図31は,本実施形態にかかるPC10a内の2つの記憶手段間におけるライセンス貸出方法の概要を示す説明図である。
図31に示すように,PC10aは,貸出コンポーネント24と,貸出元となる第1の記憶手段の一例であるHDD111用の保存コンポーネント11(第1の保存コンポーネント)と,貸出先となる第2の記憶手段の一例であるリムーバブル記憶媒体40用の保存コンポーネント12(第2の保存コンポーネント)とを具備している。
このようなPC10aは,貸出元の保存コンポーネント11と貸出コンポーネント24との間で,更新メッセージを送受信することにより,貸出元のHDD111に保存されている貸出元ライセンス307を更新して,貸出用ライセンス308を作成し,また,貸出コンポーネント24から貸出先の保存コンポーネント12に転送メッセージを送信することにより,上記作成した貸出用ライセンス308をリムーバブル記憶媒体40に貸し出すことができる。
具体的には,まず,貸出元の保存コンポーネント11は,HDD111に保存されている貸出元ライセンス307およびコンテンツ鍵を読み出して,更新要求メッセージ(伝送タイプ:「更新1」,伝送元のコンポーネント属性:「保存」)を作成し,貸出コンポーネント24に送信する。なお,貸出元ライセンス307は,利用条件として,貸出条件,再生条件および保存条件等が記述されたライセンスである(図11参照)。
次いで,貸出コンポーネント24は,貸出元の保存コンポーネント11から受信した更新要求メッセージを検査した上で,この更新要求メッセージに含まれる貸出元ライセンス307を評価して,当該貸出元ライセンス307およびコンテンツ鍵の貸出可否を判断する。この結果,貸出可能と判断した場合には,貸出コンポーネント24は,貸出元ライセンス307の貸出ステータスを更新し,この更新された貸出元ライセンスとコンテンツ鍵を含む更新転送メッセージ(伝送タイプ:「更新2」,伝送元のコンポーネント属性:「利用」)を作成し,貸出元の保存コンポーネント11に送信する。
さらに,貸出元の保存コンポーネント11は,貸出コンポーネント24から受信した更新転送メッセージを検査した上で,HDD111に保存されている貸出元ライセンス307を,更新転送メッセージに含まれる更新された貸出元ライセンス307に書き換える。その後,貸出元の保存コンポーネント11は,更新された貸出元ライセンス307およびコンテンツ鍵を含む更新完了メッセージ(伝送タイプ:「更新3」,伝送元のコンポーネント属性:「保存」)を作成し,貸出コンポーネント24に送信する。
次いで,貸出コンポーネント24は,保存コンポーネント11から受信した更新完了メッセージを検査した上で,貸出元ライセンス307に基づいて貸出用ライセンス308を作成する。この貸出元ライセンス308は,貸出元ライセンス307から抽出された貸出条件,再生条件および保存条件等と,新たに生成された返却条件とが記述されたライセンスである(図12参照)。次いで,貸出コンポーネント24は,作成した貸出用ライセンス308とコンテンツ鍵を含む転送メッセージ(伝送タイプ:「転送」,伝送元のコンポーネント属性:「利用」)を作成し,貸出先の保存コンポーネント12に送信する。
次いで,貸出先の保存コンポーネント12は,貸出コンポーネント24から受信した転送メッセージを検査した上で,この転送メッセージに含まれる貸出用ライセンス308を評価して,リムーバブル記憶媒体40に対する貸出用ライセンス308およびコンテンツ鍵の保存の可否を判断する。この結果,保存可能であると判断した場合には,貸出先の保存コンポーネント12は,リムーバブル記憶媒体40に貸出用ライセンス308およびコンテンツ鍵を書き込んで保存する。
このように,貸出先と貸出元の保存コンポーネント11,12と貸出コンポーネント24との間で更新メッセージおよび転送メッセージを授受することで,貸出元の記憶手段であるHDD111から,貸出先の記憶手段であるリムーバブル記憶媒体40に,貸出用ライセンス308およびコンテンツ鍵を貸し出すことができる。なお,上記更新要求メッセージは第1のメッセージに該当し,上記転送メッセージは第2のメッセージに該当し,上記更新転送メッセージは第3のメッセージに該当する。
また,貸出コンポーネント24は,更新した貸出元ライセンス307と貸出用ライセンス308に,同一の貸出IDを記述しておくことにより,貸出元ライセンス307と貸出用ライセンス308とを関連付ける。これによって,後述するライセンス返却処理を好適に実行できるようになる。
また,上述した図27の移動処理と同様に,各種の機器に貸出コンポーネント24および貸出元および貸出先の保存コンポーネント11,12を分散配置し,これらのコンポーネント間で,更新及び転送メッセージを授受することによって,上記各種の機器間で,ライセンスの貸出条件を満たす範囲内で,貸出用ライセンスおよびコンテンツ鍵を貸し出すことができる。
次に,図32AおよびBに基づいて,本実施形態にかかるライセンス貸出方法の処理フローについて詳細に説明する。なお,図32AおよびBは,本実施形態にかかるライセンス貸出方法の処理フローを示すタイミングチャートである。
図32に示すように,まず,アプリケーション4は,ユーザから,ユーザによって指定されたコンテンツの貸出要求を受け付ける(ステップS502)。次いで,アプリケーション4は,貸出要求を受けたコンテンツのコンテンツファイルから,コンテンツIDを抽出する(ステップS504)。さらに,アプリケーション4は,コンポーネント管理部5に貸出制御指示情報を送信して,貸出要求を受けたコンテンツの貸出制御,即ち,当該コンテンツに対応するライセンスおよびコンテンツ鍵の貸出制御を行うよう指示する(ステップS506)。この貸出制御指示情報は,例えば,上記コンテンツIDと,コンテンツ利用内容が「貸出」であることを表す利用内容情報と,コンテンツおよびライセンスの貸出元の記憶手段(第1の記憶手段)および貸出先の記憶手段(第2の記憶手段)を指定する情報とを含む。
次いで,コンポーネント管理部5は,例えば,アプリケーション4から受信した上記貸出制御指示情報に基づいて,ロード(起動)対象のライセンス処理コンポーネントを決定する(ステップS508)。例えば,コンポーネント管理部5は,ロード対象のコンポーネントを,貸出コンポーネント24と,上記貸出制御指示情報によって指定された貸出元の記憶手段に対応する保存コンポーネント11(以下,「貸出元の保存コンポーネント11」)と,当該指定された貸出先の記憶手段に対応する保存コンポーネント12(以下,「貸出先の保存コンポーネント12」)とに決定する。なお,このロード対象決定処理では,コンポーネント管理部5は,例えば,上記図23のステップS108〜S114と同様にして,貸出要求を受けたコンテンツに対応するライセンスおよびコンテンツ鍵を保存している保存コンポーネントをコンテンツIDに基づき検索して,ロード対象に決定してもよい。
さらに,コンポーネント管理部5は,上記決定されたロード対象の保存コンポーネント11,12および貸出コンポーネント24に対してロード指示を行い,これらのコンポーネントを起動させる(ステップS510)。この結果,貸出元の保存コンポーネント11と貸出コンポーネント24,並びに,貸出コンポーネント24と貸出先の保存コンポーネント12とは,相互認証を行い,双方の間に安全な通信経路,例えばSACを形成する(ステップS512)。
さらに,コンポーネント管理部5は,貸出元の保存コンポーネント11に,更新要求メッセージの作成を指示する(ステップS514)。具体的には,このメッセージ作成指示は,貸出元の保存コンポーネント11に対して,上記アプリケーション4から受信したコンテンツIDと,伝送タイプ指示情報とを送信することによってなされる。本処理フローでは,貸出元ライセンスの更新を伴う貸出処理を行うので,上記伝送タイプ指示情報は,伝送タイプ「更新1」を表す情報である。かかるメッセージ作成指示によって,コンポーネント管理部5は,上記コンテンツIDに対応する貸出元ライセンスの写本を貸出コンポーネント24に伝送するよう,貸出元の保存コンポーネント11に対して指示することができる。
次いで,貸出元の保存コンポーネント11は,上記メッセージ作成指示に応じて,上記コンテンツIDに対応する貸出元ライセンスおよびコンテンツ鍵を伝送するための更新要求メッセージ(第1のメッセージ)を作成する(ステップS516)。具体的には,貸出元の保存コンポーネント11は,自身に対応する貸出元の記憶手段(HDD111等)から,上記コンテンツIDに対応する貸出元ライセンスおよびコンテンツ鍵を読み出す。さらに,貸出元の保存コンポーネント11は,このように読み出した貸出元ライセンスおよびコンテンツ鍵と,上記コンポーネント管理部5から指示された伝送タイプである「更新1」を表す伝送タイプID「0x03」と,貸出元の保存コンポーネント11自身の属性である「保存」を表すコンポーネント属性ID「0x01」とを連結して,更新要求メッセージを作成する。
その後,貸出元の保存コンポーネント11は,上記ステップS516で作成した更新要求メッセージを貸出コンポーネント24に送信する(ステップS518)。これに応じて,貸出コンポーネント24は,貸出元の保存コンポーネント11から上記更新要求メッセージを受信する。このように,更新要求メッセージの送信処理(S518)では,貸出元の保存コンポーネント11が上記伝送元コンポーネント31に相当し,貸出コンポーネント24が上記伝送先コンポーネント32に相当する。
次いで,貸出コンポーネント24は,貸出元の保存コンポーネント11から受信した更新要求メッセージの正当性を検査する(ステップS520)。この更新要求メッセージの正当性検査処理では,上記更新要求メッセージから取り出した伝送タイプIDが,伝送タイプ「更新1」を表す「0x03」であり,かつ,上記更新要求メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「保存」を表す「0x01」であることが検査される。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記更新要求メッセージが正当であると判断した場合には,貸出コンポーネント24は,上記更新要求メッセージから取り出した貸出元ライセンスの処理を許可し,ステップS522に進む。一方,上記更新要求メッセージが不当であると判断した場合には,貸出コンポーネント24は,当該貸出元ライセンスの処理を禁止し,貸出処理が終了する。
さらに,貸出コンポーネント24は,上記更新要求メッセージから取り出した貸出元ライセンスを評価して,当該貸出元ライセンスおよびコンテンツ鍵の貸出の可否を判断する(ステップS522)。この貸出元ライセンス評価処理では,貸出コンポーネント24は,上述したように,当該貸出元ライセンスの貸出条件記述部524に記述された貸出条件を評価し,貸出条件を満たすか否かを判断する。この貸出条件評価処理では,例えば,貸出回数制限または貸出有効期限などの貸出条件が評価され,必要に応じて,貸出条件記述部524に記述された貸出ステータスが参照される。
このような評価の結果,貸出条件を満たさないと判断した場合には,貸出コンポーネント24は,上記更新要求メッセージから取り出した貸出元ライセンスおよびコンテンツ鍵の貸出を禁止し,アプリケーション4に対しその旨の通知を行う(図示せず。)。一方,貸出条件を満たすと判断した場合には,貸出コンポーネント24は,上記更新要求メッセージから取り出した貸出元ライセンスおよびコンテンツ鍵の貸出を許可し,ステップS524に進む。
次いで,貸出コンポーネント24は,上記貸出元ライセンスの貸出許可に応じて,貸出元IDを新規生成する(ステップS524)。この貸出IDは,貸出処理単位で生成される固有の識別子である。
さらに,貸出コンポーネント24は,上記貸出元ライセンスの貸出許可に応じて,貸出元ライセンスの貸出ステータスを更新する(ステップS526)。具体的には,貸出コンポーネント24は,上記生成した貸出IDを,当該貸出元ライセンスの貸出条件記述部524内の貸出ステータスに追加記述する。また,例えば,貸出回数制御を行う場合には,貸出コンポーネント24は,上記1回の貸出許可に応じて貸出済み回数を1つ増加させるように,上記貸出ステータスを書き換える。
次いで,貸出コンポーネント24は,上記更新要求メッセージに応答するため,上記貸出ステータスが更新された貸出元ライセンス(以下,「更新貸出元ライセンス」という。)およびコンテンツ鍵を伝送するための更新伝送メッセージ(第3のメッセージ)を作成する(ステップS528)。具体的には,貸出コンポーネント24は,上記更新貸出元ライセンスと,上記更新要求メッセージから取り出したコンテンツ鍵と,更新されたライセンスの転送を意味する伝送タイプである「更新2」を表す伝送タイプID「0x04」と,貸出コンポーネント24自身の属性である「利用」を表すコンポーネント属性ID「0x02」とを連結して,更新転送メッセージを作成する。
さらに,貸出コンポーネント24は,このように作成した更新転送メッセージを貸出元の保存コンポーネント11に送信する(ステップS530)。これに応じて,貸出元の保存コンポーネント11は,貸出コンポーネント24から上記更新転送メッセージを受信する。このように,更新転送メッセージの送信処理(S530)では,貸出コンポーネント24が上記伝送元コンポーネント31に相当し,貸出元の保存コンポーネント11が上記伝送先コンポーネント32に相当する。
その後,貸出元の保存コンポーネント11は,貸出コンポーネント24から受信した更新転送メッセージの正当性を検査する(ステップS532)。この更新転送メッセージの正当性検査処理では,上記更新転送メッセージから取り出した伝送タイプIDが,伝送タイプ「更新2」を表す「0x04」であり,かつ,上記更新転送メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「利用」を表す「0x02」であることを検査する。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記更新転送メッセージが正当であると判断した場合には,貸出元の保存コンポーネント11は,上記更新転送メッセージから取り出した更新貸出元ライセンスの保存を許可し,ステップS534に進む。一方,上記更新転送メッセージが不当であると判断した場合には,貸出元の保存コンポーネント11は,当該更新貸出元ライセンスの処理を禁止し,貸出処理が終了する。
次いで,貸出元の保存コンポーネント11は,貸出元の記憶手段に保存されている貸出元ライセンスを更新する(ステップS534)。具体的には,貸出元の保存コンポーネント11は,貸出元の記憶手段(HDD111等)に保存されている貸出元ライセンス(上記更新要求メッセージで送信した更新前の貸出元ライセンス)を,上記更新転送メッセージから取り出した更新貸出元ライセンスに書き換える。
さらに,貸出元の保存コンポーネント11は,上記更新転送メッセージに応答するため,上記貸出元ライセンスの更新完了を通知するための更新完了メッセージを作成する(ステップS536)。具体的には,貸出元の保存コンポーネント11は,貸出元の記憶手段から,上記更新貸出元ライセンスおよびコンテンツ鍵を読み出す。さらに,貸出元の保存コンポーネント11は,読み出した更新貸出元ライセンスおよびコンテンツ鍵と,ライセンスの更新完了通知を意味する伝送タイプである「更新3」を表す伝送タイプID「0x05」と,貸出元の保存コンポーネント11自身の属性である「保存」を表すコンポーネント属性ID「0x01」とを連結して,更新完了メッセージを作成する。
次いで,貸出元の保存コンポーネント11は,このように作成した更新完了メッセージを貸出コンポーネント24に送信する(ステップS538)。これに応じて,貸出コンポーネント24は,貸出元の保存コンポーネント11から上記更新完了メッセージを受信する。このように,更新完了メッセージの送信処理(S538)では,貸出元の保存コンポーネント11が上記伝送元コンポーネント31に相当し,貸出コンポーネント24が上記伝送先コンポーネント32に相当する。
その後,貸出コンポーネント24は,貸出元の保存コンポーネント11から受信した更新完了メッセージの正当性を検査する(ステップS540)。この更新完了メッセージの正当性検査処理では,上記更新完了メッセージから取り出した伝送タイプIDが,伝送タイプ「更新3」を表す「0x05」であり,かつ,上記更新完了メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「保存」を表す「0x01」であることを検査する。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記更新完了メッセージが不当であると判断した場合には,貸出コンポーネント24は,貸出元ライセンスの更新が実行されたことを確認できないため,上記貸出要求を受けたコンテンツの貸出を禁止し,貸出処理が終了する。
一方,上記更新完了メッセージが正当であると判断した場合には,貸出コンポーネント24は,更新貸出元ライセンスに基づいて,貸出用ライセンスを作成する(ステップS544)。
具合的には,まず,貸出コンポーネント24は,例えば,更新貸出元ライセンスから,コンテンツID等が記述されたライセンス記述部501と,再生条件記述部521と,保存条件記述部511とを取り出して,貸出用ライセンスのベースを作成する。この際,再生条件記述部521または保存条件記述部511の取り出しに失敗した場合には,貸出処理が終了となる。次いで,貸出コンポーネント24は,貸出用ライセンスの返却条件を記述した返却条件記述部524を新たに生成し,この返却条件記述部524を上記貸出用ライセンスのベースに追加記述して,貸出用ライセンスとする。さらに,貸出コンポーネント24は,返却条件記述部524の返却ステータスに,上記ステップS524で生成した貸出IDを追加して,貸出用ライセンスの作成が完了する。
次いで,貸出コンポーネント24は,上記貸出用ライセンスおよびコンテンツ鍵を転送するための転送メッセージ(第2のメッセージ)を作成する(ステップS546)。具体的には,貸出コンポーネント24は,上記作成された貸出用ライセンスと,上記更新完了メッセージから取り出したコンテンツ鍵と,伝送タイプ「転送」を表す伝送タイプID「0x01」と,貸出コンポーネント24自身の属性である「利用」を表すコンポーネント属性ID「0x02」とを連結して,転送メッセージを作成する。
さらに,貸出コンポーネント24は,このように作成した転送メッセージを,貸出先の保存コンポーネント12に送信する(ステップS546)。これに応じて,貸出先の保存コンポーネント12は,貸出コンポーネント24から上記転送メッセージを受信する。このように,転送メッセージの送信処理(S546)では,貸出コンポーネント24が上記伝送元コンポーネント31に相当し,貸出先の保存コンポーネント12が上記伝送先コンポーネント32に相当する。
その後,貸出先の保存コンポーネント12は,貸出コンポーネント24から受信した転送メッセージの正当性を検査する(ステップS548)。この転送メッセージの正当性検査処理では,上記転送メッセージから取り出した伝送タイプIDが,伝送タイプ「転送」を表す「0x01」であり,かつ,上記転送メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「利用」を表す「0x02」であることを検査する。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記転送メッセージが正当であると判断した場合には,貸出先の保存コンポーネント12は,上記転送メッセージから取り出した貸出用ライセンスの処理を許可し,ステップS534に進む。一方,上記転送メッセージが不当であると判断した場合には,貸出先の保存コンポーネント12は,当該貸出用ライセンスの処理を禁止し,貸出処理が終了する。
次いで,貸出先の保存コンポーネント12は,上記転送メッセージから取り出した貸出用ライセンスを評価して,貸出先である第2の記憶手段(例えばリムーバブル記憶媒体40等)に対する当該貸出用ライセンスおよびコンテンツ鍵の保存の可否を判断する(ステップS550)。この貸出用ライセンス評価処理では,貸出先の保存コンポーネント12は,上述したように,当該貸出用ライセンスの保存条件記述部511に記述された保存条件を評価し,保存条件を満たすか否かを判断する。この保存条件評価処理では,例えば,保存回数制限または保存有効期限などの保存条件が評価され,必要に応じて,保存条件記述部511に記述された保存ステータスが参照される。
この評価の結果,保存条件を満たさないと判断した場合には,貸出先の保存コンポーネント12は,上記転送メッセージから取り出した貸出用ライセンスの保存を禁止し,中断シーケンスを実行する。
一方,保存条件を満たすと判断した場合には,貸出先の保存コンポーネント12は,上記転送メッセージから取り出した貸出用ライセンスおよびコンテンツ鍵の保存を許可するとともに,必要に応じて,当該貸出用ライセンスの保存ステータスを更新する。具体的には,例えば,保存回数制御を行う場合に,貸出先の保存コンポーネント12は,上記1回の保存許可に応じて保存済み回数を1つ増加させるように保存ステータスを書き換える。
その後,貸出先の保存コンポーネント12は,上記貸出先の記憶手段に対して,上記保存が許可された貸出用ライセンスおよびコンテンツ鍵を書き込んで保存する(ステップS552)。
以上のようにして,貸出要求を受けたコンテンツに対応するライセンスおよびコンテンツ鍵が,貸出元の記憶手段(第1の記憶手段)から貸出先の記憶手段(第2の記憶手段)に貸出される。このようにライセンス等の貸出が完了した場合には,例えば,貸出先の保存コンポーネント12は,コンポーネント管理部5に貸出完了通知を送信し(ステップS554),コンポーネント管理部5は,この貸出完了通知の受信に応じて,アプリケーション4にコンテンツ貸出許可を通知する(ステップS556)。
この結果,アプリケーション4は,コンポーネント管理部5から受信したコンテンツ貸出許可の通知に応じて,上記貸出要求を受けたコンテンツを,貸出元の記憶手段から貸出先の記憶手段に貸し出す(ステップS558)。具体的には,アプリケーション4は,例えば,貸出元の記憶手段に保存されている当該コンテンツを読み出して,貸出先の記憶手段に書き込んで保存する。
以上,本実施形態にかかるライセンス貸出方法の処理フローについて説明した。かかるライセンス貸出方法によれば,貸出元および貸出先の保存コンポーネント11,12と貸出コンポーネント24との間で,ライセンスおよびコンテンツIDを含むメッセージを授受して,ライセンスおよびコンテンツの貸出を好適に制御することができる。このとき,メッセージの受信側のコンポーネントによって,受信したメッセージの正当性を毎回検査するので,ライセンス等の不正な伝送を防止できる。
さらに,コンテンツおよびライセンスのフォーマットと,当該ライセンスの伝送プロトコルと,コンポーネントの基本機能とが標準化されているので,異なる実装の著作権管理部3を備えたユーザ機器10間においても,ライセンスをポータブルに授受して,ライセンスおよびコンテンツの貸出を好適に制御できる。特に,ネットワーク30を介して接続され物理的に離隔したユーザ機器10間で,各ユーザ機器10の著作権管理部3の実装に依存せず,ライセンスおよびコンテンツを好適に貸出できるという利点がある。従って,各種のユーザ機器10間におけるコンテンツのポータビリティを向上させ,ユーザの利便性を向上できる。
<13.ライセンス返却方法>
次に,本実施形態にかかるライセンス返却方法について説明する。このライセンス返却方法は,複数の記憶手段間におけるコンテンツの返却を制御するため,2つの保存コンポーネント1と返却コンポーネント25とを用いて,貸出先である第2の記憶手段に保存されている貸出用ライセンスを削除するとともに,貸出元である第1の記憶手段に保存されている貸出元ライセンスを更新して,貸出用ライセンスを貸出元の第1の記憶手段に返却する方法である。この返却処理は,SDMIにおけるチェックイン処理に相当する。
まず,図33に基づいて,本実施形態にかかるライセンス返却方法の概要について説明する。図33は,本実施形態にかかるPC10a内の2つの記憶手段間におけるライセンス返却方法の概要を示す説明図である。
図33に示すように,PC10aは,返却コンポーネント25と,貸出元(返却先)である第1の記憶手段の一例であるHDD111用の保存コンポーネント11(第1の保存コンポーネント)と,貸出先(返却元)である第2の記憶手段の一例であるリムーバブル記憶媒体40用の保存コンポーネント12(第2の保存コンポーネント)とを具備している。
このようなPC10aは,貸出先の保存コンポーネント12から返却コンポーネント25に転送メッセージを送信することにより,上記貸出用ライセンス308をリムーバブル記憶媒体40から削除し,また,貸出元の保存コンポーネント11と返却コンポーネント25との間で,更新メッセージを送受信することにより,貸出元のHDD111に保存されている貸出元ライセンス307を更新して,貸出用ライセンス308をHDD111に返却することができる。
具体的には,まず,貸出先の保存コンポーネント12は,リムーバブル記憶媒体40に保存されている返却対象の貸出用ライセンス308およびコンテンツ鍵を読み出して,転送メッセージ(伝送タイプ:「転送」,伝送元のコンポーネント属性:「保存」)を作成し,返却コンポーネント25に送信する。このとき,保存コンポーネント12は,リムーバブル記憶媒体40から,貸出用ライセンス308およびコンテンツ鍵を削除する。
一方,貸出元の保存コンポーネント11は,HDD111に保存されている貸出元ライセンス307およびコンテンツ鍵を読み出して,更新要求メッセージ(伝送タイプ:「更新1」,伝送元のコンポーネント属性:「保存」)を作成し,返却コンポーネント25に送信する。なお,この貸出元ライセンス307は,上記返却対象の貸出用ライセンス308に対応するライセンスであり,双方のライセンス307,308は同一の貸出IDが記述され,関連付けられている。
次いで,返却コンポーネント25は,貸出先の保存コンポーネント12から受信した転送メッセージと,貸出元の保存コンポーネント11から受信した更新要求メッセージとを検査した上で,転送メッセージから取り出した貸出用ライセンス308を評価して,当該貸出元ライセンス308およびコンテンツ鍵の返却可否を判断する。この結果,返却可能と判断した場合には,返却コンポーネント25は,更新要求メッセージから取り出した貸出元ライセンス307の貸出ステータスを更新し,この更新された貸出元ライセンスとコンテンツ鍵を含む更新転送メッセージ(伝送タイプ:「更新2」,伝送元のコンポーネント属性:「利用」)を作成し,貸出元の保存コンポーネント11に送信する。
その後,貸出元の保存コンポーネント11は,返却コンポーネント25から受信した更新転送メッセージを検査した上で,HDD111に保存されている貸出元ライセンス307を,更新転送メッセージに含まれる更新された貸出元ライセンス307に書き換える。
このように,貸出先と貸出元の保存コンポーネント11,12と返却コンポーネント25との間で更新メッセージおよび転送メッセージを授受することで,貸出先の記憶手段であるリムーバブル記憶媒体40から,貸出元の記憶手段であるHDD111に,貸出用ライセンス308およびコンテンツ鍵を返却して,貸出元ライセンスの貸出可能回数を1加算することができる。なお,上記更新要求メッセージは第1のメッセージに該当し,上記転送メッセージは第2のメッセージに該当し,上記更新転送メッセージは第3のメッセージに該当する。また,返却コンポーネント25は,貸出IDに基づいて貸出元ライセンス307と貸出用ライセンス308を照合することによって,貸出用ライセンスを適正な貸出元の記憶手段に返却できる。
次に,図34に基づいて,本実施形態にかかるライセンス返却方法の処理フローについて詳細に説明する。なお,図34は,本実施形態にかかるライセンス返却方法の処理フローを示すタイミングチャートである。
図34に示すように,まず,アプリケーション4は,ユーザから,ユーザによって指定されたコンテンツの返却要求を受け付ける(ステップS602)。次いで,アプリケーション4は,返却要求を受けたコンテンツのコンテンツファイルから,コンテンツIDを抽出する(ステップS604)。さらに,アプリケーション4は,コンポーネント管理部5に返却制御指示情報を送信して,返却要求を受けたコンテンツの返却制御,即ち,当該コンテンツに対応するライセンスおよびコンテンツ鍵の返却制御を行うよう指示する(ステップS606)。この返却制御指示情報は,例えば,上記コンテンツIDと,コンテンツ利用内容が「返却」であることを表す利用内容情報と,コンテンツおよびライセンスの貸出元の記憶手段(第1の記憶手段)および貸出先の記憶手段(第2の記憶手段)を指定する情報とを含む。
次いで,コンポーネント管理部5は,例えば,アプリケーション4から受信した上記返却制御指示情報に基づいて,ロード(起動)対象のライセンス処理コンポーネントを決定する(ステップS608)。例えば,コンポーネント管理部5は,ロード対象のコンポーネントを,返却コンポーネント25と,上記返却制御指示情報によって指定された貸出元の記憶手段に対応する保存コンポーネント11(以下,「貸出元の保存コンポーネント11」)と,当該指定された貸出先の記憶手段に対応する保存コンポーネント12(以下,「貸出先の保存コンポーネント12」)とに決定する。なお,このロード対象決定処理では,コンポーネント管理部5は,例えば,上記図23のステップS108〜S114と同様にして,返却要求を受けたコンテンツに対応するライセンスおよびコンテンツ鍵を保存している保存コンポーネントをコンテンツIDに基づき検索して,ロード対象に決定してもよい。
さらに,コンポーネント管理部5は,上記決定されたロード対象の保存コンポーネント11,12および返却コンポーネント25に対してロード指示を行い,これらのコンポーネントを起動させる(ステップS610)。この結果,貸出元の保存コンポーネント11と返却コンポーネント25,並びに,返却コンポーネント25と貸出先の保存コンポーネント12とは,相互認証を行い,双方の間に安全な通信経路,例えばSACを形成する(ステップS612)。
さらに,コンポーネント管理部5は,貸出先の保存コンポーネント12に,第1のメッセージ作成指示を送信して,転送メッセージの作成を指示する(ステップS614)。具体的には,この第1のメッセージ作成指示は,貸出先の保存コンポーネント12に対して,上記アプリケーション4から受信したコンテンツIDと,伝送タイプ指示情報とを送信することによってなされる。本ステップでは,貸出用ライセンスを返却するための転送を指示するので,上記伝送タイプ指示情報は,伝送タイプ「転送」を表す情報である。かかる第1のメッセージ作成指示によって,コンポーネント管理部5は,上記コンテンツIDに対応する貸出用ライセンスの原本を返却コンポーネント25に伝送するよう,貸出先の保存コンポーネント12に対して指示することができる。
次いで,貸出先の保存コンポーネント12は,上記第1のメッセージ作成指示に応じて,上記コンテンツIDに対応する貸出用ライセンスおよびコンテンツ鍵を伝送するための転送メッセージ(第2のメッセージ)を作成する(ステップS616)。具体的には,貸出先の保存コンポーネント12は,自身に対応する貸出先の記憶手段(リムーバブル記憶媒体40等)から,上記コンテンツIDに対応する貸出用ライセンスおよびコンテンツ鍵を読み出す。さらに,貸出先の保存コンポーネント12は,このように読み出した貸出用ライセンスおよびコンテンツ鍵と,上記コンポーネント管理部5から指示された伝送タイプである「転送」を表す伝送タイプID「0x01」と,貸出先の保存コンポーネント12自身の属性である「保存」を表すコンポーネント属性ID「0x01」とを連結して,転送メッセージを作成する。
さらに,貸出先の保存コンポーネント12は,貸出先の記憶手段に保存されている上記貸出用ライセンスおよびコンテンツ鍵を無効化(例えば削除)する(ステップS618)。このように,次のステップS620での転送メッセージの送信前に,貸出先の記憶手段内のライセンス等を無効化することによって,例えば,不正ユーザが,転送メッセージの送信後に不正な手段によりライセンス等の無効化処理を妨害して,貸出先の記憶手段にライセンス等が残存してしまうことを防止できる。
その後,貸出先の保存コンポーネント12は,上記ステップS616で作成した転送メッセージを返却コンポーネント25に送信する(ステップS620)。これに応じて,返却コンポーネント25は,貸出先の保存コンポーネント12から上記転送メッセージを受信する。このように,転送メッセージの送信処理(S620)では,貸出先の保存コンポーネント12が上記伝送元コンポーネント31に相当し,返却コンポーネント25が上記伝送先コンポーネント32に相当する。
次いで,返却コンポーネント25は,貸出先の保存コンポーネント12から受信した転送メッセージの正当性を検査する(ステップS622)。この転送メッセージの正当性検査処理では,上記転送メッセージから取り出した伝送タイプIDが,伝送タイプ「転送」を表す「0x01」であり,かつ,上記転送メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「保存」を表す「0x01」であることが検査される。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記転送メッセージが正当であると判断した場合には,返却コンポーネント25は,上記転送メッセージから取り出した貸出用ライセンスの処理を許可し,ステップS624に進む。この場合,例えば,返却コンポーネント25は,コンポーネント管理部5に,貸出用ライセンス回収完了通知を行ってもよい。一方,上記転送メッセージが不当であると判断した場合には,返却コンポーネント25は,当該貸出用ライセンスの処理を禁止し,返却処理が終了する。
次いで,返却コンポーネント25は,上記転送メッセージから取り出した貸出用ライセンスを評価して,当該貸出用ライセンスおよびコンテンツ鍵の返却の可否を判断する(ステップS632)。この貸出用ライセンス評価処理では,返却コンポーネント25は,上述したように,当該貸出用ライセンスの返却条件記述部525に記述された返却条件を評価し,返却条件を満たすか否かを判断する。この返却条件評価処理では,例えば,返却有効期限などの返却条件が評価され,必要に応じて,返却条件記述部524に記述された返却ステータスが参照される。
このような評価の結果,返却条件を満たさないと判断した場合には,返却コンポーネント25は,上記転送メッセージから取り出した貸出用ライセンスおよびコンテンツ鍵の返却を禁止し,中断シーケンスを実行する。一方,返却条件を満たすと判断した場合には,返却コンポーネント25は,上記転送メッセージから取り出した貸出用ライセンスおよびコンテンツ鍵の返却を許可し,ステップS626に進む。
次いで,コンポーネント管理部5は,第2のメッセージ作成指示によって,貸出元の保存コンポーネント11に,更新要求メッセージの作成を指示する(ステップS626)。具体的には,この第2のメッセージ作成指示は,貸出元の保存コンポーネント11に対して,上記アプリケーション4から受信したコンテンツIDと,伝送タイプ指示情報とを送信することによってなされる。本ステップでは,貸出元ライセンスの更新を伴う伝送を指示するので,上記伝送タイプ指示情報は,伝送タイプ「更新1」を表す情報である。かかる第2のメッセージ作成指示によって,コンポーネント管理部5は,上記コンテンツIDに対応する貸出元ライセンスの写本を返却コンポーネント25に伝送するよう,貸出元の保存コンポーネント11に対して指示することができる。
さらに,貸出元の保存コンポーネント11は,上記第2のメッセージ作成指示に応じて,上記コンテンツIDに対応する貸出元ライセンスおよびコンテンツ鍵を伝送するための更新要求メッセージ(第1のメッセージ)を作成する(ステップS628)。具体的には,貸出元の保存コンポーネント11は,自身に対応する貸出元の記憶手段(HDD111等)から,上記コンテンツIDに対応する貸出元ライセンスおよびコンテンツ鍵を読み出す。さらに,貸出元の保存コンポーネント11は,このように読み出した貸出元ライセンスおよびコンテンツ鍵と,上記コンポーネント管理部5から指示された伝送タイプである「更新1」を表す伝送タイプID「0x03」と,貸出元の保存コンポーネント11自身の属性である「保存」を表すコンポーネント属性ID「0x01」とを連結して,更新要求メッセージを作成する。
その後,貸出元の保存コンポーネント11は,上記ステップS628で作成した更新要求メッセージを返却コンポーネント25に送信する(ステップS630)。これに応じて,返却コンポーネント25は,貸出元の保存コンポーネント11から上記更新要求メッセージを受信する。このように,更新要求メッセージの送信処理(S630)では,貸出元の保存コンポーネント11が上記伝送元コンポーネント31に相当し,返却コンポーネント25が上記伝送先コンポーネント32に相当する。
次いで,返却コンポーネント25は,貸出元の保存コンポーネント11から受信した更新要求メッセージの正当性を検査する(ステップS632)。この更新要求メッセージの正当性検査処理では,上記更新要求メッセージから取り出した伝送タイプIDが,伝送タイプ「更新1」を表す「0x03」であり,かつ,上記更新要求メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「保存」を表す「0x01」であることが検査される。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記更新要求メッセージが正当であると判断した場合には,返却コンポーネント25は,上記更新要求メッセージから取り出した貸出元ライセンスの処理を許可し,ステップS622に進む。一方,上記更新要求メッセージが不当であると判断した場合には,返却コンポーネント25は,当該貸出元ライセンスの処理を禁止し,返却処理が終了する。
なお,この図34の処理フロー例では,ステップS614〜S624を,ステップS626〜S632よりも前に行ったが,かかる例に限定されず,例えば,ステップS614〜S624を,ステップS626〜S632よりも後に行ってもよい。
次いで,返却コンポーネント25は,上記貸出用ライセンスの返却条件記述部525の返却ステータスに記述されている貸出IDと,上記貸出元ライセンスの貸出条件記述部524の貸出ステータスに記述されている貸出IDとを照合し,双方の貸出IDが一致することを確認する(ステップS634)。この結果,双方の貸出IDが一致する場合には,返却処理が続行され,ステップS636に進む。一方,双方の貸出IDが一致しない場合には,返却処理が中止される。この貸出IDの照合処理により,貸出用ライセンスと貸出元ライセンスとが対応していない場合に,誤って返却処理がなされることを防止できる。
さらに,返却コンポーネント25は,上記貸出元ライセンスの返却許可に応じて,貸出元ライセンスの貸出ステータスを更新する(ステップS636)。具体的には,返却コンポーネント25は,上記貸出元ライセンスの貸出ステータスに記述されている貸出IDを削除する。また,例えば,貸出回数制御が行われている場合には,返却コンポーネント25は,上記貸出元ライセンスの貸出ステータスに記述されている貸出済み回数を1つ減少させる(或いは,貸出可能回数を1つ増加させる)ように,貸出ステータスを書き換える。
次いで,返却コンポーネント25は,上記更新要求メッセージに応答するため,上記ステップS636で貸出ステータスが更新された貸出元ライセンス(以下,「更新貸出元ライセンス」という。)およびコンテンツ鍵を伝送するための更新伝送メッセージ(第3のメッセージ)を作成する(ステップS638)。具体的には,返却コンポーネント25は,上記更新貸出元ライセンスと,上記更新要求メッセージから取り出したコンテンツ鍵と,更新されたライセンスの転送を意味する伝送タイプである「更新2」を表す伝送タイプID「0x04」と,返却コンポーネント25自身の属性である「利用」を表すコンポーネント属性ID「0x02」とを連結して,更新転送メッセージを作成する。
さらに,返却コンポーネント25は,このように作成した更新転送メッセージを貸出元の保存コンポーネント11に送信する(ステップS640)。これに応じて,貸出元の保存コンポーネント11は,返却コンポーネント25から上記更新転送メッセージを受信する。このように,更新転送メッセージの送信処理(S640)では,返却コンポーネント25が上記伝送元コンポーネント31に相当し,貸出元の保存コンポーネント11が上記伝送先コンポーネント32に相当する。
その後,貸出元の保存コンポーネント11は,返却コンポーネント25から受信した更新転送メッセージの正当性を検査する(ステップS642)。この更新転送メッセージの正当性検査処理では,上記更新転送メッセージから取り出した伝送タイプIDが,伝送タイプ「更新2」を表す「0x04」であり,かつ,上記更新転送メッセージから取り出したコンポーネント属性IDが,コンポーネント属性「利用」を表す「0x02」であることを検査する。この検査処理は,上記図20で説明したメッセージ検査処理と略同一な手順で実行されるので,詳細説明は省略する。このメッセージ検査の結果,上記更新転送メッセージが正当であると判断した場合には,貸出元の保存コンポーネント11は,上記更新転送メッセージから取り出した更新貸出元ライセンスの保存を許可し,ステップS644に進む。一方,上記更新転送メッセージが不当であると判断した場合には,貸出元の保存コンポーネント11は,当該更新貸出元ライセンスの処理を禁止し,返却処理が終了する。
次いで,貸出元の保存コンポーネント11は,貸出元の記憶手段に保存されている貸出元ライセンスを更新する(ステップS644)。具体的には,貸出元の保存コンポーネント11は,貸出元の記憶手段(HDD111等)に保存されている貸出元ライセンス(上記更新要求メッセージで送信した更新前の貸出元ライセンス)を,上記更新転送メッセージから取り出した更新貸出元ライセンスに書き換える。なお,図34に示す返却処理フロー例では,貸出元の保存コンポーネント11は,更新転送メッセージに応答して,返却コンポーネント25に更新完了メッセージを送信しないが,かかる例に限定されず,更新完了メッセージを送信してもよい。
以上のようにして,返却要求を受けたコンテンツに対応する貸出用ライセンスおよびコンテンツ鍵が,貸出先の記憶手段(第2の記憶手段)から貸出元の記憶手段(第1の記憶手段)に返却される。このようにライセンス等の返却が完了した場合には,例えば,貸出元の保存コンポーネント11は,コンポーネント管理部5に返却完了通知を送信し(ステップS646),コンポーネント管理部5は,この返却完了通知の受信に応じて,アプリケーション4にコンテンツ返却許可を通知する(ステップS648)。
この結果,アプリケーション4は,コンポーネント管理部5から受信したコンテンツ返却許可の通知に応じて,上記返却要求を受けたコンテンツを,貸出元の記憶手段から貸出先の記憶手段に返却する(ステップS650)。具体的には,アプリケーション4は,例えば,貸出先の記憶手段に保存されている当該コンテンツを削除する。
以上,本実施形態にかかるライセンス返却方法の処理フローについて説明した。かかるライセンス返却方法によれば,貸出元および貸出先の保存コンポーネント11,12と返却コンポーネント25との間で,ライセンスおよびコンテンツIDを含むメッセージを授受して,ライセンスおよびコンテンツの返却を好適に制御することができる。このとき,メッセージの受信側のコンポーネントによって,受信したメッセージの正当性を毎回検査するので,ライセンス等の不正な伝送を防止できる。
さらに,コンテンツおよびライセンスのフォーマットと,当該ライセンスの伝送プロトコルと,コンポーネントの基本機能とが標準化されているので,異なる実装の著作権管理部3を備えたユーザ機器10間においても,ライセンスをポータブルに授受して,ライセンスおよびコンテンツの返却を好適に制御できる。特に,ネットワーク30を介して接続され物理的に離隔したユーザ機器10間で,各ユーザ機器10の著作権管理部3の実装に依存せず,ライセンスおよびコンテンツを好適に返却できるという利点がある。従って,各種のユーザ機器10間におけるコンテンツのポータビリティを向上させ,ユーザの利便性を向上できる。
以上,本実施形態にかかる著作権管理システムおよびその構成要素,動作方法について詳細に説明した。著作権管理システムによれば,著作権管理部を基本機能ごとに部品化したライセンス処理コンポーネントのうち,少なくとも1つの保存コンポーネント1と,少なくとも1つの利用コンポーネント2を組み合わせて,かかるコンポーネント間でライセンスを授受することで,各利用形態(ユースケース)ごとに利用制限を実行できる。また,ライセンスは,上記利用形態ごとに利用条件が区分して記述され,記述方式が標準化されている。このため,かかるライセンスを,ネットワーク30を介して接続されたライセンス処理コンポーネント間でポータブルにやり取り可能である。従って,コンテンツの利用制御を実行するコンポーネントを,ネットワーク30で接続された複数のユーザ機器10に分散できる。
さらに,コンテンツ鍵の保護方式は,コンテンツ鍵の保護方式の基準をライセンス内に記述しておき,この基準を達成している保護方式の範囲内で,著作権管理部の実装にこだわらずに,コンテンツ鍵を変換配布する。これにより,異なる実装の著作権管理部3を有する複数の著作権管理システムを,ネットワーク30を介して接続して,これらの著作権管理システム間で,各々のライセンスおよびコンテンツをポータブルにやり取りして著作権管理を実行できるようになる。よって,ユーザの利便性とコンテンツ利用の自由度を向上させて,著作権管理システムの普及を促進させることができる。
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば,上記実施形態では,伝送タイプ属性情報,伝送元のコンポーネント属性情報,ライセンスおよびコンテンツ鍵は,1つのメッセージに含ませて同時に伝送したが,本発明は,かかる例に限定されず,これら4つのデータの関連づけがなされていれば,これらのデータを異なるタイミングで個別に送信してもよい。また,コンテンツ鍵は,必ずしも,ライセンスとともに伝送されなくてもよい。
また,利用コンポーネント2は,上述した再生コンポーネント等の例に限定されず,例えば,コンテンツの分割を制御する分割コンポーネント(Divide),コンテンツの結合を制御する結合コンポーネント(Combine),コンテンツ鍵を用いたコンテンツの変換を制御する変換コンポーネント(Convert),ライセンスを他の著作権管理方式や他の保存方式に応じて出力するエクスポートコンポーネント(Export)などであってもよい。