以下、図面を参照しながら、本発明のコンテンツ利用デバイス、および情報処理方法について説明する。
本発明は、コンテンツの利用権情報を格納したデバイスと、家庭内などにユーザが保持するコンテンツ利用デバイスとが接続し、コンテンツ利用デバイスが、コンテンツの利用権情報を取得して、コンテンツ配信サーバに接続し、利用権に基づいてコンテンツをダウンロードして利用、再生する構成を実現する。以下、本発明の詳細な説明について、以下の項目に従って説明する。
1.システム構成
2.各機器の構成
3.コンテンツ、権利情報(Right)の構成
4.権利情報に基づくコンテンツ再生処理
5.権利情報の購入、格納処理
[1.システム構成]
まず、図1を参照して、本発明のコンテンツ配信、利用構成を実現するシステム全体構成について説明する。
コンテンツを再生、利用するユーザは、ローカル領域110において、ネットワーク150接続可能なコンテンツ利用デバイス(CPT:Content Playing Terminal)111を有する。コンテンツは、コンテンツ配信サーバ121からネットワーク150を介してコンテンツ利用デバイス(CPT)に配信され、利用される。
コンテンツの配信を受け、コンテンツを利用するためには、コンテンツの利用権(ライセンス)が必要となる。このコンテンツ利用権(ライセンス)は、所定のライセンス取得手続きによって、ライセンスサーバ(RSS:Right Selling Server)122から取得し、ライセンス格納デバイス(RHD:Right Holding Device)112に格納される。また、コンテンツ利用権(ライセンス)があらかじめ格納されたライセンス格納デバイスを購入することで利用権を取得する方法もある。
ライセンス格納デバイス(RHD)112は、コンテンツ利用デバイス(CPT)111と通信するためのインタフェースを持っている。それぞれの装置はセキュアなセッションを張るための暗号処理装置と認証に必要な鍵情報を保持するエリアを備えている。ライセンス格納デバイス(RHD)112は、例えば暗号処理部を備えた非接触ICカードやメモリデバイスなどにより構成される。
ライセンス格納デバイス(RHD)112に格納されているライセンス情報としてのコンテンツ利用権を示す権利情報(以下、Rightと呼ぶ)が、セキュアなセッションにおいて、コンテンツ利用デバイス(CPT)111に安全に渡されると、コンテンツ利用デバイス(CPT)111は、受領したコンテンツ利用権情報としての権利情報(Right)の正当性を検証する。
受領したコンテンツ利用権情報としての権利情報(Right)の正当性が確認されると、コンテンツ利用デバイス(CPT)111は、コンテンツ配信サーバ(CDS)121に接続する。なお、コンテンツ利用デバイス(CPT)111は、利用するコンテンツ、すなわち、受領した権利情報(Right)に対応するコンテンツを配信可能なコンテンツ配信サーバ情報を取得するために、必要に応じてインデックスサーバ(CIS:CDS Index Server)124とネゴシエーションを実行する。これは特定のコンテンツ配信サーバ(CDS)へのアクセスによる負荷の集中を避けるためにも利用される。
コンテンツ利用デバイス(CPT)111は、コンテンツ配信サーバ(CDS)121に接続された後にコンテンツ利用権情報としての権利情報(Right)をセキュアに送信する。コンテンツ配信サーバ(CDS)121は、コンテンツ利用デバイス(CPT)111から受信したコンテンツ利用権情報としての権利情報(Right)の検証処理を実行して、偽造の有無の確認を行なう。さらに、権利情報(Right)の有効期限を管理するデータベース、有効性管理情報データベース(VID:Validity Information Database)123を利用して、受領したコンテンツ利用権情報としての権利情報(Right)が有効期限内であるかなどの正当性の確認を行なう。
コンテンツ配信サーバ(CDS)121は、コンテンツ利用デバイス(CPT)111から受信したコンテンツ利用権情報としての権利情報(Right)の正当性が確認されると、コンテンツ利用デバイス(CPT)111に対してコンテンツの配信を実行する。
コンテンツ利用デバイス(CPT)111は、コンテンツ配信サーバ(CDS)121から受信したコンテンツを再生、利用する。再生の形態としては一括ダウンロードし、付属の記憶媒体に格納後に再生する態様、あるいはストリーミング再生の態様とがある。
コンテンツ利用権情報としての権利情報(Right)は、コンテンツ識別子としてのコンテンツIDに権利情報(Right)提供者の秘密鍵でディジタル署名を施したデータを含むものである。権利情報(Right)の検証を行なうエンティテイ、例えばコンテンツ配信サーバ(CDS)121は、権利情報(Right)提供者の秘密鍵に対応する公開鍵を使って署名検証処理を行ない、コンテンツ利用権情報としての権利情報(Right)の正当性検証を行う。
権利情報(Right)を格納しているライセンス格納デバイス(RHD)を有するユーザがそのコンテンツの利用権を有するユーザと認定されることを意味し、ユーザは、様々なコンテンツ利用機器、例えばPC、再生専用装置、ゲーム端末、通信端末等に、ライセンス格納デバイス(RHD)からコンテンツ利用権情報としての権利情報(Right)を受信し、受信した権利情報(Right)をコンテンツ配信サーバ(CDS)に転送することで、コンテンツを受信し、利用、再生することができる。
ユーザがライセンス格納デバイス(RHD)を取得する方法としては、例えば以下の方法がある。
(1)コンテンツ利用権情報としての権利情報(Right)が保存されたライセンス格納デバイス(RHD)を店頭にて購入したりレンタルする。これは、既存のCD,DVD等の流通経路と同様である。
(2)何も書き込まれていないライセンス格納デバイス(RHD)を購入後、オンラインでコンテンツを所定の利用料金の支払いに基づいて購入し、その購入時に動的に生成されたコンテンツ利用権情報としての権利情報(Right)をライセンス格納デバイス(RHD)に書き込む。なお、権利情報(Right)の書き込みには専用のデバイスを利用する。
オンラインでのコンテンツ利用権情報としての権利情報(Right)の購入処理には、図1に示すライセンス購入デバイス(RBT:Right Buying Terminal)113と、ユーザ利用料金支払実行デバイス(UPD:User Payment Device)114を適用する。
ライセンス購入デバイス(RBT)113がライセンスサーバ(RSS)122に接続し、ユーザの決済情報を格納、あるいは入力可能なユーザ利用料金支払実行デバイス(UPD)からライセンス購入デバイス(RBT)を介して決済情報をライセンスサーバ(RSS)122に送信する。ライセンスサーバ(RSS)122は、決済処理を実行する利用権料金納付管理サーバ(PAS:Payment Administration Server)125に対して、決済情報を送信する。利用権料金納付管理サーバ(PAS)125は、ユーザ利用料金支払実行デバイス(UPD)114毎の与信情報を管理する。利用権料金納付管理サーバ(PAS)125は、決済情報の正当性、決済処理の可否等を判定し、決済処理可能な場合は、決済処理を実行して、結果をライセンスサーバ(RSS)122に通知し、ライセンスサーバ(RSS)122は、通知に基づいて、ライセンス購入デバイス(RBT)113にライセンスを送信し、ライセンス購入デバイス(RBT)113からライセンス格納デバイス(RHD)にライセンス書き込みが行われる。
(3)ユーザ自身がコンテンツ提供者になる場合、例えば、オリジナルコンテンツ等の提供を行なう場合等には、ユーザが所定のフォーマットに従ったコンテンツ利用権情報としての権利情報(Right)を作成し、適切な署名用鍵(PRIrss)を作成して、署名を付加し、ライセンス格納デバイス(RHD)に書き込む。なお、この場合、ユーザは、コンテンツ利用権情報としての権利情報(Right)に対応したコンテンツ配信サーバ(CDS)を自ら立ち上げる。
図1に示すライセンス格納デバイス(RHD)112、コンテンツ利用デバイス(CPT)111は、耐タンパ構成を持つ公開鍵暗号モジュールを有し、ライセンス格納デバイス(RHD)112、コンテンツ利用デバイス(CPT)111、コンテンツ配信サーバ(CDS)121は、それぞれ認証局(CA)131より公開鍵証明書を受領している。
公開鍵証明書には、属性情報としてライセンス格納デバイス(RHD)、コンテンツ利用デバイス(CPT)、コンテンツ配信サーバ(CDS)のいずれであるかの種類を示す情報を記述したフィールドが存在する。
ライセンス格納デバイス(RHD)にはコンテンツの利用権を示す権利情報(Right)のみが格納されており、その権利情報(Right)の正当性はコンテンツ配信サーバ(CDS)が確認する。
コンテンツ利用デバイス(CPT)において、コンテンツを利用するには、ライセンス格納デバイス(RHD)をコンテンツ利用デバイス(CPT)に接続し相互認証(相手の属性チェック、鍵共有を行う)を行い、ライセンス格納デバイス(RHD)からコンテンツ利用デバイス(CPT)に権利情報(Right)を送信する。
次に、コンテンツ利用デバイス(CPT)とコンテンツ配信サーバ(CDS)が相互認証(相手の属性チェック、鍵共有を行う)し、コンテンツ利用デバイス(CPT)からコンテンツ配信サーバ(CDS)に対して権利情報を送信する。コンテンツ配信サーバ(CDS)は権利情報の正当性をチェックし、正当性が確認されたことを条件として、コンテンツヘッダ、暗号化コンテンツ本体を、コンテンツ利用デバイス(CPT)に対して送信する。コンテンツ利用デバイス(CPT)ではヘッダ情報を読みとり、ヘッダ情報中の鍵情報を適用してコンテンツ復号処理を実行しコンテンツ再生を行う。
なお、コンテンツ配信サーバ(CDS)における権利情報の正当性チェック処理は、権利情報に付与された電子署名の検証処理として実行されるものである。権利情報は、権利情報の発行者または販売者の秘密鍵による署名のなされたデータであり、コンテンツ配信サーバ(CDS)は、秘密鍵に対応する公開鍵を適用した署名検証処理を行なって、権利情報の正当性を検証する。
[2.各機器の構成]
次に、図1に示したシステムを構成する各機器(エンティテイ)のハードウェア構成例について説明する。
(1)コンテンツ配信サーバ(CDS)、インデックスサーバ(CIS)、ライセンスサーバ(RSS)、利用権料金納付管理サーバ(PAS)の構成
まず、コンテンツ配信サーバ(CDS)、インデックスサーバ(CIS)、ライセンスサーバ(RSS)、利用権料金納付管理サーバ(PAS)の構成例について、図2を参照して説明する。図2に示すように、これらのサーバ210は、CPU(Central Processing Unit)等によって構成される制御部211、RAMによって構成される揮発性の記憶部212、ネットワークを介したデータ送受信部としての通信部213、キーボード、マウス等の各種入力手段を備えた入力部214、CRT、LCD等のディスプレイ、スピーカ等からなる表示部215、ROM、ハードディスク、フラッシュメモリ等によって構成される不揮発性記憶部216等を有する。
それぞれのサーバに応じた処理プログラムが、記憶部に記憶され、制御部においてプログラムが実行され、各サーバに応じた処理が行われる。各サーバにおける具体的な処理については、後段で説明する。
(2)ライセンス購入デバイス(RBT)、コンテンツ利用デバイス(CPT)の構成
次に、ライセンス購入デバイス(RBT)、コンテンツ利用デバイス(CPT)の構成例について、図3を参照して説明する。図3に示すように、これらのデバイス220は、CPU(Central Processing Unit)等によって構成される制御部221、RAMによって構成される揮発性記憶部222、ROM、ハードディスク、フラッシュメモリ等によって構成される不揮発性記憶部223、ネットワークを介したデータ送受信部としての通信部1,224、例えば無線LAN、ブルートゥース等による他のデバイスとの近距離通信を実行する通信インタフェースとしての通信部2,225、通信データの暗号処理、認証処理、署名生成、検証処理等の各種暗号処理を実行する暗号処理部226、暗号処理部226における処理プログラム、鍵情報、パラメータ等の格納部としての揮発性記憶部227、不揮発性記憶部228、キーボード、マウス等の各種入力手段を備えた入力部229、CRT、LCD等のディスプレイ、スピーカ等からなる表示部230等を有する。
なお、暗号処理部226、揮発性記憶部227、不揮発性記憶部228は、外部からのデータ読み取り等が防止された耐タンパー部231に格納されている。
それぞれのデバイスに応じた処理プログラムが、記憶部に記憶され、制御部においてプログラムが実行され、各デバイスに応じた処理が行われる。各デバイスにおける具体的な処理については、後段で説明する。
(3)ライセンス格納デバイス(RHD)、ユーザ利用料金支払実行デバイス(UPD)の構成
次に、ライセンス格納デバイス(RHD)、ユーザ利用料金支払実行デバイス(UPD)の構成例について、図4を参照して説明する。図4に示すように、これらのデバイス250は、通信データの暗号処理、認証処理、署名生成、検証処理等の各種暗号処理を実行する暗号処理部251、暗号処理部251における処理プログラム、鍵情報、パラメータ等の格納部としての揮発性記憶部252、不揮発性記憶部253、端末(ターミナル)とのデータ送受信部としての通信部254を有する。
なお、暗号処理部251、揮発性記憶部252、不揮発性記憶部253は、外部からのデータ読み取り等が防止された耐タンパー部260に格納されている。
これらのデバイスでは、デバイスに応じた暗号処理プログラムが記憶部に記憶され、暗号処理部251においてプログラムが実行され、各デバイスに応じた処理が行われる。各デバイスにおける具体的な処理については、後段で説明する。
(4)記憶部内の格納データ
次に、図5、図6を参照して、各エンティテイの不揮発性メモリとしての記憶部に格納されている情報について説明する。図5は、a.コンテンツ配信サーバ(CDS)、b.インデックスサーバ(CIS)、c.ライセンスサーバ(RSS)、d.利用権料金納付管理サーバ(PAS)の不揮発性メモリにおける格納データを示している。
IDxxxは、エンティテイxxxの識別情報(ID)であり、PRIxxxはエンティテイxxxの秘密鍵(PRI)、CERTxxxはエンティテイxxxの公開鍵証明書(CERT)、PUBxxxはエンティテイxxxの公開鍵(PUB)、DBはデータベースを意味している。
図5に示すように、a.コンテンツ配信サーバ(CDS)、b.インデックスサーバ(CIS)、c.ライセンスサーバ(RSS)、d.利用権料金納付管理サーバ(PAS)の各々は、自己の識別子(ID)、秘密鍵(PRI)、公開鍵証明書(CERT)を保持するとともに、認証局(CA)の公開鍵を格納している。
a.コンテンツ配信サーバ(CDS)は、データベース(DB)内に、複数のコンテンツ(Cont1〜n)に、各々コンテンツID(IDcont1〜n)とライセンスサーバ(RSS)の公開鍵(PUBrss1〜n)を対応付けたデータを持つ。公開鍵(PUBrss1〜n)は、コンテンツ利用時における権利情報(Right)の正当性制検証(署名検証)に適用される鍵であり、ライセンスサーバ(RSS)の秘密鍵に対応する公開鍵である。
b.インデックスサーバ(CIS)は、データベース(DB)内に、複数のコンテンツID(IDcont1〜n)とコンテンツ配信サーバ(CDS)の識別子(IDcds1〜n)を対応付けたデータを持つ。
c.ライセンスサーバ(RSS)は、データベース(DB)内に、権利情報(Right)を格納し、d.利用権料金納付管理サーバ(PAS)は、データベース(DB)内に、ユーザ利用料金支払実行デバイス(UPD)の識別子にそれぞれの与信情報を対応付けて格納している。
図6は、コンテンツ利用デバイス(CPT)、ライセンス格納デバイス(RHD)、ライセンス購入デバイス(RBT)、ユーザ利用料金支払実行デバイス(UPD)の不揮発性メモリにおける格納データを示している。
図5と同様、IDxxxは、エンティテイxxxの識別情報(ID)であり、PRIxxxはエンティテイxxxの秘密鍵(PRI)、CERTxxxはエンティテイxxxの公開鍵証明書(CERT)、PUBxxxはエンティテイxxxの公開鍵(PUB)、DBはデータベースを意味している。
図6に示すように、e.コンテンツ利用デバイス(CPT)の耐タンパ部内のメモリ、g.ライセンス格納デバイス(RHD)、h.ライセンス購入デバイス(RBT)の耐タンパ部内のメモリ、i.ユーザ利用料金支払実行デバイス(UPD)の各記憶部には、自己の識別子(ID)、秘密鍵(PRI)、公開鍵証明書(CERT)を保持するとともに、認証局(CA)の公開鍵を格納している。
e.コンテンツ利用デバイス(CPT)の耐タンパ部内のメモリ、すなわち図3に示す暗号処理部226に接続された記憶部(不揮発性)2,228には、さらに、デフォルトのインデックスサーバ(CIS)の情報としてのインデックスサーバ(CIS)識別子(IDcis)と、コンテンツをローカルに保存(自デバイスの記憶部に格納)する際の暗号処理用の鍵としてのストレージ鍵(Ksto1,Ksto2)を格納している。
f.コンテンツ利用デバイス(CPT)の耐タンパ部外のメモリには、コンテンツ(Cont1〜n)が、改竄検証用データとしてのMACとともに格納される。
g.ライセンス格納デバイス(RHD)の記憶部には、保有する権利情報(Right1〜n)が格納される。この権利情報(Right1〜n)は、コンテンツに対応して設定される権利情報であり、コンテンツ利用デバイス(CPT)においてコンテンツを利用する際に、コンテンツ利用デバイス(CPT)に出力される。
図7に、公開鍵証明書(CERT)のフォーマットを示す。公開鍵証明書には、公開鍵証明書識別子(IDcert)、公開鍵(PUBxxx)、属性情報(Attribute)、認証局署名(SIGca)が格納される。具体的には、例えば、X.509のフォーマット規定に従った公開鍵証明書が適用可能である。
[3.コンテンツ、権利情報(Right)の構成]
次に、コンテンツ配信サーバ(CDS)から、コンテンツ利用デバイス(CPT)に対して配信されるコンテンツファイルのフォーマット、ライセンス格納デバイス(RHD)に格納されるコンテンツ利用権を証明する権利情報(Right)のフォーマットについて説明する。
図8は、コンテンツ配信サーバ(CDS)から、コンテンツ利用デバイス(CPT)に対して配信されるコンテンツファイルのフォーマットを示している。コンテンツファイルは、ヘッダ(Header)と、コンテンツデータ(Data)部からなり、コンテンツデータ(Data)部のコンテンツは、ヘッダ(Header)部に格納された暗号鍵(Encryption Key)により暗号化されている。
ヘッダ部には、フォーマットバージョン(Format Version)、コンテンツ識別子(IDcont)、コンテンツの外部機器に対する出力許可情報(Output Permission)、この領域には、例えばアナログ、デジタル、SCMS(Serial Copy Managiment System)等のデータ出力制限情報を格納する。
さらに、コンテンツ利用デバイス(CPT)におけるコンテンツ再生、利用時に、ライセンス格納デバイス(RHD)が、コンテンツ利用デバイス(CPT)と接続されていることを条件とするか否かのRHDチェックモード情報(RHD check mode)、RHDチェックモードがYesの設定の場合には、コンテンツ利用デバイス(CPT)におけるコンテンツ再生、利用時に、ライセンス格納デバイス(RHD)が、コンテンツ利用デバイス(CPT)と接続されているか否かのチェック処理が実行され、ライセンス格納デバイス(RHD)の接続が確認されたことを条件として、コンテンツ再生が可能となる。これらの処理の詳細については、後述する。
さらに、格納コンテンツのメディアフォーマット情報(Content Media Format)、例えば、MPEG、HD、Quick Time等のフォーマット情報である。さらに、格納コンテンツの暗号処理鍵(Encryption Key)が格納される。
次に、図9を参照して、ライセンス格納デバイス(RHD)に格納されるコンテンツ利用権を証明する権利情報(Right)のフォーマットについて説明する。権利情報(Right)は、コンテンツに対応して設定される権利情報であり、コンテンツ利用デバイス(CPT)においてコンテンツを利用する際に、コンテンツ利用デバイス(CPT)に出力され、さらに、コンテンツ配信サーバ(CDS)に送信され、正当性が確認されたことを条件として、図8を参照して説明したコンテンツがコンテンツ配信サーバ(CDS)からコンテンツ利用デバイス(CPT)に配信されることになる。
権利情報(Right)には、フォーマットバージョン(Format Version)、権利情報識別子(IDright)、権利情報(Right)の付与されたライセンス格納デバイス(RHD)識別子(IDrhd)、権利情報(Right)に対応するコンテンツを保持するコンテンツ配信サーバ(CDS)の識別子(IDcds)、インデックスサーバ(CIS)の識別子(IDcis)、キャッシュ処理の可否、ストリーミングデータであるか否か等のコンテンツのダウンロードタイプ情報(Download Type)が含まれ、これらの情報に対してライセンスサーバ(RSS)の秘密鍵による署名(SIGrss)が付加されている。
なお、コンテンツ配信サーバ(CDS)の識別子(IDcds)、インデックスサーバ(CIS)の識別子(IDcis)はオプションであり、必須項目ではない。
権利情報識別子(IDright)の詳細構成について図10を参照して説明する。権利情報識別子(IDright)は、図10(a)に示すように、権利情報(Right)に対応するコンテンツのコンテンツ識別子(IDcont)と、有効情報コード(Validation Code)とを含む情報である。
有効情報コード(Validation Code)は、図10(b)に示す有効性管理情報データベース(VID:Validity Information Database)に設定されたコードである。有効性管理情報データベース(VID)は、コンテンツ識別子(IDcont)と、有効情報コード(Validation Code)と、コンテンツ利用開始可能期間の開始日時(Start)、終了日時(End)、コンテンツ利用可能の残り回数(残りカウント)の各情報が格納されている。このデータベース(VID)は、権利情報(Right)の発行処理を実行するライセンスサーバ(RSS)においてエントリが生成され、その後、権利情報(Right)の使用に基づいて、コンテンツ配信サーバ(CDS)により参照され、またデータ更新が実行される。例えば、コンテンツ配信サーバ(CDS)に対して新たな権利情報(Right)が送信され、コンテンツ利用要求がなされた際に参照される。
また、コンテンツ利用の際に、コンテンツ利用開始可能期間の開始日時(Start)、終了日時(End)、コンテンツ利用可能の残り回数(残りカウント)の各情報が参照され、必要に応じて更新、例えば残り回数データに対する減算処理([−1]の更新処理)が行なわれる。
[4.権利情報に基づくコンテンツ再生処理]
次に、権利情報(Right)に基づくコンテンツ再生処理の手順について、図11以下の処理フロー等を参照して詳細に説明する。
図11は、コンテンツ利用デバイス(CPT)が、ライセンス格納デバイス(RHD)に格納されたコンテンツ利用ライセンスとしての権利情報(Right)を受信して、権利情報(Right)を、コンテンツ配信サーバ(CDS)に送信し、権利情報(Right)に対応するコンテンツをコンテンツ配信サーバ(CDS)から受信して再生する一連の処理を説明するフロー図である。コンテンツ配信サーバ(CDS)の決定処理において、インデックスサーバ(CIS)への問い合わせを行なう場合の処理についても示してある。
なお、以下において説明する処理フローにおける各処理は、それぞれのエンティテイの構成(図2、図3、図4)における制御部を中心として、あらかじめ記憶部に格納されたプログラムに従って実行する処理である。ただし、認証処理、MAC生成、MAC検証、署名生成、署名検証、通信データの暗号化、復号等の各種の暗号処理は、各エンティテイの暗号処理部において実行される処理である。
図11の処理フローの各ステップについて説明する。まず、コンテンツの再生、利用を行なうコンテンツ利用デバイス(CPT)に対して、ライセンス格納デバイス(RHD)からコンテンツ利用ライセンスとしての権利情報(Right)を送信する処理(ステップS101,S111)を実行する。
この権利情報(Right)送信処理の詳細を図12を参照して説明する。まず、ステップS201において、ライセンス格納デバイス(RHD)が、コンテンツ利用デバイス(CPT)に接続し、通信路を確保する。この通信路は、有線、無線どちらの形態でもよい。次に、ライセンス格納デバイス(RHD)とコンテンツ利用デバイス(CPT)間において、相互認証処理を実行し、セッション鍵(Kses1)の共有を行なう。相互認証は、公開鍵暗号方式による例えばISO/IEC9798−3の処理に従う。相互認証が成立しなかった場合は、以下の処理は中止される。
ライセンス格納デバイス(RHD)とコンテンツ利用デバイス(CPT)間において、相互認証が成立し、セッション鍵が共有されると、ライセンス格納デバイス(RHD)は、ステップS203において、自己の記憶部に格納済みの権利情報(Right)に対してセッションキー(Kses)を適用して改竄検証値としてのMAC(MAC1)の生成を実行する。
メッセージ認証コード(MAC:Message authentication Code)は、データの改竄検証用のデータとして生成されるものである。MAC生成処理、検証処理態様には様々な態様が可能であるが、1例としてDES暗号処理構成を用いたMAC値生成例を図13に示す。
図13のDES暗号処理構成を適用したMAC生成例について説明する。対象となるメッセージを8バイト単位に分割し、(以下、分割されたメッセージをM1、M2、・・・、MNとする)、まず、初期値(Initial Value(以下、IVとする))とM1を排他的論理和する(その結果をI1とする)。次に、I1をDES暗号化部に入れ、鍵(以下、K1とする)を用いて暗号化する(出力をE1とする)。続けて、E1およびM2を排他的論理和し、その出力I2をDES暗号化部へ入れ、鍵K1を用いて暗号化する(出力E2)。以下、これを繰り返し、全てのメッセージに対して暗号化処理を施す。最後に出てきたENがメッセージ認証符号(MAC(Message Authentication Code))となる。
ライセンス格納デバイス(RHD)は、自己の記憶部に格納済みの権利情報(Right)全体に対してセッションキー(Kses)を適用して、例えば図13に示すDES暗号処理により検証値としてのMAC(MAC1)を生成する。
ステップS204において、権利情報(Right)全体と生成MAC(MAC1)をコンテンツ利用デバイス(CPT)に送信する。コンテンツ利用デバイス(CPT)は、ステップS212において、権利情報(Right)とMAC(MAC1)を受信し、ステップS213において、MAC検証処理、すなわち受信権利情報(Right)に基づいて算出したMACと受信MAC(MAC1)の照合を行なう。一致すれば、受信した権利情報(Right)には改竄がないと判断し、ステップS214に進む。一致しない場合は、受信した権利情報(Right)には改竄があると判断しエラー終了とする。
ステップS214においては、受信した権利情報(Right)に格納されているライセンス格納デバイス(RHD)の識別子(IDrhd)(図9参照)が、先のステップS211において認証を行なったライセンス格納デバイス(RHD)の識別子(IDrhd)と一致するかを判定する。一致しない場合は、受信した権利情報(Right)は、権利情報(Right)を送信してきたライセンス格納デバイス(RHD)に保有が許可されている権利情報(Right)ではないと判定し、エラー終了とする。
一致した場合は、受信した権利情報(Right)は、権利情報(Right)を送信してきたライセンス格納デバイス(RHD)に保有が許可されている権利情報(Right)であり、正当な権利情報(Right)であると判定し、ステップS215において、ライセンス格納デバイス(RHD)の識別子(IDrhd)を記憶部に保存する。
図11に戻り、説明を続ける。ステップS101,S111の権利情報(Right)送信処理が完了すると、コンテンツ利用デバイス(CPT)とライセンス格納デバイス(RHD)間において、利用(再生)コンテンツに対応する権利情報(Right)の選択処理を実行する。
権利情報(Right)の選択処理について、図14のフローを参照して説明する。ステップS301,S311において、ライセンス格納デバイス(RHD)とコンテンツ利用デバイス(CPT)間において、相互認証処理を実行する。なお、図11に示すステップS101,S111の権利情報(Right)送信処理に継続して、図14に示す再生権利情報(Right)選択処理が実行される場合は、ステップS101,S111の権利情報(Right)送信処理において相互認証が行なわれているので、この認証処理は省略してもよい。認証が不成立の場合は、エラーとして処理を終了する。
認証が成立または済んでいる場合は、コンテンツ利用デバイス(CPT)は、ステップS312において、ライセンス格納デバイス(RHD)の識別子(IDrhd)が、先に記憶部に格納(図12,S215)したIDrhdと一致するか否かを判定し、一致しない場合は、先に権利情報(Right)を送信してきたライセンス格納デバイス(RHD)と異なるデバイスが接続されていると判定し、エラー終了する。
一致した場合は、先に権利情報(Right)を送信してきたライセンス格納デバイス(RHD)と同じ正しいライセンス格納デバイス(RHD)が接続されていると判定し、ステップS313において、利用(再生)コンテンツに対応する権利情報(Right)を先に受信した権利情報全体データから選択する。
図11に戻り、説明を続ける。次にコンテンツ利用デバイス(CPT)は、ステップS113において、選択した権利情報(Right)のダウンロードタイプ(図9参照)を検証し、ダウンロードタイプがストリーミングコンテンツとして設定されているか否かを判定する。ストリーミングタイプの場合は、ステップS120のコンテンツ配信サーバ(DCS)決定処理を実行する。
ストリーミングタイプでない場合は、ステップS114に進み、さらにダウンロードタイプを検証し、キャッシュが許可されているか否かを判定する、キャッシュが許可されている場合は、ステップS115において、利用予定のコンテンツと同一コンテンツが記憶部にすでに格納されているか否かを判定して、格納済みの場合は、ステップS118のコンテンツ再生処理に進み、格納されていない場合は、ステップS116のコンテンツ配信サーバ(CDS)決定処理を実行する。キャッシュが許可されていない場合(S114でNo)も、ステップS116のコンテンツ配信サーバ(CDS)決定処理を実行する。
ステップS116および、ステップS120、ステップS131におけるコンテンツ配信サーバ(CDS)決定処理について、図15の処理フローを参照して説明する。
ステップS401において、コンテンツ利用デバイス(CPT)は、選択した権利情報(Right)のコンテンツ配信サーバ(CDS)識別子情報(IDcds)フィールド(図9参照)に値が格納、すなわち、IDcdsが格納されているか否かを判定する。格納されている場合は、ステップS409において、その格納値(IDcds)を接続先コンテンツ配信サーバ(CDS)としてセットする。
選択した権利情報(Right)のコンテンツ配信サーバ(CDS)識別子情報(IDcds)フィールドに値が格納されていない場合は、ステップS402において、さらに、権利情報(Right)のインデックスサーバ(CIS)識別子情報(IDcis)フィールド(図9参照)に値が格納、すなわち、IDcisが格納されているか否かを判定する。格納されている場合は、ステップS403において、その格納値(IDcis)を接続先IDとしてセットする。格納されていない場合は、ステップS404において、耐タンパー部の記憶部に格納(図6(e)参照)されているインデックスサーバ(CIS)識別子情報(IDcis)を接続先IDとしてセットする。
次に、コンテンツ利用デバイス(CPT)と接続先として設定されたインデックスサーバ(CIS)間において相互認証および鍵共有処理が実行(S405,S421)される。この相互認証が不成立の場合は、エラーとして後続処理は中止する。相互認証が成立し、セッション鍵(Kses2)の共有がなされると、コンテンツ利用デバイス(CPT)は、利用予定コンテンツに対応する先に選択した権利情報(Right)に含まれる権利情報識別子(IDright)に対して共有したセッション鍵(Kses2)を適用して生成したMAC値(MAC2)とともに、インデックスサーバ(CIS)に送信する。
インデックスサーバ(CIS)は、ステップS422において、これらのデータを受信し、ステップS423においてMAC検証処理を実行して、権利情報識別子(IDright)の改竄の有無を判定し、改竄ありと判定した場合は、エラー終了する。
改竄なしと判定した場合は、ステップS424に進み、受信した権利情報識別子(IDright)(図9、図10参照)に含まれるコンテンツ識別子(IDcont)を取得する。さらに、コンテンツ識別子(IDcont)に対して設定されたコンテンツ提供可能なコンテンツ配信サーバの識別子(IDcds)をデータベース格納情報(図5(b)参照)から取得する。
インデックスサーバ(CIS)は、ステップS425において、取得したコンテンツ配信サーバ識別子(IDcds)にセッション鍵(Kses2)を適用して生成したMAC値(MAC3)を付加して、コンテンツ利用デバイス(CPT)に送信する。
コンテンツ利用デバイス(CPT)は、ステップS407においてデータを受信し、ステップS408において、受信データについてのMAC検証処理を実行し、検証不成立の場合は、エラー終了とし、検証成立の場合は、ステップS410において、受信データとしてのコンテンツ配信サーバ識別子(IDcds)を接続先コンテンツ配信サーバとしてセットする。
図11に戻り、説明を続ける。選択した権利情報(Right)に対応するコンテンツを配信可能なコンテンツ配信サーバ(CDS)が、CDS決定処理によって決定すると、ステップS117、S103、S141において、コンテンツダウンロード処理が実行される。
コンテンツダウンロード処理について、図16の処理フローを参照して説明する。まず、ステップS511、S521において、コンテンツ利用デバイス(CPT)と、利用コンテンツの配信を実行するコンテンツ配信サーバ(CDS)との間で、相互認証および鍵共有処理が実行される。相互認証が不成立の場合は、エラーとして処理を終了する。
相互認証が成立し、2つのセッション鍵(Kses3,Kses4)の共有がなされると、コンテンツ利用デバイス(CPT)は、ステップS512において、利用予定コンテンツに対応する先に選択した権利情報(Right)とスペック情報に、セッション鍵(Kses3)を適用して生成したMAC値(MAC4)を付加してコンテンツ配信サーバ(CDS)に送信する。
スペック情報とは、コンテンツ利用デバイス(CPT)の受信、再生可能なデータフォーマット情報等であり、例えば図17に示すように、オーディオ再生能力、画像再生能力、通信路設定情報等を含む情報である。コンテンツ配信サーバ(CDS)は、このスペック情報に基づいて、コンテンツ配信先のコンテンツ利用デバイス(CPT)に適応したデータフォーマットでのコンテンツ配信を行なう。
コンテンツ配信サーバ(CDS)は、ステップS522において、これらのデータを受信し、ステップS523においてMAC検証処理を実行して、権利情報(Right)等の改竄の有無を判定し、改竄ありと判定した場合は、エラー終了する。
改竄なしと判定した場合は、ステップS524に進み、受信した権利情報(Right)に格納された署名(SIGrss)について、署名に適用されているライセンスサーバ(RSS)の秘密鍵に対応する公開鍵(PUBrss)を適用した署名検証処理(S525)を実行する。署名検証が不成立の場合は、データ改竄ありと判定し、エラー終了する。
署名検証が成立し、データ改竄なしと判定した場合には、ステップS526に進み、受信した権利情報(Right)に格納された権利情報識別子(IDright)(図9、図10参照)に含まれる有効情報コード(Validation Code)に基づいて有効性管理情報データベース(VID)(図10(b)参照)に基づいて、有効期限内にある権利情報(Right)であるか否か、利用回数残があるか否かを判定する。有効期限内でないあるいは利用可能回数残がない場合は、エラー終了とする。
有効に利用可能な権利情報(Right)であると判定された場合には、ステップS527において、コンテンツデータベースからコンテンツ利用デバイス(CPT)から受信した権利情報(Right)とスペック情報に対応するコンテンツを検索して取得する。
次に、ステップS528に進み、権利情報(Right)のヘッダ内の暗号処理鍵(Encryption Key)を先に共有鍵として設定したセッション鍵(Kses4)を適用して暗号化し、ステップS529に進み、受信した権利情報(Right)に対応するコンテンツファイル(図8参照)にセッション鍵(Kses3)を適用したMAC値(MAC5)を付加してコンテンツ利用デバイス(CPT)に送信する。
コンテンツ利用デバイス(CPT)は、データを受信(S513)し、受信データについてのMAC検証(S514)を実行して、MAC検証不成立の場合はエラー終了とする。
なお、データのダウンロード(S513)に際し、コンテンツファイルのヘッダ内のRHDチェックモード(図8参照)のモード情報を検証する。モード情報がYes、すなわちライセンス格納デバイス(RHD)との接続をコンテンツ再生条件としている場合は、コンテンツのダウンロードに際して、ライセンス格納デバイス(RHD)との認証処理(S501)を実行する。ライセンス格納デバイス(RHD)との接続がなされていない場合や、ライセンス格納デバイス(RHD)との認証処理(S501)が不成立の場合は、コンテンツダウンロードは中止される。
ステップS515において、セッション鍵(kses4)を用いて、暗号処理鍵(Encryption Key)を復号し、さらに、自己の保有するストレージ鍵(Ksto1)(図6(e)参照)で再暗号化する。さらに、ステップS516において、コンテンツファイルにストレージ鍵(Ksto2)を適用して生成したMAC(MAC5)を付加して記憶部に保存する。コンテンツ利用デバイス(CPT)におけるコンテンツファイルの格納形態は、図8に示すコンテンツファイルと同様であるが、コンテンツファイル中の暗号処理鍵(Encryption Key)をストレージ鍵(Ksto1)で暗号化したものとなる。
なお、この記憶コンテンツを再生する場合にも、ライセンス格納デバイス(RHD)との認証処理(S501)を実行する。ライセンス格納デバイス(RHD)との接続がなされていない場合や、ライセンス格納デバイス(RHD)との認証処理(S501)が不成立の場合は、コンテンツ再生は実行されない。以下、この再生処理について説明する。
図11に示すフローにおけるコンテンツ再生処理(ステップS118,S104)について、図18のフローを参照して説明する。このフローにおけるコンテンツ再生処理は、ダウンロードコンテンツの再生処理であり、コンテンツ利用デバイス(CPT)の記憶部に既に格納済みのコンテンツを再生する処理である。
まず、コンテンツ利用デバイス(CPT)は、ステップS611において、記憶部に格納したコンテンツファイル(図8参照)を読み出してストレージ鍵(Ksto2)を適用して読み出しコンテンツファイルのMAC(MAC6)を算出する。次に、ステップS612において、記憶部にコンテンツファイルと共に格納してあるMAC(図16,ステップS516参照)と照合処理を行ないMAC検証を実行する。算出MACと格納MACが一致すればコンテンツファイルが正当なファイルであると判定し、ステップS613に進む。MACが不一致の場合は、エラー終了する。
ステップS613では、ストレージ鍵(Ksto1)を適用して記憶部に格納されているコンテンツファイル中の暗号化された暗号処理鍵(Encryption Key)をストレージ鍵(Ksto1)で復号する。
ステップS614において、コンテンツファイル(図8参照)のメディアフォーマットを確認し、適切な復号、例えばMPEG処理等の準備処理を行ない、ステップS615において、再生時のコピー処理の実行有無を判定し、コピー処理を行なう場合は、ステップS616において、コンテンツファイル(図8参照)の出力許可(Output Permission)を確認し、出力許可情報に従ったコピー処理準備を実行する。
次に、ステップS617において、ステップS613で取得した暗号処理鍵(Encryption Key)で暗号化コンテンツを復号しながら再生処理を実行する。
コンテンツファイルのRHDチェックモードがYes、すなわち、コンテンツ再生時にライセンス格納デバイス(RHD)がコンテンツ利用デバイス(CPT)に接続されていることをコンテンツ再生条件としているコンテンツである場合は、このコンテンツ再生時に、ライセンス格納デバイス(RHD)との認証処理(S601)を実行する。ライセンス格納デバイス(RHD)との接続がなされていない場合や、ライセンス格納デバイス(RHD)との認証処理(S601)が不成立の場合は、コンテンツ再生は実行されない。
ステップS618において、権利情報(Right)(図9参照)のDownloadType情報としてキャッシュ不許可(Cash NG)が設定されているか否かを判定し、Cash NGの設定である場合は、ステップS619において、記憶部からコンテンツとMACを消去して再生処理を終了する。Cash NGではなく、Cash OKである場合は、ステップS619のコンテンツMAC消去を実行することなく、記憶部にデータを残したままとして処理を終了する。
次に、図11のフローにおける、ステップS121、S142のストリーミング再生処理について図19の処理フローを参照して説明する。まず、ステップS711、S721において、コンテンツ利用デバイス(CPT)と、利用コンテンツのストリーミング配信を実行するコンテンツ配信サーバ(CDS)との間で、相互認証および鍵共有処理が実行される。相互認証が不成立の場合は、エラーとして処理を終了する。
相互認証が成立し、2つのセッション鍵(Kses3,Kses4)の共有がなされると、コンテンツ利用デバイス(CPT)は、ステップS712において、利用予定コンテンツに対応する先に選択した権利情報(Right)とスペック情報に、セッション鍵(Kses3)を適用して生成したMAC値(MAC4)を付加してコンテンツ配信サーバ(CDS)に送信する。
スペック情報とは、先に図17を参照して説明したように、コンテンツ利用デバイス(CPT)の受信、再生可能なデータフォーマット情報等であり、オーディオ再生能力、画像再生能力、通信路設定情報等を含む情報である。コンテンツ配信サーバ(CDS)は、このスペック情報に基づいて、コンテンツ配信先のコンテンツ利用デバイス(CPT)に適応したデータフォーマットでのコンテンツのストリーミング配信を行なう。
コンテンツ配信サーバ(CDS)は、ステップS722において、これらのデータを受信し、ステップS723においてMAC(MAC4)検証処理を実行して、権利情報(Right)等の改竄の有無を判定し、改竄ありと判定した場合は、エラー終了する。
改竄なしと判定した場合は、ステップS724に進み、受信した権利情報(Right)に格納された署名(SIGrss)について、署名に適用されているライセンスサーバ(RSS)の秘密鍵に対応する公開鍵(PUBrss)を適用した署名検証処理(S725)を実行する。署名検証が不成立の場合は、データ改竄ありと判定し、エラー終了する。
署名検証が成立し、データ改竄なしと判定した場合には、ステップS726に進み、受信した権利情報(Right)に格納された権利情報識別子(IDright)(図9、図10参照)に含まれる有効情報コード(Validation Code)に基づいて有効性管理情報データベース(VID)(図10(b)参照)に基づいて、有効期限内にある権利情報(Right)であるか否か、利用回数残があるか否かを判定する。有効期限内でないあるいは利用可能回数残がない場合は、エラー終了とする。
有効に利用可能な権利情報(Right)であると判定された場合には、ステップS727において、コンテンツデータベースからコンテンツ利用デバイス(CPT)から受信した権利情報(Right)とスペック情報に対応するコンテンツを検索して取得する。
次に、ステップS728に進み、権利情報(Right)のヘッダ内の暗号処理鍵(Encryption Key)を先に共有鍵として設定したセッション鍵(Kses4)を適用して暗号化し、ステップS729に進み、受信した権利情報(Right)に対応するコンテンツファイル(図8参照)のヘッダ部のみセッション鍵(Kses3)を適用したMAC値(MAC5)を付加してコンテンツ利用デバイス(CPT)に送信する。
コンテンツ利用デバイス(CPT)は、ヘッダおよびMAC(MAC5)を受信(S713)し、MAC検証(S714)を実行して、MAC検証不成立の場合はエラー終了とする。
なお、コンテンツヘッダを受信(S713)後、ヘッダ内のRHDチェックモード(図8参照)のモード情報を検証し、モード情報がYes、すなわちライセンス格納デバイス(RHD)との接続をコンテンツ再生条件としている場合は、ライセンス格納デバイス(RHD)との認証処理(S701)を実行する。ライセンス格納デバイス(RHD)との接続がなされていない場合や、ライセンス格納デバイス(RHD)との認証が不成立の場合は、その後のコンテンツ再生は実行されない。
ステップS714においてMAC検証が成立し、データ改竄のないヘッダ情報であることが確認されると、ステップS715に進み、ヘッダ情報に基づいて、再生処理準備を行ない。ステップS716において、コンテンツ配信サーバ(CDS)に対してコンテンツのストリーミング配信を要求する。ステップS730で、コンテンツ配信サーバ(CDS)が要求データを受信し、ステップS731において、先に送付済みのヘッダ情報に対応するコンテンツデータをセッション鍵(Kses4)で暗号化して送信する。
ステップS717において、コンテンツ利用デバイス(CPT)は、暗号化コンテンツを受信し、セッション鍵(Kses4)で復号処理を実行しながら、ストリーミング再生処理を実行する。なお、ストリーミング再生時においても、コンテンツ利用デバイス(CPT)は、ライセンス格納デバイス(RHD)との認証処理(S702)を随時実行する。ライセンス格納デバイス(RHD)との接続がなされていない場合や、ライセンス格納デバイス(RHD)との認証不成立の場合は、コンテンツ再生は停止される。
[5.権利情報の購入、格納処理]
次に、権利情報(Right)の購入、ライセンス格納デバイス(RHD)に対する格納処理について、図20以下のフローを参照して説明する。
まず、権利情報(Right)の購入処理について、図20のフローを参照して説明する。図20に示す処理フローは、オンラインによりネットワークを介して権利情報(Right)を取得し、ライセンス格納デバイス(RHD)に格納する処理手順を示している。
まず、権利情報(Right)を取得しようとするユーザは、ライセンス購入デバイス(RBT)を用いて、コンテンツ販売サイトに接続し、利用(再生)コンテンツを決定し、コンテンツ指定情報としてのコンテンツID(IDcont)をライセンスサーバ(RSS)に送信(S821,S831)する。
次に、ステップS811,822,832において、ライセンス購入デバイス(RBT)は、ユーザの決済情報を格納、あるいは入力可能なユーザ利用料金支払実行デバイス(UPD)からライセンス購入デバイス(RBT)を介して、クレジットカード番号等、支払者情報をライセンスサーバ(RSS)に送信する。ライセンスサーバ(RSS)は、支払者情報に基づく決済処理を行なう。
ステップS811,822,832において実行される決済処理の詳細について、図21の処理フローを参照して説明する。まず、ライセンス購入デバイス(RBT)と、ユーザ利用料金支払実行デバイス(UPD)との間で相互認証および鍵共有処理(S901,S911)が実行され、セッション鍵(Kses5)を共有する。認証不成立の場合は、エラー終了とする。
ライセンス購入デバイス(RBT)と、ユーザ利用料金支払実行デバイス(UPD)との間で相互認証および鍵共有処理が成功すると、次に、ライセンス購入デバイス(RBT)とライセンスサーバ(RSS)との間で相互認証および鍵共有処理(S912,S921)が実行され、セッション鍵(Kses6)を共有する。認証不成立の場合は、エラー終了とする。
ライセンス購入デバイス(RBT)とライセンスサーバ(RSS)との間で相互認証および鍵共有処理が成功すると、ライセンス購入デバイス(RBT)は、ステップS913において、ユーザ利用料金支払実行デバイス(UPD)のIDにセッション鍵(Kses6)で生成したMAC(MAC7)を付加してライセンスサーバ(RSS)に送信する。
ライセンスサーバ(RSS)は、ステップS922において、これらの送信データを受信し、MAC検証(S923)を行ない、算出MACと受信MACが不一致の場合は、エラー終了とする。MAC検証が成立し、データ改竄の無いことが確認されると、ライセンスサーバ(RSS)は、ステップS924において、決済処理を実行する利用権料金納付管理サーバ(PAS:Payment Administration Server)に対して、決済情報を送信し、利用権料金納付管理サーバ(PAS)において、ユーザ利用料金支払実行デバイス(UPD)毎の与信情報に基づいて、決済情報の正当性、決済処理の可否等を判定し、決済処理可能な場合は、決済処理を実行して、結果をライセンスサーバ(RSS)に通知し、ライセンスサーバ(RSS)は、通知に基づいて、決済が実行されていない場合は、エラー終了とし、決済が実行された場合は、ライセンス購入デバイス(RBT)に対する権利情報(Right)送信処理に移行する。
図20に戻り、説明を続ける。ステップS811,822,832において決済処理が成功すると、次に、ステップS823、S801において、ライセンス購入デバイス(RBT)が受信した権利情報(Right)のライセンス格納デバイス(RHD)に対する書き込み処理が行われる。
この権利情報(Right)のライセンス格納デバイス(RHD)に対する書き込み処理の詳細について、図22の処理フローを参照して説明する。
まず、ライセンス購入デバイス(RBT)と、ライセンス格納デバイス(RHD)との間で相互認証および鍵共有処理(S951,S961)が実行され、セッション鍵(Kses7)を共有する。認証不成立の場合は、エラー終了とする。
ライセンス購入デバイス(RBT)と、ライセンス格納デバイス(RHD)との間で相互認証および鍵共有処理が成功すると、次に、ライセンス購入デバイス(RBT)は、ステップS962において、ライセンス格納デバイス(RHD)のID(IDrhd)にセッション鍵(Kses7)を適用してMAC(MAC8)を付加してライセンスサーバ(RSS)に送信する。
ライセンスサーバ(RSS)は、ステップS971において、これらの送信データを受信し、MAC検証(S972)を行ない、算出MACと受信MACが不一致の場合は、エラー終了とする。MAC検証が成立し、データ改竄の無いことが確認されると、ライセンスサーバ(RSS)は、ステップS973において、利用(再生)予定のコンテンツに対応する権利情報(Right)(図9参照)を生成する。この権利情報(Right)には、ライセンス購入デバイス(RBT)から受信し、正当性検証により正当性の検証されたライセンス格納デバイス(RHD)のID(IDrhd)を格納する。
さらに、ステップS974において、ライセンスサーバ(RSS)は、権利情報(Right)に自己の秘密鍵による署名を付加する。ステップS975では、コンテンツの利用条件に応じて、有効性管理情報データベース(VID)(図10(b)参照)にエントりを設定する。有効性管理情報データベース(VID)は、図10(b)に示すように、コンテンツ識別子(IDcont)と、有効情報コード(Validation Code)と、コンテンツ利用開始可能期間の開始日時(Start)、終了日時(End)、コンテンツ利用可能の残り回数(残りカウント)の各情報を格納しており、コンテンツ利用条件に基づいてこれらの情報が設定される。
次に、ステップS976において、生成した権利情報(Right)にセッション鍵(Kses6)を適用したMAC(MAC9)を付加してライセンス購入デバイス(RBT)に送信する。ライセンス購入デバイス(RBT)は権利情報(Right)およびMAC9を受信(S963)し、MAC検証(S964)を行ない、検証不成立の場合はエラー終了とする。
MAC検証が成立した場合は、ステップS965において、受信した権利情報(right)にセッション鍵(Kses7)を適用して生成したMAC(MAC10)を付加して、ライセンス格納デバイス(RHD)に送信する。
ライセンス格納デバイス(RHD)は、権利情報(Right)およびMAC10を受信(S952)し、MAC検証(S953)を行ない、検証不成立の場合はエラー終了とする。
MAC検証が成立した場合は、ステップS954において、受信した権利情報(right)を記憶部に書き込みし、処理を終了する。
上述した処理によって、権利情報(Right)をライセンス格納デバイス(RHD)に格納し、コンテンツ利用に際しては、権利情報(Right)をライセンス格納デバイス(RHD)から、コンテンツ利用デバイス(CPT)に出力し、さらにコンテンツ配信サーバ(CSS)に送信し、コンテンツ配信サーバ(CSS)において、前述したように、権利情報(Right)の正当性検証を実行し、権利情報(Right)に対応するコンテンツをコンテンツ利用デバイス(CPT)に送信し、コンテンツ利用デバイス(CPT)はこれを再生、利用することが可能となる。
このように、本発明の構成においては、1つのライセンス格納デバイス(RHD)があれば複数のコンテンツ利用デバイス(CPT)で同じコンテンツを次々と再生することができる。また、権利情報(Right)には発行者、例えばライセンスサーバ(RSS)の署名が付加されており、利用時には署名検証が行なわれるので、不正に生成されたりあるいは改竄された権利情報(Right)による不正なコンテンツ利用は排除される。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。