以下,本発明の好適な実施の形態について,添付図面を参照しながら詳細に説明する。なお,以下の説明及び添付図面において,略同一の機能及び構成を有する構成要素については,同一符号を付することにより,重複説明を省略する。
(グループ管理方式の著作権管理方式の概要)
本実施形態にかかる著作権管理システムにおける著作権管理方式の概要について説明する。まず,最初にバインディング形式の著作権管理方式の概要について説明する。
本実施形態にかかる著作権管理システムは,映像,音声等のディジタルコンテンツを暗号処理した著作権管理コンテンツ(以下,「コンテンツ」という)の利用条件および利用状態を管理するシステムである。この著作権管理システムは,著作権管理者によって利用条件が規定されているディジタルコンテンツを暗号処理し,この際のコンテンツ暗号処理鍵と,コンテンツの利用条件及び利用状態記述とを用いて,コンテンツの利用を制御して,著作権管理を行う。このような著作権管理を行うために必要な基本データは以下の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に保存する。なお,特段の記載がない場合,かかる保存処理をバインド(bind)と称する。このようにライセンス305等が移動された場合,例えば,後述する移動用アプリケーションによって,上記移動対象コンテンツをもHDD11からリムーバブル記憶媒体40に移動させる。この結果,リムーバブル記憶媒体40を装着した別のユーザ機器で,上記移動されたライセンス305に基づいて上記移動対象コンテンツを再生できるようになる。このように,ライセンス305およびコンテンツ鍵302の移動を制御することによって,結果的に,コンテンツの移動を制御することができる。
以上,本実施形態にかかる著作権管理システムにおける著作権管理方式の概要について説明した。かかる著作権管理方式に準拠して,個々のユーザ機器やコンテンツの種類などに応じて著作権管理部を実装することで,ネットワーク接続されたユーザ機器間等で,多様な種類のコンテンツをやりとりして,コンテンツのポータビリティを向上できる。
(コンポーネント間でのライセンス伝送プロトコル)
上述したように,本実施形態にかかる著作権管理システムでは,著作権管理部3の機能を部品化した複数のライセンス処理コンポーネント間で,ライセンスおよびコンテンツ鍵等を授受することによって,コンテンツの利用を制御する。
このとき,ライセンスおよびコンテンツ鍵等が,適切なライセンス処理コンポーネント間において,適切な手順で伝送されるように制御する必要がある。さもなければ,ライセンス処理コンポーネント間でライセンス等が不正に伝送されてしまい,コンテンツが不正利用される危険性がある。例えば,ある保存コンポーネント11から他の保存コンポーネント12に対し,複製コンポーネント23を経ることなく,ライセンスおよびコンテンツ鍵が直接伝送されてしまうと,当該ライセンスの複製条件として複製回数の制限があるにもかかわらず,複製済み回数がカウントされずにライセンス等が不正に複製されてしまうことになる。
そこで,本実施形態にかかる著作権管理部3では,ライセンスおよびコンテンツ鍵の不正な伝送を防止して,著作権管理機能を確実かつ正当に実行させるべく,ライセンス処理コンポーネント間におけるライセンス等の伝送プロトコルが規定されている。
この伝送プロトコルでは,上述したように,ライセンス処理コンポーネント間において,ライセンスおよびコンテンツ鍵等のデータを含むメッセージがやり取りされる。この伝送プロトコルは,コンポーネント間でやり取りされるメッセージ全体の物理フォーマットについて規定するものではなく,メッセージの構成要素であるデータのフォーマットを規定するものである。データフォーマットを定義することにより,相異なる実装のライセンス処理コンポーネント間においての相互運用性を確保する事が容易になる。例えば,相異なる実装の著作権管理部3を備えた複数のユーザ機器10間においてライセンス等を授受したい場合に,各々の著作権管理部3が取り扱うメッセージのデータフォーマットが共通であれば,ライセンス等のデータを変換せずに容易に授受することができる。
なお,メッセージの物理フォーマットについては実装依存としてもよい。これにより,適用環境に適したライセンス伝送プロトコルの実装が可能になる。例えば,通信プロトコル上に実装する場合の一例として,メッセージの構成データを行指向に送信するプロトコルを実装する方法が考えられる。また,クラス間のメソッド呼び出しとして実装する際には,メッセージを構成するデータを引数に入力して実装する方法が考えられる。
以下に,このようなライセンス処理コンポーネント間のライセンスの伝送プロトコルについて詳細に説明する。
まず,図2に基づいて,本実施形態にかかるライセンス処理コンポーネント間におけるメッセージ伝送の概要について説明する。なお,図2は,本実施形態にかかるライセンス処理コンポーネント間におけるメッセージ伝送の概要を示す説明図である。
図2に示すように,ライセンス等の伝送元(送信側)のライセンス処理コンポーネント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の属性(利用/保存)を表す情報である。以下に,これらの情報についてそれぞれ詳述する。
(伝送タイプ識別情報)
図3は,本実施形態にかかるコンポーネント間におけるライセンスの伝送タイプを示す説明図である。図3に示すように,ライセンス305の伝送タイプは,ライセンス305の伝送目的と,伝送元コンポーネント31と伝送先コンポーネント32との相互作用とに応じて,大まかには,「転送(Transfer)」,「提示(Show)」,「更新(Update)」という3タイプに分類できる。さらに,「更新」は,「更新1(更新要求;Request Update)」,「更新2(更新ライセンス転送;Transfer Updated Licence)」「更新3(更新完了通知;Notify Updated Completion)」,という3タイプに分類される。この結果,ライセンス305の伝送タイプは,5タイプあることになる。以下に,各伝送タイプについて説明する。
図3(a)に示すように,「転送」は,ライセンス305の原本305aの伝送である。伝送元コンポーネント31から伝送先コンポーネント32にライセンス305を「転送」する場合には,伝送元コンポーネント31は,保持しているライセンス305を削除して,当該ライセンス305の原本305aを伝送先コンポーネント32に伝送する。これによって,伝送元コンポーネント31から伝送先コンポーネント32にライセンス305を移動できる。
また,図3(b)に示すように,「提示」は,ライセンス305の写本(複製,コピー)305bの伝送である。伝送元コンポーネント31から伝送先コンポーネント32にライセンス305を「提示」する場合には,伝送元コンポーネント31は,保持しているライセンス305を保持したままで削除することなく,当該ライセンス305の写本305bを伝送先コンポーネント32に伝送する。これによって,伝送元コンポーネント31が保持しているライセンス305を伝送先コンポーネント32に提示できる。
また,図3(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が設定されている。
図4に,本実施形態にかかる伝送タイプ識別情報320の一例である伝送タイプIDと,メッセージとの関係を示す。図4に示すように,上述した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は,ライセンスの更新完了を通知するためのメッセージである。
以上,ライセンスの伝送タイプの相違に応じた伝送タイプ識別情報310(伝送タイプID)について説明した。伝送元コンポーネント31によって,上記伝送タイプ識別情報310をライセンス305とともに伝送することにより,伝送先コンポーネント32において,当該ライセンス305の伝送タイプを識別し,識別した伝送タイプに応じたライセンス305等の処理を実行できる。
(コンポーネント属性情報)
詳細は後述するが,ライセンス処理コンポーネントは,その属性に応じて大きく2種類に分類される。1つは,ライセンス305を記憶手段に保存する保存コンポーネント1(保存コンポーネント11等)であり,もう1つは,ライセンス305を利用する利用コンポーネント2(再生コンポーネント21等)である。この属性分けは,同一属性を有するライセンス処理コンポーネント同士の接続を禁止するために用いられる。
コンポーネント属性情報320は,伝送元コンポーネント31の属性を表す情報であり,具体的には,伝送元コンポーネント31が,保存コンポーネント1または利用コンポーネント2のいずれに属するかを表す情報である。各ライセンス処理コンポーネントは,自身が属するコンポーネント属性情報320を保有しており,メッセージの作成時に,自身が保有するコンポーネント属性情報320をメッセージに含ませる。
図5に,このコンポーネント属性情報320の具体例であるコンポーネント属性IDと,メッセージとの関係を示す。図5に示すように,保存コンポーネント1には,「0x01」なるコンポーネント属性IDが割り当てられ,利用コンポーネント2には,「0x02」なるコンポーネント属性IDが割り当てられている。即ち,保存コンポーネント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とが異なる属性であることをチェックすることができる。
(システム構成)
次に,図6に基づいて,本実施形態にかかるバインディング(binding)管理方式の著作権管理システムに適用したライセンス取得システム100の全体構成について説明する。なお,図6は,本実施形態にかかるライセンス取得システム100の全体構成を概略的に示すブロック図である。
図6に示すように,本実施形態にかかるライセンス取得システム100は,例えば,複数のユーザ機器10a,10b,…(以下では「ユーザ機器10」と総称する場合もある。)と,サービスサーバ20と,管理サーバ21と,これら装置を相互に接続するネットワーク30(ホームネットワーク30aおよびローカルライン30bを含む。)と,これら装置間でコンテンツやライセンス等のデータを授受するためのリムーバブル記憶媒体40と,から構成される。
ユーザ機器10は,コンテンツを利用可能な各種の情報処理装置であり,本発明のライセンス処理装置の一構成例である。図6には,このユーザ機器10の例として,ノート型若しくはデスクトップ型のパーソナルコンピュータ(Personal Computer;以下「PC」という。)10a,携帯型のコンテンツ再生装置であるポータブルデバイス(Portable Device;以下「PD」という。)10b,ホームサーバ10c,テレビジョン装置10d,CD,HD若しくはDVDレコーダ/プレーヤ等の記録再生装置10e,据え置き型の音声プレーヤ10f,カーオーディオ機器10g,携帯電話10hなどが例示されている。しかし,かかる例に限定されず,ユーザ機器10は,例えば,任意のコンピュータ装置,PDA(Personal Digital Assistant)等の携帯端末,ディジタルビデオカメラ,家庭用ゲーム機,情報家電など,各種の情報処理装置で構成することができる。
かかるユーザ機器10は,例えば,コンテンツを利用するためのライセンスを管理サーバ21,サービスサーバ20から取得するライセンス取得機能を有する。なお,上記ライセンスを取得する方法については後程詳述する。
また,上記ユーザ機器10は,上記ライセンス取得機能に限定されず,例えば,ユーザ機器10は,コンテンツの利用機能(例えばコンテンツの再生,保存,移動,結合,分割,変換,複製,貸出,返却機能等),ライセンスに基づくコンテンツの利用制御機能,コンテンツの管理機能(例えば,コンテンツIDに基づくコンテンツ,ライセンス,コンテンツ鍵等の検索または削除機能など),リッピング,セルフレコーディング等によるコンテンツ作成機能などを有する。
このユーザ機器10のうち,ネットワーク30を介した通信機能を有する装置(例えば,PC10a,PD10b,ホームサーバ10cなど)は,サービスサーバ20等のサーバとの間で通信接続可能である。このようなユーザ機器10は,例えば,サービスサーバ20から,コンテンツ配信サービス用のソフトウェアや,著作権管理用ソフトウェアをダウンロードして,インストール可能である。
また,ユーザ機器10は,例えば,セルフレコーディング(自己録音,録画等)やリッピングなどによって,新規にコンテンツを作成して,ストレージ装置やリムーバブル記憶媒体40に記録することができる。なお,セルフレコーディングとは,ユーザ機器10自身が有する撮像装置/集音装置によって撮像/集音した音声等を,映像/音声のディジタルデータとして記録することをいう。また,リッピングとは,音楽CD,ビデオDVD,ソフトウェア用CD−ROM等の記憶媒体に記録されているディジタルコンテンツ(音声データや映像データ等)を抽出し,コンピュータで処理可能なファイル形式に変換して,ストレージ装置やリムーバブル記憶媒体40に記録することをいう。
本実施の形態にかかるライセンス取得システム100では,特にユーザ機器10のなかでも比較的,処理能力が小さいユーザ機器10,例えばPD10bや携帯電話10h等の場合であっても,ユーザ機器10が管理サーバ21やサービスサーバ20とネットワーク接続(オンライン)されていれば,ユーザ機器10又はリムーバブル記録媒体40等は,処理負荷の軽い通信プロトコルでセキュアにライセンスを取得できることを第1の特徴としている。
また,ライセンス取得システム100では,仮にユーザ機器10がネットワーク接続されていない(オフライン)場合でも,他のユーザ機器10が管理サーバ21等に代わりにライセンスを要求することによって,オフラインのユーザ機器10及び/又はリムーバブル記録媒体40にライセンスを取得させることができることを第2の特徴としている。
図6に示すように,オンラインであるPD10bがライセンス取得する場合,例えば,PD10b自らが管理サーバ21へアクセスすることによって,ライセンスを取得してもよく,一方でオフラインであるカーオーディオ機器10gは,例えばPC10aが代わりに管理サーバ21等へライセンスを要求し,印刷媒体41もしくはリムーバブル記憶媒体40等を介して,当該カーオーディオ機器10gにパスフレーズを入力することで,カーオーディオ機器10gはライセンスを取得することができる。なお,ライセンス取得の詳細は後述する。
なお,上記アクセスは,例えば,システムの利用,サーバへの接続,ファイルの参照,ファイルの保存,ファイルの削除,またはファイルの変更など,情報処理を総称していう。
管理サーバ21は,サービスサーバ20によって管理された暗号化されたコンテンツとともに,当該コンテンツの利用条件が記述されたライセンスと,当該コンテンツを復号するための暗号化されたコンテンツ鍵等のセキュア情報をユーザ機器10に転送する機能を有する。またサービスサーバ20は,コンテンツ配信においてユーザの管理,またはライセンスの管理などを行う。
サービスサーバ20,管理サーバ21は,サーバ機能を備えたコンピュータ装置などで構成される。なお,上記サービスサーバ20又は管理サーバ21の少なくとも一方には,例えば,WWWサーバ,グループ管理サーバ,コンテンツ配信サーバ,証明書管理サーバ,課金サーバなどが含まれる。
上記配信サーバは,例えば,コンテンツ配信サービスを提供するサーバであり,ユーザ機器10からの配信要求に応じて,当該ユーザ機器10にネットワーク30を介してコンテンツを配信する。
例えば,音楽コンテンツを配信する場合には,この配信サーバは,電子音楽配信(EMD;Electronic Music Distribution)サービスを提供するEMDサーバとして構成される。この場合,配信サーバは,配信対象の音楽コンテンツを,例えば,ATRAC3(Advanced Transform Acoustic Coding)方式,またはMP3(MPEG Audio Layer−3)方式などの圧縮符号化方式で圧縮符号化し,DES(Data Encryption Standard)などの暗号化方式で暗号化した上で,ユーザ機器10に配信する。
また,配信サーバは,ユーザ機器10が例えばリッピング,セルフレコーディング等により自ら作成したコンテンツの利用を管理する作成コンテンツ利用サービスを提供するサーバとしても構成できる。
上記の場合,配信サーバは,ユーザ機器10に対し,上記作成されたコンテンツの利用条件を記述したライセンスと,当該コンテンツの暗号化を解除するコンテンツ鍵とを配信する。これによって,ユーザ機器10は,配信サーバから取得したライセンスおよびコンテンツ鍵に基づき,上記リッピング等により自ら作成したコンテンツを利用(再生,複製等)できるようになる。
なお,図6の例では,サービスサーバ20又は管理サーバ21によるネットワーク30を介した配信によって,ユーザ機器10にコンテンツ,ライセンス,コンテンツ鍵等が提供されるが,かかる例に限定されない。例えば,DVD,CD,MD,半導体メモリ等のリムーバブル記憶媒体40を介して,ユーザ機器10にコンテンツ,ライセンス,コンテンツ鍵等が提供されてもよい。
ネットワーク30は,上記ユーザ機器10とサービスサーバ20/管理サーバ21とを通信可能に接続する通信回線網である。このネットワーク30は,例えば,インターネット,インターネットVPN,電話回線網,衛星通信網等の公衆回線網や,WAN,LAN,IP−VPN等の専用回線網などで構成されており,有線・無線を問わない。
さらに,かかるネットワーク30は,ホームネットワーク30b等の私的ネットワークや,ローカルライン30bを含む。このうち,私的ネットワークは,著作権管理の観点からみて,私的使用の範囲内でコンテンツを共有する複数のユーザ機器10を相互に接続するネットワークである。
例えば,図6に示すユーザ自宅にあるホームネットワーク30aには,PC10a,ホームサーバ10c,テレビジョン装置10d,記録再生装置10e,据え置き型の音声プレーヤ10fが相互に接続されている。このうち,ホームサーバ10cは,例えば,ハブ機能,ルーター機能,ゲートウェイ機能などを有しており,ユーザ自宅内のユーザ機器10と外部との通信を管理している。
リムーバブル記憶媒体40は,コンテンツ,ライセンス,コンテンツ鍵等の各種データを格納することが可能な記憶手段であり,例えば,DVD−R,DVD−RW,DVD−RAM,CD−R,CD−RW,光磁気ディスク等の各種の光ディスクや,フレキシブルディスク,ハードディスク等の磁気ディスク,各種の半導体メモリなどである。なお,このリムーバブル記憶媒体40は,例えば,暗号鍵等を用いてコンテンツの利用を制限する著作権管理機能付きの記憶媒体であってもよい。
まず,図7に基づいて,本実施形態にかかるPC10aのハードウェア構成について説明する。なお,図7は,本実施形態にかかるPC10aのハードウェア構成例を概略的に示すブロック図である。
図7に示すように,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とを備える。
制御部101は,演算処理装置および制御装置として機能し,ROM102またはHDD111に格納された各種プログラムに従って動作し,PC10a内の各部を制御する。具体的な処理としては,例えば,コンテンツの暗号化および復号化処理,データ改ざん防止およびデータ検証のためのディジタル署名(シグネチャ,MAC(Message Authentication Code)等)の生成および検証処理,接続された他のユーザ機器10との間で実行するコンテンツ等の入出力時の認証,コンテンツ,ライセンスおよびコンテンツ鍵等の入出力処理制御,さらに,ライセンス評価等の著作権管理処理などを各部に指示または実行する。
ROM102は,制御部101が使用するプログラムや,演算パラメータ等を記憶する。また,このROM102は,コンテンツ,ライセンスおよびコンテンツ鍵など保存する記憶手段として利用することもできる。RAM103は,制御部101の実行において使用するプログラムや,その実行において適宜変化するパラメータ等を一時記憶する。これらは制御部用バスなどから構成されるホストバス104により相互に接続されている。
ホストバス104は,ブリッジ105を介して,PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス106に接続されている。
入力部108は,例えば,マウス,キーボード,タッチパネル,ボタン,スイッチ,レバー等の操作手段と,入力信号を生成して制御部101に出力する入力制御回路などから構成されている。PC10aのユーザは,この入力部108を操作することにより,PC10aに対して各種のデータを入力したり処理動作を指示したりすることができる。
出力部110は,例えば,CRT(Cathode Ray Tube)ディスプレイ装置,液晶ディスプレイ(LCD)装置,ランプ等の表示装置と,スピーカ等の音声出力装置などで構成される。
上記出力部110は,例えば,再生されたコンテンツを出力する。具体的には,表示装置は再生された映像コンテンツをテキストまたはイメージで動画若しくは静止画で表示する。一方,音声出力装置は,再生された音声コンテンツを発音する。
HDD111は,本実施形態にかかるPC10aの記憶手段の一例として構成されたデータ格納用の装置である。このHDD111は,制御部101が実行するプログラム(上記著作権管理用ソフトウェアのプログラムなど)や各種データをハードディスクに格納する。また,このHDD111には,例えば,コンテンツ,ライセンス,コンテンツ鍵などの各種データが格納される。
ドライブ112は,記憶媒体用リーダ/ライタであり,PC10aに内蔵,或いは外付けされる。このドライブ112は,PC10aにローディングされた磁気ディスク(HD等),光ディスク(CD,DVD等),光磁気ディスク(MO等),または半導体メモリ等のリムーバブル記憶媒体40に対して,コンテンツ,ライセンス,コンテンツ鍵などの各種データを記録/再生する。
具体的には,ドライブ112は,リムーバブル記憶媒体40に記録されているデータを読み出して,インタフェース107,外部バス106,ブリッジ105,およびホストバス104を介して接続されているRAM103に供給する。制御部101は,必要に応じて,これらのデータをROM102またはHDD111などに格納する。一方,ドライブ112は,ROM102またはHDD111などに格納されているデータや,新たに生成したデータ,外部装置から取得したデータを制御部101から受け取り,リムーバブル記憶媒体40に書き込む。
接続ポート114は,例えば,PC10aと他のユーザ機器10などの外部周辺機器とを接続するポートであり,USB,IEEE1394等の接続端子を有する。接続ポート114は,インタフェース107,および外部バス106,ブリッジ105,ホストバス104等を介して制御部101等に接続されている。かかる接続ポート114によって,PC10aは,PD10b等のユーザ機器10に対してローカルライン30bを介して接続され,各種のデータを通信可能とすることができる。
通信部115は,例えば,ネットワーク30(ネットワーク30aを含む。)に接続するための通信デバイス等で構成された通信インタフェースである。この通信部115は,他のユーザ機器10や管理サーバ21等の外部機器との間で,ネットワーク30を介して,コンテンツ,ライセンス,コンテンツ鍵,制御信号などの各種データを送受信する。
次に,図8に基づいて,本実施形態にかかるPD10bのハードウェア構成について説明する。なお,図8は,本実施形態にかかるPD10bのハードウェア構成例を概略的に示すブロック図である。
図8に示すように,PD10bは,例えば,制御部(又は,CPU)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,入力部208,表示部210,HDD211,ドライブ212,デコーダ213,通信部215,およびオーディオ出力回路216などを接続するデータ線である。
入力部208とリモートコントローラ218は,例えば,タッチパネル,ボタンキー,レバー,ダイヤル等の操作手段と,ユーザによる操作手段に対する操作に応じて入力信号を生成して制御部201に出力する入力制御回路などから構成されている。ユーザ機器10を使用するユーザは,この入力部208や,後述のリモートコントローラ218を操作することにより,ユーザ機器10に対して各種のデータを入力したり処理動作を指示したり,ネットワーク30を介してサービスサーバ20にアクセスしたりすることができる。
表示部210は,例えばLCDパネルおよびLCD制御回路などで構成される。この表示部210は,制御部201の制御に応じて,各種情報をテキストまたはイメージで表示する。
HDD211は,本実施形態にかかるPD10bの記憶手段の一例として構成されたデータ格納用の装置である。このHDD211は,例えば数十GBの記憶容量を有するハードディスクドライブ(HDD)で構成され,コンテンツ,ライセンス,コンテンツ鍵や,制御部201が実行するプログラム,各種のデータを記憶する。かかるHDD211を備えたPD10bは,コンテンツを記録および再生可能なコンテンツ記録再生装置として構成される。これによって,PC10aからリムーバブル記憶媒体40を介して提供されたコンテンツのみならず,PCa等からローカルライン30bを介して受信したコンテンツを,HDD211に格納して,再生することができるようになる。しかし,かかる例に限定されず,例えば,PD10bは,HDD211を具備せず,コンテンツの再生専用装置として構成されてもよい。この場合には,PD10bは,例えば,リムーバブル記憶媒体40に保存されているコンテンツを読み出して再生のみ実行可能(記録は不可能)となる。
ドライブ212は,記憶媒体用リーダ/ライタであり,PC10bに内蔵される。このドライブ212は,PD10bにローディングされた上記各種のリムーバブル記憶媒体40に対して,コンテンツ,ライセンス,コンテンツ鍵などの各種データを,記録/再生する。デコーダ213は,暗号化されているコンテンツのデコード処理,サラウンド処理,PCMデータへの変換処理などを行う。
通信部215は,USBケーブル等のローカルライン30bを介して接続されたユーザ機器10との間で,コンテンツ,ライセンス,コンテンツ鍵,制御信号などの各種データを送受信する,または,通信部215は,他のユーザ機器10や管理サーバ21等の外部機器との間で,ネットワーク30を介して,コンテンツ,ライセンス,コンテンツ鍵,制御信号などの各種データを送受信する。
オーディオ出力回路216は,デコーダ213によりデコードされ,制御部201によってDA変換されたアナログ音声データを増幅してリモートコントローラ218に出力する。このアナログ音声データは,リモートコントローラ218からヘッドフォン219に出力され,ヘッドフォン219に内蔵されたスピーカ(図示せず。)から音声出力される。
以上のように,図7および図8では,ユーザ機器10の一例であるPC10aおよびPD10bのハードウェア構成例を説明した。しかし,コンテンツを利用するユーザ機器10は,上記PC10aおよびPD10bの例に限定されず,図6に示したようにホームサーバ10c,テレビジョン装置10d,記録再生装置10e,据え置き型の音声プレーヤ10f,カーオーディオ機器10g,携帯電話10h,その他の様々な電子機器,情報処理装置によって構成することが可能である。従って,ユーザ機器10は,それぞれの機器固有のハードウェア構成を有することが可能であり,そのハードウェア構成に応じた処理を実行する。
ただし,コンテンツを利用制御するためにライセンスを処理するライセンス処理装置であるユーザ機器10は,上述した著作権管理部(著作権管理モジュール,又は,著作権管理プログラム)を有する。具体的には,かかるユーザ機器10は,例えば,著作権管理用プログラムを保存する記憶手段と,この著作権管理用プログラムを実行するプロセッサとを有し,ライセンスを要求するメッセージを管理サーバ21に対して送信し,管理サーバ21からの回答メッセージの適正等を検証し,ライセンスを取得する。
また,ユーザ機器10は,ライセンスを取得する他に,例えば,ライセンスの利用条件を評価して,自デバイスにおけるコンテンツ利用可否を判定し,利用可能との判定を得たことを条件としてコンテンツ利用を実行することも可能である。
なお,図8に示すユーザ機器10は,PD10bの場合を例に挙げて説明したが,処理能力が小さくて,通信機能を備えたユーザ機器10であれば,かかる例に限定されず,例えば,携帯電話機10hなど,如何なるユーザ機器10の場合であっても実施可能である。
次に,図9に基づいて,本実施形態にかかるユーザ機器10等が備える著作権管理部(又は,著作権管理プログラム)3の機能構成について説明する。なお,図9は,本実施形態にかかるユーザ機器10等が備える著作権管理部3の機能構成を示すブロック図である。
図9に示すように,著作権管理部3は,コンテンツを利用するためのアプリケーション4と接続されている。このアプリケーション4は,ユーザインターフェース機能と,コンテンツを実際に利用する機能を有する。
具体的には,アプリケーション4は,ユーザインターフェース機能として,ユーザからのコンテンツ利用要求を受け付けたり,各種操作画面を表示装置に表示したりする。また,アプリケーション4は,コンテンツ利用機能としては,例えば,コンテンツの再生を実行する,或いは,複数のユーザ機器10間(例えば,PC10aとPD10b間)または同一のユーザ機器10内の記憶手段間(例えば,HDD111とリムーバブル記憶媒体40間)で,コンテンツを移動等する。かかるアプリケーション4によるコンテンツの利用は,著作権管理部3によって制御される。
また,アプリケーション4には,要求検知部81と,要求メッセージ生成部82とが備わる。要求検知部81は,入力部108又は入力部208からの入力信号によって,ライセンス取得の要求を検知する。かかる要求を検知すると,ライセンス取得要求メッセージの生成を指示するためコンポーネント管理部5に依頼する。
要求メッセージ生成部82は,カウンタコンポーネント84により生成されたカウンタ情報(又は,タイムスタンプ)及び/又はID生成コンポーネント83により生成されたセッションIDを取得し,サーバに対してライセンスを要求するライセンス取得要求メッセージを生成する。
また,要求メッセージ生成部82は,ユーザ機器10に備わる通信部115又は通信部215からの応答を基にしてユーザ機器10がネットワーク30に接続したオンライン(同期)の状態であるか,または,ユーザ機器10がネットワーク30に接続していないオフライン(非同期)の状態であるかを判断し,状態情報としてライセンス取得要求メッセージに付与することもできる。
なお,本実施の形態にかかるアプリケーション4は,著作権管理システムを利用するための専用プログラムの場合を例に挙げて説明するが,かかる例に限定されず,例えば,アプリケーション4は,汎用的なWebブラウザ等のアプリケーションの場合であっても実施可能である。
著作権管理部3は,保存コンポーネント1と,利用コンポーネント2と,ID生成コンポーネント83と,カウンタコンポーネント84と,検証コンポーネント85と,時刻コンポーネント86とを備える。なお,保存コンポーネント1と利用コンポーネント2はライセンス処理コンポーネントに相当し詳細については後述する。
各ライセンス処理コンポーネント間で,ライセンスに関する情報(ライセンス自体,コンテンツ鍵など)を安全に授受するために,ライセンス処理コンポーネントでライセンスの利用条件を評価/確認する前処理として,または,独立した処理として,例えば,管理サーバ21からネットワークを介して,著作権管理部5に備わる上記各コンポーネントが完全性等の検証を行うことでユーザ機器10はライセンスを適正に取得することができる。
ID生成コンポーネント83は,ライセンスを取得するために,対管理サーバ21との間で,ライセンスを要求するメッセージを送信し,その要求メッセージに対する回答メッセージを受信する一連のやりとりである取得セッションを識別するセッションIDを生成する。
カウンタコンポーネント84は,カウンタ情報を生成する。例えば,カウンタコンポーネント84は,“1,2,3,…”等のように1ずつ増加する(インクリメンタル)カウンタ情報を生成したり,“90,89,88,…”等のように1ずつ減少する(デクリメンタル)カウンタ情報を生成したりする。なお,生成されたカウンタ情報はユーザ機器10に備わるキャッシュなどの記憶手段に,次のカウンタ情報に更新されるまで記憶される。
また,カウンタコンポーネント84は,上記インクリメンタルカウンタ情報またはデクリメンタルカウンタ情報を生成する場合に限定されず,例えば,カウンタコンポーネント84は,時刻コンポーネント86が生成する時刻を参照し,“2005年8月22日13時50分15秒”等のように,“YYYYMMDDhhmmss”形式でタイムスタンプをカウンタ情報として生成することもできる。なお,生成されたタイムスタンプも,次のタイムスタンプに更新されるまで記憶される。
検証コンポーネント85は,例えば,管理サーバ21にライセンス要求した後の回答メッセージを検証する。また,検証コンポーネント85は,ユーザ機器10自体がオフライン(非同期)であって,外部からパスフレーズを入力した場合にそのパスフレーズをデコードする。詳細については後述する。
時刻コンポーネント86は,正確な時(標準時)を刻むことができ,外部からの要求に応じて,例えば,“YYYYMMDDhhmmss”形式で,時刻を出力することができる。なお,時刻コンポーネント86は,自ら標準時を刻まなくても,ネットワーク30を介してタイムサーバ等にNTPでアクセスし,標準時刻を取得する場合でもよい。
なお,上記保存コンポーネント1と,利用コンポーネント2と,ID生成コンポーネント83と,カウンタコンポーネント84と,検証コンポーネント85などは,例えば,上記各機能を有するハードウェアとして構成されてもよいし,或いは,上記各機能をコンピュータに実現させるプログラムをユーザ機器10にインストールすることによって構成されてもよい。
次に,コンポーネント管理部5について説明する。コンポーネント管理部5は,アプリケーション4からのコンテンツ利用要求に応じて,必要なライセンス処理コンポーネント,その他のコンポーネント(ID生成コンポーネント83〜検証コンポーネント85)を使用して,コンテンツの利用制御を実行する機能を有する。
まず,コンポーネント管理部5は,コンテンツ利用制御処理に使用するライセンス処理コンポーネントを決定する。具体的には,コンポーネント管理部5は,アプリケーション4からコンテンツ利用要求を受けると,要求を受けたコンテンツの利用制御を行う利用コンポーネント2と,コンテンツの利用制御に必要なライセンス及びコンテンツ鍵を保存する保存コンポーネント1と,その他のコンポーネント(ID生成コンポーネント83〜検証コンポーネント85)を決定する。そして,これら決定されたコンポーネントにロード指示を送り,ロード(起動)させる。
次いで,コンポーネント管理部5は,ロードした保存コンポーネント又は要求メッセージ生成コンポーネントに,メッセージの作成を指示し,メッセージを取得する。この際,コンポーネント管理部5は,コンテンツ利用内容に応じて,保存コンポーネント1に格納されているライセンス及びコンテンツ鍵を無効化(削除)するよう指示する場合がある。例えば,コンテンツの移動の場合には,コンポーネント管理部5は,保存コンポーネント1に対し,保存されているライセンスおよびコンテンツ鍵を削除してから,転送のためのメッセージを送信するよう指示する。
さらに,コンポーネント管理部5は,保存コンポーネント1から取得したメッセージを,利用コンポーネント2に転送する,または,管理サーバ21から取得したライセンス取得回答メッセージを検証コンポーネント85に転送する。
検証コンポーネント85は,ライセンス取得回答メッセージを検証した後,そのライセンス取得回答メッセージを利用コンポーネント2に転送する。なお,かかる検証の詳細については後程説明する。
利用コンポーネント2は,メッセージ(ライセンス取得回答メッセージ,含む)の正当性を確認した後,ライセンスに記述された利用条件を評価して,コンテンツの利用の可否を判断し,利用可能であれば,コンテンツの利用をアプリケーションに指示する。なお,利用コンポーネント2が移動コンポーネント22等である場合には,コンテンツの移動に応じて,対応するライセンスおよびコンテンツ鍵も移動させるため,他の保存コンポーネント1にメッセージを送信する。
このように,コンポーネント管理部5は,コンテンツの利用要求に応じて,必要な複数のライセンス処理コンポーネントを機能させて,これらのライセンス処理コンポーネントの間で,ライセンス及びコンテンツ鍵をやり取りさせることで,要求されたコンテンツ利用を制御する。
次に,図10に示すように,著作権管理部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など)に対応してそれぞれ設けられる。
図10の例では,HDDで構成されたライセンス・コンテンツ鍵記憶部6aに,ライセンスおよびコンテンツ鍵を保存するHDD用の保存コンポーネント(Bind1)11と,リムーバブル記憶媒体40で構成されたライセンス・コンテンツ鍵記憶部6bに,ライセンスおよびコンテンツ鍵を保存するリムーバブル記憶媒体用の保存コンポーネント(Bind2)12が示されている。
かかる保存コンポーネント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によって,貸出元と貸出先の記憶手段間においてライセンス及びコンテンツ鍵の返却が許可されれば,この貸出元と貸出先の記憶手段間において,当該ライセンスに対応するコンテンツの返却も許可される。
ユーザ機器10は,かかる著作権管理部によってライセンスに記述されたコンテンツの利用条件および利用状態を評価して,利用条件を満たすか否かを判断し,この結果,利用条件を満たすと判断された場合にのみ,コンテンツの利用(再生,複製等)や,ライセンスの処理(保存,複製,移動等)を許可して,実行することが可能である。例えば,コンテンツの再生が許可された場合には,ユーザ機器10は,暗号化されたコンテンツ鍵を復号化する鍵を取得でき,この取得した鍵を用いて,暗号化されたコンテンツ鍵を復号し,さらに,この復号されたコンテンツ鍵を用いて,暗号化されたコンテンツを復号して,当該コンテンツを再生することができる。
また,ユーザ機器10は,他のユーザ機器10との間で,ネットワーク30,ホームネットワーク30a,ローカルライン30b,或いはリムーバブル記憶媒体40を介して,コンテンツやライセンスをやり取り(移動,複製,貸出,返却等)することができる。ただし,ユーザ機器10間でコンテンツやライセンスをやり取りするためには,著作権管理部3によって,ライセンスに記述された移動条件等を評価して,当該コンテンツおよびライセンスの移動等が許可される必要がある。
以上,図10を参照しながら,5種類の利用コンポーネント2について説明した。なお,同一種類のコンテンツ利用制御を行う利用コンポーネント2に関し,実装による環境依存の部分に応じて,複数の利用コンポーネント2を設けてもよい。例えば,デコーダの種類毎に,複数の再生コンポーネント21を設けてもよい。
以上のような保存コンポーネント1と利用コンポーネント2からなるライセンス処理コンポーネントは,図1でも説明したように,相互にライセンス及びコンテンツ鍵を授受することにより,コンテンツの利用を制御する。このようにライセンス及びコンテンツ鍵を授受するために,ライセンス処理コンポーネント間では,特定のプロトコルに従ったメッセージをやり取りする。このメッセージには,上記説明したように,
(1)ライセンス,
(2)コンテンツ鍵,
(3)ライセンスの伝送タイプ(即ち,メッセージの種類)を表す伝送タイプ識別情報,
(4)メッセージの伝送元のライセンス処理コンポーネントの属性を表すコンポーネント属性情報,
が含まれる。このメッセージのうち,(3)伝送タイプ識別情報および(4)コンポーネント属性情報は,適正なライセンス処理コンポーネントにライセンス及びコンテンツ鍵を適正に伝送することを保証するためのデータである。
(データについて)
ここで,本実施の形態にかかるライセンス取得システム100において用いられる主なデータについて簡単に説明する。
・「セッションID」は,例えば,対管理サーバ21との間で,メッセージ送受信の一回性保証する取得セッション等のセッションを識別するIDである。セッションが継続している間は,そのセッションIDを第三者によって改ざんされないようにセキュアに保持し,セッション終了時に破棄する。
・「カウンタ情報」は,例えば,メッセージ送受信の一回性保証するインクリメントされるカウンタ,または,タイムスタンプ等の情報である。なお,上記カウンタ情報も第三者によって改ざんされないようにセキュアに保持する必要がある。
・「ターミナルID」は,例えば,サービスサーバ20又は管理サーバ21に対してライセンスを要求する要求元のユーザ機器10を識別するIDである。
・「メディアID(又は,情報記録媒体ID)」は,例えば,ハードディスクドライブ(HDD)や,リムーバブル記録媒体40等を識別するIDであり,実際にライセンスを付与する対象となるIDである。
・「レコーダID(又は,情報処理装置ID)」は,例えば,録音装置を識別するIDであり,実際にライセンスを付与する対象となるIDである。
・「デバイスID(又は,情報処理装置ID)」は,例えば,再生装置を識別するIDであり,実際にライセンスを付与する対象となるIDである。
・「ライセンス情報」は,例えば,有効期限やコンテンツを利用可能な有効利用回数などの情報を有するライセンス,伝送タイプ識別情報,コンポーネント属性情報,コンテンツ鍵などが含まれている。
・「ライセンスMAC(又は,ライセンス情報のMAC)」は,例えば,上記(7)のライセンス情報のMAC値を求めたものである。
・「シグネチャ」は,例えば,署名データである。
・「サービスID」は,例えば,サービスを識別するIDである。また,サービスIDはグループIDと関連付けられる
・「オンライン(同期)情報」は,例えば,ユーザ機器10がネットワークに接続した状態を示す情報。
・「オフライン(非同期)情報」は,例えば,ユーザ機器10がネットワークに接続していない状態を示す情報。
以上のようなデータが主に用いられるが,本実施の形態にかかるライセンス取得システム100では,かかるデータのみに限定されず,他のデータが用いられても実施可能である。
(ライセンス取得方法:同期・セッションID方式)
次に,図11に基づいて,以上のようなライセンス取得システム100を利用したライセンス取得方法の一連の処理について説明する。図11は,本実施形態にかかる同期・セッションID方式のライセンス取得方法の概略を示すシーケンス図である。
まず,図11に示すように,ステップS1101〜S1111では,取得要求元のユーザ機器10に備わるアプリケーション4とサービスサーバ20との間でネットワーク30を介した通信接続を安全に確立し,ユーザ認証を行う。
具体的には,まず,登録要求元のユーザ機器10に備わるアプリケーション4の要求検知部81が,ユーザ入力に応じて,ライセンスの取得要求を検知すると,アプリケーション4は,ユーザIDおよびパスワードをサービスサーバ20に送信する(S1101)。すると,サービスサーバ20は,受信したユーザIDおよびパスワードと,予めデータベースに登録されているユーザIDおよびパスワードとを照合して,ユーザ認証処理を行う(S1103)。
上記照合した結果,ユーザ認証が成立すると,サービスサーバ20は,ログインを許可し,ユーザ認証が成立した旨の通知をユーザ機器10のアプリケーション4に送信する(S1105)。次いで,アプリケーション4は,ライセンス取得要求通知をサービスサーバ20に送信する(S1107)。このライセンス取得要求通知により,サービスサーバ20は,ユーザ機器10がライセンス取得のためにアクセスしてきたことを認知する。なお,ライセンス取得処理において必須なのは取得セッションであり,上記ライセンス取得要求通知については省略することも可能である。
次に,サービスサーバ20は,トランザクションID(TID)を生成し(S1109),上記生成したトランザクションIDと,管理サーバ21のアドレス情報の一例であるURL(Uniform Resource Locator)とを,ユーザ機器10のアプリケーション4に送信する(S1111)。これにより,ユーザ機器10は,受信したURLに基づいて管理サーバ21にアクセスできるようになる。
次のステップS1113〜S1141では,管理サーバ21からユーザ機器10及び/又はリムーバブル記録媒体40に実際にライセンスを格納するための処理がなされる。
具体的には,まず,ユーザ機器10のアプリケーション4は,サービスサーバ20にサービスデータ(又は,サービスID)を要求する(S1113)。すると,サービスサーバ20は,ユーザ機器10にサービスデータ(又は,サービスID)を返信する(S1115)。
次に,ユーザ機器10のアプリケーション4は,著作権管理部3に対してライセンスを要求するためのライセンス取得要求メッセージを生成するよう指示する(S1117)。
ID生成コンポーネント83は,ライセンス取得要求メッセージの生成指示を受けると,取得セッションを識別するセッションID(又は,SID)を生成する。生成されたSIDは,アプリケーション4に送信される(S1119)。
なお,図11に図示された[ ]内のデータは,AES−CBC等の鍵で暗号化/復号することによって,ユーザ機器10に備わる著作権管理部3及び管理サーバ21のみが読み取れるものとする。例えば,ステップS1119に示す[SID]は,ユーザ機器10に備わる著作権管理部3及び管理サーバ21のみが当該SIDを読み取れるものとする。
次に,アプリケーション4の要求メッセージ生成部82は,上記セッションIDと,上記ステップS1111で受信したTIDと,サービスデータと,自己のターミナルIDと,ライセンス要求受付時(S1101)に受け付けたライセンスを保存する保存先情報(メディアID,デバイスIDなど)とを基にしてライセンス取得要求メッセージを生成し,管理サーバ21に送信する(S1121)。なお,ライセンス取得要求メッセージには状態情報であるオンライン情報が含まれている。上記ターミナルID等は,ユーザ機器10によって生成される。
次いで,管理サーバ21は,受け取ったライセンス取得要求メッセージに含まれる保存先情報(例えば,メディアID)等を基にライセンス取得の可否を判断する(S1123)。この取得可否判断(S1123)は,例えば,保存先情報がリボークされているか否かを確認する。なお,かかる取得可否判断(S1123)は,省略することも可能である。
取得可否判断の結果,ライセンス取得を許可する場合には,管理サーバ21は,上記指定された保存先にライセンスを格納する処理を行わせるためサービスサーバ20にTIDを送信する(S1125)。
サービスサーバ20は,ユーザ機器10等の保存先に格納するライセンス情報(ライセンス,コンテンツ鍵)を生成し,管理サーバ21に対して,そのライセンス情報を送信する(S1129)。
管理サーバ21は,ライセンス取得要求メッセージ内にオンライン情報が含まれるのを確認すると,サービスサーバ20から受け取ったライセンス情報と,ユーザ機器10から受け取ったセッションID等を基にして,ライセンス取得回答メッセージを生成しユーザ機器10に送信する(S1131)。なお,詳細は後述するが,管理サーバ21は,ライセンス取得要求メッセージ内にオフライン情報が含まれるのを確認した場合,ライセンス取得回答メッセージを作成せず,サービスサーバ20にパスフレーズ等の情報を作成させる。
また,図11に示すように,上記ライセンス取得回答メッセージに含まれるシグネチャは,例えば,ターミナルID,ライセンス情報,メディアID(又は,デバイスID,レコーダIDなど),およびセッションIDなどのMAC値であるが,かかる例に限定されない。上記シグネチャによりライセンス取得回答メッセージの完全性を検証することができる。
ユーザ機器10のアプリケーション4は,上記ライセンス取得回答メッセージを受け取ると,そのまま著作権管理部3に転送する(S1133)。なお,アプリケーション4はライセンス取得回答メッセージに含まれる,例えば“SID”などの情報を読み取ることができない。
検証コンポーネント85は,アプリケーション4から受け取ったライセンス取得回答メッセージのターミナルIDとライセンス取得要求メッセージ送信時(又は,自己)のターミナルIDとが一致することを検証する(S1135)。
次に,検証コンポーネント85は,ユーザ機器10が一回送信したライセンス取得要求メッセージに対するライセンス取得回答メッセージ(リプライ)の受信が一回であることを検証する(S1137)。例えば,検証コンポーネント85は,ライセンス取得回答メッセージ内のSIDと,ライセンス取得要求メッセージ送信時にID生成コンポーネント83が生成したSIDとが一致することを検証する。かかる検証は,ライセンス取得に必須のライセンス取得セッション内で行われる認証として,ユーザ機器10側又は管理サーバ21側のいずれか一方の認証(片方向認証)等で済むため,少なくともライセンス取得におけるユーザ機器10及び管理サーバ21の総合的な処理負荷が低減する。
なお,メッセージの一回性検証(S1137)は,SIDの一致に限定されず,例えば,検証コンポーネント85は,SIDの一致の検証後,さらにメッセージ送受信の有無を確認できるように送信フラグと受信フラグを参照することで一回性を検証する場合等でも実施可能である。なお,かかる場合,上記送信フラグと受信フラグとは所定の記憶領域に割当てられる。
また,検証コンポーネント85は,上記メッセージ一回性検証(S1137)とともに,ライセンス取得回答メッセージに含むシグネチャを基にライセンス取得回答メッセージが改ざんされていないか完全性についても検証する(S1137)。
次いで,ユーザ機器10の検証コンポーネント85は,検証が終了すると,コンポーネント管理部5は,利用コンポーネント2に当該ライセンス取得回答メッセージを転送する。利用コンポーネント2(移動コンポーネント22など)は,上記ライセンス取得回答メッセージに含まれるコンポーネント属性情報及び伝送タイプ識別情報を基にしてライセンス利用条件等を評価すると,保存コンポーネント1によりライセンス,コンテンツ鍵等を含んだライセンス情報が保存先(メディアID,デバイスID等)の記憶領域に格納される(S1139)。これにより,ユーザ機器10は,当該ライセンス情報に対応する配信コンテンツを再生可能となる。
なお,ライセンスに対応付けられたコンテンツは,ライセンス取得回答メッセージと一緒に,または,別途にサービスサーバ20から保存先のユーザ機器10又はリムーバブル記録媒体40に転送される。
次に,著作権管理部3に備わるID生成コンポーネント83は,上記ステップS1119で生成したセッションID(SID)を破棄する(S1141)。以上で,本実施の形態にかかる同期・セッションID方式におけるライセンス取得方法の一連の処理が終了する。
なお,図11に示す本実施の形態に係るライセンス取得方法では,ユーザ機器10がPD10bの場合を例に挙げて説明したが,かかる例に限定されず,PD10b以外のユーザ機器10の場合であっても同様に実施可能である。
また,図11に示す本実施の形態に係るライセンス取得方法では,ライセンスやコンテンツ鍵が含まれたライセンス情報をライセンス取得回答メッセージに含めて送信する場合を例に挙げて説明したが,かかる例に限定されず,例えば,上記ライセンス情報のMAC値(ライセンスMAC)を求め,そのライセンスMACをライセンス取得回答メッセージに含めて送信する場合等でもよい。かかる場合,ライセンスやコンテンツ鍵は別途又はライセンス取得回答メッセージと一緒に送信される。
(ライセンス取得方法:同期・カウンタ情報方式)
次に,図12に基づいて,以上のようなライセンス取得システム100を利用したライセンス取得方法の一連の処理について説明する。図12は,本実施形態にかかる同期・カウンタ情報方式のライセンス取得方法の概略を示すシーケンス図である。
まず,図12に示すように,ステップS1201〜S1211では,取得要求元のユーザ機器10に備わるアプリケーション4とサービスサーバ20との間でネットワーク30を介した通信接続を安全に確立し,ユーザ認証を行う。なお,詳細については,図11に示すステップS1201〜S1211の処理と実質的に同一であるため説明は省略する。
次のステップS1213〜S1243では,管理サーバ21からユーザ機器10及び/又はリムーバブル記録媒体40に実際にライセンスを格納するための処理がなされる。
具体的には,まず,ユーザ機器10のアプリケーション4は,サービスサーバ20にサービスデータ(又は,サービスID)を要求する(S1213)。すると,サービスサーバ20は,ユーザ機器10にサービスデータ(又は,サービスID)を返信する(S1215)。
次に,アプリケーション4の要求メッセージ生成部82は,上記ステップS1211で取得したTIDと,サービスデータと,自己のターミナルIDと,ライセンス要求受付時(S1201)に受け付けたライセンスを格納(保存)する保存先情報(メディアID,デバイスIDなど)とを基にしてライセンス取得要求メッセージを生成し,管理サーバ21に送信する(S1221)。
次いで,管理サーバ21は,受け取ったライセンス取得要求メッセージに含まれる保存先情報(メディアID)等を基にライセンス取得の可否を判断する(S1223)。この取得可否判断(S1223)は,例えば,保存先情報がリボークされているか否かを確認する。なお,かかる取得可否判断(S1223)は,省略することも可能である。
取得可否判断の結果,ライセンス取得を許可する場合には,管理サーバ21は,上記指定された保存先にライセンスを格納する処理を行わせるためサービスサーバ20にTIDとタイムスタンプとを送信する(S1225)。
サービスサーバ20は,ユーザ機器10等の保存先に格納するライセンス情報(ライセンス,コンテンツ鍵)を生成し,管理サーバ21に対して,そのライセンス情報を送信する(S1229)。
管理サーバ21は,サービスサーバ20から受け取ったTID等を基にして,ライセンス取得回答メッセージを生成し,そのライセンス取得回答メッセージにタイムスタンプを付加してユーザ機器10に送信する(S1231)。上記タイムスタンプは,管理サーバ21及びユーザ機器10により生成されるが,上記管理サーバ21及びユーザ機器10により生成するタイムスタンプはともに同期しているものとする。
なお,図12に示すように,上記ライセンス取得回答メッセージに含まれるシグネチャは,例えば,ターミナルID,ライセンス情報,メディアID(又は,デバイスID,レコーダIDなど),およびタイムスタンプなどのMAC値であるが,かかる例に限定されない。上記シグネチャによりライセンス取得回答メッセージの完全性を検証することができる。
ユーザ機器10のアプリケーション4は,上記ライセンス取得回答メッセージを受け取ると,著作権管理部3に転送する(S1233)。なお,アプリケーション4はライセンス取得回答メッセージに含まれる,例えば“タイムスタンプ”などの情報を読み取ることができない。
検証コンポーネント85は,アプリケーション4から受け取ったライセンス取得回答メッセージのターミナルIDとライセンス取得要求メッセージ送信時(又は,自己)のターミナルIDとが一致することを検証する(S1235)。
次に,検証コンポーネント85は,ユーザ機器10が一回送信したライセンス取得要求メッセージに対するライセンス取得回答メッセージ(リプライ)の受信が一回であることを検証する(S1237)。例えば,検証コンポーネント85は,ライセンス取得回答メッセージ内のタイムスタンプと,ライセンス取得回答メッセージ受信時にカウンタコンポーネント84が生成したタイムスタンプとを比較し,当該カウンタコンポーネント84のタイムスタンプの方が最近(又は,新しい)であることを検証する。なお,インクリメンタルカウンタなどタイムスタンプ以外のカウンタ情報の場合,例えば,検証コンポーネント85は,登録回答メッセージのカウンタ情報よりも自己のカウンタ情報の方が小さいことを検証するが,かかる例に限定されない。かかる検証は,ライセンス取得に必須のライセンス取得セッション内で行われる認証として,ユーザ機器10側又は管理サーバ21側のいずれか一方の認証(片方向認証)等で済むため,少なくともライセンス取得におけるユーザ機器10及び管理サーバ21の総合的な処理負荷が低減する。
なお,メッセージの一回性検証(S1237)は,タイムスタンプの検証だけに限定されず,例えば,検証コンポーネント85は,上記タイムスタンプの検証後,さらにメッセージ送受信の有無を確認できるように送信フラグと受信フラグを参照することで一回性を検証する場合等でも実施可能である。なお,かかる場合,上記送信フラグと受信フラグとは所定の記憶領域に予め割当てられる。
また,検証コンポーネント85は,上記メッセージ一回性検証(S1237)とともに,ライセンス取得回答メッセージに含むシグネチャを基にライセンス取得回答メッセージが改ざんされていないか完全性についても検証する(S1237)。
次いで,ユーザ機器10の検証コンポーネント85による検証が終了すると,コンポーネント管理部5は,利用コンポーネント2に当該ライセンス取得回答メッセージを転送する。利用コンポーネント2(移動コンポーネント22など)は,上記ライセンス取得回答メッセージに含まれるコンポーネント属性情報及び伝送タイプ識別情報を基にしてライセンス利用条件等を評価すると,保存コンポーネント1によりライセンス,コンテンツ鍵等を含んだライセンス情報がメディアID,デバイスID等で特定された保存先の記憶領域に格納される(S1239)。これにより,ユーザ機器10又はリムーバブル記録媒体40は,当該ライセンス情報に対応する配信コンテンツを再生可能となる。
なお,ライセンスに対応付けられたコンテンツは,ライセンス取得回答メッセージと一緒に,または,別途にサービスサーバ20から保存先のユーザ機器10又はリムーバブル記録媒体40に転送される。
次に,著作権管理部3に備わるカウンタコンポーネント84により,既に記憶領域に記憶されたタイムカウンタは破棄され,上記新規に生成したタイムカウンタ(ライセンス取得回答メッセージ受信時に生成したタイムカウンタなど)に更新する(S1243)。以上で,本実施の形態にかかる同期・カウンタ情報方式におけるライセンス取得方法の一連の処理が終了する。
なお,図12に示す同期・カウンタ情報方式のライセンス取得方法では,カウンタ情報がタイムスタンプである場合を例に挙げて説明したが,かかる例に限定されず,例えば,カウンタ情報が増加(又は減少)保証のカウンタ等の場合でも実施可能である。
具体的には,例えば,インクリメンタルカウンタであってユーザ機器10及び管理サーバ21のカウンタ情報の初期値が0である場合,管理サーバ21がライセンス取得要求メッセージを受信すると,管理サーバ21は,自己のカウンタ情報を“0”→“1”に更新し,カウンタ情報が“1”であるライセンス取得回答メッセージを送信する。
次に,検証コンポーネント85は,ライセンス取得回答メッセージに設定されたカウンタ情報の値が“1”であって,カウンタコンポーネント84から受けたカウンタ情報が“0”であるため,適切な登録回答メッセージであると判断すると,既に記憶領域に記憶された自己のカウンタ情報“0”を破棄し,ライセンス取得回答メッセージのカウンタ情報“1”に更新する。
以上,本実施の形態にかかる同期・セッションID/カウンタ情報方式の取得セッション内では,ライセンス取得要求メッセージとライセンス取得回答メッセージのメッセージの送受信に限られるため,ネットワークを介した送受信の処理負荷が軽減される。さらに,セッションID方式の場合,取得セッションを識別するSIDはサーバ側ではなくユーザ機器10側で生成される。カウンタ情報方式の場合,ライセンス取得要求メッセージ送信時にユーザ機器10側でカウンタ情報を付加する必要がない。つまり,上記ライセンス取得方法を適用すれば,ユーザ機器10の処理能力がさほど高くないユーザ機器10(携帯電話機10hなど)でもライセンスを取得できる。
なお,図12に示す本実施の形態に係るライセンス取得方法では,ユーザ機器10がPD10bの場合を例に挙げて説明したが,かかる例に限定されず,PD10b以外のユーザ機器10の場合であっても同様に実施可能である。
また,図12に示す本実施の形態に係るライセンス取得方法では,ライセンスやコンテンツ鍵が含まれたライセンス情報をライセンス取得回答メッセージに含めて送信する場合を例に挙げて説明したが,かかる例に限定されず,例えば,上記ライセンス情報のMAC値(ライセンスMAC)を求め,そのライセンスMACをライセンス取得回答メッセージに含めて送信する場合等でもよい。かかる場合,ライセンスやコンテンツ鍵は別途又はライセンス取得回答メッセージと一緒に送信される。
(ライセンス取得方法:非同期・セッションID方式)
次に,図13に基づいて,以上のようなライセンス取得システム100を利用したライセンス取得方法の一連の処理について説明する。図13は,本実施形態にかかる非同期・セッションID方式のライセンス取得方法の概略を示すシーケンス図である。
まず,図13に示すように,ユーザ機器10−1はサービスサーバ20又は管理サーバ21とオンライン(同期)に接続しているが,ユーザ機器10−2はオフライン(非同期)である。このように図13に示すライセンス取得方法では,非同期のユーザ機器10−2がライセンスを取得することを目的とする。
図13に示すステップS1301〜S1311では,ユーザ機器10−2の代理として機器10−1のアプリケーション4とサービスサーバ20との間でネットワーク30を介した通信接続を安全に確立し,ユーザ認証を行う。なお,上記ステップS1301〜S1311は,上記説明した図11に示すステップS1101〜S1111と実質的に同一であるため詳細な説明は省略する。
次のステップS1313〜S1343では,ユーザ機器10−2及び/又はライセンス記録媒体40にライセンスを格納するための処理がなされる。なお,一度に複数のライセンスを格納することができる。
具体的には,まず,ユーザ機器10−1のアプリケーション4は,サービスサーバ20にサービスデータ(又は,サービスID)を要求する(S1313)。すると,サービスサーバ20は,ユーザ機器10にサービスデータ(又は,サービスID)を返信する(S1315)。
次に,ユーザ機器10のアプリケーション4は,著作権管理部3に対してライセンスを要求するためのライセンス取得要求メッセージを生成するよう指示する(S1317)。
ID生成コンポーネント83は,ライセンス取得要求メッセージの生成指示を受けると,取得セッションを識別するセッションID(又は,SID)を生成する。生成されたSIDは,アプリケーション4に送信される(S1319)。
次に,ユーザ機器10−1のアプリケーションの要求メッセージ生成部82は,上記セッションIDと,上記ステップS1311で受信したTIDと,サービスデータと,ユーザ機器10−2に対応するターミナルIDと,ライセンス要求受付時(S1301)に受け付けたライセンスを保存する保存先情報(メディアID,デバイスIDなど)とを基にしてライセンス取得要求メッセージを生成し,管理サーバ21に送信する(S1321)。なお,ライセンス取得要求メッセージにはオフライン(非同期)情報が含まれている。また,図示しないが,ライセンス取得要求メッセージに少なくともSIDから求められたMAC値が含まれても良い。
なお,上記ステップS1301で受け付けたユーザ機器10−2のターミナルIDや,デバイスID,さらにユーザ機器10−2でロードされたリムーバブル記録媒体40のメディアID等は,例えば,ユーザ機器10−1の入力部208等により直接入力されるが,かかる例に限定されない。
次いで,管理サーバ21は,受け取ったライセンス取得要求メッセージに含まれる保存先情報(例えば,メディアID)等を基にライセンス取得の可否を判断する(S1323)。この取得可否判断(S1323)は,例えば,保存先情報がリボークされているか否かを確認する。なお,かかる取得可否判断(S1323)は,省略することも可能である。
取得可否判断の結果,ライセンス取得を許可する場合,ライセンス取得要求メッセージ内にオフライン情報が含まれるのを確認すると,サービスサーバ20に対しTIDを送信するとともにパスフレーズ作成指示する(S1325)。
サービスサーバ20は,ユーザ機器10−1から受け取ったセッションID及びそのMAC値と,さらに上記ライセンス情報とターミナルIDとセッションID等とを含み,さらにそれらのシグネチャを含むライセンス取得回答メッセージを生成する。サービスサーバ20は,上記ライセンス取得回答メッセージをエンコードしパスフレーズに変換する。
つまり,上記パスフレーズには,ライセンス取得要求メッセージに含まれていたSIDと,そのMAC値と,さらにライセンス取得回答メッセージ生成時に設定するSIDと,シグネチャとが存在する。ユーザ機器10−2側では,ライセンス取得要求メッセージに含まれていたSIDの完全性を検証し,ライセンス取得回答メッセージ(SID含む)の完全性を検証し,双方のSIDが一致することを検証することでメッセージの一回性の検証が行われるが,かかる例に限定されない。
なお,ライセンス取得要求メッセージに含まれていたSIDのMAC値は,サービスサーバ20側で求められる場合を例に挙げて説明したが,かかる例に限定されず,例えば,ユーザ機器10−1側で求めても良い。ユーザ機器10−1側で求めた方が,サービスサーバ20のなりすましによりSIDが不正に生成される危険を防ぐことができる。
次に,上記作成されたパスフレーズは,例えば,リムーバブル記録媒体40に記録され,または,印刷媒体に文字又は記号などで印刷される。図13に示すように,ユーザ機器10−2の著作権管理部3−2には,例えば,上記リムーバブル記録媒体40を介して,または,印刷媒体に印字された文字又は記号をユーザ機器10−2の入力部208を操作することで,パスフレーズが入力する(S1333)。
ユーザ機器10−2の検証コンポーネント85は,上記パスフレーズの入力があると(S1333),そのパスフレーズをデコードしライセンス取得回答メッセージに変換する(S1335)。
次に,検証コンポーネント85は,デコードしたライセンス取得回答メッセージに設定されたターミナルIDと自己のターミナルIDとが一致することを検証する(S1337)。
次に,著作権管理部3−2の検証コンポーネント85は,ユーザ機器10が一回送信したライセンス取得要求メッセージに対するライセンス取得回答メッセージ(リプライ)の受信が一回であることを検証する(S1339)。例えば,検証コンポーネント85は,上記説明したようにライセンス取得回答メッセージに含む2つのSIDが一致することを検証する。かかる検証は,ライセンス取得に必須のライセンス取得セッション内で行われる認証として,ユーザ機器10側又は管理サーバ21側のいずれか一方の認証(片方向認証)等で済むため,少なくともライセンス取得におけるユーザ機器10及び管理サーバ21の総合的な処理負荷が低減する。
なお,検証コンポーネント85は,上記メッセージ一回性検証の際に,ライセンス取得回答メッセージが改ざんされていないかシグネチャを基に完全性についても検証する(S1339)。
上記メッセージの一回性検証(S1339)では,SIDの同一性の検証のみに限定されず,例えば,検証コンポーネント85は,上記SIDの同一性の検証後,さらにメッセージ送受信の有無を確認できるように送信フラグと受信フラグを参照することで一回性を検証する場合等でも,実施可能である。
次いで,ユーザ機器10−2の検証コンポーネント85による検証が終了すると,コンポーネント管理部5は,利用コンポーネント2に当該ライセンス取得回答メッセージを転送する。利用コンポーネント2(移動コンポーネント22など)は,上記ライセンス取得回答メッセージに含まれるコンポーネント属性情報及び伝送タイプ識別情報を基にしてライセンスの利用条件を評価し,保存コンポーネント1によりライセンス,コンテンツ鍵などを含んだライセンス情報がメディアIDやデバイスID等で特定された保存先の記憶領域に格納される(S1341)。これにより,ユーザ機器10−2又はリムーバブル記録媒体40は,当該ライセンス情報に対応する配信コンテンツを利用可能となる。
なお,ライセンスに対応付けられたコンテンツは,別途にリムーバブル記録媒体40等を介してサービスサーバ20からライセンス保存先のユーザ機器10−2又はリムーバブル記録媒体40に転送される。
次に,著作権管理部3に備わるID生成コンポーネント83は,上記ステップS1319で生成したセッションID(SID)を破棄する(S1343)。以上で,本実施の形態にかかる同期・セッションID方式におけるライセンス取得方法の一連の処理が終了する。
なお,図13に示すグループ登録方法では,図3に示すPD10bによってオフラインのカーオーディオ機器10g又はカーナビゲーション(図示せず。)にライセンスを取得させる場合を例に挙げて説明したが,かかる例に限定されず,PD10b,カーオーディオ機器10g以外のユーザ機器10又はリムーバブル記録媒体40の場合であっても同様に実施可能である。
また,図13に示すように,パスフレーズはサービスサーバ20により生成される場合を例に挙げて説明したが,かかる例に限定されない。例えば,パスフレーズは管理サーバ21により生成される場合でも実施可能である。
(ライセンス取得方法:非同期・カウンタ情報方式)
次に,図14に基づいて,以上のようなライセンス取得システム100を利用したライセンス取得方法の一連の処理について説明する。図14は,本実施形態にかかる非同期・カウンタ情報方式のライセンス取得方法の概略を示すシーケンス図である。
まず,図14に示すように,ユーザ機器10−1はサービスサーバ20又は管理サーバ21とオンライン(同期)に接続しているが,ユーザ機器10−2はオフライン(非同期)である。このように図13に示すライセンス取得方法では,非同期のユーザ機器10−2がライセンスを取得することを目的とする。
図14に示すステップS1401〜S1411では,ユーザ機器10−2の代理として機器10−1のアプリケーション4とサービスサーバ20との間でネットワーク30を介した通信接続を安全に確立し,ユーザ認証を行う。なお,上記ステップS1401〜S1411は,上記説明した図11に示すステップS1101〜S1111と実質的に同一であるため詳細な説明は省略する。
次のステップS1413〜S1443では,ユーザ機器10−2及び/又はライセンス記録媒体40にライセンスを格納するための処理がなされる。なお,一度に複数のライセンスを格納することができる。
具体的には,まず,ユーザ機器10−1のアプリケーション4は,サービスサーバ20にサービスデータ(又は,サービスID)を要求する(S1413)。すると,サービスサーバ20は,ユーザ機器10−1にサービスデータ(又は,サービスID)を返信する(S1415)。
次に,ユーザ機器10−1のアプリケーションの要求メッセージ生成部82は,上記ステップS1411で受信したTIDと,サービスデータと,ユーザ機器10−2に対応するターミナルIDと,ライセンス要求受付時(S1401)に受け付けたライセンスを保存する保存先情報(メディアID,デバイスIDなど)とを基にしてライセンス取得要求メッセージを生成し,管理サーバ21に送信する(S1421)。なお,ライセンス取得要求メッセージにはオフライン(非同期)情報が含まれている。
なお,上記ステップS1401で受け付けたユーザ機器10−2のターミナルIDや,デバイスID,さらにユーザ機器10−2で装填されたリムーバブル記録媒体40のメディアID等は,例えば,ユーザ機器10−1の入力部208等を用いてユーザにより直接入力されるが,かかる例に限定されない。
次いで,管理サーバ21は,受け取ったライセンス取得要求メッセージに含まれる保存先情報(例えば,メディアID)等を基にライセンス取得の可否を判断する(S1423)。この取得可否判断(S1423)は,例えば,保存先情報がリボークされているか否かを確認する。なお,かかる取得可否判断(S1423)は,省略することも可能である。
取得可否判断の結果,ライセンス取得を許可する場合,ライセンス取得要求メッセージ内にオフライン情報が含まれるのを確認すると,サービスサーバ20に対しTIDとタイムスタンプとを送信するとともにパスフレーズ作成指示する(S1425)。
サービスサーバ20は,ユーザ機器10等の保存先に格納するライセンス情報(ライセンス,コンテンツ鍵)を生成し,当該ライセンス情報とターミナルIDとメディアID等の保存先情報とを含み,さらにそれらのシグネチャを含んだライセンス取得回答メッセージを生成する。サービスサーバ20は,さらに上記ライセンス取得回答メッセージをエンコードしパスフレーズに変換する。
次に,上記作成されたパスフレーズは,例えば,リムーバブル記録媒体40に記録され,または,印刷媒体に文字又は記号などで印刷される。図14に示すように,ユーザ機器10−2の著作権管理部3−2には,例えば,上記リムーバブル記録媒体40を介して,または,印刷媒体に印字された文字又は記号をユーザ機器10−2の入力部208を操作することで,パスフレーズが入力する(S1433)。
ユーザ機器10−2の検証コンポーネント85は,上記パスフレーズの入力があると(S1433),そのパスフレーズをデコードしライセンス取得回答メッセージに変換する(S1435)。
次に,検証コンポーネント85は,デコードしたライセンス取得回答メッセージに設定されたターミナルIDと自己のターミナルIDとが一致することを検証する(S1437)。
次に,著作権管理部3−2の検証コンポーネント85は,ユーザ機器10が一回送信したライセンス取得要求メッセージに対するライセンス取得回答メッセージ(リプライ)の受信が一回であることを検証する(S1439)。例えば,検証コンポーネント85は,ライセンス取得回答メッセージ内のタイムスタンプと,ライセンス取得回答メッセージ受信時にカウンタコンポーネント84が生成したタイムスタンプとを比較し,当該カウンタコンポーネント84のタイムスタンプの方が最近(又は,新しい)であることを検証する。
なお,検証コンポーネント85は,上記メッセージ一回性検証の際に,ライセンス取得回答メッセージが改ざんされていないかシグネチャを基に完全性についても検証する(S1339)。
上記メッセージの一回性検証(S1339)では,タイムスタンプの検証のみに限定されず,例えば,検証コンポーネント85は,上記タイムスタンプの検証後,さらにメッセージ送受信の有無を確認できるように送信フラグと受信フラグを参照することで一回性を検証する場合等でも,実施可能である。
次いで,ユーザ機器10−2の検証コンポーネント85による検証が終了すると,コンポーネント管理部5は,利用コンポーネント2に当該ライセンス取得回答メッセージを転送する。利用コンポーネント2(移動コンポーネント22など)は,上記ライセンス取得回答メッセージに含まれるコンポーネント属性情報及び伝送タイプ識別情報を基にしてライセンスの利用条件を評価し,保存コンポーネント1によりライセンス,コンテンツ鍵などを含んだライセンス情報は,メディアIDやデバイスID等で特定された保存先の記憶領域に格納される(S1441)。これにより,ユーザ機器10−2又はリムーバブル記録媒体40は,当該ライセンス情報に対応する配信コンテンツを利用可能となる。
なお,ライセンスに対応付けられたコンテンツは,別途にリムーバブル記録媒体40等を介してサービスサーバ20からライセンス保存先のユーザ機器10−2又はリムーバブル記録媒体40に転送される。
次に,著作権管理部3に備わるカウンタコンポーネント84により生成されたタイムカウンタは,破棄される。なお,カウンタ情報がタイムスタンプではなく(インクリメンタル/デクリメンタル)カウンタ等の場合,カウンタ情報の破棄の後,カウンタコンポーネント84は,次のカウンタ情報に更新する(S1443)。同様に,例えば,所定時間経過後,管理サーバ21もカウンタ情報を更新する(S1447)。以上で,本実施の形態にかかる非同期・カウンタ情報方式におけるライセンス取得方法の一連の処理が終了する。
なお,図13,14に示すライセンス取得方法では,ユーザ機器10がPD10bの場合であって,オフラインのカーオーディオ機器10g又はカーナビゲーション(図示せず。)にライセンスを取得させる場合を例に挙げて説明したが,かかる例に限定されず,PD10b,カーオーディオ機器10g以外のユーザ機器10又はリムーバブル記録媒体40の場合であっても同様に実施可能である。
以上,本実施の形態にかかる非同期・セッションID/カウンタ情報方式の取得セッション内では,ライセンス取得要求メッセージとパスフレーズの送受信で済む。また,登録回答メッセージをパスフレーズにエンコードすることで,ユーザ機器10又はリムーバブル記録媒体40がオフラインの場合でも,当該ユーザ機器10又はリムーバブル記録媒体40にライセンスを取得させることができる。さらにオフラインのユーザ機器10は著作権管理部3を備えていればアプリケーション4を備えていなくても,セキュアにライセンス取得することができる。
(ユーザ機器10間におけるライセンス転送について)
図15に示すように,送信側のユーザ機器10から受信側のユーザ機器10にライセンスを転送することができる。なお,図15に示すライセンス転送の詳細は上記説明のサーバからライセンスを取得する処理と,ほぼ同様であるため詳細な説明は省略する。
管理サーバ21から取得したライセンスを他のユーザ機器10に転送することができるため,ライセンスのバインディングをより柔軟に効率的に行うことができる。
つまり,ユーザ機器10は,ネットワーク30を介さずとも,かかるリムーバブル記憶媒体40等を介して,コンテンツ,ライセンス,コンテンツ鍵等を相互にやりとりできる。また,このリムーバブル記憶媒体40を,例えば,販売店の店頭等に設けられたコンテンツ販売端末(図示せず。)に挿入して,ユーザ操作に応じて購入されたコンテンツやライセンス等をリムーバブル記憶媒体40に記憶させてもよい。これにより,購入されたコンテンツ等を,かかるリムーバブル記憶媒体40を介してユーザ機器10に提供することができる。
なお,本実施の形態にかかるライセンス取得システム100は,バインディング方式の著作権管理を適用した場合を例に挙げて説明したが,かかる例に限定されず,例えば,図16に示すように,ライセンス取得システム100は,グループ管理方式の著作権管理を適用した場合でも実施可能である。グループ管理方式の著作権管理は,各ユーザが所有する複数の機器をサービスサーバ20又は管理サーバ21にユーザ単位でグループ登録し,グループ登録された各機器において,コンテンツの提供元を表すソースIDと,ソースIDリストとに基づいて,コンテンツの再生を制御するシステムである。
なお,上述した一連の処理は,専用のハードウェアにより行うこともできるし,ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には,そのソフトウェアを構成するプログラムが,汎用のコンピュータやマイクロコンピュータ等の情報処理装置にインストールされ,上記情報処理装置をユーザ機器10,サービスサーバ20,又は管理サーバ21として機能させる。
プログラムは,コンピュータに内蔵されている記録媒体としてのハードディスクドライブ(HDD)やROMに予め記録しておくことができる。
あるいはまた,プログラムは,ハードディスクドライブに限らず,フレキシブルディスク,CD−ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc),磁気ディスク,半導体メモリなどのリムーバブル記録媒体に,一時的あるいは永続的に格納(記録)しておくことができる。
なお,プログラムは,上述したようなリムーバブル記録媒体からコンピュータにインストールする他,ダウンロードサイトから,ディジタル衛星放送用の人工衛星を介して,コンピュータに無線で転送したり,LAN(Local Area Network),インターネットといったネットワークを介して,コンピュータに有線で転送し,コンピュータでは,そのようにして転送されてくるプログラムを受信し,内蔵するHDDにインストールすることができる。
ここで,本明細書において,コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは,必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく,並列的あるいは個別に実行される処理(例えば,並列処理あるいはオブジェクトによる処理)も含むものである。
また,プログラムは,1のコンピュータにより処理されるものであっても良いし,複数のコンピュータによって分散処理されるものであっても良い。
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明はかかる例に限定されない。当業者であれば,特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例を想定し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
上記実施形態においては,ユーザ機器10に備わるアプリケーションはライセンス取得専用のソフトウェアである場合を例にあげて説明したが,本発明はかかる例に限定されない。例えば,アプリケーションは汎用的なWebブラウザ等のソフトウェアである場合でも実施可能である。
上記実施形態においては,一つのライセンスを取得する場合を例に挙げて説明したが,本発明はかかる例に限定されない。例えば,ユーザ機器10及び/又はリムーバブル記録媒体40各々に当該ライセンスを格納する場合,または,ユーザ機器10又はリムーバブル記録媒体40等に複数のライセンスを一度に一括して格納する場合等でも実施可能である。
また,上記実施形態においては,ライセンス取得方法においてユーザ機器10がオフラインの場合,ユーザ機器10はパスフレーズを入力する場合を例に挙げて説明したが,本発明はかかる例に限定されない。例えば,ユーザ機器10は,一次元バーコード又は二次元バーコードなど,文字,記号,又は図形のうち少なくとも一つを組み合わせたものを入力する場合等でも実施可能である。
また,上記実施形態においては,オフラインのライセンス取得方法において,サービスサーバ20又は管理サーバ21からのパスフレーズを入力するのはオフラインのユーザ機器10−2である場合を例に挙げて説明したが,本発明はかかる例に限定されず,例えば,上記パスフレーズを入力するのはオンラインのユーザ機器10−1である場合でも実施可能である。なお,かかる場合,ユーザ機器10−2は管理サーバ21等のサーバにアクセス可能なネットワーク30には接続していないが,ユーザ機器10−2はユーザ機器10−1とローカルにネットワーク接続していて,ユーザ機器10−1からパスフレーズがデコードされたライセンス取得回答メッセージがユーザ機器10−2に転送される,または,ユーザ機器10−1にてメッセージ一回性検証等の検証が行われ,ライセンス情報等のデータがユーザ機器10−2に転送されて,ユーザ機器10−2にライセンス情報を保存させてもよい。