以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
(第1の実施形態)
<1.概要>
まず,本発明の第1の実施形態にかかる著作権管理システムの概要について説明する。
本実施形態にかかる著作権管理システムは,各ユーザが所有するコンテンツ処理装置におけるコンテンツの利用(特に,再生)を管理し,コンテンツの著作権を保護するためのシステムである。
具体的には,この著作権管理システムは,コンテンツのライセンスを設定することによって,正当ユーザ(コンテンツの著作権に対する正当な対価を支払ってライセンスを購入し,私的使用の範囲内での利用を行うユーザ)に対しては,比較的自由にコンテンツの利用を認める。一方で,インターネット等を通じたコンテンツの大量配布行為等といった違法利用を行うユーザや,正当な対価を支払わずにライセンスの範囲を越えてコンテンツを利用しようとするユーザに対しては,コンテンツの利用を厳しく制限する。
さらに,本実施形態にかかる著作権管理システムでは,コンテンツおよびライセンスを提供するサーバが,コンテンツの属性を表すコンテンツ属性IDを設定し,かかるコンテンツ属性IDをコンテンツおよびライセンスに付加する。さらに,かかるサーバは,コンテンツ処理装置に対して,リボーク対象のコンテンツを特定するコンテンツIDを含むリボークリストを配布し,コンテンツ処理装置は,このリボークリストに基づいてコンテンツの処理を制御する。このように,本実施形態にかかる著作権管理システムは,コンテンツ属性IDおよびリボークリストを採用して,システム内に流通するコンテンツを,コンテンツの属性単位でリボークすることを特徴としている。
なお,本実施形態にかかる「コンテンツ」は,例えば,音楽,講演,ラジオ番組等の音声(Audio)コンテンツや,映画,テレビジョン番組,ビデオプログラム,写真,絵画,図表等を構成する静止画若しくは動画からなる映像(Video)コンテンツ,この映像コンテンツと音声コンテンツを組み合わせたコンテンツ,電子図書(E−book),ゲーム,ソフトウェア(soft ware)などのあらゆるコンテンツを含む。また,「コンテンツデータ」は,上記各種のコンテンツの内容を表す例えばデジタルデータであり,例えば,映像データ,音声データ,文字データ(サブタイトルデータ),電子図書データ,電子ゲームデータ,ソフトウェアのデータなどである。以下の説明では,コンテンツとして,例えば,映画コンテンツ(例えば,映像データ,音声データ,サブタイトルデータからなる。)の例を挙げて説明するが,本発明はかかる例に限定されない。
以下に,上記のような特徴を具現するための第1の実施形態にかかる著作権管理システムについて詳述する。
<2.システム構成>
まず,図1に基づいて,本発明の第1の実施形態にかかる著作権管理システム100の全体構成について説明する。なお,図1は,本発明の第1の実施形態にかかる著作権管理システム100の全体構成を概略的に示すブロック図である。
図1に示すように,本実施形態にかかる著作権管理システム100は,例えば,複数のコンテンツ処理装置10−1,2,…,n(以下では「コンテンツ処理装置10」と総称する場合もある。)と,例えば1つのサーバ20と,これら装置を相互に接続するネットワーク5およびローカルライン9と,コンテンツ処理装置10間でやり取りされる記録媒体7と,から構成される。
コンテンツ処理装置10は,記録媒体7や内蔵されたストレージ装置に対して,コンテンツを記録/再生することが可能な各種の記録再生装置,記録専用装置または再生専用装置である。より具体的には,コンテンツ処理装置10は,例えば,パーソナルコンピュータ(PC)等のコンピュータ装置(ノート型,デスクトップ型を問わない。),PDA(Personal Digital Assistant),携帯型映像プレーヤ/レコーダ,MP3プレーヤ,ICプレーヤ/レコーダ等の携帯型音声プレーヤ/レコーダ,デジタルカメラ若しくはビデオレコーダ等の撮像装置,家庭用ゲーム機,VTR,CD,MD若しくはDVDレコーダ/プレーヤ,ラジオ装置,携帯電話,PHS,情報家電などで構成できる。
このコンテンツ処理装置10は,例えば,コンテンツ配信サービス用のソフトウェアをインストール可能な記録再生装置(例えば,PC等のコンピュータ装置)と,当該ソフトウェアをインストール不能な記録再生装置(例えば,DVDプレーヤ/レコーダ等の記録デバイス)および再生専用装置(例えば,再生専用のポータブルデバイス(PD)等)と,に分類される。
PC等のコンテンツ処理装置10は,サーバ20が配信したコンテンツや,サーバ20が発行した発行されたライセンス,サーバ20が作成したリボークリストなどを受信して,ストレージ装置や記録媒体7などの記録手段に記録することができる。
また,上記ソフトウェアをインストール不能な記録再生装置および再生専用装置(図1ではコンテンツ処理装置10−mとして表す。)は,ローカルライン9を介して,PC等のコンテンツ処理装置10にローカル接続可能である。このため,コンテンツ処理装置10−mは,PC等のコンテンツ処理装置10がネットワーク5を介して受信した配信コンテンツ,ライセンス,リボークリスト等を,ローカルライン9を介して取得可能である。なお,ローカルライン9は,例えば,例えばUSB(Univarsal Serial Bus)ケーブル,SCSI(Small Computer System Interface)ケーブル等の有線ケーブルなどで構成することができるが,無線接続であってもよい。
これらのコンテンツ処理装置10は,サーバからの配信コンテンツ等のコンテンツを,他のコンテンツ処理装置10との間で,ネットワーク5やローカルライン9を介して送受信する,或いは記録媒体7を介してやり取りすることができる。これにより,複数のコンテンツ処理装置10間でコンテンツデータを提供/取得して,コンテンツを共有できる。また,コンテンツ処理装置10間で,ライセンスを提供/取得することも可能である。
また,コンテンツ処理装置10は,後述するように。上記取得したリボークリストに基づいて,処理対象のコンテンツがリボーク対象のコンテンツで有るか否かを判断し,リボーク対象のコンテンツの処理を不能化することができる。
一方,サーバ20は,例えば,コンテンツ配信サービスを提供するサービスプロバイダなどが所有するサーバ装置である。このサーバ20は,サーバ機能を備えた1又は2以上のコンピュータ装置などで構成されている。
かかるサーバ20は,コンテンツ配信サービスを享受するユーザが所有するコンテンツ処理装置10に対して,ネットワーク5を介してコンテンツを配信する。このとき,例えば映画コンテンツ(動画データと,音声データ,サブタイトルデータを含む)を配信する場合には,例えば,当該コンテンツをMPEG−2,4,7方式等で圧縮し,暗号化して配信することができる。このサーバ20から配信されるコンテンツは,著作権保護されたコンテンツであり,具体的には,暗号化されたコンテンツデータに対して,当該コンテンツの属性情報やコンテンツ鍵を含むセキュリティ情報が付加されている。この著作権保護されたコンテンツの詳細については後述する。
また,このサーバ20は,コンテンツ処理装置10のユーザからの購入要求に応じて,コンテンツのライセンスを発行し,コンテンツ処理装置10に提供することができる。このライセンスは,コンテンツを利用するための利用権であり,コンテンツの属性単位(例えば後述するコンテンツID単位)で付与される。サーバ20は,例えば,ユーザ認証処理と,ライセンス内容に応じた金額の課金処理とが成されると,ライセンスを発行する。
さらに,このサーバ20は,特定のコンテンツに関してリボーク原因が発生した場合には,本実施形態にかかる特徴であるリボークリストを作成して,コンテンツ処理装置10に配布する。
コンテンツのリボークとは,上述したように,サーバ20から任意のコンテンツ処理装置10へのコンテンツの配布後に,ある特定のコンテンツの利用を排除すべき何らかの事由(リボーク原因)が発生した場合に,各コンテンツ処理装置10における当該コンテンツの利用を不能化(即ち,当該コンテンツのライセンスを無効化)することである。このリボーク原因としては,例えば,以下の(1)〜(3)の例が挙げられる。
(1)例えば,コンテンツの配布後に,コンテンツの内容の欠損,過誤や,データ欠陥など,コンテンツの不具合が発見された場合は,リボーク原因となる。具体的には,コンテンツの内容の欠損,過誤の例としては,映画コンテンツの映像の一部が欠落している場合や,映画内で誤った表現が使用されていた場合などである。また,データ欠陥の例としては,例えば,コンテンツのエンコード時に,コンテンツにノイズが混入してしまっていた場合等がある。
(2)また,コンテンツの配布後に,コンテンツの出演者に不祥事が生じた場合もリボーク原因となる。具体的には,映画コンテンツの主演俳優が不祥事を起こしたため,映像制作会社側が自主的に当該映画コンテンツを公開中止とするような場合などである。
(3)さらに,コンテンツの配布後に,コンテンツの制作者(映画製作会社等)や著作権者と,コンテンツ配信サービス提供者(サービスプロバイダ)との契約が変更され,特定のコンテンツに関する配信サービスを中止するような場合も,リボーク原因となる。
このようなリボーク原因が生じた場合には,サーバ20は,サーバ20の所有者(サービスプロバイダの管理者等)の入力に基づいて,上記リボークリストを作成して,配布する。このリボークリストは,リボーク対象のコンテンツの属性に対応するコンテンツ属性IDのリストであるが,詳細は後述する。
以上,サーバ20の主な機能構成について説明した。なお,サーバ20は,図1に示すように,ハードウェア的に1つのサーバ装置で構成されても良いし,或いは,上記サーバ20の各機能を分担する複数のサーバ装置(例えば,コンテンツを配信するコンテンツ提供サーバと,ライセンスを発行するライセンス発行サーバと,ライセンスの発行に応じた課金処理を行う課金サーバと,リボークリストを作成・配布するリボークリストサーバなど)から構成されても良い。
ネットワーク5は,複数のコンテンツ処理装置10およびサーバ20を双方向通信可能に接続する通信回線網である。このネットワーク5は,例えば,インターネット,電話回線網,衛星通信網等の公衆回線網や,WAN,LAN,IP−VPN等の専用回線網などで構成されており,有線・無線を問わない。
さらに,かかるネットワーク5は,私的ネットワークを含んでもよい。この私的ネットワークは,著作権管理の観点からみて,私的使用の範囲内でコンテンツデータを共有する複数のコンテンツ処理装置10を相互に接続するネットワークである。かかる私的ネットワークの具体例としては,例えば,同一ユーザによって使用される複数のコンテンツ処理装置10を接続するネットワークや,同一の家庭内で使用される複数のコンテンツ処理装置10を接続するホームネットワーク,小規模の限られたグループ(会社,友人等)内で使用される複数のコンテンツ処理装置10を接続するLANなどが挙げられる。
記録媒体7は,コンテンツデータ等の各種データを格納することが可能なリムーバブルメディアであり,例えば,DVD−R,DVD−RW,DVD−RAM,CD−R,CD−RW,光磁気ディスク等の各種の光ディスク3や,フレキシブルディスク,ハードディスク等の磁気ディスク,各種の半導体メモリなどである。なお,この記録媒体7は,例えば,暗号キー等を用いてコンテンツデータのコピーや再生等を制限する著作権管理機能付きの記録媒体であってもよい。
この記録媒体7は,コンテンツ処理装置10間における,コンテンツ,ライセンス,リボークリスト等の提供/取得媒体として機能する。例えば,コンテンツ処理装置10−1によってコンテンツが記録された記録媒体7を,コンテンツ処理装置10−2にローディングして当該コンテンツデータを読み出すことにより,コンテンツ処理装置10−1からコンテンツ処理装置10−2に対しコンテンツデータを提供することができる。さらに,コンテンツ処理装置10−1,2等は,ネットワーク5に接続不能なコンテンツ処理装置10−mとの間でも,記録媒体7を介してコンテンツ,ライセンス,リボークリスト等を提供/取得することも可能である。
以上のような構成の著作権管理システム100では,コンテンツ処理装置10は,サーバ20から配信されたコンテンツを,サーバ20が発行したライセンスに基づいて処理(再生処理,複製処理等)することができる。また,サーバ20は,リボーク理由が発生した場合には,リボーク対象のコンテンツに関するリボークリストを作成して配布し,コンテンツ処理装置10は,サーバ20から取得したリボークリストに基づいて,リボーク対象のコンテンツの処理を強制的に不能化する。これにより,サーバ20からコンテンツ処理装置10に既に提供されたコンテンツおよびそのライセンスのリボーク処理を,コンテンツの属性単位で実行できる。
以下に,かかる著作権管理システム100におけるコンテンツ,ライセンスおよびリボークリストの構成を説明した上で,著作権管理システム100を構成するコンテンツ処理装置10およびサーバ20について,それぞれ詳細に説明する。
<3.コンテンツの構成>
次に,図2および図3に基づいて,本実施形態にかかる著作権管理システム100におけるコンテンツの構成について説明する。なお,図2および図3は,本実施形態にかかる映画コンテンツの構成例を概念的に示す説明図である。
図2に示すように,1つのコンテンツファイルF内に1つの映画コンテンツCが含まれており,この映画コンテンツCは,例えば,映像トラックT1と,音声トラックT2と,サブタイトルトラックT3と,各トラックT1〜3に対応するセキュリティ情報S1〜3とから構成されている。
コンテンツファイルは,1又は2以上のコンテンツを含むファイルである。図2の例では,1つのコンテンツファイルF内に1つの映画コンテンツCが含まれている。
トラックTは,コンテンツの構成要素であり,コンテンツの実際の内容を表すデータであるコンテンツデータに対応する。1つのコンテンツを構成するトラックTの数は,コンテンツごとに異なるが,図2の例では,1つの映画コンテンツCは,3つのトラックT1〜3から構成されている。このうち,映像トラック(Video Track)T1は,映画の映像に相当する動画データである映像データを含む。また,音声トラック(Audio Track)T2は,映画の音声に相当する音声データを含む。また,サブタイトルトラック(Subtitle Track)T3は,映画の字幕に相当するサブタイトルデータを含む。これらのトラックT1〜3は,対応するセキュリティ情報Sに含まれるコンテンツ鍵K1〜3でそれぞれ暗号化されている。
なお,コンテンツは,上記映像,音声,サブタイトルトラックT1〜3のいずれかのみで構成されてもよいし,上記以外にも,他のコンテンツデータを表すトラック(静止画トラック,音楽に関する文字情報トラック等)を含んでもよい。
セキュリティ情報Sは,コンテンツの著作権管理を行うための情報(SINF)であり,例えば,上記サーバ20によって上記トラックT(コンテンツデータ)ごとに付加される。図2の例では,1つの映画コンテンツC内に,3つのトラックT1〜3に対して,3つのセキュリティ情報S1〜3がそれぞれ付加されている。なお,本実施形態では,このようにトラックT単位でセキュリティ情報Sが設けられているが,かかる例に限定されず,例えば,トラックTごとのライセンス管理およびリボーク管理を行わない場合には,コンテンツ単位でセキュリティ情報Sを設けても良い。
このセキュリティ情報Sは,例えば,暗号化されたコンテンツ鍵Kと,属性情報Aと,署名Dとからなる。
コンテンツ鍵Kは,上記暗号化された各トラックTを解読(デコード)するための鍵である。コンテンツ鍵K1は,映像トラックT1を解読するための鍵であり,コンテンツ鍵K2は,音声トラックT2を解読するための鍵であり,コンテンツ鍵K3は,サブタイトルトラックT3を解読するための鍵である。また,このようなコンテンツ鍵K自体も,ライセンス鍵で暗号化されている。従って,適正なライセンスがなければ,コンテンツ鍵Kを解読することができず,この結果,上記トラックTのコンテンツデータを解読して再生等することができない。
属性情報(Attribute)Aは,コンテンツの属性を表す情報であり,後述する複数のコンテンツ属性IDからなる。コンテンツの属性は,コンテンツの著作権管理面での性質,特徴(例えば,ステータス,ファイル,トラック等)のみならず,コンテンツの内容面での性質,特徴(例えば,コンテンツの監督,主演男優等)なども含む。本実施形態では,属性情報Aは,例えば,コンテンツを構成するトラックTごとに定められ,コンテンツを構成する各トラックTの属性を表している。このため,同一の映画コンテンツC内であっても,異なるトラックTに対応する属性情報Aは,異なる情報となる場合がある。このようにコンテンツに付加された属性情報Aは,当該コンテンツとライセンスとのマッチングや,当該コンテンツとリボークリストとのマッチングをとるために利用される。かかる属性情報Aは,例えば,属性コードと,コンテンツ属性IDとからなるが,詳細については,後述する。
署名Dは,サーバ20によって付加されたデジタル署名であり,セキュリティ情報S全体の改竄を防止する機能を有する。この署名Dは,例えば,デジタル署名の正当性を検証するための証明書をも含む。
次に,図3に基づいて,別のコンテンツの構成例について説明する。図3に示すように,1つのコンテンツファイルF内に3つの映画コンテンツC1〜3が含まれている。このように,1つのコンテンツファイルFが,複数のコンテンツを含むように構成してもよい。例えば,同一の映画シリーズに属するなど,相互に関連性のある複数の映画コンテンツC1〜3(「○○刑事」,「○○刑事−part2」,「○○刑事−part3」等)を,1つのコンテンツファイルFに含ませてもよい。これにより,当該コンテンツファイルが,一連の映画シリーズのコンテンツを含む映画ライブラリのファイルとなる。
また,図3の例では,映画コンテンツC1は,映像トラックT1と,音声トラックT2と,サブタイトルトラックT3とを,それぞれ1つずつ有している。これに対して,映画コンテンツC2は,2つの映像トラックT4,T5を有しており,映画コンテンツC3は,例えば,2つの音声トラックT9,T10と,2つのサブタイトルトラックT11,T12とを有している。このように,1つのコンテンツは,複数の映像トラック,複数の音声トラック,或いは複数のサブタイトルトラックなどのように,同一種類のトラックを複数含むことができる。
このように,1つの映画コンテンツCが複数の映像トラックを含むことにより,例えば,同一の映画コンテンツCに,複数の映像(例えば,劇場公開版の映像と完全版の映像,或いは,高画質映像と低画質映像など)をパッケージすることが可能となる。また,1つの映画コンテンツCが複数の音声トラックを含むことにより,例えば,同一の映画コンテンツCに複数の音声(英語の音声と日本語の音声,或いは,高音質音声と低音質音声など)をパッケージすることが可能となる。また,1つの映画コンテンツCが複数のサブタイトルトラックを含むことにより,例えば,同一の映画コンテンツCに複数の字幕(英語の字幕と日本語の字幕,或いは,縦書きの字幕と横書きの字幕など)をパッケージすることが可能となる。
なお,図3の例においても,各トラックT1〜12にセキュリティ情報S1〜12が付加されている。このセキュリティ情報S1〜12は,上記図2の例のセキュリティ情報S1〜3と略同一であるので詳細説明は省略する。
<4.属性情報の構成>
次に,図4に基づいて,本実施形態にかかる属性情報Aについて詳細に説明する。なお,図4は,本実施形態にかかる属性情報Aの構成例を概念的に示す説明図である。
上述したように,属性情報Aは,コンテンツの属性を表す情報である。この属性情報Aは,コンテンツ毎にサーバ20において設定され,当該コンテンツに対してセキュリティ情報S内に付加される。この属性情報Aは,図4に示すように,例えば,複数の属性コードと,各属性コードに対応するコンテンツ属性IDとの組合せからなる。
属性コードは,コンテンツの属性の種類を識別するための識別コードである。この属性コードは,属性情報Aが付加されるコンテンツの異同にかかわらず,著作権管理システム100内で,コンテンツの属性の種類ごとに共通に定められたコードである。この属性コードは,例えば「A000」等の4桁の文字列で構成される。本実施形態では,例えば,「A000」〜「A999」までの1000個の属性コードを設定可能であり,これにより例えば1000種類の属性を定義することができる。
コンテンツ属性IDは,コンテンツの属性を特定するIDである。このコンテンツ属性IDは,コンテンツの属性ごとに固有な文字列(図4の例では14桁の文字列)で構成されており,当該コンテンツ属性IDが付加されたコンテンツの属性を一意に特定する。このコンテンツ属性IDは,コンテンツの属性の種類(上記属性コード)ごとに複数種類が設定されている。以下に,各コンテンツ属性IDについてそれぞれ説明する。
(コンテンツID)
属性コードが「A000」のコンテンツ属性IDは,コンテンツIDである。このコンテンツIDは,「ライセンスが適用されるコンテンツ」単位で固有に付与されるIDである。この「ライセンスが適用されるコンテンツ」は,ライセンスを用いた著作権管理の対象として意味のあるコンテンツデータの集合である。このコンテンツIDをコンテンツに対して付加することにより,システム内で流通する「ライセンスが適用されるコンテンツ」を識別できるようになる。
サーバ20の管理者(サービスプロバイダ)は,コンテンツIDを付与する単位(即ち,ライセンスが適用されるコンテンツの単位)を多様な形態で自由に決定できる。
例えば,かかるコンテンツIDは,上記コンテンツC単位で付与されてもよい。より具体的には,コンテンツIDは,図2に示したような1つの映画コンテンツCに対して1つ付与されてもよいし,図3に示したような3つの映画コンテンツC1,C2,C3に対してそれぞれ1つずつ付与されてもよい。この場合には,個々の映画コンテンツCごとにライセンスが適用されることになる。
また,コンテンツIDは,例えば,1つのトラックTごとに付与されても良いし,或いは複数のトラックTの組合せ(例えば図3の映像トラックT4と音声トラックT6の組合せ,映像トラックT5と音声トラックT6とサブタイトルトラックT7との組合せ)ごとに付与されてもよい。この場合には,個々のトラックT,または複数のトラックTの組合せに対してライセンスが適用されることになる。
また,コンテンツIDは,図3に示したような複数の映画コンテンツC1,C2,C3のグループに対して1つ付与されてもよい。この場合には,関連する複数のコンテンツ(コンテンツグループ)に対してライセンスが適用されることになる。
(トラックID)
属性コードが例えば「A001」のコンテンツ属性IDは,トラックIDである。このトラックIDは,上記コンテンツを構成するトラックT単位で固有に付与されるIDである。例えば,図2の例では,映像トラックT1と音声トラックT2とでは,異なるトラックIDが付与される。また,図3の例では,映画コンテンツC1の映像トラックT1と,映画コンテンツC2の映像トラックT4とでは,異なるトラックIDが付与される。このようなトラックIDをコンテンツに対して付加することにより,システム内で流通するコンテンツのトラックを識別できるようになる。また,本実施形態では,セキュリティ情報SとトラックTとが1対1で設定されているので,このトラックIDによって,コンテンツに付加されているセキュリティ情報Sを識別することもできる。
(ファイルID)
属性コードが例えば「A029」のコンテンツ属性IDは,ファイルIDである。このトラックIDは,1又は2以上のコンテンツを含むコンテンツファイルF単位で固有に付与されるIDである。例えば,図2の例では,1つの映画コンテンツCを含むコンテンツファイルFに対し,1つのファイルIDが付与される。また,図3の例では,3つの映画コンテンツC1〜3を含むコンテンツファイルFに対し,1つのファイルIDが付加される。このようなファイルIDをコンテンツに対して付加することにより,システム内で流通するコンテンツのファイルを識別できるようになる。
(グループID)
属性コードが例えば「A257」〜「A264」の8つのコンテンツ属性IDは,グループIDである。このグループIDは,複数のコンテンツで共通する属性である共通属性単位で固有に付与されるIDである。このグループIDは,複数種類の共通属性対応して複数種類設定される。このグループIDが表す共通属性は,サーバ20の管理者(サービスプロバイダ)が自由に設定することができる。
ここで,図5に基づいて,この共通属性およびグループIDの具体例について説明する。なお,図5は,本実施形態にかかる映画コンテンツに関して設定される共通属性およびグループIDの具体例を説明するための説明図である。
図5に示すように,映画コンテンツに関して設定される共通属性は,例えば,属性コードが「A257」である「サービスプロバイダ」(共通属性1),属性コードが「A258」である「監督」(共通属性2),属性コードが「A259」である「主演男優」(共通属性3),属性コードが「A260」である「主演女優」(共通属性4),属性コードが「A261」である「ジャンル」(共通属性5),属性コードが「A262」である「作成場所」(共通属性6)などがある。
「サービスプロバイダ(共通属性1)」は,コンテンツを提供するサービスプロバイダ(サーバ20)を表す属性である。この「サービスプロバイダ(共通属性1)」に対応するグループID1は,コンテンツを提供するサービスプロバイダ単位で固有に付与される。例えば,図5の例では,サービスプロバイダ「A社」には「0x0101」なるグループID1が割り当てられ,サービスプロバイダ「B社」には「0x0102」なるグループID1が割り当てられている。このような「サービスプロバイダ(共通属性1)」を表すグループID1をコンテンツに対して付加することにより,コンテンツの提供元のサービスプロバイダを識別できるようになる。
また,「監督(共通属性2)」は,コンテンツの作成を指揮した監督(例えば映画監督)を表す属性である。この「監督(共通属性2)」に対応するグループID2は,コンテンツの作成を指揮した監督単位で固有に付与される。例えば,図5の例では,監督「山田一郎」には「0x0201」なるグループID2が割り当てられ,監督「南野きよし」には「0x0202」なるグループID2が割り当てられている。このような「監督(共通属性2)」を表すグループID2をコンテンツに対して付加することにより,コンテンツの作成を指揮した監督を識別できるようになる。
同様に,「主演男優(共通属性3)」,「主演女優(共通属性4)」は,コンテンツに出演している主演男優,主演女優を表す属性である。この「主演男優(共通属性3)」,「主演女優(共通属性4)」に対応するグループID2,3は,主演男優単位,主演女優単位で固有に付与される。
また,「ジャンル(共通属性5)」は,コンテンツの内容面の区分であるジャンル(例えば映画ジャンル)を表す属性である。この「ジャンル(共通属性5)」に対応するグループID5は,コンテンツのジャンル単位で固有に付与される。例えば,図5の例では,映画ジャンル「コメディ」には「0x0501」なるグループID5が割り当てられ,映画ジャンル「ホラー」には「0x0202」なるグループID5が割り当てられている。このような「ジャンル(共通属性5)」を表すグループID5をコンテンツに対して付加することにより,コンテンツの内容のジャンルを識別できるようになる。
また,「作成場所(共通属性6)」は,コンテンツの作成場所(例えば映画の撮影場所や編集場所,映画作成会社または監督の所属する国,地域等)を表す属性である。この「作成場所(共通属性6)」に対応するグループID6は,コンテンツの作成場所単位で固有に付与される。例えば,図5の例では,作成場所「日本」には「0x0601」なるグループID6が割り当てられ,作成場所「アメリカ」には「0x0602」なるグループID6が割り当てられている。このような「作成場所(共通属性6)」を表すグループID6をコンテンツに対して付加することにより,コンテンツの作成場所を識別できるようになる。
上記までで,本実施形態にかかる共通属性と,この共通属性を表すコンテンツ属性IDであるグループIDの例について説明した。かかる共通属性およびグループIDを設定することにより,同一の共通属性を有する複数のコンテンツをグループ化することができる。例えば,監督が「山田一郎」であるすべての映画コンテンツに対して,属性情報Aの属性コード「A258」の欄にグループID1「0x0101」を記入することで,「山田一郎」監督の作品の映画コンテンツをグループ化することができる。
なお,かかる共通属性は,同時に複数設定されてもよいし,単独で設定されてもよい。また,上記で例示した共通属性以外にも,例えば,「助演俳優」,「声優」,「字幕翻訳者」,「映画音楽担当者」,「映画配給会社」,「映画の長さ(時間)」,「原作又はリメーク版」「公開日」,「各種映画賞の受賞の有無」,「CGを使用したか否か」,「サブリミナルの有無」,「映画配給会社とサービスプロバイダとの契約形態,契約期間,契約金額」などの共通属性を設定し,この共通属性に対応するグループIDを割り当ててもよい。
以上,本実施形態にかかる属性情報Aにおけるコンテンツの属性およびコンテンツ属性IDについて説明した。このようなコンテンツの属性に対応したコンテンツ属性IDをコンテンツに付加することで,後述するようにコンテンツ属性ID単位での著作権管理(ライセンス付与,リボーク処理等)が可能となる。
<5.ライセンスの構成>
次に,図6に基づいて,本実施形態にかかるライセンスの構成について詳細に説明する。なお,図6は,本実施形態にかかるライセンスの構成例を概念的に示す説明図である。
図6に示すように,ライセンスは,例えば,ライセンス対象を示す情報と,ライセンスの内容を示す情報と,ライセンスを発行するサーバ20によって付加されるデジタル署名とを含む。
ライセンス対象は,例えば,コンテンツ属性IDで表される。例えば,図6(a)に示すライセンスは,ライセンス対象の欄に「A000=0x0011」と記述されており,コンテンツIDが「0x0011」であるコンテンツを対象としたライセンスである。また,図6(b)に示すライセンスは,ライセンス対象の欄に「A258=0x0201」と記述されており,上記共通属性2(監督)を表すグループID2が「0x0011」であるコンテンツ(即ち,監督が「山田一郎」であるすべてのコンテンツ)を対象としたライセンスである。このように,本実施形態では,コンテンツ属性ID単位でライセンスが設定される。
なお,複数のコンテンツ属性IDを指定してライセンスを設定してもよい。図示はしないが,例えば,ライセンス内のライセンス対象の欄に「A257=0x0101 and A258=0x0201」と記述されている場合には,当該ライセンスは,提供元のサービスプロバイダがA社であり,かつ,監督が「山田一郎」であるすべてのコンテンツを対象としたライセンスであることを意味する。また,ライセンス内のライセンス対象の欄に「A258=0x0203 or A261=0x0502」と記述されている場合には,当該ライセンスは,監督が「Q.タランチュラ」であるか,或いは,ジャンルが「ホラー」であるすべてのコンテンツを対象としたライセンスであることを意味する。
また,ライセンス内容は,例えば,ライセンスの有効期間や,コンテンツの複製の可否およびその上限回数,ライセンスの複製,移転,貸与等の可否およびその上限回数などを含む。なお,ライセンスの複製(Check out)は,あるコンテンツ処理装置10が取得したライセンスを他のコンテンツ処理装置10にコピーする処理である。また,ライセンスの移転(Move)は,あるコンテンツ処理装置10が取得したライセンスを他のコンテンツ処理装置10に完全に移譲し,元のコンテンツ処理装置10にライセンスが残らないようにする処理である。また,ライセンスの貸与(Lend)は,あるコンテンツ処理装置10が取得したライセンスを他のコンテンツ処理装置10に所定期間貸与し,貸与期間中は元のコンテンツ処理装置10にライセンスが残らないようにする処理である。
このライセンス内容について具体的に説明する。例えば,図6(a)に示すライセンスは,ライセンス内容の欄に「START_TIME=2004/5/1 END_TIME=2004/6/1」と記述されており,当該ライセンスの有効期間が,2004年5月1日から2004年6月1日迄であることを示している。また,図6(b)に示すライセンスは,ライセンス内容の欄に「Check Out num.=3」と記述されており,当該ライセンスの複製(チェックアウト)上限回数が3回であることを示している。
また,かかるライセンスは,サーバ20によってデジタル署名が付加されている。このため,コンテンツ処理装置10側におけるライセンスの不正な改竄を防止できる。
<6.リボークリストの構成>
次に,図7に基づいて,本実施形態にかかる特徴であるリボークリストの構成について詳細に説明する。なお,図7は,本実施形態にかかるリボークリストの構成例を概念的に示す説明図である。
本実施形態では,サーバ20は,リボーク対象のコンテンツをリボークするために,リボークリストを作成して,コンテンツ処理装置10に配布する。このリボークリストは,リボーク対象のコンテンツの属性に対応するコンテンツ属性IDを羅列したリストである。このように,本実施形態では,リボークリストにおいて,リボーク対象のコンテンツを,上述したコンテンツの属性を表すコンテンツ属性IDで特定することが特徴的である。以下に,リボークリストについて詳細に説明する。
図7に示すように,リボークリストは,例えば,上記属性コードとコンテンツ属性IDとの組合せの羅列が記述されている。この属性コードとコンテンツ属性IDとの組合せの羅列は,リボーク対象のコンテンツを特定し,コンテンツ処理装置10におけるコンテンツのリボーク処理を実行する上で必要な情報である。
具体的には,図7の例のリボークリストには,コンテンツIDを表す属性コード「A000」に対応して,3つのコンテンツID(「0x0C11223344556600」等)が記述されている。このようにリボークリストにコンテンツIDを記述することで,1つ1つのコンテンツをコンテンツID単位(ライセンスが適用されるコンテンツ単位)でリボークすることが可能となる。例えば,1つのコンテンツファイルの中に含まれる複数のコンテンツのうち,リボークリストに含まれるコンテンツIDに対応する特定のコンテンツのみをリボークすることが可能となる。また,1つのコンテンツファイル内に含まれる複数トラックのうち,リボークリストに含まれるコンテンツIDに対応する1又は2以上のトラック(例えば映像トラックと日本語音声トラックとの組合せ)のみをリボークすることも可能となる。
また,図7の例のリボークリストには,トラックIDを表す属性コード「A001」に対応して,例えば1つのトラックID「0x0C444444444444444」が記述されている。このようにリボークリストにトラックIDを記述することで,トラックID単位(トラック単位)でのリボークが可能となる。例えば,1つのコンテンツの中でも,リボークリストに含まれるトラックIDに該当するトラック(例えば映像トラック)のみをリボークすることが可能となる。また,相異なる複数のコンテンツに同一のトラックが含まれる場合には,複数のコンテンツに跨る当該トラックを一括してリボークすることもできる。
また,図7の例のリボークリストには,ファイルIDを表す属性コード「A029」に対応して,2つのファイルID(「0x0CAB223344556600」等)が記述されている。このようにリボークリストにファイルIDを記述することで,1又は2以上のコンテンツをファイルID単位(コンテンツファイル単位)でリボークすることが可能となる。例えば,上記図2に示したような,1つのコンテンツファイルに1つのコンテンツが含まれる場合には,1つ1つのコンテンツをファイル単位でリボークできる。また,上記図3に示したような,1つのコンテンツファイルに複数のコンテンツが含まれる場合には,複数のコンテンツをファイル単位で一括してリボークできる。
また,図7の例のリボークリストには,グループID1(サービスプロバイダ;SP)を表す属性コード「A257」に対応して,1つのグループID1「0x0000000000000001」が記述されている。また,グループID2(監督)を表す属性コード「A258」に対応して,1つのグループID2「0x0000000000000022」が記述されている。このようにリボークリストにグループIDを記述することで,同一の共通属性でグループ化された複数のコンテンツを,グループID単位(共通属性単位)で一括してリボークすることが可能となる。
例えば,リボークリストの「A257」の欄に,サービスプロバイダ「A社」のグループID1「0x0101」を記述することにより,サービスプロバイダ「A社」が提供したすべてのコンテンツを,一括してリボークすることができる。また,リボークリストの「A258」の欄に,監督「山田一郎」のグループID2「0x0201」を記述することにより,監督が「山田一郎」であるすべてのコンテンツを一括してリボークすることができる。
以上のように,セキュリティ情報Sで用いられるコンテンツ属性IDのうち,リボーク対象のコンテンツの属性に対応するコンテンツ属性IDをリボークリストに記述することにより,柔軟かつ効率的にコンテンツをリボークすることが可能となる。
また,上記のようなリボークリストには,バージョン情報と,デジタル署名(第1のデジタル署名)が付加されている。
バージョン情報は,リボークリストの新旧を表す情報(例えばタイムスタンプ等)であり,サーバ20によってリボークリストに付加される。リボークリストを取得したコンテンツ処理装置10は,このバージョン情報により,リボークリストの新旧(サーバ20による発行順序)を判断できるが,詳細は後述する。
また,デジタル署名(第1のデジタル署名)は,例えば,MAC((Message Authentication Code)や乱数等で構成されたデータ改竄防止用の署名であり,サーバ20によってリボークリスト自体に付加される。このデジタル署名により,コンテンツ処理装置10によるリボークリストの偽造を防止し,かつ,リボークリストがサーバ20によって正規に発行されたものであることを保証できる。このため,ホームネットワーク等におけるコンテンツ処理装置10が,相互にリボークリストを授受することを可能ならしめることができる。
<7.サーバの構成>
次に,図8に基づいて,本実施形態にかかるサーバ20について詳細に説明する。なお,図8は,本実施形態にかかるサーバ20の構成を概略的に示すブロック図である。
図8に示すように,サーバ20は,例えば,CPU202と,メモリ204と,入力装置206と,出力装置208と,通信装置210と,ストレージ装置220と,属性設定部240と,配信サービス実行部250と,リスト作成部270と,リスト配布部280とを備える。
CPU202は,演算処理装置および制御装置として機能し,サーバ20内の各部の処理を制御することができる。また,メモリ204は,例えば,RAM,ROM,キャッシュメモリなどで構成されており,CPU202の処理に関する各種データ,CPU202の動作プログラム等を一時的に記憶する機能を有する。
入力装置206は,例えば,マウス,キーボード,タッチパネル,ボタン,スイッチ,レバー等の操作手段と,入力信号を生成してCPU202に出力する入力制御回路などから構成されている。サーバ20の管理者は,この入力装置206を操作することにより,サーバ20に対して各種のデータを入力したり処理動作を指示したりすることができる。例えば,当該管理者は,入力装置206を操作して,上記共通属性およびグループIDを設定するための情報を自由に入力することができる。
出力装置208は,例えば,CRTディスプレイ装置,液晶ディスプレイ(LCD)装置,ランプ等の表示装置や,スピーカ等の音声出力装置などで構成される。この出力装置208は,内容確認するために再生された配信コンテンツの内容を表示したり,上記共通属性およびグループIDの設定時にこれらの情報を表示したりすることができる。
通信装置210は,例えば,通信回線,通信回路,通信デバイス等で構成された通信インタフェースである。この通信装置210は,コンテンツ処理装置10等の外部機器との間で,ネットワーク5を介して,配信コンテンツ,リボークリスト,各種制御信号などを送受信することができる。
ストレージ装置220は,例えば,ハードディスクドライブ等で構成されたデータ格納用の装置であり,プログラムなどの各種データを格納することができる。また,このストレージ装置220は,例えば,ユーザ登録データベース222と,コンテンツデータベース224と,課金情報データベース226と,課金情報データベース228と,リボークリストデータベース230とを格納している。
ユーザ登録データベース222は,コンテンツ配信サービスに登録したユーザのユーザ登録情報などを保存するデータベースである。また,コンテンツデータベース224は,コンテンツ配信サービスの配信対象である複数のコンテンツを保存するデータベースである。また,ライセンスデータベース224は,コンテンツ配信サービスを利用するユーザに対して発行されたライセンスを保存するデータベースである。また,課金情報データベース228は,コンテンツ配信サービスを利用するユーザごとの課金情報(金額,決済方法,決済日時等)を保存するデータベースである。また,リボークリストデータベース230は,後述するリスト作成部270が作成したすべてのバージョンのリボークリストを保存するデータベースである。
属性設定部240は,コンテンツの属性を表すコンテンツ属性IDを設定する。例えば,属性制定部240は,例えば,各種のコンテンツ属性IDのうち,上記コンテンツID,トラックID,ファイルID等を自動的に設定する。また,属性設定部240は,例えば,サーバ20の管理者の入力に基づいて,上記グループIDを設定する。これにより,サーバ20の管理者は,自己の所望する共通属性のグループIDを自由に設定して,かかる自由設定したグループIDを,ライセンスの発行やリボークリストの作成に適用することができる。
配信サービス実行部250は,コンテンツ処理装置10のユーザに対し,例えば有料でコンテンツを配信するコンテンツ配信サービスを実行するための構成要素である。この配信サービス実行部250は,例えば,サーバ20にインストールされたコンテンツ配信サービス用ソフトウェアなどによって構成されている。
この配信サービス実行部250は,図8に示したように,例えば,登録管理部252と,ライセンス発行部254と,課金処理部256と,ID付加部258と,コンテンツ提供部260とを備える。
登録管理部252は,コンテンツ配信サービスの利用を希望するユーザの登録,登録変更,登録解除処理などを行う。具体的には,登録管理部252は,例えば,ユーザの新規登録時や登録変更時には,ユーザ認証処理,配信サービス形態(ライセンス)の選択処理等を行い,ユーザ登録情報(氏名,パスワード,クレジットカード番号,選択された配信サービス形態等)をユーザ登録データベース222に記録する。このような登録,登録変更処理により,登録ユーザは,自己のコンテンツ処理装置10を用いて,登録された配信サービス形態(ライセンス)の範囲内で,配信コンテンツを取得して利用できるようになる。また,登録管理部252は,例えば,ユーザの登録解除時には,ユーザ認証処理,登録抹消処理を行い,登録抹消内容をユーザ登録データベース222に書き込む。
ライセンス発行部254は,上記登録管理部252による登録内容(選択された配信サービス形態)に応じたライセンスを発行する。ライセンス発行部254は,発行したライセンスを,登録ユーザのコンテンツ処理装置10に提供する。このライセンスの提供処理は,迅速性の観点から,ネットワーク5を介した送信によってなされることが好ましいが,ライセンスを記録した記録媒体を提供することによってなされてもよい。また,ライセンス発行部254は,発行したライセンスを,発行先の登録ユーザもしくはコンテンツ処理装置10に関連づけて,ライセンスデータベース226に記録する。
課金処理部256は,例えば,コンテンツ配信サービスを利用するユーザに対して,上記選択された配信サービス形態(ライセンス)に応じた額の支払いを求める課金処理を行う。この課金処理によって生じた請求金額,決済方法,決済日時などの課金情報は,課金情報データベース228に保存される。
ID付加部258は,例えば,サーバ20によるコンテンツの取得時,或いはコンテンツの配信時等に,コンテンツに対し,当該コンテンツの属性に対応したコンテンツ属性IDを付加する。
具体的には,ID付加部258は,まず,上記属性設定部によって設定されたコンテンツの属性の各種類に関し,コンテンツの属性に対応したコンテンツ属性IDを生成する。この際,ID付加部258は,例えば,上記コンテンツID,トラックID,ファイルID等に関しては,シーケンシャルに自動生成するようにし,一方,上記各種のグループIDに関しては,管理者の入力に基づいて生成するようにしてもよい。
さらに,ID付加部258は,生成したコンテンツ属性IDを,当該コンテンツのセキュリティ情報S内に格納することによって,当該コンテンツに付加する。ID付加部258は,このようにしてコンテンツ属性IDを付加したコンテンツを,コンテンツデータベース224に格納する。
コンテンツ提供部260は,コンテンツ処理装置10に対して,上記コンテンツ属性IDが付加されたコンテンツを提供する。具体的には,まず,コンテンツ提供部260は,例えば,コンテンツ処理装置10から配信要求を受け付けると,登録ユーザに対して,配信可能なコンテンツのリストを閲覧させ,配信を所望するコンテンツを選択させる。次いで,コンテンツ提供部260は,選択されたコンテンツをコンテンツデータベースから読み出し,読み出したコンテンツを,ネットワーク5を介して当該登録ユーザの利用するコンテンツ処理装置10に配信する。このコンテンツの配信は,例えば,コンテンツのダウンロードであってもよいし,或いはストリーミングであってもよい。
なお,コンテンツ提供部260は,上記のようにネットワーク5を介した配信によってコンテンツを提供するが,かかる例に限定されず,コンテンツを記録した記録媒体を介してコンテンツ処理装置10に提供してもよい。また,コンテンツ提供部260は,上記のように配信要求に応じてコンテンツを配信するだけでなく,例えば,ライセンスに応じた所定のコンテンツをコンテンツ処理装置10に対して定期的に自動配信してもよい。
リスト作成部270は,リボーク対象のコンテンツの属性に対応するコンテンツ属性IDを含むリボークリストを作成する。具体的には,リボーク原因が発生した場合には,まず,サーバ20の管理者は,リボーク対象のコンテンツの属性に対応するコンテンツ属性IDを指定する。すると,リスト作成部270は,過去に作成されたリボークリストのうち最新バージョンのリボークリストをリボークリストデータベース230から読み出す。次いで,リスト作成部270は,この読み出したリボークリストに対して,上記指定されたコンテンツ属性IDおよび属性コードの組を追加する。さらに,リスト作成部270は,当該コンテンツ属性ID等が追加されたリボークリストに対して,新たなバージョン情報及び上記第1のデジタル署名を付加して,最新バージョンのリボークリストを完成する。
また,リスト作成部270が作成するリボークリストのデータサイズには,上限が設定されている。このリボークリストのデータサイズの上限(Mバイト)は,例えば16kバイトである。このようにリボークリストのデータサイズに上限を設けることにより,サーバ20からコンテンツ処理装置10にリボークリストを伝送する際に,伝送負荷を抑制できるので,高速伝送が可能となる。
かかるリボークリストの上限を設定するために,リスト作成部270は,新しく作成するリボークリストには,リボーク原因が新しいコンテンツ属性IDを優先的に含ませるようにするが,この詳細については後述する。
リスト配布部280は,上記リスト作成部270が作成したリボークリストを,コンテンツ処理装置10に配布する。具体的には,リスト配布部280は,例えば,コンテンツ処理装置10がサーバ20に接続されたときに,最新バージョンのリボークリストをネットワーク5を介してコンテンツ処理装置10に送信する。コンテンツ処理装置10は,例えば,ライセンスの購入時や,コンテンツの配信を受けるときに,サーバ20に接続する。この接続時に,リスト配布部280は,発行されたライセンスや,配信されるコンテンツとともに,最新バージョンのリボークリストをコンテンツ処理装置10に送信する。
また,コンテンツ処理装置10とサーバ20とが常時接続されている場合には,リスト配布部280は,作成されたリボークリストを即時,コンテンツ処理装置10に送信する。また,コンテンツ処理装置10とサーバ20との間で時刻の同期をとるため,或いはコンテンツ処理装置10の認証若しくはサーバ20の確認を行うために,コンテンツ処理装置10とサーバ20とが定期的に接続される場合には,リスト配布部280は,最新バージョンのリボークリストを随時,コンテンツ処理装置10に送信する。
このように,本実施形態にかかるリスト配布部280は,ネットワーク5を介した送信により,コンテンツ処理装置10にリボークリストを配布する。この際,サーバ20からコンテンツ処理装置10に対してリボークリストをそのまま送信してしまうと,リプレイアタック(不正なサーバが古いリボークリストをコンテンツ処理装置10配布する行為)されてしまう可能性がある。
このため,リボークリストの送信時には,リスト配布部280は,伝送用の第3のデジタル署名を,リボークリストおよびこのリボークリストとともに送信される情報(認証情報やサーバタイム情報等)の全体に対して付加して,伝送する。この第3のデジタル署名は,上記図7で説明したリボークリスト自体に付加されている第1のデジタル署名とは異なる署名である。かかる第3のデジタル署名は,サーバ20とコンテンツ処理装置10との間で双方向認証を行い,この認証結果に応じた共有秘密から生成されるMAC,若しくは,コンテンツ処理装置10が送信した乱数を含む署名である。かかる第3のデジタル署名をリボークリスト等に付加して伝送することにより,上記リプレイアタックを防止し,正当なサーバ20からコンテンツ処理装置10に対して,正しいリボークリストを安全に配布できる。
なお,上記ではネットワーク5を介した送信によるリボークリストの配布手法について説明したが,かかる例に限定されない。例えば,リスト配布部280は,記録媒体に上記コンテンツ若しくはライセンスとともにリボークリストを記録し,かかる記録媒体を介して,コンテンツ処理装置10にリボークリストを配布するようにしてもよい。
以上,サーバ20の構成について詳細に説明した。かかるサーバ20は,コンテンツ配信サービスの登録ユーザが所有するコンテンツ処理装置10に対して,コンテンツおよびそのライセンスを提供して,コンテンツ配信サービスを実行できる。さらに,サーバ20は,配信済みのコンテンツのいずれかに何らかのリボーク原因が発生した場合には,リボーク対象のコンテンツをリボークするためのリボークリストを作成して,コンテンツ処理装置10に適宜配布することができる。このように配布されるリボークリストは,コンテンツ処理装置10においてリボーク処理に使用される。
なお,上記属性設定部240,配信サービス実行部250,リスト作成部270およびリスト配布部280は,例えば,上記各機能を有するソフトウェアをサーバ20にインストールすることによって構成されてもよいし,或いは,上記各機能を有するハードウェアとして構成されてもよい。
<8.コンテンツ処理装置の構成>
次に,図9に基づいて,本実施形態にかかるコンテンツ処理装置10の構成について詳細に説明する。図9は,本実施形態にかかるコンテンツ処理装置10の構成を概略的に示すブロック図である。なお,図9は,上記PC等で構成されたコンテンツ処理装置10の構成を例示している。
図9に示すように,コンテンツ処理装置10は,例えば,CPU102と,メモリ104と,入力装置106と,出力装置108と,通信装置110と,記録媒体用リーダライタ112と,ストレージ装置114と,ユーザ登録部130と,配信サービス利用部132と,コンテンツ処理部140と,ライセンス管理部150と,リスト取得部160と,リスト管理部162と,リスト提供部164と,リボーク部170とを備える。
CPU102は,演算処理装置および制御装置として機能し,コンテンツ処理装置10内の各部の処理を制御することができる。また,メモリ104は,例えば,RAM,ROM,キャッシュメモリなどで構成されており,CPU102の処理に関する各種データ,CPU102の動作プログラム等を一時的に記憶する機能を有する。
入力装置106は,例えば,マウス,キーボード,タッチパネル,ボタン,スイッチ,レバー等の操作手段と,入力信号を生成してCPU102に出力する入力制御回路などから構成されている。コンテンツ処理装置10のユーザは,この入力装置106を操作することにより,コンテンツ処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置108は,例えば,CRTディスプレイ装置,液晶ディスプレイ(LCD)装置,ランプ等の表示装置や,スピーカ等の音声出力装置などで構成される。この出力装置108は,後述するコンテンツ再生部170によって再生されたコンテンツを出力することができる。具体的には,表示装置は再生された映像データや,電子図書,ゲーム,各種ソフトウェアのGUI画面等を表示する。一方,音声出力装置は,再生された音声データを発音することができる。なお,コンテンツ処理装置10が取り扱うコンテンツが,音声データのみからなる場合には表示装置は不要であり,一方,映像データのみからなる場合には音声出力装置は不要である。
通信装置110は,例えば,通信回線,通信回路,通信デバイス等で構成された通信インタフェースである。この通信装置110は,他のコンテンツ処理装置10やサーバ20等の外部機器との間で,ネットワーク5またはローカルライン7を介して,コンテンツ,ライセンス,リボークリスト,制御信号などの各種データを送受信することができる。
記録媒体用リーダライタ112は,例えば,記録媒体7に対して,コンテンツ,ライセンス,リボークリストなどの各種データを記録/再生する装置である。この記録媒体用リーダライタ112は,例えば,記録媒体7が光ディスク等である場合には,光ディスクドライブ等のディスク装置で構成され,また,記録媒体7が半導体メモリである場合には,半導体メモリ用のリーダライタなどで構成される。なお,この記録媒体用リーダライタ112は,例えば,コンテンツ処理装置10に内蔵されてもよいし,或いは外付けされてもよい。
ストレージ装置114は,例えば,ハードディスクドライブ,フラッシュメモリ等で構成されたデータ格納用の装置であり,プログラム,コンテンツなどの各種データを格納することができる。
このストレージ装置114は,例えば,コンテンツデータベース116と,ライセンスデータベース118と,リボークリストデータベース120とを格納している。
コンテンツデータベース116は,上記サーバ20から配信されたコンテンツや,他のコンテンツ処理装置10から取得したコンテンツを保存するデータベースである。また,ライセンスデータベース224は,上記サーバ20によって発行されたライセンスや他のコンテンツ処理装置10から取得したライセンスを保存するデータベースである。また,リボークリストデータベース230は,統合リボークリスト122および最新リボークリスト124を保存するデータベースである。
この統合リボークリスト122は,サーバ20若しくは他のコンテンツ処理装置10から取得した1又は2以上のリボークリストを統合したリストであり,コンテンツ処理装置10内部におけるリボーク処理に用いられる。また,最新リボークリスト124は,サーバ20若しくは他のコンテンツ処理装置10から取得した1又は2以上のリボークリストのうち,最新バージョンのリボークリストであり,他のコンテンツ処理装置10に提供するために用いられる。この統合リボークリスト122および最新リボークリスト124の詳細については,後述する。
ユーザ登録部130は,サーバ20に対して,例えば,ユーザ登録要請処理などを行う。具体的には,ユーザ登録部130は,例えば,ユーザによって入力されたユーザアカウント情報(ユーザID,クレジットカード番号等)などを,サーバ20に送信する。
配信サービス利用部132は,サーバ20が提供するコンテンツ配信サービスを利用するための構成要素である。この配信サービス利用部132は,ライセンスの購入要請処理,コンテンツの配信要請処理を行う。
具体的には,配信サービス利用部132は,例えば,ライセンスの購入要請時には,サーバ20から受信した購入可能なライセンスの一覧情報を出力装置108に表示させ,次いで,かかる表示を閲覧したユーザの入力に基づいて,ユーザ所望の配信サービス形態に対応するライセンスの購入要請情報を生成して,サーバ20に送信する。
この結果,かかる購入要請に応じてサーバ20がライセンスを発行した場合には,配信サービス利用部132は,サーバ20が送信したライセンスを,ネットワーク5を介して受信して,例えばストレージ装置114のライセンスデータベース118や記録媒体7等に記録する。このように,配信サービス利用部132は,サーバ20からライセンスを取得するライセンス取得部として機能する。
また,配信サービス利用部132は,例えば,コンテンツの配信要請時には,サーバ20から受信した配信可能なコンテンツの一覧情報を出力装置108に表示させ,次いで,かかる表示を閲覧したユーザ入力に基づいて,ユーザ所望のコンテンツの配信要請情報を生成して,サーバ20に送信する。
この結果,かかる配信要請に応じてサーバ20がコンテンツを配信した場合には,配信サービス利用部132は,サーバ20が配信したコンテンツを,ネットワーク5を介して受信して,例えばストレージ装置114のコンテンツデータベース116や記録媒体7等に記録する。このように,配信サービス利用部132は,サーバ20からコンテンツを取得するコンテンツ取得部として機能する。このようにコンテンツ処理装置10が取得したコンテンツには,上述したように,当該コンテンツの属性に対応したコンテンツ属性IDを含むセキュリティ情報Sが付加されている。
また,配信サービス利用部132は,例えば,コンテンツ配信サービスを利用するために必要なユーザ認証情報(ユーザID,パスワード等),課金情報などの各種情報を,サーバ20との間で送受信したり,これらの情報の入出力を支援したりすることができる。
コンテンツ処理部140は,サーバ20によって発行されたライセンスに基づいて,当該サーバ20から提供されたコンテンツを処理する。このコンテンツには,上述したように,コンテンツ属性IDを含むセキュリティ情報Sが付加されている。
このコンテンツ処理部140は,コンテンツを再生処理する再生部142と,コンテンツを複製(コピー)処理する複製部144と,他のコンテンツ処理装置10からコンテンツを取得処理する取得部146と,他のコンテンツ処理装置10にコンテンツを提供処理する提供部148と,を備える。
再生部142は,例えば,コンテンツ再生機能を有する再生装置,あるいはコンテンツ処理装置10にインストールされたコンテンツ再生用ソフトウェアなどによって構成されており,コンテンツを再生することができる。この再生部142によって再生されたコンテンツは,上記出力装置108から出力される。
この再生部142は,コンテンツ処理装置10が有するライセンスの範囲内で,コンテンツを再生する。具体的には,再生部142は,まず,ユーザによって再生要求されたコンテンツに付加されているコンテンツ属性IDを読み出し,次いで,上記読み出したコンテンツ属性IDに対応するコンテンツ処理装置10が有しているか否か(即ち,当該ライセンスがライセンスデータベース122に保存されているか否か)を判断する。さらに,再生部142は,当該ライセンスに規定された再生条件を満たすか否かを判断する。この再生条件は,例えば,当該ライセンスの有効期間や,再生上限回数などである。
これら判断の結果,コンテンツ処理装置10が,上記読み出したコンテンツ属性IDに対応するライセンスを有しており,かつ,当該ライセンスの再生条件を満たす場合(当該ライセンスが有効期間内であり,過去の再生回数がライセンスに定められた再生上限回数に達していない場合など)には,再生部142は,コンテンツを再生可能である。一方,再生要求を受けたコンテンツについてのライセンスを有していない場合や,当該ライセンスの再生条件を満たさない場合(ライセンスが有効期限切れである場合,上記再生上限回数を既に再生済みである場合など)には,再生部142は,コンテンツを再生不能である。
複製部144は,上記再生部142と同様にして,コンテンツ処理装置10が有するライセンスの範囲内で,コンテンツを複製することができる。この際,ライセンスに規定された複製上限回数なども参照される。
また,取得部146および提供部148も,上記再生部142と同様にして,コンテンツ処理装置10が有するライセンスの範囲内で,コンテンツを他のコンテンツ処理装置10から取得する,或いは,他のコンテンツ処理装置10に提供することができる。
なお,この取得部146および提供部148は,このようなコンテンツの提供/取得処理を,例えば,ネットワーク5またはローカルライン9を介した送受信処理によって実行してもよいし,或いは,記録媒体7を介して実行してもよい。
ネットワーク5を介してコンテンツを提供/取得する場合には,例えば,提供部148は,通信装置110を制御して,ネットワーク5またはローカルライン9を介してコンテンツを送信するコンテンツ送信制御部として機能し,一方,取得部146は,通信装置110を制御して,ネットワーク5またはローカルライン9を介してコンテンツを受信するコンテンツ受信制御部として機能する。
また,記録媒体7を介してコンテンツを提供/取得する場合には,例えば,提供部146は,記録媒体用リーダライタ112を制御してコンテンツを記録媒体に書き込むコンテンツライト制御部として機能し,一方,取得部146は,記録媒体用リーダライタ112を制御してコンテンツを記録媒体から読み出すコンテンツリード制御部として機能する。
ライセンス管理部150は,コンテンツ処理装置10が保有する1又は2以上のライセンスを管理する。このライセンス処管理部150は,他のコンテンツ処理装置10にライセンスを複製(Check out)する複製部152と,他のコンテンツ処理装置10にライセンスを移転(Move)する移転部154と,他のコンテンツ処理装置10にライセンスを所定期間だけ貸与(Lend)する貸与部156と,他のコンテンツ処理装置10から上記のように複製,移転,貸与されたライセンスを取得する取得部158とを備える。この複製,移転,貸与処理の詳細は,上述した通りである。この複製,移転,貸与処理の結果,あるコンテンツ処理装置10から他のコンテンツ処理装置10に対して,ライセンスが提供されることになる。
これらの複製部152,移転部154および貸与部156によるライセンスの処理は,処理対象のライセンスで規定されているライセンス内容に応じて制限される。例えば,複製部152がライセンスを複製して他のコンテンツ処理装置10に提供するときに,当該ライセンスに複製上限回数(チェックアウト回数;例えば3回)が定められている場合には,この複製上限回数を超えて複製することはできない。
次に,図10を参照しながら,リスト取得部160,リスト管理部162およびリスト提供部164について説明する。なお,図10は,本実施形態にかかるリボークリストデータベース120の構成を概略的に説明するブロック図である。
リスト取得部160は,図10に示すように,サーバ20若しくは他のコンテンツ処理装置10からリボークリストを取得する。この取得処理は,ネットワーク5またはローカルライン9を介してリボークリストを受信することによってなされてもよいし,リボークリストを記録した記録媒体7を介してなされてもよい。
例えば,リスト取得部160が,サーバ20から,ネットワーク5を介してリボークリストを取得する場合について説明する。上述したように,ライセンス購入時やコンテンツ配信時等にコンテンツ処理装置10とサーバ20とが接続された際に,サーバ20のリスト配布部280は,その時点での最新バージョンのリボークリストをコンテンツ処理装置10に送信する。そこで,リスト取得部160は,このようにしてサーバ20から送信されたリボークリストを,ネットワーク5を介して受信して取得する。
また,リスト取得部160が,他のコンテンツ処理装置10からリボークリストを取得する場合について説明する。ライセンスやコンテンツを提供/取得する際には,2つのコンテンツ処理装置10がネットワーク5またはローカルライン9を介して相互に接続される。このとき,一方のコンテンツ処理装置10のリスト取得部160は,他のコンテンツ処理装置10が有する最新リボークリスト124を,ネットワーク5またはローカルライン9を介して受信して取得する。また,リスト取得部160は,他のコンテンツ処理装置10によってリボークリストが記録された記録媒体7から,当該リボークリストを読み出すことによって,他のコンテンツ処理装置10からリボークリストを取得することもできる。
リスト管理部162は,上記リスト取得部160によって取得されたリボークリストを管理する。具体的には,リスト管理部162は,上記リスト取得部160によって取得された複数のリボークリストを統合した統合リボークリスト122を作成する(統合リボークリスト作成処理)。また,リスト管理部162は,当該取得された複数のリボークリストの中で,最新バージョンのリボークリストのみを,最新リボークリスト124として保持する(最新リボークリスト更新処理)。
まず,統合リボークリスト122の作成処理について詳細に説明する。リスト管理部162は,上記リスト取得部160によって取得されたリボークリストを,リボークリストデータベース120に保持しいている統合リボークリスト122に統合する。この統合処理は,新たに取得したリボークリストに含まれるコンテンツ属性IDを,統合リボークリスト122内に,過不足なく追加することによってなされる。
かかる統合リボークリスト122は,後述するリボーク部170によるリボーク処理に用いられ,コンテンツ処理装置10内部で使用する内部用のリボークリストとして機能する。かかる統合リボークリスト122を作成することによって,取得された全てのリボークリストの内容(リボーク対象のコンテンツ属性ID)を,必要最小限のデータ量で保存できる。
なお,リスト管理部162は,例えば,作成した統合リボークリスト122に,例えば,各コンテンツ処理装置10独自のデジタル署名(第2のデジタル署名)を付加する。これにより,統合リボークリスト122が,そのコンテンツ処理装置10における正当なリストであることを保証できるため,安全にリボーク処理を行うことができるようになる。
次に,最新リボークリスト124の更新処理について詳細に説明する。リスト管理部162は,新たなリボークリストが取得された場合には,取得されたリボークリストのバージョン情報をチェックして,当該取得されたリボークリストのバージョンが,既にリボークリストデータベース120に保存されている最新リボークリスト124のバージョンよりも新しいか否かを判断する。この結果,新しいと判断した場合には,リスト管理部162は,当該保存されている最新リボークリスト124を当該取得されたリボークリストに交換する。これにより,取得された複数のリボークリストの中で,常に最新の1つのリボークリストがリボークリストデータベース120に保存されるようになる。
かかる最新リボークリスト124は,他のコンテンツ処理装置10に提供するためリボークリストとして保存される。この最新リボークリスト124は,サーバ20等から取得したリボークリストそのものであるので,サーバ20のデジタル署名(第1のデジタル署名)が付加されている。
リスト提供部164は,他のコンテンツ処理装置10に対して最新リボークリスト124を提供する。この提供処理は,ネットワーク5またはローカルライン9を介して最新リボークリスト124を送信することによってなされてもよいし,最新リボークリスト124を記録した記録媒体7を介してなされてもよい。
このリスト提供部164がリボークリストを提供するタイミングについて説明する。上記のように,2つのコンテンツ処理装置10間で,ライセンスやコンテンツを提供/取得する際には,2つのコンテンツ処理装置10がネットワーク5またはローカルライン9を介して相互に接続される。この相互接続時とき,一方のコンテンツ処理装置10のリスト提供部164は,リボークリストデータベース120に保持している最新リボークリスト124を,ネットワーク5またはローカルライン9を介して,他方のコンテンツ処理装置10に送信する。
リボーク部170は,リボークリストに基づいて,コンテンツ処理装置10におけるリボーク処理を実行する。具体的には,リボーク部170は,上記統合リボークリスト122に基づいて,リボーク対象のコンテンツに関し,上記コンテンツ処理部140によるコンテンツ処理を制限(例えば禁止)し,また,上記ライセンス管理部150によるライセンス処理を制限(例えば禁止)する。
例えば,コンテンツ処理部140の再生部142が,再生対象のコンテンツを再生しようとした場合,リボーク部170は,再生対象のコンテンツに付加されている1または2以上のコンテンツ属性IDを読み出し,読み出したコンテンツ属性IDが,上記統合リボークリスト122に含まれているか否かを判定する。この判定の結果,読み出したコンテンツ属性IDのうち少なくともいずれか1つが,統合リボークリスト122に含まれている場合には,リボーク部170は,再生部142による当該再生対象のコンテンツの再生処理を不能化する。なお,コンテンツ処理部140の複製部144,取得部146または提供部148によって,処理対象のコンテンツを複製,取得,提供しようとする場合も同様である。
また,ライセンス管理部150の複製部152,移転部154または貸与部156が,他のコンテンツ処理装置10に対してライセンスを提供(複製,移転,貸与等)しようとした場合,リボーク部170は,当該ライセンスに付加されている1または2以上のコンテンツ属性IDを読み出し,読み出したコンテンツ属性IDが,上記統合リボークリスト122に含まれているか否かを判定する。この判定の結果,読み出したコンテンツ属性IDのうち少なくともいずれか1つが,統合リボークリスト122に含まれている場合には,リボーク部170は,複製部152による当該ライセンスの提供処理を不能化する。なお,ライセンス管理部150の取得部158によって,他のコンテンツ処理装置10からライセンスを取得しようとする場合も同様である。
このようにして,リボーク部140によって,リボーク対象のコンテンツの処理(上記再生,複製,取得,提供等)を制限する,或いは,リボーク対象のコンテンツに関するライセンスの処理(上記複製,移転,貸与,取得等)制限することによって,サーバ20からコンテンツ処理装置10に既に提供されたコンテンツの利用を禁止して,当該コンテンツをリボークすることができる。
以上,コンテンツ処理装置10の各構成要素について説明した。かかるコンテンツ処理装置10は,サーバ20等から取得したリボークリストに基づいて,コンテンツをリボークすることができる。
なお,上記ユーザ登録部130,配信サービス利用部132,コンテンツ処理部140,ライセンス管理部150,リスト取得部160,リスト管理部162,リスト提供部164,リボーク部170などは,例えば,上記各機能を有するソフトウェア(DRMモジュール等)をコンテンツ処理装置10にインストールすることによって構成されてもよいし,或いは,上記各機能を有するハードウェアとして構成されてもよい。また,ユーザが,複数のサーバ20による複数のコンテンツ配信サービスを利用する場合には,例えば,上記ユーザ登録部130,配信サービス利用部132等は,ユーザが利用するコンテンツ配信サービスごとに,複数設けられてもよい。
また,コンテンツ処理装置10の種類によっては,上記全ての構成要素を必ずしも具備しなくてもよい。例えば,記録デバイスやPD等のコンテンツ処理装置10は,例えば,ユーザ登録部130,配信サービス利用部132,ライセンス管理部150,リスト取得部160,リスト管理部162,リスト提供部164のうちの一部及び全部を必ずしも具備しなくてもよい。
また,リスト管理部162は,必ずしも上記統合リボークリスト122や最新リボークリスト124を管理しなくてもよく,例えば,サーバ等から取得した全てのリボークリストを,そのままリボークリストデータベース120等に保存しておいてもよい。
<9.リボーク方法>
次に,図11に基づいて,以上のような著作権管理システム100を利用したコンテンツのリボーク方法の基本的なフロー例について説明する。図11は,本実施形態にかかるコンテンツのリボーク方法の基本的なフロー例を示すタイミングチャートである。
図11に示すように,まず,登録ユーザの所有するコンテンツ処理装置10は,コンテンツ配信サービスを提供するサービスプロバイダのサーバ20に対し,ユーザの所望するライセンスの購入要求を行う(ステップS10)。
すると,サーバ20は,当該登録ユーザのユーザ認証処理を行った上で,購入要求されたライセンスに関する課金処理を行う(ステップS12)。次いで,サーバ20は,購入要求を受けたライセンスを発行して,当該ライセンスをコンテンツ処理装置10に提供(送信)する(ステップS14)。このライセンスは,例えばコンテンツ属性IDを用いてライセンス対象のコンテンツを特定したものである。さらに,上記ライセンスの提供処理と同時に,サーバ20は,その時点での最新バージョンのリボークリストをコンテンツ処理装置10に提供(送信)する(ステップS14)。
次いで,コンテンツ処理装置10は,サーバ20から取得(受信)したライセンスをライセンスデータベース118に保存するとともに,サーバ20から取得(受信)したリボークリストをリボークリストデータベース120に保存する(ステップS16)。この場合,コンテンツ処理装置10はリボークリストを初めて取得したので,コンテンツ処理装置10のリスト管理部162は,取得したリボークリストの内容のみを含む統合リボークリスト122を新規作成して保存する。また,リスト管理部162は,取得したリボークリストをそのまま最新リボークリスト124として保存する。
その後,コンテンツ処理装置10は,サーバ20に対し,ユーザの所望するコンテンツの配信要求を行う(ステップS18)。すると,サーバ20は,配信要求元のコンテンツ処理装置10に対して,配信要求を受けたコンテンツを配信する(ステップS20)。このように配信されるコンテンツには,当該コンテンツの属性に対応するコンテンツ属性IDが付加されている。
次いで,コンテンツ処理装置10のコンテンツ処理部140は,上記配信されたコンテンツを処理(例えば再生処理)する(ステップS22)。この際,当該コンテンツの属性コンテンツ属性IDが,上記ステップS16で保存された統合リボークリスト122に含まれていなければ,コンテンツ処理部140は当該コンテンツを処理可能であり,一方,上記コンテンツ属性IDが統合リボークリスト122に含まれていれば,リボーク部170によって当該コンテンツはリボークされ,コンテンツ処理部140は当該コンテンツを処理不能である。
その後,何らかのリボーク原因が発生すると(ステップS24),サーバ20のリスト作成部270は,リボーク対象のコンテンツの属性に対応するコンテンツ属性IDを含む新たなバージョンのリボークリストを作成する(ステップS26)。作成された新たなバージョンのリボークリストは,サーバ20のリボークリストデータベース230に保存される。
次いで,コンテンツ処理装置10が,例えば,新たなライセンスの購入要求やコンテンツの配信要求のために,ネットワーク5を介してサーバ20に接続(アクセス)する(ステップS28)。すると,サーバ20のリスト配布部280は,当該接続してきたコンテンツ処理装置10に対して,上記ステップS26で作成された新たなバージョンのリボークリストを提供(送信)する(ステップS30)。このように,サーバ20は,コンテンツ処理装置10からのアクセス時に,最新バージョンのリボークリストを提供する。
その後,コンテンツ処理装置10は,サーバ20からの新たなリボークリストの取得に応じて,リボークリストの更新処理を行う(ステップS32)。リスト管理部162は,新たに取得したリボークリストを統合リボークリスト124に統合するとともに,当該取得したリボークリストを最新リボークリスト124として保存する。
次いで,コンテンツ処理装置10のコンテンツ処理部140は,上記配信されたコンテンツを処理(例えば再生処理)する(ステップS34)。この際,当該コンテンツの属性コンテンツ属性IDが,上記ステップS32で更新された統合リボークリスト122に含まれていなければ,コンテンツ処理部140は当該コンテンツを処理可能であり,一方,上記コンテンツ属性IDが当該統合リボークリスト122に含まれていれば,リボーク部170によって当該コンテンツはリボークされ,コンテンツ処理部140は当該コンテンツを処理不能である。従って,上記ステップS22では処理可能であったコンテンツが,上記ステップS24で新たにリボーク対象となった場合には,当該コンテンツは,本ステップS34では処理不能となる。
以上,本実施形態にかかるコンテンツのリボーク方法の基本的なフロー例について説明した。かかるリボーク方法では,リボーク原因の発生時に,サーバ20によってリボークリストを作成してコンテンツ処理装置10に配布することによって,サーバ20からコンテンツ処理装置10に提供済のコンテンツを事後的にリボークすることができる。
ところで,上記例では,サーバ20からコンテンツ処理装置10にリボークリストが提供される例について説明したが,リボークリストはコンテンツ処理装置10間でやり取り(提供および取得)されてもよい。そこで,図12に基づいて,コンテンツ処理装置10間でのリボークリストのやり取りについて説明する。
図12に示すように,サーバ20と,2つのコンテンツ処理装置10−1,10−2とは,ネットワーク5を介して接続されており,また,これら2つのコンテンツ処理装置10−1,10−2は,ホームネットワーク等の私的ネットワーク52を介して相互に接続されている。
図12に示す状態では,サーバ20は,リボーク原因の発生に応じて,例えば3つのバージョンのリボークリスト#1,#2,#3を順次作成している。また,コンテンツ処理装置10−1は,サーバ20によるリボークリスト#1の作成後であってリボークリスト#2の作成前,及び,リボークリスト#3の作成後に,サーバ20に接続したため,リボークリスト#1および#3を保有している。一方,コンテンツ処理装置10−2は,サーバ20によるリボークリスト#2の作成後であってリボークリスト#3の作成前に,サーバ20に接続したため,リボークリスト#2のみを保有している。
この状態で,コンテンツ処理装置10−1とコンテンツ処理装置10−2が接続されると,コンテンツ処理装置10−1からコンテンツ処理装置10−2に対して,最新のリボークリスト#3が提供(送信)される。これは,コンテンツ処理装置10−1が保有しているリボークリスト#3が,コンテンツ処理装置10−2が保有しているリボークリスト#2よりも最新バージョンであるからである。このように,複数のコンテンツ処理装置10間でリボークリストをやり取りする場合には,最も新しいバージョンのリボークリストが提供されるように構成されている。
このようにして,コンテンツ処理装置10間で,リボークリストをやり取りすることが可能である。これにより,サーバ20に接続しなくても,コンテンツ処理装置10間で,最新バージョンのリボークリストを配布して,普及させることができる。
<10.リボークリスト作成処理方法>
次に,図13および図14に基づいて,本実施形態にかかるサーバ20によるリボークリスト作成処理方法について説明する。なお,図13は,本実施形態にかかるサーバ20によるリボークリスト作成処理方法を示すフローチャートである。図14は,本実施形態にかかるサーバ20によって作成されたリボークリストと,コンテンツ処理装置10に保存された統合リボークリスト122および最新リボークリスト124の関係を示す説明図である。
図13に示すように,まず,ステップS102では,あるコンテンツにリボーク原因が発生する(ステップS102)。このリボーク原因は,例えば,コンテンツの不具合が発見された場合や,コンテンツの出演者が不祥事を起こした場合,契約変更に伴いコンテンツの配信が中止された場合などである。
次いで,ステップS104では,サーバ20の管理者によって,リボーク対象のコンテンツの属性に対応するコンテンツ属性IDが指定される(ステップS104)。管理者は,サーバ20の入力装置206を操作して,リボーク対象のコンテンツの属性に対応するコンテンツ属性IDを指定して,新規リボークリストの作成を指示する。
さらに,ステップS106では,作成済みのリボークリストのうち,最新バージョンのリボークリストが読み出される(ステップS106)。具体的には,上記ステップS104でリボークリストの作成指示が成されると,リスト作成部270は,過去に作成されてリボークリストデータベース230に保存されているリボークリストの中から,最新バージョンのリボークリストを読み出す。
その後,ステップS108では,上記読み出したリボークリストに,指定されたコンテンツ属性IDが追加される(ステップS108)。具体的には,リスト作成部270は,上記ステップS106で読み出した最新のリボークリストに対し,上記ステップS104で指定されたコンテンツ属性IDおよび属性コードの組を追加する。
例えば,図14の上段に示すように,過去に作成されたバージョン#1のリボークリストに基づいて,バージョン#2のリボークリストを新たに作成する場合について説明する。この場合,リボークリスト#1には,コンテンツ属性ID「A000=002」が既に含まれている。リスト作成部270は,かかるリボークリスト#1に対して,新たなリボーク対象に対応するコンテンツ属性ID「A001=00F」および「A000=00A」を追加して,リボークリスト#2のような3つのコンテンツ属性IDが含まれたリストを作成する。
次いで,ステップS110では,コンテンツ属性IDが追加されたリボークリストが,データサイズの上限を超えているか否かが判断される(ステップS110)。本実施形態では,上記のように,サーバ20からコンテンツ処理装置10へのリボークリストの伝送時の負荷を低減するため,配布されるリボークリストのデータサイズに上限(例えばMバイト)が設けられている。このため,本ステップでは,リスト作成部270は,上記ステップS108において新たなコンテンツ属性IDが追加されたリボークリストのデータサイズをチェックし,上記上限を超えているか否かを判断する。
この結果,当該リボークリストのデータサイズが上限を超えている場合には,ステップS112に進み,上限を超えていない場合には,ステップS114に進む。
さらに,ステップS112では,リボークリストから古いコンテンツ属性IDがリストから削除される(ステップS112)。上記ステップS109において,新たなコンテンツ属性IDが追加されたリボークリストのデータサイズが上限を超えていると判断された場合には,リスト作成部270は,最も古いリボーク原因に対応するコンテンツ属性IDから順に(即ち,バージョンが最も古いリボークリストに含まれていたコンテンツ属性IDから順に)削除し,当該リボークリストのデータサイズが上限以下となるようにする。
例えば,図14の上段に示すように,バージョン#1からバージョン#2のリボークリストを作成する場合には,バージョン#1のリボークリストは上限(Mバイト)に達していないので,リスト作成部270は,古いコンテンツ属性IDを削除する必要はない。一方,バージョン#nからバージョン#n+1のリボークリストを作成する場合には,バージョン#nのリボークリストは上限(Mバイト)に達しているので,リスト作成部270は,新たなコンテンツ属性ID「A258=EE4」を追加した代わりに,最も古いコンテンツ属性ID「A000=002」を削除する。
その後,ステップS114では,リボークリストに新たなバージョン情報と,デジタル署名が付加される(ステップS114)。リスト作成部270は,上記のようにしてサイズ調整したリボークリストに対して,最新のバージョン情報を例えばシーケンシャルに付加し,さらに,サーバ20のデジタル署名を付加する。この結果,新たなリボーク原因に対応したコンテンツ属性IDを含むリボークリスト(最新バージョンのリボークリスト)が完成する。
次いで,ステップS116では,作成されたリボークリストが保存される(ステップS116)。リスト作成部270は,上記のようにして完成した最新バージョンのリボークリストを,リボークリストデータベース230に保存する。これにより,コンテンツ処理装置10からサーバ20にアクセスがあった場合には,リスト配布部280によって当該最新バージョンのリボークリストを当該コンテンツ処理装置10に配布できるようになる。
<11.リボークリスト更新処理方法>
次に,図14および図15に基づいて,本実施形態にかかるコンテンツ処理装置10によるリボークリスト更新処理方法について説明する。なお,図15は,本実施形態にかかるコンテンツ処理装置10によるリボークリスト更新処理方法を示すフローチャートである。
コンテンツ処理装置10は,既に保有しているリボークリストよりも新しいバージョンのリボークリストを,サーバ20若しくは他のクライアントから取得した場合には,保有しているリボークリストを更新する。
この際,上記のように伝送されるリボークリストのデータサイズに上限が設けられているため,取得した新しいリボークリストに単に更新するだけでは,既に保有していたリボークリスト内のコンテンツ属性IDが欠落してしまう可能性がある。
例えば,リボークリストの上限がMバイトであり,コンテンツ処理装置10が既に保有しているリボークリストの中に,2つのリボーク対象のコンテンツ属性IDA,Bが存在していたとする。さらに,コンテンツ処理装置10が新しく取得したリボークリストのデータサイズがMバイトであり,上記データサイズの上限により,新しく取得したリボークリストにコンテンツ属性IDA,Bが含まれていないとする。このケースで,コンテンツ処理装置10が,単に,保有していたリボークリストを新しく取得したリボークリストに更新するだけでは,元のコンテンツ属性IDA,Bが更新後のリボークリストから欠落してしまう。
かかる問題を防ぐため,並びに,他のコンテンツ処理装置10にサーバ20のデジタル署名付のリボークリストするために,本実施形態では,上記統合リボークリスト122および最新リボークリスト124を利用して,以下のようなリボークリスト更新処理を行う。
図15に示すように,まず,ステップS202では,リボークリストが取得される(ステップS202)。具体的には,コンテンツ処理装置10のリスト取得部160は,サーバ20又は他のコンテンツ処理装置10から,例えばネットワーク5若しくはローカルライン9等を介してリボークリストを取得する。例えば,図14の例では,コンテンツ処理装置10は,サーバ20から,バージョン#1,…,#n,#n+1のリボークリストを,順次受信している。
次いで,ステップS204では,取得したリボークリストのデジタル署名が,正しいか否かが判断される(ステップS204)。リスト管理部162は,取得したリボークリストに付加されているデジタル署名をチェックして,当該デジタル署名が正当なサーバ20によって適正に付加されたものであるか否かを判断する。この結果,取得したリボークリストのデジタル署名が正しくない場合には,リスト管理部162は,取得したリボークリストを破棄し,すべての処理を終了する。一方,取得したリボークリストのデジタル署名が正しい場合には,ステップS206に進む。
さらに,ステップS206では,取得したリボークリストが,コンテンツ処理装置10が既に保有しているリボークリストよりも新しいバージョンであるか否かが判断される(ステップS206)。具体的には,リスト管理部162は,既にリボークリストデータベース120に保存されている最新リボークリスト124のバージョンと,取得したリボークリストのバージョンとを比較し,いずれが新しいバージョンかを判断する。この結果,取得したリボークリストのバージョンが,保有していた最新リボークリスト124のバージョンよりも古いか或いは同じである場合には,取得したリボークリストを破棄し,すべての処理を終了する。一方,取得したリボークリストのバージョンが,保有していた最新リボークリスト124のバージョンのバージョンよりも新しい場合には,ステップS208に進む。
その後,ステップS208では,取得したリボークリストが,統合リボークリスト122に統合される(ステップS208)。具体的には,リスト管理部162は,リボークリストデータベース120に保存されている統合リボークリスト122に対して,新しく取得したリボークリストに含まれる属性コードとコンテンツ属性IDの組を追加書き込みして,統合リボークリスト122を更新する。このとき,同一の情報(属性コードとコンテンツ属性IDの組)の二重書き込みを防ぐために,追加される属性コードとコンテンツ属性IDの組が,既に統合リボークリスト122に記述されているか否かを確認しながら,追加処理を行う。
例えば,図14の例において,新しく取得したバージョン#nのリボークリスト(最新リボークリスト124#n)を既存の統合リボークリスト122#1に統合する例では,既存の統合リボークリスト122#1と,バージョン#nのリボークリストの双方に,コンテンツ属性ID「A000=002」が含まれている。このため,このコンテンツ属性ID「A000=002」が重複しないようにして,バージョン#nのリボークリストが,既存の統合リボークリスト122#1に統合される。
また,図14の例において,新しく取得したバージョン#n+1のリボークリスト(最新リボークリスト124#n+1)を,統合リボークリスト122#nに統合する場合も,双方のリストが共通して含むコンテンツ属性ID「A001=00F」,…,「A001=FF5」が,重複しないようにして統合される。
なお,図14の例では,コンテンツ処理装置10は,サーバ20が作成したバージョン#2のリボークリストを取得していない。このため,コンテンツ処理装置10は,バージョン#2のリボークリストの作成後であっても,過去のバージョン#1のリボークリストの内容「A000=002」のみを反映した統合リボークリスト124#1を保有している。
次いで,ステップS210では,更新された統合リボークリスト122にデジタル署名が付加される(ステップS210)。具体的には,リスト管理部162は,例えば,MAC若しくはコンテンツ処理装置10の秘密鍵で作成した第2のデジタル署名を計算し,更新された統合リボークリスト122に付加する。これにより,統合リボークリスト122が,コンテンツ処理装置10内の処理に用いる上で,正当なリストであることを保証できる。なお,この第2のデジタル署名は,必ずしも付加されなくてもよい。
さらに,ステップS212では,取得したリボークリストが,最新リボークリスト124として保存される(ステップS212)。具体的には,上記ステップS206における判断によって,取得したリボークリストのバージョンが,保有していた最新リボークリスト124のバージョンのバージョンよりも新しいことが判明している。そこで,リスト管理部162は,既に保有していた最新リボークリスト124を,新しく取得されたリボークリストに交換して,リボークリストデータベース120に保存する。
これにより,過去に取得されたリボークリストの中で,最新の1つのリボークリストがリボークリストデータベース120に保存されるようになる。かかる最新リボークリスト124は,他のコンテンツ処理装置10との接続時に,当該他のコンテンツ処理装置10に提供される。
以上,本実施形態にかかるリボークリスト更新処理について説明した。これにより,コンテンツ処理装置10は,統合リボークリスト122を利用して,過去に取得したリボーク情報(リボーク対象のコンテンツ属性ID)を欠落させることなく,新しく取得したリボーク情報を過不足なく保有することができる。また,コンテンツ処理装置10は,他のコンテンツ処理装置10に対して,サーバ20のデジタル署名(第1のデジタル署名)付きのリボークリストである最新リボークリスト124を提供できる。
<12.コンテンツ処理方法>
次に,図16に基づいて,本実施形態にかかるコンテンツ処理装置10によるコンテンツ処理方法について説明する。なお,図16は,本実施形態にかかるコンテンツ処理装置10によるコンテンツ処理方法を示すフローチャートである。
図16に示すように,まず,ステップS302では,コンテンツ処理装置10によって,ユーザからの処理要求を受け付ける(ステップS302)。この処理要求を行う場合には,ユーザは,コンテンツ処理装置10の入力装置106を操作して,所望の処理対象のコンテンツと処理内容(例えば再生処理)を選択し,選択したコンテンツを処理するようにコンテンツ処理装置10のコンテンツ処理部140に対して指示する。
次いで,ステップS304では,ライセンスが正しいか否かが判断される(ステップS304)。具体的には,コンテンツ処理部140は,まず,ライセンスデータベース118を検索して,処理対象のコンテンツに対応するライセンスが存在するか否かを確認する。この結果,対応するライセンスが存在しない場合には,全ての処理を終了する。一方,対応するライセンスが存在しない場合には,次いで,当該ライセンスに付加されているデジタル署名(図6参照)をチェックすることによって,当該ライセンスが正規のサーバ20から発行された正当なライセンスであるか否かを判断する。この結果,当該ライセンスが不当である場合には,全ての処理を終了し,一方,当該ライセンスが正当である場合には,ステップS306に進む。
さらに,ステップS306では,処理対象のコンテンツのセキュリティ情報Sが正しいか否かが判断される(ステップS306)。具体的には,コンテンツ処理部140は,まず,処理対象のコンテンツに付加されているセキュリティ情報S内のデジタル署名(図2等参照)を読み出し,次いで,読み出したデジタル署名をチェックすることによって,当該処理対象のコンテンツのセキュリティ情報が正規のサーバ20によって正当に付加されたものあるか否かを判断する。この結果,当該セキュリティ情報Sが不当である場合には,全ての処理を終了し,一方,当該セキュリティ情報Sが正当である場合には,ステップS308に進む。
その後,ステップS308では,処理対象のコンテンツに付加されているコンテンツ属性IDが読み出される(ステップS308)。コンテンツ処理装置10のコンテンツ処理部140若しくはリボーク部170は,処理対象のコンテンツに付加されているセキュリティ情報Sの中から,全ての属性情報(属性コードとコンテンツ属性IDの組)を読み出す。
次いで,ステップS310では,上記処理対象のコンテンツから読み出したコンテンツ属性IDが,コンテンツ処理装置10に保存されているリボークリストに含まれるか否かを判断する(ステップS310)。具体的には,まず,リボーク部170は,例えばリボークリストデータベース220に保存されている統合リボークリスト122を読み出して解釈する。次いで,リボーク部170は,上記処理対象のコンテンツから読み出したコンテンツ属性IDと,統合リボークリスト122に含まれているリボーク対象のコンテンツ属性IDとを比較し,上記処理対象のコンテンツから読み出したコンテンツ属性IDのうち少なくともいずれか1つが,統合リボークリスト122に含まれているか否かを判断する。
この判断の結果,上記処理対象のコンテンツから読み出したコンテンツ属性IDのうち少なくともいずれか1つが,上記統合リボークリスト122に含まれている場合には,当該処理対象のコンテンツはリボーク対象のコンテンツであるため,ステップS312に進む。
ステップS312では,当該処理対象のコンテンツの処理が不能化される(ステップS312)。リボーク部170は,上記コンテンツ処理部140による当該処理対象のコンテンツの処理(例えば再生処理)を不能化する。これにより,リボーク対象のコンテンツであると判断された当該処理対象のコンテンツがリボークされたことになる。本ステップ後は,全ての処理を終了する。
一方,上記ステップS310において,当該処理対象のコンテンツから読み出したコンテンツ属性IDのうちいずれもが,上記統合リボークリスト122に含まれていない場合には,当該処理対象のコンテンツはリボーク対象のコンテンツではないため,リボーク部170は,上記コンテンツ処理部140による当該処理対象のコンテンツの処理を可能化(許可)して,ステップS314に進む。
次いで,ステップS314では,処理対象のコンテンツの処理が,ライセンスの条件を満たすか否かが評価される(ステップS314)。例えばコンテンツ処理部140は,上記ステップS306で正当であると判断されたライセンスを解釈して,当該ライセンスの条件(例えば,ライセンスの有効期間,処理上限回数等)を評価する。なお,本ステップS314におけるライセンスに基づく評価は,上記ステップS310でのリボークリストに基づく評価よりも前に行ってもよい。
このような本ステップS314でのライセンス評価の結果,処理対象のコンテンツに関して要求された処理内容が,ライセンスの条件を満たさない場合には,ライセンスによって付与された権限を超えた処理が要求されたと判断され,ステップS316に進む。
ステップS316では,コンテンツ処理部140は,当該処理対象のコンテンツの処理が不能化される(ステップS312)。本ステップ後は,全ての処理を終了する。
一方,上記ステップS314におけるライセンス評価の結果,処理対象のコンテンツに関して要求された処理内容が,ライセンスの条件を満たす場合には,当該ライセンスで与えられた権限内の処理であるため,ステップS318に進む。
次いで,ステップS318では,処理要求されたコンテンツの処理が実行される(ステップS318)。例えば,再生処理を実行する場合には,コンテンツ処理部140は,ライセンスに基づいて,当該処理対象のコンテンツのセキュリティ情報S内に含まれるコンテンツ鍵Kの暗号を解除する。次いで,コンテンツ処理部140は,かかるコンテンツ鍵Kを用いて,暗号化された各トラックTのコンテンツデータをデコードできるようになり,この結果,当該処理対象のコンテンツが再生される。
以上,本実施形態にかかるコンテンツ処理方法について説明した。かかるコンテンツ処理方法では,コンテンツに付加されたコンテンツ属性IDと,リボークリストに含まれるコンテンツ属性IDとを利用して,処理対象のコンテンツを,コンテンツの属性単位でリボークすることができる。
なお,上記図16では,処理要求を受けたコンテンツをリボークするコンテンツ処理方法について説明したが,処理要求を受けたライセンスの処理(複製,移転等)をリボークするライセンス処理方法も,同様に実現可能である。
以上,本実施形態にかかる著作権管理システム100とその構成要素,およびこのシステムを用いたリボーク方法等について詳細に説明した。かかる著作権管理システム100では,コンテンツのセキュリティ情報Sで用いられるコンテンツ属性IDのうち,リボーク対象のコンテンツの属性に対応するコンテンツ属性IDをリボークリストに記述することにより,コンテンツを,コンテンツの属性単位でリボークすることができる。
このため,リボークリストに含まれるコンテンツ属性IDを多様に設定することで,例えば,コンテンツファイル単位,ライセンスが適用されるコンテンツ単位,トラック単位等でコンテンツをリボークできる。さらに,同一の監督,提供元が同一のプロバイダ等といった共通の属性を有するコンテンツグループを,一括してリボークすることもできる。従って,リボーク原因の発生後に,コンテンツ処理装置10が所有するコンテンツを,柔軟かつ効率的にリボークすることが可能である。
また,コンテンツ処理装置10では,内部処理用の統合リボークリスト122と,他のコンテンツ処理装置10に対する配布用の最新リボークリスト124を別々に保有している。このため,リボークリストの情報が欠落せず,また,他のコンテンツ処理装置10へのリボークリストの提供も可能となる。
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。