JP4168679B2 - Content usage management system, information processing apparatus or method for using or providing content, and computer program - Google Patents

Content usage management system, information processing apparatus or method for using or providing content, and computer program Download PDF

Info

Publication number
JP4168679B2
JP4168679B2 JP2002186786A JP2002186786A JP4168679B2 JP 4168679 B2 JP4168679 B2 JP 4168679B2 JP 2002186786 A JP2002186786 A JP 2002186786A JP 2002186786 A JP2002186786 A JP 2002186786A JP 4168679 B2 JP4168679 B2 JP 4168679B2
Authority
JP
Japan
Prior art keywords
content
key
playback device
token
enable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002186786A
Other languages
Japanese (ja)
Other versions
JP2004030326A5 (en
JP2004030326A (en
Inventor
陽一郎 飯野
直樹 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002186786A priority Critical patent/JP4168679B2/en
Publication of JP2004030326A publication Critical patent/JP2004030326A/en
Publication of JP2004030326A5 publication Critical patent/JP2004030326A5/ja
Application granted granted Critical
Publication of JP4168679B2 publication Critical patent/JP4168679B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、広帯域通信網(xDSL:x Digital Subscriber Line、CATV(Cable TV)、無線ネットワーク)などによって配信される音楽データや画像データ、電子出版物などのデジタル・データや動画像などリッチ・コンテンツの利用を管理するコンテンツ利用管理システム、コンテンツを利用し又は提供する情報処理装置又は情報処理方法、並びにコンピュータ・プログラムに係り、特に、使用許諾など何らかの契約や利用条件に基づいてコンテンツの利用を管理するコンテンツ利用管理システム、コンテンツを利用し又は提供する情報処理装置又は情報処理方法、並びにコンピュータ・プログラムに関する。
【0002】
さらに詳しくは、本発明は、コンテンツの利用者にライセンスを与えることによりコンテンツの利用を制御しコンテンツの保護を図るコンテンツ利用管理システム、コンテンツを利用し又は提供する情報処理装置又は情報処理方法、並びにコンピュータ・プログラムに係り、特に、コンテンツ鍵の不正利用を防止しながらコンテンツの利用者にライセンスを与えるコンテンツ利用管理システム、コンテンツを利用し又は提供する情報処理装置又は情報処理方法、並びにコンピュータ・プログラムに関する。
【0003】
【従来の技術】
近年の広帯域通信網(xDSL:x Digital Subscriber Line、CATV(Cable TV)、無線ネットワークなど)の普及により、音楽データや画像データ、電子出版物などのデジタル・データや動画像などリッチ・コンテンツの配信もユーザにストレスなく伝送できるような仕組みが整いつつある。
【0004】
一方、配信されるコンテンツはデジタル・データであり、コピーや改ざんなどの操作を比較的容易に行うことができる。また、現在これらのコンテンツのコピーや改竄などの不正行為は頻繁に行われており、これがデジタル・コンテンツ・ベンダの利益を阻害する主要な要因となっている。この結果、コンテンツの値段も高くしなければならなくなり、普及の障壁となるという悪循環が起こっている。
【0005】
暗号技術を用いることによって、通信路上に流れるコンテンツを悪意のある第三者から保護することが可能となっている。しかしながら、コンテンツの配信過程だけでなく、コンテンツが正規のユーザに提供された後に行なわれる不正コピーや不正利用も大きな問題となっている。
【0006】
デジタル・コンテンツに関するこの種の問題への対策として、最近では権利管理方式(DRM:Digital Rights Management)と呼ばれる方式が採用されている。以下では、このDRMの概要とその問題点について説明する。
【0007】
DRM( Digital Right Management ):
権利情報管理方式(DRM)によって、ユーザはコンテンツの利用許可(ライセンス)を得なければ,コンテンツを利用できない仕組みが実現される。このようなシステムとしては米マイクロソフト社の"Windows Media Right Manager"や、米IBM社の"Electronic Media Management System(EMMS)"と呼ばれるシステムが挙げられる。
【0008】
DRMのシステムは、典型的にはコンテンツ提供者とライセンス管理者とユーザという参加者で構成される。ユーザは、コンテンツの再生装置を所持し、それを使ってコンテンツを利用する。また、ライセンス管理者ユーザにライセンスの発行を行なう。また、コンテンツ提供者は、ユーザにコンテンツの提供を行なう。
【0009】
コンテンツ(Cont)は、コンテンツ提供者によって、コンテンツ毎に異なる鍵(コンテンツ鍵Kc)で暗号化された形式E(Kc,Cont)で配布される。本明細書中では、これを暗号化コンテンツと呼ぶことにする。
【0010】
ユーザは、あるコンテンツContを使用する場合、ライセンス管理者に対してライセンス発行を要求する。これに対し、ライセンス発行者は、ユーザへの課金処理などを行なった上でライセンスを発行する。
【0011】
ここで言うライセンスの発行は、実際には、ユーザの再生装置にコンテンツ鍵Kcを与えることである。このために、ライセンス管理者は再生装置との間で、再生装置毎に異なる暗号鍵Kuを共有しており(暗号鍵Kuの共有は、ライセンス発行時に行われるか、又はあらかじめ共有したものが再生装置に組み込まれている)、コンテンツ鍵Kcを暗号鍵Kuで暗号化したデータE(Ku,Kc)として再生装置に送付する。このデータのことを「ライセンス・トークン」と呼ぶ。
【0012】
ライセンスを受けたユーザの再生装置は、暗号鍵Kuと受け取ったライセンス・トークンE(Ku,Kc)と暗号化コンテンツE(Kc,Cont)を使って、コンテンツを再生することができる。まず、ライセンス・トークンE(Ku,Kc)からコンテンツ鍵Kcを復号し、次いでコンテンツ鍵Kcを使って暗号化コンテンツE(Kc,Cont)からコンテンツContを復号して再生する。したがって、再生装置とライセンス・トークンと暗号化コンテンツの組み合わせが正しいときだけ、つまりライセンスを得たユーザだけがコンテンツを利用できることになる。
【0013】
ここで、コンテンツの利用権を保護するためには、再生装置側では、復号されたコンテンツが外部に漏洩することを防がなければならない。このためには、再生装置は、暗号鍵Kuやコンテンツ鍵Kcや復号されたコンテンツContを外部に漏らさないように処理しなければならない。何故なら、復号されたコンテンツが一旦外部に漏洩すれば、それを複製し利用することが制約なしに可能になるからである。言い換えれば、再生装置には、暗号鍵Kuやコンテンツ鍵Kc、並びに復号されたコンテンツContを外部に漏らさないで処理できるという条件が必要である。本明細書中では、このような条件を備えた再生装置のことを「正当」であると呼ぶことにする。
【0014】
DRMでは、コンテンツのライセンス(利用許可)をユーザに与えることは、コンテンツ鍵Kcをそのユーザの再生装置に与えることで実現される。このライセンス供与の際に、コンテンツ鍵Kcを受け取る再生装置は正当であるという条件が必須である。したがって、ライセンスの発行を行なうライセンス発行者は、発行相手の再生装置を特定し、正当な再生装置だけにコンテンツ鍵を与えるようにしなければならない。このため、ライセンス発行者は正当な再生装置に関するデータベースを持ち、ライセンス発行はそれに基づいて行なう必要がある。
【0015】
しかしながら、多数の再生装置が存在する場合を考えると、このようなデータベースの検索は時間あるいはコストを要する処理となる。特に、コンテンツの毎回ダウンロードなどの仕組みにより、ライセンス発行が頻繁に行なわれる場合、データベースの置かれるサーバの負荷が過剰になる。つまり、DRMでのライセンス発行は、再生装置の個数の増加に対してスケーラビリティのない処理となる。
【0016】
例えば,特定のユーザに対してコンテンツを提供する場合を考えると、コンテンツ提供の前にユーザ認証を行うことになる。
【0017】
DRMの方法を使うのであれば、さらにユーザ認証に加えてそのユーザが持つコンテンツの再生装置を特定し、再生装置に専用のライセンスを生成するという処理が必要になる。このことはコンテンツ提供の処理速度を低下させてしまう。
【0018】
【発明が解決しようとする課題】
本発明の目的は、使用許諾など何らかの契約や利用条件に基づいてコンテンツの利用を好適に管理することができる、優れたコンテンツ利用管理システム、コンテンツを利用し又は提供する情報処理装置又は情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【0019】
本発明のさらなる目的は、コンテンツの利用者にライセンスを与えることによりコンテンツの利用を制御しコンテンツの保護を図ることができる、優れたコンテンツ利用管理システム、コンテンツを利用し又は提供する情報処理装置又は情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【0020】
本発明のさらなる目的は、コンテンツ鍵の不正利用を防止しながらコンテンツの利用者にライセンスを与えることができる、優れたコンテンツ利用管理システム、コンテンツを利用し又は提供する情報処理装置又は情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【0021】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、ライセンスの配布によりコンテンツの利用を管理するコンテンツ利用管理システムであって、
コンテンツを利用する正当な装置で生成された一回限りの乱数からなるノンスとコンテンツの利用許可の権限者に関する認証情報を少なくとも含むデータをライセンス・トークンとして用い、
コンテンツを利用する正当な装置側では、ライセンス・トークンに自分が生成したノンスが含まれていること及びコンテンツ利用許可の権限者に関する認証情報の認証処理によりライセンス・トークンの有効性を検証し、ライセンス・トークンが有効である場合に該当するコンテンツをユーザに利用させる、
ことを特徴とするコンテンツ利用管理システムである。
【0022】
但し、ここで言う「システム」とは、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【0023】
また、本発明の第2の側面は、ライセンスの配布によりコンテンツの利用を管理する情報処理装置又は情報処理方法であって、
コンテンツの利用者から一回限りの乱数であるノンスを受信するノンス受信手段又はステップと、
受信したノンスと自身の認証情報を少なくとも含むライセンス・トークンをコンテンツの利用者に配布するライセンス・トークン発行手段又はステップと、
を具備することを特徴とする情報処理装置又は情報処理方法である。
【0024】
また、本発明の第3の側面は、コンテンツを安全に提供する情報処理装置又は情報処理方法であって、
コンテンツを正当に利用する装置にイネーブル鍵を発行するイネーブル鍵発行手段又はステップと、
コンテンツ毎に固有のコンテンツ鍵でコンテンツを暗号化するコンテンツ暗号化手段又はステップと、
コンテンツ鍵を含むデータをイネーブル鍵で暗号化してなるコンテンツ・トークンを生成するコンテンツ・トークン生成手段又はステップと、
暗号化コンテンツをコンテンツ・トークンとともに配布するコンテンツ提供手段又はステップと、
を具備することを特徴とする情報処理装置又は情報処理方法である。
【0025】
また、本発明の第4の側面は、ライセンスの取得によりコンテンツの正当な利用を行なう情報処理装置又は情報処理方法であって、
コンテンツを取得するコンテンツ取得手段又はステップと、
一回限りの乱数であるノンスを発行するノンス発行手段又はステップと、
コンテンツに関するライセンス・トークンを受信して、前記ノンス発行手段又はステップが発行したノンスが含まれているか、及び所定のコンテンツ利用許可の権限者から得られたものであるかどうかを認証することにより該ライセンス・トークンの有効性を検証するライセンス・トークン検証手段又はステップと、
ライセンス・トークンが有効であることに応答して、該当するコンテンツの利用を行なうコンテンツ利用手段又はステップと、
を具備することを特徴とする情報処理装置又は情報処理方法である。
【0026】
本発明では、再生装置で生成されたノンス(1回限りの乱数)とコンテンツの識別番号、利用条件(例えば利用許可の回数や期間など)に、コンテンツの提供者あるいはシステム管理者などのコンテンツ利用許可の権限者が、電子署名やメッセージ認証コードを付加したものをランセンス・トークンとして用いる。
【0027】
ライセンス・トークンを受け取った再生装置は、自分が生成したノンスが含まれることで、ライセンス・トークンが自分宛てであることを知り、なお且つコンテンツの提供者又はシステム管理者が電子署名やメッセージ認証コードが付加されていることで、ライセンス・トークンとして有効であることを判断することができる。
【0028】
また本発明では、コンテンツ鍵をライセンスとして配布する代わりに、コンテンツ配布と同時にコンテンツ・トークンとして配布するようになっている。このコンテンツ・トークンは、コンテンツ鍵をイネーブル鍵で暗号化したデータである。また、イネーブル鍵はライセンスの有無とは独立に、正当な再生装置だけが利用可能な鍵である。
【0029】
コンテンツの識別情報は、暗号化コンテンツ又はコンテンツ・トークンの一部として、コンテンツ鍵又はイネーブル鍵で暗号化して含まれるので、正当な再生装置が判断可能な形式で配布され、コンテンツ利用許可の権限者以外から意図的な改変ができない。したがって、暗号化コンテンツを復号するコンテンツ鍵を再生装置に与えるのではなく、再生装置から判断できる形式で、コンテンツの利用許可の権限者が利用を許可するコンテンツの識別情報を指定することにより、再生装置に対してコンテンツの利用を許可することができる。
【0030】
そして、再生装置は、ライセンスを取得できたと判断した場合だけ、ライセンスで指定されたコンテンツの識別番号を含むコンテンツ・トークンを自身が保持するイネーブル鍵で復号してコンテンツ鍵を取り出し、次いで、コンテンツ鍵で暗号化コンテンツを復号して得られるコンテンツをユーザに利用させる。したがって、正当な再生装置は、復号したコンテンツそのものを装置外に漏らすことなく、コンテンツを利用に供することができる。
【0031】
また、イネーブル鍵は、システム管理者が生成するとして、正当な再生装置にイネーブル鍵を利用可能にする方法としては2種類が考えられる。1つの方法は、正当な再生装置にあらかじめイネーブル鍵を配布しておく方法である。
【0032】
このような方法としては、例えばIETF( Internet Engineering TaskForce RFC(Request for Comment)2627に記載のユーザ・グループに暗号鍵を共有させる方法のいずれかを用いればよい。最も単純にシステム管理者が再生装置毎にイネーブル鍵を配布する場合には、イネーブル鍵の配布に再生装置の個数Nに比例する手間が必要になる。しかし、RFC2627には、各再生装置に再生装置の個数Nの対数に比例するサイズのデータを持たせる階層鍵構造(hierarchicalkey tree)による管理方式が示されており、これを適用することにより、個数Nの対数に比例するサイズのデータのブロードキャストでイネーブル鍵の配布を行なうことができる。
【0033】
イネーブル鍵を配布するもう1つの方法は、イネーブル鍵を正当な再生装置だけに取得可能な形式で暗号化コンテンツとともに配布する方法である。本出願人に既に譲渡されている特開2001−352321号公報(発明の名称:情報システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体)に開示されているように、各再生装置に再生装置に個数Nの対数に比例するサイズのデータを持たせることで、イネーブル鍵の配布を再生装置の個数Nの対数に比例するサイズのデータを暗号化コンテンツとともに配布することで行なうことができる。
【0034】
また、耐タンパ性が破壊された再生装置が発生した場合には、イネーブル鍵を更新するようにしてもよい。イネーブル鍵を更新して、新しいコンテンツ鍵でコンテンツを暗号化したものと、新しいイネーブル鍵でコンテンツ鍵を暗号化したものとしてコンテンツの配布を行なうことで、耐タンパ性が破壊された再生装置に含まれる情報を使っても、暗号化コンテンツを2度と復号できなくすることができる。
【0035】
本発明で重要な点は、ライセンスがコンテンツ鍵でないため、任意の装置にライセンスを与えても、実際にコンテンツを復号できるのは、あらかじめイネーブル鍵を共有している正当な再生装置に限定される、ということである。したがって、本発明によって、ライセンス発行時に発行対象の再生装置を特定して各再生装置に専用のライセンスを発行することが不要になる。これによって、ライセンス発行を高速に処理することが可能になり、再生装置の個数の増加に関してスケーラビリティのよいライセンス発行処理を実現することができる。
【0036】
また、本発明の第5の側面は、ライセンスの配布によりコンテンツの利用を管理するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
コンテンツの利用者から一回限りの乱数であるノンスを受信するノンス受信手順と、
受信したノンスと自身の認証情報を少なくとも含むライセンス・トークンをコンテンツの利用者に配布するライセンス・トークン発行手順と、
実行させることを特徴とするコンピュータ・プログラムである。
【0037】
また、本発明の第6の側面は、コンテンツを安全に提供するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
コンテンツを正当に利用する装置にイネーブル鍵を発行するイネーブル鍵発行手順と、
コンテンツ毎に固有のコンテンツ鍵でコンテンツを暗号化するコンテンツ暗号化手順と、
コンテンツ鍵を含むデータをイネーブル鍵で暗号化してなるコンテンツ・トークンを生成するコンテンツ・トークン生成手順と、
暗号化コンテンツをコンテンツ・トークンとともに配布するコンテンツ提供手順と、
実行させることを特徴とするコンピュータ・プログラムである。
【0038】
また、本発明の第7の側面は、ライセンスの取得によりコンテンツの正当な利用を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
コンテンツを取得するコンテンツ取得手順と、
1回限りの乱数であるノンスを発行するノンス発行手順と、
コンテンツに関するライセンス・トークンを受信して、前記ノンス発行ステップにおいて発行したノンスが含まれているか、及び所定のコンテンツ利用許可の権限者から得られたものであるかどうかを認証することにより該ライセンス・トークンの有効性を検証するライセンス・トークン検証手順と、
ライセンス・トークンが有効であることに応答して、該当するコンテンツの利用を行なうコンテンツ利用手順と、
実行させることを特徴とするコンピュータ・プログラムである。
【0039】
本発明の第5乃至第7の各側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第5乃至第7の各側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第2乃至第4の各側面に係る情報処理装置又は情報処理方法と同様の作用効果を得ることができる。
【0040】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0041】
【発明の実施の形態】
以下では、本発明の実施形態として、正当な再生装置であらかじめイネーブル鍵が共有されている場合(実施形態1)と、正当な再生装置にのみ取得可能な形式でイネーブル鍵が暗号化コンテンツとともに配布される場合(実施形態2)について、図面を参照しながら詳解する。その前に、まず本発明で用いられる暗号技術について簡単に説明しておく。
【0042】
A.暗号技術
本明細書では、E(K,M)は、暗号鍵KによるデータMの暗号化を意味する。また、MAC(K,M)はデータMに対して鍵Kを使って生成したメッセージ認証コードを表す。
【0043】
メッセージ認証コード(MAC:Message Authentication Code)は、共通鍵暗号を利用してデータの改竄の発見とメッセージ生成者の特定を可能にする方法である。データMの作成者とMの送付先だけが共通鍵暗号の鍵Kを共有していると仮定し、このときデータMのメッセージ認証コードは鍵Kを用いてMAC(K,M)=E(K,h(M))(鍵Kによるh(M)の暗号化データ)とすればよい。ここで、h()はデータの送り側と受け側が共通に持つ一方向性関数である。一方向性関数としては、例えばMD5やSHA−1と呼ばれるものが挙げられる(詳しくは、例えばISO/IEC10118やFIPS180−1などを参照のこと)。
【0044】
データMを送る際に、メッセージ認証コードと組み合わせて、(M,MAC(K,M))という形式で送ると、データの受け取り側では、データMに一方向性関数を適用して、h(M)=E(K,h(M))が満たされるかどうかを確認することによって、データMが改竄されていないことと、メッセージ認証コードMAC(K,M)が鍵Kの所有者によって付加されたものであることを確認することができる。
【0045】
また、以下の説明においてメッセージ認証コードを使う箇所では、メッセージ認証コードの変わりに電子署名を使うこともできる。その場合には、以下の説明でメッセージ認証コードを確認する側が、共通鍵暗号の暗号鍵の代わりに署名検証のための公開鍵を保持すればよい。
【0046】
電子署名は公開鍵暗号の応用の一種である。ここで、公開鍵暗号方式は、データを暗号化する際に用いる鍵(公開鍵)Pkと、復号化する際に用いる鍵(秘密鍵)Skが異なり、且つ一方の鍵から他方を算出することが非常に困難であるという性質を持った暗号アルゴリズムである。すなわち、rのPkによる暗号化をR=E(Pk,r)とすれば、暗号データRの秘密鍵Skによる復号D(Sk,R)はrに一致する)。公開鍵暗号については、例えばIEEE−P1363で標準的手法がまとめられている。
【0047】
電子署名は、データMが存在するとき、Mの作成者が自分の秘密鍵Skを用いて計算したデータSG(M)=D(Sk,h(M))である。データMを送る際に、電子署名と組み合わせて(M,SG(M))という形式で送ると、受け取り側では、受信したデータMに一方向性関数を適用して、h(M)=E(Pk,SG(M))が満たされるかどうかを確認することによって、Mが改竄されていないこと、及びSG(M)が秘密鍵Skの所有者によって付加されたことを確認することができる。このような手続のことを電子署名の検証と呼ぶ。電子署名についても、例えばIEEE−P1363に標準的手法がまとめられている。
【0048】
B.第1の実施形態
B−1.全体構成
図1には、本発明の第1の実施形態に係るシステムの参加者を示している。同図に示すように、参加者は、コンテンツ提供者30、システム管理者20、及び再生装置40からなる。なお、コンテンツ提供者と再生装置は複数存在してもよい。
【0049】
再生装置40は、システム管理者20から、当該システムを利用するユーザに配布されているものとする。
【0050】
コンテンツ提供者30は、コンテンツ(例えば、音楽又は画像データや電子文書、ソフトウェアなど)をユーザへ提供するために、システム管理者20と契約を結び、各ユーザの再生装置40にコンテンツを提供する。
【0051】
B−2.システム管理者
図2には、システム管理者20の機能構成を模式的に示している。同図に示すように、システム管理者20は、暗号処理部21と、データ記憶部22と、乱数発生器23と、時計24と、通信処理部25とを備えている。システム管理者20は、実際には、広域ネットワークに接続されたコンピュータ・システム上で所定のサーバ・アプリケーションを動作させることによって構成される。
【0052】
システム管理者20は、通信処理部25によってコンテンツ提供者や再生装置との間で通信が可能であるとする。以下で説明するシステム管理者20の保持するデータは、すべてデータ記憶部22に保持される。
【0053】
図3〜図5には、システム管理者20において保持されているデータ構成を模式的に示している。
【0054】
システム管理者20は、システムに参加しているすべての再生装置40についての再生装置固有番号、再生装置固有鍵a、並びに再生装置固有鍵bを管理する再生装置表211を備えている(図3を参照のこと)。この再生装置表211は、正当な再生装置毎の再生装置固有番号、再生装置固有鍵a、並びに再生装置固有鍵bを、表の1列(以下では1「レコード」と呼ぶ)とし、各レコードを再生装置固有番号で検索できるデータベースとして実装すればよい。
【0055】
また、システム管理者20は、システムに参加しているすべてのコンテンツ提供者30のコンテンツ提供者固有番号、コンテンツ提供者固有鍵a、コンテンツ提供者固有鍵b、並びにコンテンツ提供者アドレスを管理するコンテンツ提供者表212を備えている(図4を参照のこと)。このコンテンツ提供者表212は、コンテンツ毎のコンテンツ提供者固有番号、コンテンツ提供者固有鍵a、コンテンツ提供者固有鍵b、コンテンツ提供者アドレスを1レコードで表し、各レコードをコンテンツ提供者固有番号で検索できるデータベースとして実装すればよい。
【0056】
また、イネーブル鍵情報213は、現在のイネーブル鍵のバージョン番号IVERとイネーブル鍵Krを保持する(図5を参照のこと)。
【0057】
B−3.コンテンツ提供者
図6には、コンテンツ提供者30の機能構成を模式的に示している。同図に示すように、コンテンツ提供者30は、耐タンパ性暗号処理部31と、耐タンパ性データ記憶部32と、データ記憶部33と、乱数発生器34と、通信処理部35と、時計36とを備えている。通信処理部35によってシステム管理者や再生装置との間で通信が可能であるとする。コンテンツ提供者30は、実際には、広域ネットワークに接続されたコンピュータ・システム上で所定のサーバ・アプリケーションを動作させることによって構成される。
【0058】
ここで言う「耐タンパ性」とは、外部からの観察や解析によって内部の処理やデータが取得、改竄できない性質のことである。また、耐タンパ性暗号処理部31と耐タンパ性データ記憶部32の間では、耐タンパ性を持った通信が可能である。
【0059】
以下で説明するコンテンツ提供者30の保持データのうちで、コンテンツ表はデータ記憶部33に保持され、また、コンテンツ提供者固有情報とイネーブル鍵情報は耐タンパ性データ記憶部32に保持される。また、イネーブル鍵を使う処理(後述のイネーブル鍵取得、及びコンテンツ・トークン生成)は、耐タンパ性暗号処理部31で行なわれる。
【0060】
図7〜図9には、コンテンツ提供者30において保持されるデータ構成を模式的に示している。
【0061】
コンテンツ提供者30は、提供するコンテンツContを管理するコンテンツ表311を備えている(図7を参照のこと)。コンテンツ識別番号CIDでコンテンツ鍵KcであるコンテンツContに対して、コンテンツ表311はコンテンツ識別番号CID、コンテンツ鍵Kc、暗号化コンテンツE(Kc,Cont)、コンテンツ・トークンIVER||E(Kr,Kc||CID)からなるレコードを用意する。コンテンツ表311は、各レコードをコンテンツ識別番号CIDで検索できるデータベースとして実装すればよい。
【0062】
上述の例では、コンテンツ識別番号CIDでコンテンツ鍵KcであるコンテンツContに対して、暗号化コンテンツとコンテンツ・トークンはそれぞれ、E(Kc,Cont)とIVER||E(Kr,Kc||CID)とした。但し、コンテンツ識別番号は暗号化コンテンツ又はコンテンツ・トークンから再生装置40で取得できる形式であればよいので、例えば暗号化コンテンツとコンテンツ・トークンがE(Kc,Cont||CID)とIVER||E(Kr,Kc)という形式であっても構わない。後者の形式を扱う場合、以下で説明する実施例に必要な変更は自明であるので、その説明は省略する。また、コンテンツを暗号化するだけでなく、改変を防ぐためにメッセージ認証コード(前述)を付加することも考えられるが、その場合も必要な変更は自明であるので説明は省略する。
【0063】
コンテンツ提供者固有情報312は、コンテンツ提供者固有番号、コンテンツ提供者固有鍵a、コンテンツ提供者固有鍵bで構成される(図8を参照のこと)。これらは、コンテンツ提供者30がシステムの使用の契約を結ぶときにシステム管理者20が決めたもので、同じデータにコンテンツ提供者30のアドレスを追加したレコードがシステム管理者20のコンテンツ提供者表212にも登録される。
【0064】
イネーブル鍵情報313は、現在のイネーブル鍵のバージョン番号IVERとイネーブル鍵Krを保持し(図9を参照のこと)、これらは、イネーブル鍵取得の手続きでシステム管理者から取得する(後述)。
【0065】
B−4.再生装置
図10には、再生装置40の機能構成を模式的に示している。同図に示すように、再生装置40は、暗号処理部41と、データ記憶部42と、乱数発生器43と、通信処理部44と、時計45とを備えている。再生装置40は、全体が耐タンパ性を持つ。通信処理部44によってシステム管理者やコンテンツ提供者との間で通信が可能であるとする。再生装置40は、実際には、広域ネットワークに接続されたコンピュータ・システム上でコンテンツ再生・アプリケーションを動作させることによって構成される。以下で説明する再生装置の保持するデータはすべてデータ記憶部42に保持される。
【0066】
なお、時計45は、再生装置40に与えられる後述のライセンス情報に、(コンテンツの)利用条件として有効期限が含まれる場合のみ必要である。したがって、利用条件として有効期限を用いない場合には、再生装置40に時計45が含まれることは必須ではない。また、利用条件として有効期限を使う場合であっても、有効期限を時刻として指定するのではなく、ライセンスを受けとってからの経過時間(期間)として指定する場合には、時計45の絶対的な時刻を保持するものを使う必要はない(この場合、再生装置40の時計45には時刻合わせが不要である)。
【0067】
図11〜図13には、再生装置40において保持されるデータ構成を模式的に示している。再生装置40は、再生装置固有情報411と、イネーブル鍵情報412と、ライセンス情報413を備えている。
【0068】
再生装置固有情報411は再生装置固有番号、再生装置固有鍵a、再生装置固有鍵bを保持する(図11を参照のこと)。これらは再生装置40が出荷される際に入力され、システム管理者20の再生装置表211にも登録される。
【0069】
イネーブル鍵情報412は、現在のイネーブル鍵のバージョン番号IVERとイネーブル鍵Krを保持し(図12を参照のこと)、これらは、イネーブル鍵取得の手続きでシステム管理者40から取得する(後述)。
【0070】
ライセンス情報413は、コンテンツ識別番号とライセンス条件からなり(図13を参照のこと)、コンテンツ利用の際に取得したライセンスの情報が記録される。
【0071】
B−5.動作の概要
コンテンツ提供者30、システム管理者20、並びに再生装置40からなる本発明のシステムの動作について以下で説明する。
【0072】
システムの動作は、初期化、コンテンツ利用、イネーブル鍵更新からなる。各参加者では最初に初期化が行われてから、コンテンツ追加・削除、コンテンツ利用、イネーブル鍵更新が行われる。
【0073】
初期化は、最初にシステム管理者20で行われる。コンテンツ提供者30、再生装置40については、システムに新たに参加した際に初期化が行われる。
【0074】
コンテンツ追加・削除は、コンテンツ提供者30が提供するコンテンツを追加あるいは削除する際に行なう処理である。
【0075】
コンテンツ利用は、ユーザが自分の再生装置40にコンテンツ提供者30からコンテンツの提供を受けて、コンテンツを利用する際の処理である。以下の説明では、コンテンツ利用の際に暗号化コンテンツ、コンテンツ・トークン、ライセンスの取得が同時に行なわれる場合について説明するが、ライセンスの取得が暗号化コンテンツ、コンテンツ・トークンの取得とは別のタイミングで行われても勿論よい。
【0076】
また、ライセンス取得の際には、ユーザへの課金処理や、ユーザがコンテンツを利用する権利を得ていることの確認のために、ユーザの認証が行われることが一般的である。このようなユーザ認証の方法としては,例えばKerberosやPKIと呼ばれる方法を使えばよい。但し、これらは本発明の要旨には直接関係しないので、ここでは説明を省略して、以降は利用権利の確認が終わったユーザの持つ再生装置40に対して1回又は複数回のコンテンツ利用のラインセンス(=利用許可)を与える場合について説明する。
【0077】
イネーブル鍵更新は、システムに参加しているいずれかの再生装置40の耐タンパ性が破られ、再生装置40のデータ記憶部42に保持されているデータが漏洩したときに、それらの情報を使って暗号化コンテンツを復号できなくするための処理である。すなわち、イネーブル鍵を更新して、耐タンパ性の破られていない正当な再生装置40だけに新たなイネーブル鍵を共有させる。コンテンツ提供者30には新たなイネーブル鍵を提供して、コンテンツを新たなコンテンツ鍵で再暗号化させ、コンテンツ・トークンも新たなコンテンツ鍵を新たなイネーブル鍵で暗号化したものに置き換えることで、耐タンパ性の破られた再生装置40に含まれていたイネーブル鍵を使っても暗号化コンテンツを復号できなくする。
【0078】
イネーブル鍵更新はシステム管理者と再生装置、コンテンツ提供者で行なう処理になる。
【0079】
以下では、再生装置40、コンテンツ提供者30、システム管理者20についての初期化、コンテンツ追加・削除、コンテンツ利用、イネーブル鍵更新を順に説明する。
【0080】
B−6.初期化
システム管理者20の初期化では、乱数発生器23を使って新たなイネーブル鍵を生成し、イネーブル鍵バージョン番号0とイネーブル鍵をイネーブル鍵情報213として保持する。また、再生装置表211とコンテンツ提供者表212にレコードがない状態にする。
【0081】
コンテンツ提供者30は、初期化の前に、コンテンツ利用権管理システムの利用契約を結ぶ。その際、システム管理者20との間で一意なコンテンツ提供者固有番号PIDとコンテンツ提供者固有鍵Kpa,Kpbを取り決め、これをコンテンツ提供者固有情報312として保持する。このときに、システム管理者20のコンテンツ提供者表212にもコンテンツ提供者固有番号PID、コンテンツ提供者固有鍵Kpa,Kpb、並びにコンテンツ提供者アドレスからなる新たなレコードが追加される。以上の登録手続きが終わってから、コンテンツ提供者30の初期化として、コンテンツ表311にレコードがない状態にすることと、イネーブル鍵の取得を行なう。
【0082】
ここで、コンテンツ提供者30がシステム管理者20からイネーブル鍵を取得するための処理手順について、図14を参照しながら説明する。
【0083】
まず、コンテンツ提供者30からシステム管理者にイネーブル鍵取得要求が送付される(ステップS1)。イネーブル鍵取得要求は、コンテンツ提供者固有番号PIDとコンテンツ提供者固有鍵Kpa,Kpbとした場合に、PID||nonce||MAC(Kpb,nonce||PID)で構成される。ここで、nonceはコンテンツ提供者が生成したノンス(1回限り使用される乱数)である。
【0084】
これに対し、システム管理者20側では、受け取ったイネーブル鍵取得要求からコンテンツ提供者固有番号PIDを使ってコンテンツ提供者表212を検索する。検索に成功した場合には対応するコンテンツ提供者固有鍵Kpa,Kpbを使ってイネーブル鍵取得要求が正しいこと(イネーブル鍵取得要求に含まれるメッセージ認証コードが正しいこと)を確認する。
【0085】
イネーブル鍵取得要求の確認に成功した場合には、イネーブル・トークンPID||nonce||IVER||E(Kpa,Kr)||MAC(Kpb,PID||nonce||IVER||E(Kpa,Kr))を生成する(ステップS3)。
【0086】
図15には、この場合のイネーブル・トークンのデータ構成を示している。同図において、Krはイネーブル鍵、Kpa,Kpbはコンテンツ提供者固有鍵、nonceはステップS2においてコンテンツ提供者30から受け取ったノンスである。
【0087】
システム管理者20は、イネーブル・トークンをコンテンツ提供者に送付する(ステップS4)。これに対し、コンテンツ提供者30側では、イネーブル・トークンが正しいこと(イネーブル・トークンに含まれるメッセージ認証コードが正しいことと、ノンスがステップS1で自ら送ったものと一致すること)を確認する。コンテンツ提供者30は確認に成功した場合には、受け取ったイネーブル・トークンからイネーブル鍵Krを取り出し(ステップS6)、イネーブル鍵情報313として保持する。
【0088】
再生装置40は出荷される際に、その再生装置固有番号UIDと再生装置固有鍵Kua,Kubが決定され、システム管理者20に登録される。これによって、システム管理者20の再生装置表211に再生装置固有番号UIDと再生装置固有鍵Kua,Kubからなる新たなレコードが追加される。再生装置40の初期化はイネーブル鍵の取得である。再生装置40がイネーブル鍵を取得するための処理手順について、図14を参照しながら説明する。
【0089】
まず、再生装置40からシステム管理者20にイネーブル鍵取得要求が送付される(ステップS1)。イネーブル鍵取得要求は、再生装置40が再生装置固有番号UIDと再生装置固有鍵Kua,Kubを持つ場合に対して、UID||nonce||MAC(Kub,nonce||UID)である。nonceは、再生装置40が生成したノンスである。
【0090】
次いで、システム管理者20側では、受け取ったイネーブル鍵取得要求から再生装置固有番号UIDを使って再生装置表211を検索する。検索に成功した場合には対応する再生装置固有鍵Kua,Kubを使ってイネーブル鍵取得要求が正しいことを確認する(ステップS2)。これは、イネーブル鍵取得要求に含まれるメッセージ認証コードが正しいことを確認することである。
【0091】
イネーブル鍵取得要求の確認に成功した場合には、まずイネーブル・トークンUID||nonce||IVER||E(Kua,Kr)||MAC(Kub,UID||nonce||IVER||E(Kua,Kr))を生成する(ステップS3)。
【0092】
図16には、この場合のイネーブル・トークンのデータ構成を示している。ここでIVERはイネーブル鍵のバージョン番号、Krはイネーブル鍵、Kua,Kubは再生装置固有鍵、nonceはステップS2において再生装置40から受け取ったノンスである。
【0093】
次いで、システム管理者20は、生成したイネーブル・トークンを再生装置40に送付する(ステップS4)。
【0094】
再生装置40側では、イネーブル・トークンが正しいこと(すなわち、イネーブル・トークンに含まれるメッセージ認証コードが正しいことと、ノンスがステップS1で送ったものと一致すること)を確認する(ステップS5)。
【0095】
確認に成功した場合、再生装置40は受け取ったイネーブル・トークンからイネーブル鍵のバージョン番号IVERとイネーブル鍵Krを取り出して、これらをイネーブル鍵情報412として保持する。
【0096】
B−7.コンテンツ追加・削除
コンテンツ提供者30は、提供するコンテンツの追加又は削除の際の処理を行なう。図17には、コンテンツ提供者30におけるコンテンツの追加又は削除時の処理動作をフローチャートの形式で示している。
【0097】
まず、コンテンツ提供者30は、コンテンツの追加か削除かを判断する(ステップS11)。
【0098】
コンテンツContを追加する場合ならば、追加するコンテンツに対するコンテンツ鍵Kcを乱数発生器34で新たに生成するとともに、コンテンツ識別番号CIDをコンテンツ提供者30が扱うコンテンツ毎の一意な番号とコンテンツ提供者固有番号を連結したものなどとして生成する(ステップS12)。
【0099】
次いで、ステップS12で生成したコンテンツ鍵Kcで追加コンテンツContを暗号化して、暗号化コンテンツE(Kc,Cont)を得る(ステップS13)。次いで、コンテンツ鍵Kcとイネーブル鍵情報を使ってコンテンツ・トークンIVER||E(Kr,Kc||CID)を生成する(ステップS14)。
【0100】
そして、コンテンツの識別番号CIDとコンテンツ鍵Kcと暗号化コンテンツE(Kc,Cont)とコンテンツ・トークンIVER||E(Kr,Kc||CID)をコンテンツ表311の新たなレコードとして追加して(ステップS15)、本処理ルーチン全体を終了する。
【0101】
一方、ステップS11においてコンテンツを削除すると判断した場合には、削除されるコンテンツのレコードをコンテンツ表311から検索し(ステップS16)、そのレコードを削除して(ステップS17)、本処理ルーチン全体を終了する。
【0102】
B−8.コンテンツ利用
コンテンツ利用は、コンテンツ提供者30からユーザの再生装置40にコンテンツが送られて、ユーザ側でコンテンツを利用する際の処理である。図18には、ユーザの再生装置40がコンテンツ提供者30から取得したコンテンツを利用するための処理手順をフローチャートの形式で示している。
【0103】
まず、ユーザが自分の再生装置40上で利用するコンテンツを選択すると(ステップS21)、これに応答して、選択したコンテンツの識別番号CIDがコンテンツ提供者30に通知される。
【0104】
このコンテンツ選択操作には、例えば一般的なWebブラウザなどでユーザに対してコンテンツの内容(例えばコンテンツが音楽であれば曲名など)とその利用を希望するボタンを表示させ、ユーザがボタンをマウスなどでクリックするなどのGUI操作で実装することができる。但し、こうしたユーザ・インターフェースの構成は一般的なものであり、且つ本発明の要旨には直接関連しないので、ここではこれ以上説明しない。
【0105】
また、このときに、選択したコンテンツの利用権利をユーザが購入する、あるいは既にユーザが権利を持つことを確認する目的で、ユーザ認証が行われることが一般的である。しかし、これについても前述の通り、本発明の要旨とは直接関連しないのでここでは説明を省略する。そこで、以降では、ユーザが利用するコンテンツを選択して、そのコンテンツに対する利用権利の確認が済んでいるものとして、本実施形態に関する説明を進める。
【0106】
コンテンツ提供者30は、ユーザから利用を希望するコンテンツの識別番号の通知を受け付けると、この識別番号に対応するレコードをコンテンツ表311から検索する(ステップS22)。そして、該当するレコードに含まれる暗号化コンテンツE(Kc,Cont)とコンテンツ・トークンIVER||E(Kr,Kc||CID)を要求元ユーザの再生装置40に送付する(ステップS23)。図19には、コンテンツ提供装置30から再生装置40に送付されるコンテンツ配布形式のデータ構成を示している。
【0107】
再生装置40側では、暗号化コンテンツE(Kc1,Cont)とコンテンツ・トークンIVER||E(Kr,Kc||CID)を受け取ると、続いて、コンテンツ・トークンに含まれるイネーブル鍵のバージョン番号と自分のイネーブル鍵のバージョン番号を比較する(ステップS24)。そして、コンテンツ・トークンに含まれるイネーブル鍵のバージョン番号のほうが新しい場合には、イネーブル鍵の取得を行なう(ステップS31)。イネーブル鍵の取得は、再生装置40の初期化時においてシステム管理者20からイネーブル鍵を取得する処理として図14を参照しながら既に説明した通りなので、ここでは説明を省略する。
【0108】
続いて、再生装置40は、コンテンツ提供者30にnonce(1回限りの乱数)を送る(ステップS25)。これに対し、コンテンツ提供者30は、ライセンス・トークンを生成する(ステップS26)。ラインセンス・トークンはCID||CND||nonce||MAC(Kc,CID||CND||nonce)で構成される。
【0109】
図20には、ライセンス・トークンのデータ構成を示している。ここで、CIDは利用許可の対象となるコンテンツの識別番号、CNDは利用許可の条件、nonceはステップS25で再生装置40から送られたノンスである。
【0110】
ライセンス・トークンは、コンテンツの利用許可を与える権限者(一般的にはコンテンツ提供者30)が生成したことを再生装置40で確認できるデータであればよいので、メッセージ認証コードを使う代わりにKcによる暗号化データE(Kc,CID||CND||nonce)を使うことも可能である。また、コンテンツの利用許可を与える権限者をコンテンツ提供者30以外の第3者やシステム管理者20とすれば、コンテンツ鍵Kcの代わりに、これらと再生装置40の間であらかじめ共有している暗号鍵(例えばイネーブル鍵Kr)を使うことも可能である。
【0111】
ステップS27では、コンテンツ提供者30は、ライセンス・トークンを再生装置40に送る。これに対し、再生装置40側では、受け取ったライセンス・トークンの確認を行なう(ステップS28)。すなわち、ライセンス・トークンに含まれるnonceがステップS25において自分が送ったものと同じであり、なお且つメッセージ認証コードが正しいかどうかを確認する。
【0112】
ステップS28において、ライセンス・トークンが正しいことが確認できた場合には、再生装置40はライセンス・トークンに含まれているコンテンツの識別番号CIDと利用許可の条件CNDを再生装置40内のライセンス情報413として保持する。
【0113】
次いで、再生装置40は、ライセンス情報413のコンテンツ識別番号CIDがライセンス情報記憶領域に保持されているコンテンツの識別番号CIDと一致することを確認し、さらに利用許可条件CNDが満足されることを確認する(ステップS29)。
【0114】
ここで、利用条件CNDは、例えば利用可能回数や有効期限である。利用可能回数であれば確認の度に1ずつ減算して0より大きい限りは条件が満たされるとする。また有効期限であれば再生装置40内の時計45が計時する実時刻と比較して条件が満たされることを判断する。但し、前述したように、利用条件CNDとして有効期限を使わない場合には、再生装置40に時計45は不要である。また、有効期限を使う場合であっても、有効期限を時刻で指定するのではなく、ライセンスを受け取ってからの経過時間(期間)で指定する場合には、時計45として絶対的な時刻を保持するものを使う必要はない。
【0115】
ステップS29において利用条件が満たされると判断した場合には、再生装置40は、コンテンツ鍵Kcを使って暗号化コンテンツを復号して得たコンテンツをユーザの利用に供する(ステップS30)。そして、コンテンツの利用が終わったらステップS29の条件判断に戻り、条件が満足される限りコンテンツ利用を繰り返すことができる。
【0116】
B−9.イネーブル鍵更新
イネーブル鍵更新は、システムに参加しているいずれかの再生装置40においてその耐タンパ性が破られたときに、イネーブル鍵を更新する処理のことである。イネーブル鍵を更新した後、コンテンツ提供者30の保持するコンテンツの暗号化を新たなコンテンツ鍵で行ない、新たなコンテンツ鍵を含むコンテンツ・トークンの暗号化も新たなイネーブル鍵で行なう。この結果、耐タンパ性の破られた再生装置40に含まれる情報を使ってコンテンツを再生することを不可能にすることができる。
【0117】
このようなイネーブル鍵の更新に伴うコンテンツの利用制限を実現するために、耐タンパ性の破られていない正当な再生装置40には新たなイネーブル鍵を共有させる必要がある。このため、イネーブル鍵更新の処理は大きく2つの部分に分かれる。第1は、耐タンパ性が破られた以外の正当な再生装置40に新たなイネーブル鍵を共有させることである。第2は、コンテンツ提供者30がコンテンツ表311中のすべてのレコードについてコンテンツ鍵を更新して、暗号化コンテンツを新たなコンテンツ鍵で暗号化しなおしたものに置き換え、さらにコンテンツ・トークンを新たなイネーブル鍵を使って新たなコンテンツ鍵を含むように生成し直したものに置き換えることである。
【0118】
上述の第2の処理を行ない、イネーブル鍵のバージョンが更新されれば、再生装置40でコンテンツを利用する際に、イネーブル鍵のバージョンの検査(ステップS31:上述)で再生装置40の保持するイネーブル鍵が古いことが分かるので、システム管理者20から新規のイネーブル鍵の取得が行われる。したがって、本実施形態においては、イネーブル鍵更新としては第2の処理だけを行なえばよい。
【0119】
図21には、システム管理者20においてイネーブル鍵を更新する処理手順をフローチャートの形式で示している。
【0120】
耐タンパ性の破られた装置を発見したとき、システム管理者20は、まず乱数発生器23を使って新たなイネーブル鍵Kr'を生成し(ステップS41)、システム管理者20のイネーブル鍵情報213のイネーブル鍵を更新し、イネーブル鍵バージョン番号を1つ増加させる。
【0121】
次いで、コンテンツ提供者表212の最初のレコードを選択して(ステップS42)、該選択されたレコードのコンテンツ提供者アドレスにイネーブル鍵更新通知を送る(ステップS43)。
【0122】
イネーブル鍵更新通知は、新規のイネーブル鍵をKr'としてPID||time||nonce||E(Kpa,IVER'||Kr')||MAC(Kpb,PID||time||nonce||E(Kpa,IVER'||Kr'))で構成される。ここで、PIDはこのイネーブル鍵更新通知を受け取るべきコンテンツ提供者のコンテンツ提供者固有番号、timeはイネーブル鍵更新通知の生成時刻、nonceはシステム管理者の生成したノンス、KpaとKpbはコンテンツ提供者固有鍵、IVER'とKr'は新たなイネーブル鍵のバージョン番号とイネーブル鍵である。
【0123】
コンテンツ提供者30側では、イネーブル鍵更新通知を受け取ると、それが正しいことを確認する(ステップS44)。ここでは、イネーブル鍵更新通知に含まれるコンテンツ提供者固有番号が自分のものであること、時刻timeが現時刻から適当な基準の範囲内(例えば1分など)であること、並びにメッセージ認証コードが正しいことが確認される。
【0124】
イネーブル鍵更新通知の正しいことが確認できた場合には、コンテンツ提供者30は、イネーブル鍵情報313を新たなイネーブル鍵のバージョン番号IVER'とイネーブル鍵Kr'に置き換える。また、イネーブル鍵更新通知PID||nonce||MAC(Kpb,PID||nonce)を生成して、システム管理者20に送信する(ステップS45)。ここで、PIDはコンテンツ提供者のコンテンツ提供者固有番号、nonceはステップS44で受け取ったノンスである。
【0125】
次いで、コンテンツ提供者30は、コンテンツ表311の更新を行なう(ステップS46)。図22には、コンテンツ表311を更新するための処理手順をフローチャートの形式で示している。
【0126】
コンテンツ提供者30は、まず、コンテンツ表311の最初のレコードを選択する(ステップS51)。
【0127】
次いで、選択したレコード向けに乱数発生器34でコンテンツ鍵Kc'を再生成する(ステップS52)。そして、選択したレコードの暗号化コンテンツE(Kc,Cont)をレコードに含まれるコンテンツ鍵Kcで復号してから、新しいコンテンツ鍵Kc'で再暗号化してE(Kc',Cont)を得る(ステップS53)。
【0128】
次いで、新しいコンテンツ鍵Kc'に対するコンテンツ・トークンIVER'||E(Kr',Kc')を生成して(ステップS54)、新たなコンテンツ鍵Kc'、暗号化コンテンツE(Kc',Cont)、コンテンツ・トークンIVER'||E(Kr',Kc')で現レコードを更新する(ステップS55)。
【0129】
次いで、現レコードがコンテンツ表311の最後のレコードかどうかを確かめ(ステップS56)、そうであれば本処理全体を終了し、そうでなければコンテンツ表311の次のレコードを現レコードとして選択してから(ステップS57)、ステップS52に戻り、次のレコードについて更新処理を繰り返し行なう。
【0130】
再び図21に戻って、イネーブル鍵の更新処理について説明する。システム管理者20は、イネーブル鍵更新通知PID||nonce||MAC(Kpb,PID||nonce)を受け取ると(ステップS47)、PID並びにnonceがステップS43において自分で送ったものであり、且つメッセージ認証コードが正しいかどうかを判断する。
【0131】
判断結果が肯定的である場合には、現レコードがコンテンツ提供者表212の最後のレコードであるかどうかを確認する(ステップS48)。最後のレコードであれば本処理ルーチン全体を終了し、そうでなければコンテンツ提供者表212の次のレコードを現レコードとして選択してから(ステップS49)、ステップS43に戻り、次のレコードについてイネーブル鍵の更新処理を繰り返し行なう。
【0132】
また、ステップS47で、適当な時間だけ待つなどの基準で、イネーブル鍵更新通知を受け取ることができない場合には、ステップS43に戻って、イネーブル更新通知を再送付する。
【0133】
C.第2の実施形態
C−1.全体構成
本発明の第2の実施形態においても、図1に示すように、参加者は、コンテンツ提供者30と、システム管理者20と、再生装置40で構成される。なお、コンテンツ提供者30と再生装置20は複数存在していてもよい。再生装置40はシステム管理者20から、本発明のシステムを利用するユーザに配布されているとする。また、コンテンツ提供者30は、コンテンツ(例えば、音楽又は画像データや電子文書、ソフトウェアなど)をユーザへ提供するために、システム管理者20と契約を結び、ユーザの再生装置40にコンテンツを提供する。
【0134】
C−2.システム管理者
システム管理者20の構成は、上述した第1の実施形態のそれと略同一なので、ここでは説明を省略する。なお、システム管理者20の保持するデータはすべてデータ記憶部22に保持されている。
【0135】
図23〜図25には、システム管理者20において保持されるデータ構成を模式的に示している。
【0136】
システム管理者20は、システムに参加しているすべての再生装置の再生装置固有番号、排除フラグ、再生装置固有鍵セットを管理する再生装置表221(図23を参照のこと)を備えている。この再生装置表221は、正当な再生装置40についての再生装置固有番号、排除フラグ、再生装置固有鍵セット(後述)を、表のレコードとして各レコードを再生装置固有番号で検索できるデータベースとして実装すればよい。
【0137】
また、システム管理者20はシステムに参加しているすべてのコンテンツ提供者30のコンテンツ提供者固有番号、コンテンツ提供者固有鍵a、コンテンツ提供者固有鍵b、コンテンツ提供者アドレスを管理するコンテンツ提供者表222(図24を参照のこと)を備えている。コンテンツ提供者表221は、コンテンツ提供者固有番号、コンテンツ提供者固有鍵a、コンテンツ提供者固有鍵b、コンテンツ提供者アドレスを1レコードで表し、各レコードをコンテンツ提供者固有番号で検索できるデータベースとして実装すればよい。
【0138】
イネーブル鍵情報223は、イネーブル鍵とイネーブル鍵ブロックを保持する(図25を参照のこと)。
【0139】
C−3.コンテンツ提供者
コンテンツ提供者30の構成は、上述した第1の実施形態のそれと略同一なので、ここでは説明を省略する。なお、コンテンツ提供者30が保持するデータのうちで、コンテンツ表はデータ記憶部33に保持され、コンテンツ提供者固有情報とイネーブル鍵情報は耐タンパ性データ記憶部32に保持される。また、イネーブル鍵を使う処理(後述のイネーブル鍵取得、及びコンテンツ・トークン生成)は、耐タンパ性暗号処理部31で行なわれる。
【0140】
図26〜図28には、コンテンツ提供者30において保持されるデータ構成を模式的に示している。
【0141】
コンテンツ提供者30は、提供するコンテンツを管理するコンテンツ表321(図26を参照のこと)を備えている。コンテンツ表321は、コンテンツ毎の一つのレコードが設けられ、各レコードは、コンテンツ識別番号CID、コンテンツ鍵Kc、コンテンツ鍵KcでコンテンツContを暗号化してなる暗号化コンテンツE(Kc,Cont)、コンテンツ・トークンE(Kr(t),Kc||CID)で構成される。コンテンツ表321は、各レコードをコンテンツ識別番号CIDで検索できるデータベースとして実装すればよい。なお、コンテンツ識別番号CIDは暗号化コンテンツあるいはコンテンツ・トークンから再生装置で取得できる形式であればよく、他の形式で実現してもよい(同上)。
【0142】
コンテンツ提供者固有情報322は、コンテンツ提供者固有番号、コンテンツ提供者固有鍵a、コンテンツ提供者固有鍵bで構成され(図27を参照のこと)、これらはコンテンツ提供者30がシステムの使用の契約を結ぶときにシステム管理者が決めたものであり、同じデータにコンテンツ提供者のアドレスを追加したレコードがシステム管理者20のコンテンツ提供者表222にも登録される。
【0143】
イネーブル鍵情報323は、現在のイネーブル鍵バージョン番号とイネーブル鍵を保持し(図28を参照のこと)、これらは、イネーブル鍵取得の手続きでシステム管理者20から取得する(後述)。
【0144】
C−4.再生装置
再生装置40の構成は、上述した第1の実施形態のそれと略同一なので、ここでは説明を省略する。再生装置40は耐タンパ性を持ち、以下のデータはすべてデータ記憶部42に保持される。
【0145】
図29〜図30には、再生装置40において保持されるデータ構成を模式的に示している。
【0146】
再生装置40は、再生装置固有情報421とライセンス情報423を備えている。再生装置固有情報421は、再生装置固有番号、再生装置固有鍵セット(後述)を保持する(図29を参照のこと)。これらは再生装置40が出荷される際に入力され、同時にシステム管理者の再生装置表221にも登録される。
【0147】
ライセンス情報423は、コンテンツ識別番号とライセンス条件からなり(図30を参照のこと)、コンテンツ利用の際に取得したライセンスの情報が記録される。
【0148】
C−5.再生装置固有鍵セット、イネーブル鍵ブロック
本実施形態では、すべての再生装置40は仮想的なツリー構造に属する。図31にはこの仮想的なツリー構造の例を示している。ツリー構造の最下段を「リーフ」と呼ぶ。各再生装置は1つのリーフに対応する。また、ツリー構造の途中の分岐点を「ノード」と呼ぶ。最上層の唯一のノードを「ルート」と呼ぶ。リーフとノードには暗号鍵が割り振られる。この暗号鍵は乱数を基に生成される。
【0149】
なお、図31には対称な4段のツリー構造でリーフが16個の場合を示したが、より多くのリーフを持ち段数の大きい場合や、対称でないツリー構造の場合、あるいは分岐の数が2個以上の場合を考えることもできる。こうした一般化については、例えばRFC2627を参照されたい。
【0150】
各再生装置40の再生装置固有鍵セットは、対応するリーフの鍵、及び対応するリーフからルートまでのノードに割り振られている鍵であるとする。例えば、図31中でリーフ1に対応する再生装置の再生装置固有鍵セットは{K0001,K000,K00,K0,Kroot}である。したがって、再生装置の耐タンパ性が完全であれば、Krootがすべての再生装置で共有されていることになる。そこで、イネーブル鍵Krに対して、イネーブル鍵ブロックは{(“root”,E(Kroot,Kr))}という集合とすればよい。但し、{a,(b,c)}は要素aと()からなる集合を表し、()は要素の順序付きの集合を表す。また、“root”は、rootという文字列、あるいはrootを識別できる記号であるとし、(“root”,E(Kroot,Kr))は、“root”に続く要素がルートのノードの鍵Krootで暗号化されていることを示す。
【0151】
次に、あるリーフに対応する再生装置の耐タンパ性が破られた場合を考えると、その再生装置の持つ再生装置固有鍵セットが漏洩しているので、Krootはもはや正当な再生装置だけに共有されているとは言えない。しかしながら、耐タンパ性の破られた再生装置を特定することができれば、その再生装置固有鍵セットは分かるので、適当なイネーブル鍵ブロックを使って、耐タンパ性の破られていない再生装置だけに新たに共通のイネーブル鍵を取得させることができる。
【0152】
例として、図31中のリーフ1に対応する再生装置の耐タンパ性が破られたと仮定する。この場合、{K0001,K000,K00,K0,Kroot}の鍵が漏洩していることになる。したがって、新しいイネーブル鍵Kr'を{K0001,K000,K00,K0,Kroot}に含まれない鍵を使って暗号化して各再生装置に配布すればよい。
【0153】
また、図31中のリーフ8からリーフ15に対応する再生装置は、{K0001,K000,K00,K0,Kroot}に含まれない鍵K1を共有しているので、E(K1,Kr')として配布すればよい。
【0154】
同様に、リーフ4からリーフ7に対応する再生装置は{K0001,K000,K00,K0,Kroot}に含まれない鍵K01を共有しているので、E(K01,Kr')として配布すればよい。
【0155】
リーフ2とリーフ3に対応する再生装置は{K0001,K000,K00,K0,Kroot}に含まれない鍵K001を共有しているので、E(K001,Kr')として配布すればよい。
【0156】
最後に、リーフ0は{K0001,K000,K00,K0,Kroot}に含まれない鍵K0000を持つので、E(K0000,Kr')として配布すればよい。
【0157】
このことから、イネーブル鍵ブロックは{("1",E(K1,Kr')),("01",E(K01,Kr')),("001",E(K001,Kr')),("0000",E(K0000,Kr'))}とすればよい。図32にはイネーブル鍵ブロック(EBLK)のデータ構成を模式的に示している。
【0158】
排除すべき再生装置が複数になった場合にも、上述と同様にイネーブル鍵ブロックを生成することができる。一般に、深さがdで各ノードでの分岐がk本のツリー構造を使った場合、m個の再生装置を排除したイネーブル鍵の共有に必要なイネーブル鍵ブロックの要素数は、高々(k-1)×d×mである(RFC2627を参照のこと)。ツリー構造をできるだけ対称性よく構成することにより、深さdは再生装置の個数Nのkを底とする対数程度なので、Nに比べて非常に小さく、イネーブル鍵ブロックのデータサイズも小さくすることが可能である。イネーブル鍵ブロックを効率的に生成するデータ構造については、本出願人に既に譲渡されている特開2001−352321号公報(発明の名称:情報システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体)に開示されている。
【0159】
C−6.動作の概要
コンテンツ提供者30、システム管理者20、並びに再生装置40からなる本実施形態に係るシステムの動作について以下で説明する。システムの動作は、初期化、コンテンツ利用、イネーブル鍵更新で構成される。システムの各参加者では、最初に初期化が行なわれてから、コンテンツ追加・削除、コンテンツ利用、イネーブル鍵更新が行なわれる。
【0160】
初期化は、最初にシステム管理者20で行なわれる。コンテンツ提供者30、再生装置40については、システムに新たに参加した際に初期化が行なわれる。
【0161】
コンテンツ追加・削除は、コンテンツ提供者30が提供するコンテンツを追加あるいは削除する際に行なう処理である。
【0162】
コンテンツ利用は、ユーザが自分の再生装置40にコンテンツ提供者側からコンテンツの提供を受けて、コンテンツを利用する際に行なう処理である。以下では、コンテンツの利用を求めてきた再生装置40に対して1回又は複数回のコンテンツ利用のライセンス(=利用許可)を与える場合について説明する。但し、コンテンツ利用の際に暗号化コンテンツ、コンテンツ・トークン、ライセンスの取得が同時に行なわれる場合を想定するが、ライセンスの取得が暗号化コンテンツ、コンテンツ・トークンの取得とは別のタイミングで行われてもよい。また、ライセンス取得の際には、課金処理あるいはコンテンツ利用権利の確認のためにユーザの認証が行われることが一般的であるが、本発明の要旨には直接関連しないので、ここでは説明を省略する。
【0163】
イネーブル鍵更新は、システムに参加しているいずれかの再生装置40の耐タンパ性が破られ、再生装置40内のデータ記憶部42に保持されているデータ(再生装置固有鍵セット)が漏洩したときに、それらの情報を使っても暗号化コンテンツを復号できなくするための処理である。この場合、システム管理者20はイネーブル鍵を更新するとともに、新たなイネーブル鍵ブロックを生成して、耐タンパ性の破られていない正当な再生装置だけが更新されたイネーブル鍵を取得できるようにする。また、コンテンツ提供者30にはシステム管理者20から新たなイネーブル鍵とイネーブル鍵ブロックが提供され、コンテンツを新たなコンテンツ鍵で再暗号化し、コンテンツ・トークンも新たなイネーブル鍵で生成し直すことで、耐タンパ性の破られた再生装置に含まれていたデータを使っても暗号化コンテンツを復号できなくする。イネーブル鍵更新はシステム管理者20、及びコンテンツ提供者30で行なう処理となる。
【0164】
以下では、再生装置40、コンテンツ提供者30、システム管理者20の初期化、コンテンツ追加・削除、コンテンツ利用、イネーブル鍵更新という順で説明する。
【0165】
C−7.初期化
システム管理者20の初期化では、乱数発生器23を使ってイネーブル鍵Krを生成する。この時点では不正者排除は必要ないので、イネーブル鍵ブロックは{("root",E(Kroot,Kr))}とし、イネーブル鍵とイネーブル鍵ブロックをイネーブル鍵情報213として保持する。また、再生装置表221並びにコンテンツ提供者表222をレコードがない状態にする。
【0166】
コンテンツ提供者30は、初期化の前に、コンテンツ利用権管理システムの利用契約を結ぶ。その際、システム管理者20との間で一意なコンテンツ提供者固有番号PIDとコンテンツ提供者固有鍵Kpa,Kpbを取り決め、これをコンテンツ提供者固有情報312にとして保持する。このとき、システム管理者20のコンテンツ提供者表222にもコンテンツ提供者固有番号PID、コンテンツ提供者固有鍵Kpa,Kpb、コンテンツ提供者アドレスからなる新たなレコードが追加される。この手続きはオフラインで行なわれることが好ましい。以上の登録手続きが終わってから、コンテンツ提供者30の初期化では、コンテンツ表321にレコードがない状態にし、イネーブル鍵とイネーブル鍵ブロックの取得を行なう。
【0167】
本実施形態に係るシステムにおいて、コンテンツ提供者30がイネーブル鍵とイネーブル鍵ブロックを取得する処理は、図14でフローチャートの形式で示した処理手続きに従う。
【0168】
まず、コンテンツ提供者30からシステム管理者20にイネーブル鍵取得要求が送付される(ステップS1)。イネーブル鍵取得要求は、コンテンツ提供者固有番号PIDとコンテンツ提供者固有鍵Kpa,Kpbに対して、PID||nonce||MAC(Kpb,nonce||PID)で構成される。nonceはコンテンツ提供者30が生成したノンス(1回限り使用される乱数)である。
【0169】
システム管理者20側では、受け取ったイネーブル鍵取得要求からコンテンツ提供者固有番号PIDを使ってコンテンツ提供者表222を検索する。そして、検索に成功した場合には対応するコンテンツ提供者固有鍵Kpa,Kpbを使ってイネーブル鍵取得要求が正しいこと(イネーブル鍵取得要求に含まれるメッセージ認証コードが正しいこと)を確認する(ステップS2)。
【0170】
イネーブル鍵取得要求の確認に成功した場合には、システム管理者20はイネーブル・トークンPID||nonce||E(Kpa,Kr)||EBLK||MAC(Kpb,PID||nonce||E(Kpa,Kr)||EBLK)を生成する。図33にはイネーブル・トークンのデータ構成を模式的に示している。ここでKrはイネーブル鍵、Kpa,Kpbはコンテンツ提供者固有鍵、nonceはステップS2においてコンテンツ提供者から受け取ったノンス、EBLKはイネーブル鍵ブロックである。
【0171】
システム管理者20は、生成したイネーブル・トークンをコンテンツ提供者40に送付する。これに対し、コンテンツ提供者30は、イネーブル・トークンが正しいこと、すなわちイネーブル・トークンに含まれるメッセージ認証コードが正しいことと、ノンスがステップS1で送ったものと一致することを確認する(ステップS5)。
【0172】
そして、コンテンツ提供者は確認に成功した場合には、イネーブル・トークンからイネーブル鍵Krとイネーブル鍵ブロックEBLKを取り出して(ステップS6)、イネーブル鍵情報323として保持する。
【0173】
再生装置40は、出荷される際に、再生装置固有番号UIDと再生装置固有鍵セット{Kroot,Kx,Kxx,Kxxx,...}が決定されシステム管理者20に登録される。これによってシステム管理者20の再生装置表221には再生装置固有番号UIDと排除フラグの値OFF、再生装置固有鍵セット{Kroot,Kx,Kxx,Kxxx,...}からなる新たなレコードが追加される。
【0174】
C−8.コンテンツ追加・削除
コンテンツ提供者が提供するコンテンツの追加あるいは削除の際の処理について説明する。図17には、コンテンツ提供者30におけるコンテンツの追加又は削除時の処理動作をフローチャートの形式で示している。
【0175】
まず、コンテンツ提供者30は、コンテンツの追加か削除かを判断する(ステップS11)。
【0176】
コンテンツContを追加する場合ならば、追加するコンテンツに対するコンテンツ鍵Kcを乱数発生器34で新たに生成するとともに、コンテンツ識別番号CIDをコンテンツ提供者30が扱うコンテンツ毎の一意な番号とコンテンツ提供者固有番号を連結したものなどとして生成する(ステップS12)。
【0177】
次いで、ステップS12で生成したコンテンツ鍵Kcで追加コンテンツContを暗号化して、暗号化コンテンツE(Kc,Cont)を得る(ステップS13)。次いで、コンテンツ鍵Kcとイネーブル鍵情報を使ってコンテンツ・トークンIVER||E(Kr,Kc||CID)を生成する(ステップS14)。
【0178】
そして、コンテンツの識別番号CIDとコンテンツ鍵Kcと暗号化コンテンツE(Kc,Cont)とコンテンツ・トークンIVER||E(Kr,Kc||CID)をコンテンツ表321の新たなレコードとして追加して(ステップS15)、本処理ルーチン全体を終了する。
【0179】
一方、ステップS11においてコンテンツを削除する場合と判断した場合には、削除されるコンテンツのレコードをコンテンツ表321から検索し(ステップS16)、そのレコードを削除して(ステップS17)、本処理ルーチン全体を終了する。
【0180】
C−9.コンテンツ利用
コンテンツ利用は、コンテンツ提供者30からユーザの再生装置40にコンテンツが送られて、ユーザ側でコンテンツを利用する際の処理である。図34には、ユーザの再生装置40がコンテンツ提供者30から取得したコンテンツを利用するための処理手順をフローチャートの形式で示している。
【0181】
まず、ユーザが自分の再生装置40上で利用するコンテンツを選択すると(ステップS61)、これに応答して、選択したコンテンツの識別番号CIDがコンテンツ提供者30に通知される。
【0182】
このコンテンツ選択操作には、例えば一般的なWebブラウザなどでユーザに対してコンテンツの内容(例えばコンテンツが音楽であれば曲名など)とその利用を希望するボタンを表示させ、ユーザがボタンをマウスなどでクリックするなどのGUI操作で実装することができる。但し、こうしたユーザ・インターフェースの構成は一般的なものであり、且つ本発明の要旨には直接関連しないので、ここではこれ以上説明しない。
【0183】
また、このときに、選択したコンテンツの利用権利をユーザが購入する、あるいは既にユーザが権利を持つことを確認する目的で、ユーザ認証が行われることが一般的である。しかし、これについても前述したように、本発明の要旨とは直接関係しないので、ここでは説明を省略する。そこで、以降では、ユーザが利用するこんてんつを選択して、そのコンテンツに対する利用権利の確認が済んでいるものとして本実施形態の説明を進める。
【0184】
コンテンツ提供者30は、でユーザから利用を希望するコンテンツの識別番号の通知を受け付けると、この識別番号に対応するレコードをコンテンツ表321から検索する(ステップS62)。そして、レコードに含まれる暗号化コンテンツE(Kc,Cont)とコンテンツ・トークンE(Kr,Kc||CID)、及びイネーブル鍵情報323のイネーブル鍵ブロックEBLKを要求元ユーザの再生装置40に送付する(ステップS63)。図35には、このとき送付されるコンテンツ配布形式のデータ構成を模式的に示す。
【0185】
再生装置40は、暗号化コンテンツE(Kc1,Cont)、コンテンツ・トークンE(Kr, Kc||CID)、並びにイネーブル鍵ブロックEBLKの組を受け取ると、続いて、イネーブル鍵ブロックEBLKからイネーブル鍵を取得する(ステップS64)。
【0186】
一方、イネーブル鍵の取得に失敗した(すなわち、イネーブル鍵を暗号化している鍵が自分の持つ再生装置固有鍵セットに含まれない)場合には、コンテンツ利用は失敗して、本処理ルーチン全体を終了する。
【0187】
再生装置40は、イネーブル鍵を取得すると、コンテンツ提供者30にnonce(1回限りの乱数)を送付する(ステップS65)。これに対し、コンテンツ提供者30は、ライセンス・トークンを生成する(ステップS66)。そして、コンテンツ提供者30は、生成したライセンス・トークンを再生装置40に送付する(ステップS67)。
【0188】
図36には、ライセンス・トークンのデータ構成を模式的に示している。ラインセンス・トークンはCID||CND||nonce||MAC(Kc,CID||CND||nonce)で構成される。CIDは利用許可の対象となるコンテンツの識別番号、CNDは利用許可の条件、nonceはステップS65において再生装置40から送られたノンスである。
【0189】
ライセンス・トークンは、コンテンツの利用許可を与える権限者(一般的には、コンテンツ提供者30)が生成したことを再生装置40で確認できるデータであればよい。したがって、上述のようにメッセージ認証コードを使う代わりに、コンテンツ鍵Kcによる暗号化データE(Kc,CID||CND||nonce)を使うことも可能である。また、コンテンツの利用許可を与える権限者をコンテンツ提供者30以外の第3者やシステム管理者20とすれば、コンテンツ鍵Kcの代わりに、これらと再生装置40の間で共通に利用できる暗号鍵(例えばイネーブル鍵Kr)を使うことも可能である。
【0190】
次いで、再生装置40側では、コンテンツ提供者30から受け取ったライセンス・トークンの確認を行なう(ステップS68)。すなわち、ライセンス・トークンに含まれるnonceがステップS65で送ったものと同じであり、なお且つメッセージ認証コードが正しいことを確認する。そして、ライセンス・トークンが正しいことが確認できた場合には、再生装置40は、ライセンス・トークンに含まれているコンテンツの識別番号CIDと利用許可の条件CNDを再生装置40のライセンス情報423として保持する。
【0191】
次いで、再生装置40は、ライセンス情報423のコンテンツ識別番号CIDがライセンス情報記憶領域に保持されているコンテンツの識別番号CIDと一致することを確認し(ステップS68)、さらに、ライセンスの確認すなわち利用許可条件CNDが満足されることを確認する(ステップS69)。CNDは例えば利用可能回数や有効期限である。CNDが利用可能回数であれば、確認の度に1ずつ減算して0より大きい限りは条件が満たされるとする。また、CNDが有効期限であれば、再生装置40の時計45が計時する実時刻と比較して条件が満たされることを判断する。前述した通り、利用条件CNDとして有効期限を使わない場合には、再生装置40に時計45は不要である。また、有効期限を使う場合であっても、有効期限を時刻で指定するのではなく、ライセンスを受け取ってからの経過時間(期間)で指定する場合には、時計45として絶対的な時刻を保持するものを使う必要はない。
【0192】
ステップS69においてコンテンツの利用条件が満たされると判断された場合には、再生装置40は、コンテンツ鍵Kcを使って暗号化コンテンツを復号して得たコンテンツを利用する。また、コンテンツの利用が終わったら、ステップS69の条件判断に戻り、コンテンツの利用条件が満足される限り、コンテンツ利用を繰り返すことができる。
【0193】
C−10.イネーブル鍵更新
イネーブル鍵更新は、耐タンパ性の破られた再生装置40に含まれる情報を使ってコンテンツを再生することを不可能にする処理である。具体的には、システムに参加しているいずれかの再生装置40の耐タンパ性が破られたときに、イネーブル鍵を更新して、コンテンツ提供者30の保持するコンテンツの暗号化を新たなコンテンツ鍵で行ない、新たなコンテンツ鍵を含むコンテンツ・トークンの暗号化を新たなイネーブル鍵で行なう。
【0194】
また、正当な再生装置40には新たなイネーブル鍵を利用できるようにするために、耐タンパ性が破られた再生装置を除く再生装置から新たなイネーブル鍵が取得可能なイネーブル鍵ブロックを、システム管理者20がコンテンツ提供者30に提供し、それをコンテンツ提供者30がコンテンツ利用時に再生装置40に配布する。
【0195】
図21には、システム管理者20においてイネーブル鍵を更新する処理手順をフローチャートの形式で示している。
【0196】
システム管理者20は、耐タンパ性の破られた再生装置を発見したとき、再生装置表221の該当する再生装置のレコードの排除フラグをONにするとともに、乱数発生器23を使って新たなイネーブル鍵Kr'を生成し、新たなイネーブル鍵と耐タンパ性の破られた再生装置の情報(再生装置表221の排除フラグがONであるレコードの再生装置固有鍵セット)から新たなイネーブル鍵ブロックEBLK'を生成する(ステップS41)。そして、システム管理者20は、イネーブル鍵情報223のイネーブル鍵とイネーブル鍵ブロックを更新する。
【0197】
次いで、コンテンツ提供者表222の最初のレコードを選択し(ステップS42)、該選択されたレコードのコンテンツ提供者アドレスにイネーブル鍵更新通知を送る(ステップS43)。
【0198】
イネーブル鍵更新通知は新規のイネーブル鍵をKr'としてPID||time||nonce||E(Kpa,Kr')||EBLK'||MAC(Kpb,PID||time||nonce||E(Kpa,Kr')||EBLK')で構成される。ここで、PIDはこのイネーブル鍵更新通知を受け取るべきコンテンツ提供者30のコンテンツ提供者固有番号、timeはイネーブル鍵更新通知の生成時刻、nonceはシステム管理者20の生成したノンス、KpaとKpbはコンテンツ提供者固有鍵、Kr'は新たなイネーブル鍵、EBLK'は新たなイネーブル鍵ブロックである。
【0199】
コンテンツ提供者30は、イネーブル鍵更新通知を受け取ると、それが正しいことを確認する(ステップS44)。具体的には、イネーブル鍵更新通知に含まれるコンテンツ提供者固有番号が自分のものであること、時刻timeが現時刻から適当な基準の範囲内(例えば1分など)であること、並びにメッセージ認証コードが正しいことを確認する。
【0200】
イネーブル鍵更新通知の正しいことが確認できた場合、コンテンツ提供者30は、新たなイネーブル鍵Kr'とイネーブル鍵ブロックEBLK'を取り出して、イネーブル鍵情報323を更新する。また、イネーブル鍵更新通知PID||nonce||MAC(Kpb,PID||nonce)を生成して、これをシステム管理者20に送信する(ステップS45)。ここで、PIDはコンテンツ提供者のコンテンツ提供者固有番号、nonceはステップS44で受け取ったノンスである。
【0201】
次いで、コンテンツ提供者30は、コンテンツ表321の更新を行なう(ステップS46)。図22には、コンテンツ表321を更新するための処理手順をフローチャートの形式で示している。
【0202】
コンテンツ提供者30は、まず、コンテンツ表311の最初のレコードを選択する(ステップS51)。
【0203】
次いで、選択したレコード向けに乱数発生器34でコンテンツ鍵Kc'を再生成する(ステップS52)。そして、選択したレコードの暗号化コンテンツE(Kc,Cont)をレコードに含まれるコンテンツ鍵Kcで復号してから、新しいコンテンツ鍵Kc'で再暗号化してE(Kc',Cont)を得る(ステップS53)。
【0204】
次いで、新しいコンテンツ鍵Kc'に対するコンテンツ・トークンE(Kr',Kc')を生成して(ステップS54)、新たなコンテンツ鍵Kc'、暗号化コンテンツE(Kc',Cont)、コンテンツ・トークンE(Kr',Kc')で現レコードを更新する(ステップS55)。
【0205】
次いで、現レコードがコンテンツ表311の最後のレコードかどうかを確かめ(ステップS56)、そうであれば本処理全体を終了し、そうでなければコンテンツ表311の次のレコードを現レコードとして選択してから(ステップS57)、ステップS52に戻り、次のレコードについて更新処理を繰り返し行なう。
【0206】
再び図21に戻って、イネーブル鍵の更新処理について説明する。システム管理者20は、イネーブル鍵更新通知PID||nonce||MAC(Kpb,PID||nonce)を受け取ると(ステップS47)、PID並びにnonceがステップS43において自分で送ったものであり、且つメッセージ認証コードが正しいかどうかを判断する。
【0207】
判断結果が肯定的である場合には、現レコードがコンテンツ提供者表212の最後のレコードであるかどうかを確認する(ステップS48)。最後のレコードであれば本処理ルーチン全体を終了し、そうでなければコンテンツ提供者表212の次のレコードを現レコードとして選択してから(ステップS49)、ステップS43に戻り、次のレコードについてイネーブル鍵の更新処理を繰り返し行なう。
【0208】
また、ステップS47で、適当な時間だけ待つなどの基準で、イネーブル鍵更新通知を受け取ることができない場合には、ステップS43に戻って、イネーブル更新通知を再送付する。
【0209】
[追補]
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0210】
【発明の効果】
以上詳記したように、本発明によれば、コンテンツの利用者にライセンスを与えることによりコンテンツの利用を制御しコンテンツの保護を図ることができる、優れたコンテンツ利用管理システム、コンテンツを利用し又は提供する情報処理装置又は情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【0211】
また、本発明によれば、コンテンツ鍵の不正利用を防止しながらコンテンツの利用者にライセンスを与えることができる、優れたコンテンツ利用管理システム、コンテンツを利用し又は提供する情報処理装置又は情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【0212】
本発明によれば、コンテンツの利用許可が暗号化コンテンツを復号する鍵(コンテンツ鍵)ではなく、利用を許可するコンテンツの識別番号(ライセンス・トークン)を再生装置が判断できる形式でコンテンツの利用許可の権限者が指定することによりライセンスの付与を行なう。したがって、利用許可を与える先が権利保護を行なうかどうかを確認することなしに、利用許可を与えることが可能になり、利用許可を与える際の処理を高速化することができる。
【0213】
また、本発明によれば、正当な再生装置以外はイネーブル鍵を持たないので、コンテンツの利用許可の権限者が正当でない再生装置に利用許可を与えたとしても、その装置ではコンテンツを復号することができないので、コンテンツの利用権は保護される。
【0214】
また、本発明によれば、コンテンツ鍵を正当な再生装置だけが利用可能な暗号鍵(イネーブル鍵)で暗号化してコンテンツとともに配布するので、コンテンツ鍵を変更したとしても再生装置側で特別の処理を必要としない。
【0215】
また、本発明によれば、耐タンパ性が破られた再生装置が発生したときには、イネーブル鍵を変更し、新たなイネーブル鍵を耐タンパ性が破られていない正当な再生装置とコンテンツ提供者に配布することによって、耐タンパ性が破られた再生装置に含まれる情報を使っても、以降に配布されるコンテンツを利用することをできなくすることができる。
【0216】
本発明で重要な点は、ライセンスがコンテンツ鍵でないため、任意の装置にライセンスを与えても、実際にコンテンツを復号できるのは、あらかじめイネーブル鍵を共有している正当な再生装置に限定される、ということである。したがって、本発明によって、ライセンス発行時に発行対象の再生装置を特定して各再生装置に専用のライセンスを発行することが不要になる。これによって、ライセンス発行を高速に処理することが可能になり、再生装置の個数の増加に関してスケーラビリティのよいライセンス発行処理を実現することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るシステムの参加者を示した図である。
【図2】システム管理者20の構成を模式的に示した図である。
【図3】システム管理者20において保持されるデータ構成を模式的に示した図である。
【図4】システム管理者20において保持されるデータ構成を模式的に示した図である。
【図5】システム管理者20において保持されるデータ構成を模式的に示した図である。
【図6】コンテンツ提供者30の機能構成を模式的に示した図である。
【図7】コンテンツ提供者30において保持されるデータ構成を模式的に示した図である。
【図8】コンテンツ提供者30において保持されるデータ構成を模式的に示した図である。
【図9】コンテンツ提供者30において保持されるデータ構成を模式的に示した図である。
【図10】再生装置40の機能構成を模式的に示した図である。
【図11】再生装置40において保持されるデータ構成を模式的に示した図である。
【図12】再生装置40において保持されるデータ構成を模式的に示した図である。
【図13】再生装置40において保持されるデータ構成を模式的に示した図である。
【図14】コンテンツ提供者30又は再生装置がシステム管理者20からイネーブル鍵を取得するための処理手順を示したフローチャートである。
【図15】イネーブル・トークンのデータ構成を示した図である。
【図16】イネーブル・トークンのデータ構成を示した図である。
【図17】コンテンツ提供者30における動作特性を示したフローチャートである。
【図18】ユーザの再生装置40がコンテンツ提供者30から取得したコンテンツを利用するための処理手順を示したフローチャートである。
【図19】コンテンツ提供装置30から再生装置40に送付されるコンテンツ配布形式のデータ構成を示した図である。
【図20】ライセンス・トークンのデータ構成を示した図である。
【図21】システム管理者20においてイネーブル鍵を更新する処理手順をフローチャートである。
【図22】コンテンツ表311を更新するための処理手順を示したフローチャートである。
【図23】システム管理者20において保持されるデータ構成を模式的に示した図である。
【図24】システム管理者20において保持されるデータ構成を模式的に示した図である。
【図25】システム管理者20において保持されるデータ構成を模式的に示した図である。
【図26】コンテンツ提供者30において保持されるデータ構成を模式的に示した図である。
【図27】コンテンツ提供者30において保持されるデータ構成を模式的に示した図である。
【図28】コンテンツ提供者30において保持されるデータ構成を模式的に示した図である。
【図29】再生装置40において保持されるデータ構成を模式的に示した図である。
【図30】再生装置40において保持されるデータ構成を模式的に示した図である。
【図31】31すべての再生装置が属する仮想的なツリー構造の例を示した図である。
【図32】イネーブル鍵ブロックのデータ構成を模式的に示した図である。
【図33】イネーブル・トークンのデータ構成を模式的に示した図である。
【図34】ユーザの再生装置40がコンテンツ提供者30から取得したコンテンツを利用するための処理手順を示したフローチャートである。
【図35】再生装置40に送付されるコンテンツ配布形式のデータ構成を模式的に示した図である。
【図36】ライセンス・トークンのデータ構成を模式的に示した図である。
【符号の説明】
20…システム管理者
21…暗号処理部,22…データ記憶部
23…乱数発生部,24…時計
25…通信処理部
30…コンテンツ提供者
31…耐タンパ性暗号処理部,32…耐タンパ性データ記憶部
33…データ記憶部,34…乱数発生器
35…通信処理部,36…時計
40…再生装置
41…暗号処理部,42…データ記憶部
43…乱数発生器,44…通信処理部
45…時計
[0001]
BACKGROUND OF THE INVENTION
The present invention provides rich content such as music data and image data distributed over a broadband communication network (xDSL: x Digital Subscriber Line, CATV (Cable TV), wireless network), digital data such as electronic publications, and moving images. Content usage management system, information processing apparatus or information processing method for using or providing content, and computer program, and in particular, management of content usage based on some contract or usage conditions such as license The present invention relates to a content usage management system, an information processing apparatus or information processing method that uses or provides content, and a computer program.
[0002]
More specifically, the present invention relates to a content use management system that controls the use of content by giving a license to the content user and protects the content, an information processing apparatus or information processing method that uses or provides the content, and The present invention relates to a computer program, and more particularly, to a content usage management system that grants a license to a content user while preventing unauthorized use of a content key, an information processing apparatus or information processing method that uses or provides content, and a computer program. .
[0003]
[Prior art]
Distribution of rich content such as digital data such as music data, image data, electronic publications, and moving images with the spread of broadband communication networks (xDSL: x Digital Subscriber Line, CATV (Cable TV), wireless network, etc.) in recent years However, a mechanism for transmitting data to users without stress is being prepared.
[0004]
On the other hand, the distributed content is digital data, and operations such as copying and tampering can be performed relatively easily. Currently, fraudulent acts such as copying and falsification of these contents are frequently performed, and this is a major factor that hinders the profits of digital content vendors. As a result, the price of the content has to be increased, and a vicious cycle has occurred, which becomes a barrier to popularization.
[0005]
By using encryption technology, it is possible to protect content flowing on a communication path from a malicious third party. However, not only the content distribution process, but also illegal copying and unauthorized use performed after the content is provided to legitimate users is a serious problem.
[0006]
Recently, a method called rights management method (DRM: Digital Rights Management) has been adopted as a countermeasure for this type of problem related to digital contents. Below, the outline | summary of this DRM and its problem are demonstrated.
[0007]
DRM ( Digital Right Management ):
A right information management system (DRM) realizes a mechanism in which content cannot be used unless the user obtains permission (license) to use the content. Examples of such a system include a system called “Windows Media Right Manager” by Microsoft Corporation and “Electronic Media Management System (EMMS)” by IBM Corporation.
[0008]
  A DRM system is typically composed of a content provider, a license manager, and a user. The user possesses a content reproduction apparatus and uses the content by using it. License administratorIsIssue a license to the user. The content provider provides content to the user.
[0009]
The content (Cont) is a key (content key K) that is different for each content depending on the content provider.c) Format E (Kc, Cont). In the present specification, this is called encrypted content.
[0010]
When using a certain content Cont, the user requests the license manager to issue a license. On the other hand, the license issuer issues a license after performing a charging process for the user.
[0011]
The issuance of the license here means that the content key K is actually assigned to the user's playback device.cIs to give. For this purpose, the license administrator makes a different encryption key K with each playback device.u(Encryption key KuIs shared when the license is issued, or is shared in advance in the playback device), or the content key KcEncryption key KuData E (K encrypted withu, Kc) To the playback device. This data is called a “license token”.
[0012]
The playback device of the licensed user receives the encryption key Ku and the received license token E (Ku, Kc) And encrypted content E (Kc, Cont) can be used to play the content. First, the license token E (Ku, Kc) To content key KcAnd then the content key KcEncrypted content E (Kc, Cont) is decrypted and reproduced from the content Cont. Therefore, the content can be used only when the combination of the playback device, the license token, and the encrypted content is correct, that is, only the licensed user.
[0013]
Here, in order to protect the right to use the content, the playback device side must prevent the decrypted content from leaking outside. For this purpose, the playback device uses the encryption key KuAnd content key KcAnd the decrypted content Cont must be processed so as not to leak outside. This is because once the decrypted content leaks to the outside, it can be copied and used without restriction. In other words, the playback device includes an encryption key KuAnd content key KcIn addition, the condition that the decrypted content Cont can be processed without leaking to the outside is necessary. In the present specification, a playback apparatus having such a condition is referred to as “valid”.
[0014]
In DRM, giving a content license (use permission) to a user is a content key KcIs provided to the playback device of the user. At the time of licensing, the content key KcIt is essential that the playback device that receives is valid. Therefore, a license issuer who issues a license must specify a reproduction apparatus as an issuance partner and give a content key only to a valid reproduction apparatus. For this reason, the license issuer has a database relating to a valid reproduction apparatus, and the license issue needs to be performed based on the database.
[0015]
However, considering the case where there are a large number of playback devices, such a database search is a time-consuming or costly process. In particular, when a license is frequently issued due to a mechanism such as downloading contents each time, the load on the server where the database is placed becomes excessive. That is, license issuance with DRM is a process that does not scale with respect to an increase in the number of playback devices.
[0016]
For example, considering the case where content is provided to a specific user, user authentication is performed before the content is provided.
[0017]
If the DRM method is used, in addition to user authentication, it is necessary to specify a content playback device for the user and generate a dedicated license for the playback device. This reduces the processing speed of content provision.
[0018]
[Problems to be solved by the invention]
An object of the present invention is to provide an excellent content usage management system, an information processing apparatus or an information processing method for using or providing content, which can suitably manage the usage of content based on some contract such as a license or usage conditions And providing a computer program.
[0019]
A further object of the present invention is to provide an excellent content use management system, an information processing apparatus that uses or provides content, which can control the use of content by protecting the content by giving a license to the content user, or It is to provide an information processing method and a computer program.
[0020]
A further object of the present invention is to provide an excellent content use management system, an information processing apparatus or an information processing method for using or providing content, capable of giving a license to the content user while preventing unauthorized use of the content key, And providing a computer program.
[0021]
[Means and Actions for Solving the Problems]
The present invention has been made in consideration of the above problems, and a first aspect of the present invention is a content usage management system that manages usage of content by distributing licenses,
Using data including at least authentication information regarding the nonce consisting of a one-time random number generated by a legitimate device that uses the content and the authorized user of the content as a license token,
The legitimate device that uses the content verifies the validity of the license token by verifying that the license token contains a nonce generated by the license token and the authentication processing of the authentication information related to the authorized user of the content usage.・ When the token is valid, let the user use the corresponding content.
This is a content usage management system.
[0022]
However, “system” here refers to a logical collection of a plurality of devices (or functional modules that realize specific functions), and each device or functional module is in a single housing. It does not matter whether or not.
[0023]
A second aspect of the present invention is an information processing apparatus or information processing method for managing the use of content by distributing a license,
A nonce receiving means or step for receiving a nonce that is a one-time random number from a user of the content;
A license token issuing means or step for distributing a license token including at least the received nonce and its authentication information to content users;
An information processing apparatus or an information processing method.
[0024]
The third aspect of the present invention is an information processing apparatus or information processing method for safely providing content,
An enable key issuing means or step for issuing an enable key to a device that properly uses content;
Content encryption means or step for encrypting content with a unique content key for each content;
A content token generating means or step for generating a content token formed by encrypting data including a content key with an enable key;
A content providing means or step for distributing encrypted content together with a content token;
An information processing apparatus or an information processing method.
[0025]
According to a fourth aspect of the present invention, there is provided an information processing apparatus or information processing method for performing legitimate use of content by acquiring a license,
Content acquisition means or step for acquiring content;
Nonce issuing means or step for issuing a nonce that is a one-time random number;
By receiving a license token related to the content and authenticating whether or not the nonce issued by the nonce issuing means or step is included and obtained from the authorized authority to use the content A license token verification means or step for verifying the validity of the license token;
In response to the validity of the license token, a content using means or step for using the corresponding content;
An information processing apparatus or an information processing method.
[0026]
In the present invention, content usage such as a content provider or a system administrator is added to the nonce (one-time random number) generated by the playback device, the content identification number, and the usage conditions (for example, the number of usage permission and the period). An authorized person uses an electronic signature or a message authentication code added as a license token.
[0027]
The playback device that has received the license token knows that the license token is addressed by the fact that the nonce generated by itself is included, and the content provider or the system administrator uses the electronic signature or message authentication code. Is added, it can be determined that the license token is valid.
[0028]
In the present invention, instead of distributing the content key as a license, the content key is distributed as a content token simultaneously with the content distribution. This content token is data obtained by encrypting a content key with an enable key. The enable key is a key that can be used only by a legitimate playback device, independent of the presence or absence of a license.
[0029]
Since the content identification information is included as part of the encrypted content or content token and encrypted with the content key or enable key, the content identification information is distributed in a format that can be judged by a legitimate playback device and authorized to use the content Intentional alterations cannot be made from outside. Therefore, the content key for decrypting the encrypted content is not given to the playback device, but in a format that can be determined from the playback device, the content authority authorized to use the content specifies the identification information of the content that is allowed to be used for playback. The device can be allowed to use the content.
[0030]
Then, only when it is determined that the license has been acquired, the playback device decrypts the content token including the content identification number specified by the license with the enable key held by itself, extracts the content key, and then the content key. The user is allowed to use the content obtained by decrypting the encrypted content. Therefore, a legitimate playback device can use the content without leaking the decrypted content itself outside the device.
[0031]
Also, there are two possible methods for making the enable key available to a legitimate playback device, assuming that the enable key is generated by the system administrator. One method is a method in which an enable key is distributed in advance to a valid playback device.
[0032]
  As such a method, for example,IETF ( Internet Engineering TaskForce )Any of the methods for sharing the encryption key with the user group described in RFC (Request for Comment) 2627 may be used. In the simplest case, when the system administrator distributes the enable key for each playback device, it takes time to distribute the enable key in proportion to the number N of playback devices. However, RFC2627 shows a management system based on a hierarchical key structure (hierarchical key tree) in which each playback device has data whose size is proportional to the logarithm of the number N of playback devices. The enable key can be distributed by broadcasting data having a size proportional to the logarithm of N.
[0033]
Another method of distributing the enable key is a method of distributing the enable key together with the encrypted content in a format that can be acquired only by a valid playback device. As disclosed in Japanese Patent Laid-Open No. 2001-352321 (title of the invention: information system, information processing method, information recording medium, and program providing medium) already assigned to the present applicant, By providing the playback device with data having a size proportional to the logarithm of the number N, the enable key can be distributed by distributing data having a size proportional to the logarithm of the number N of playback devices together with the encrypted content. .
[0034]
In addition, when a playback device in which tamper resistance is destroyed occurs, the enable key may be updated. Included in the playback device whose tamper resistance has been destroyed by updating the enable key and distributing the content as if the content was encrypted with the new content key and the content key was encrypted with the new enable key Even if the information to be used is used, the encrypted content cannot be decrypted again.
[0035]
The important point in the present invention is that the license is not a content key, so that even if a license is given to an arbitrary device, the content can actually be decrypted only to a legitimate playback device that shares an enable key in advance. ,That's what it means. Therefore, according to the present invention, it is not necessary to specify a playback device to be issued when issuing a license and issue a dedicated license to each playback device. As a result, it is possible to process license issuance at high speed, and it is possible to realize a license issuance process with good scalability with respect to an increase in the number of playback devices.
[0036]
  According to a fifth aspect of the present invention, there is provided a computer program written in a computer-readable format so that processing for managing the use of content by distributing a license is executed on a computer system.For the computer system:
  Nonce reception that receives a nonce that is a one-time random number from the content userprocedureWhen,
  Issuing a license token that distributes a license token containing at least the received nonce and its authentication information to content usersprocedureWhen,
TheExecuteThis is a computer program characterized by the above.
[0037]
  According to a sixth aspect of the present invention, there is provided a computer program written in a computer-readable format so as to execute a process for safely providing content on a computer system.For the computer system:
  Issuing an enable key to issue an enable key to devices that properly use contentprocedureWhen,
  Content encryption that encrypts content with a unique content key for each contentprocedureWhen,
  Content token generation that generates a content token by encrypting data including a content key with an enable keyprocedureWhen,
  Provision of content that distributes encrypted content with content tokensprocedureWhen,
TheExecuteThis is a computer program characterized by the above.
[0038]
  According to a seventh aspect of the present invention, there is provided a computer program written in a computer-readable format so as to execute processing for performing proper use of content by acquiring a license on a computer system,For the computer system:
  Content acquisition to acquire contentprocedureWhen,
  Nonce issuing that nonce is a one-time random numberprocedureWhen,
  The license token related to the content is received, and it is verified whether the nonce issued in the nonce issuing step is included and whether it is obtained from an authorized person authorized to use the content. License token verification to verify token validityprocedureWhen,
  Content usage that uses the corresponding content in response to the validity of the license tokenprocedureWhen,
TheExecuteThis is a computer program characterized by the above.
[0039]
The computer program according to each of the fifth to seventh aspects of the present invention defines a computer program described in a computer-readable format so as to realize predetermined processing on a computer system. In other words, by installing the computer program according to the fifth to seventh aspects of the present invention in the computer system, a cooperative action is exhibited on the computer system, and the second to the second aspects of the present invention. The same effect as the information processing apparatus or the information processing method according to each of the four aspects can be obtained.
[0040]
Other objects, features, and advantages of the present invention will become apparent from more detailed description based on embodiments of the present invention described later and the accompanying drawings.
[0041]
DETAILED DESCRIPTION OF THE INVENTION
In the following, as an embodiment of the present invention, when an enable key is shared in advance by a legitimate playback device (first embodiment), the enable key is distributed together with encrypted content in a format that can be acquired only by the legitimate playback device. The case (Embodiment 2) will be described in detail with reference to the drawings. Before that, first, the encryption technique used in the present invention will be briefly described.
[0042]
A. Cryptography
In the present specification, E (K, M) means encryption of data M using the encryption key K. MAC (K, M) represents a message authentication code generated for the data M using the key K.
[0043]
A message authentication code (MAC) is a method that makes it possible to discover data falsification and identify a message generator using common key cryptography. Assume that only the creator of data M and the destination of M share the key K of the common key encryption. At this time, the message authentication code of data M uses the key K and MAC (K, M) = E ( K, h (M)) (encrypted data of h (M) using the key K). Here, h () is a one-way function shared by the data sending side and the receiving side. Examples of the unidirectional function include those called MD5 and SHA-1 (for example, see ISO / IEC10118 and FIPS180-1 for details).
[0044]
When sending data M in combination with a message authentication code and sending it in the form of (M, MAC (K, M)), the data receiving side applies a one-way function to data M, and h ( By checking whether M) = E (K, h (M)) is satisfied, the data M has not been tampered with and the message authentication code MAC (K, M) is added by the owner of the key K Can be confirmed.
[0045]
In the following description, an electronic signature can be used instead of the message authentication code at a place where the message authentication code is used. In that case, the side that confirms the message authentication code in the following description may hold the public key for signature verification instead of the encryption key of the common key encryption.
[0046]
Electronic signature is a kind of application of public key cryptography. Here, the public key cryptosystem is a key (public key) P used for encrypting data.kAnd a key (secret key) S used for decryptionkAre different encryption algorithms, and it is very difficult to calculate the other from one key. That is, r's PkEncryption with R = E (Pk, R), the secret key S of the encrypted data RkDecryption D (Sk, R) matches r). As for public key cryptography, for example, IEEE-P1363 summarizes standard techniques.
[0047]
The electronic signature is such that when the data M exists, the creator of M has his private key SkData SG (M) = D (Sk, H (M)). When sending data M in combination with an electronic signature in the form of (M, SG (M)), the receiving side applies a one-way function to the received data M, and h (M) = E (Pk, SG (M)) is satisfied by confirming that M has not been tampered with and that SG (M) has the private key SkIt can be confirmed that it was added by the owner. Such a procedure is called verification of an electronic signature. For electronic signatures, for example, standard methods are summarized in IEEE-P1363.
[0048]
B. First embodiment
B-1. overall structure
FIG. 1 shows participants of the system according to the first embodiment of the present invention. As shown in the figure, the participants include a content provider 30, a system administrator 20, and a playback device 40. There may be a plurality of content providers and playback devices.
[0049]
The playback device 40 is distributed from the system administrator 20 to users who use the system.
[0050]
In order to provide content (for example, music or image data, electronic document, software, etc.) to the user, the content provider 30 makes a contract with the system administrator 20 and provides the content to the playback device 40 of each user.
[0051]
B-2. System Administrator
FIG. 2 schematically shows a functional configuration of the system administrator 20. As shown in the figure, the system administrator 20 includes an encryption processing unit 21, a data storage unit 22, a random number generator 23, a clock 24, and a communication processing unit 25. The system administrator 20 is actually configured by operating a predetermined server application on a computer system connected to a wide area network.
[0052]
It is assumed that the system administrator 20 can communicate with the content provider and the playback device by the communication processing unit 25. All data held by the system administrator 20 described below is held in the data storage unit 22.
[0053]
3 to 5 schematically show the data configuration held by the system administrator 20.
[0054]
The system administrator 20 includes a playback device table 211 for managing playback device unique numbers, playback device unique keys a, and playback device unique keys b for all playback devices 40 participating in the system (FIG. 3). checking). In this playback device table 211, a playback device unique number, a playback device unique key a, and a playback device unique key b for each valid playback device are set in one column of the table (hereinafter referred to as 1 “record”). Can be implemented as a database that can be searched by the playback device unique number.
[0055]
The system administrator 20 also manages content provider unique numbers, content provider unique keys a, content provider unique keys b, and content provider addresses of all content providers 30 participating in the system. A provider table 212 is provided (see FIG. 4). The content provider table 212 represents a content provider unique number, a content provider unique key a, a content provider unique key b, and a content provider address for each content by one record, and each record is represented by a content provider unique number. It can be implemented as a searchable database.
[0056]
The enable key information 213 includes the version number IVER of the current enable key and the enable key K.r(See FIG. 5).
[0057]
B-3. Content provider
FIG. 6 schematically shows the functional configuration of the content provider 30. As shown in the figure, the content provider 30 includes a tamper resistant encryption processing unit 31, a tamper resistant data storage unit 32, a data storage unit 33, a random number generator 34, a communication processing unit 35, a watch 36. It is assumed that the communication processing unit 35 can communicate with the system administrator and the playback device. The content provider 30 is actually configured by operating a predetermined server application on a computer system connected to a wide area network.
[0058]
The term “tamper resistance” as used herein refers to the property that internal processing and data cannot be acquired or altered by external observation or analysis. Further, communication with tamper resistance is possible between the tamper resistant encryption processing unit 31 and the tamper resistant data storage unit 32.
[0059]
Of the data held by the content provider 30 described below, the content table is held in the data storage unit 33, and the content provider specific information and enable key information are held in the tamper resistant data storage unit 32. Further, processing using an enable key (acquisition of an enable key described later and content token generation) is performed by the tamper resistant encryption processing unit 31.
[0060]
7 to 9 schematically show data structures held in the content provider 30. FIG.
[0061]
The content provider 30 includes a content table 311 for managing the provided content Cont (see FIG. 7). Content key K with content identification number CIDcThe content table 311 has a content identification number CID, a content key Kc, and an encrypted content E (Kc, Cont), content token IVER || E (Kr, Kc|| CID) is prepared. The content table 311 may be implemented as a database that can search each record by the content identification number CID.
[0062]
In the above example, the content key K is the content identification number CID.cFor content Cont, the encrypted content and content token are E (Kc, Cont) and IVER || E (Kr, Kc|| CID). However, since the content identification number may be in a format that can be acquired by the playback device 40 from the encrypted content or the content token, for example, the encrypted content and the content token are E (Kc, Cont || CID) and IVER || E (Kr, Kc). When the latter format is handled, the necessary changes in the embodiment described below are obvious, and the description thereof is omitted. In addition to encrypting the content, it is conceivable to add a message authentication code (described above) in order to prevent modification, but in this case as well, the necessary changes are obvious and description thereof will be omitted.
[0063]
The content provider unique information 312 includes a content provider unique number, a content provider unique key a, and a content provider unique key b (see FIG. 8). These are determined by the system administrator 20 when the content provider 30 concludes a contract for use of the system, and a record in which the address of the content provider 30 is added to the same data is a content provider table of the system administrator 20. 212 is also registered.
[0064]
The enable key information 313 includes the current enable key version number IVER and the enable key K.r(See FIG. 9), and these are acquired from the system administrator in the enable key acquisition procedure (described later).
[0065]
B-4. Playback device
FIG. 10 schematically shows the functional configuration of the playback device 40. As shown in the figure, the playback device 40 includes an encryption processing unit 41, a data storage unit 42, a random number generator 43, a communication processing unit 44, and a clock 45. The entire playback device 40 has tamper resistance. It is assumed that the communication processing unit 44 can communicate with the system administrator and the content provider. The playback device 40 is actually configured by operating a content playback / application on a computer system connected to a wide area network. All data held by the playback apparatus described below is held in the data storage unit 42.
[0066]
Note that the clock 45 is necessary only when the later-described license information given to the playback device 40 includes an expiration date as a (content) usage condition. Therefore, when the expiration date is not used as the usage condition, it is not essential that the playback device 40 includes the clock 45. Even if the expiration date is used as a usage condition, the absolute value of the clock 45 is not specified when the expiration date is specified as an elapsed time (period) since the license is received, rather than as the time. It is not necessary to use a device that maintains the time (in this case, the clock 45 of the playback device 40 does not require time adjustment).
[0067]
FIGS. 11 to 13 schematically show the data configuration held in the playback device 40. The playback device 40 includes playback device specific information 411, enable key information 412, and license information 413.
[0068]
The playback device unique information 411 holds a playback device unique number, a playback device unique key a, and a playback device unique key b (see FIG. 11). These are input when the playback device 40 is shipped, and are also registered in the playback device table 211 of the system administrator 20.
[0069]
The enable key information 412 includes the current enable key version number IVER and the enable key K.r(See FIG. 12), and these are obtained from the system administrator 40 in the procedure for obtaining the enable key (described later).
[0070]
The license information 413 includes a content identification number and license conditions (see FIG. 13), and records license information acquired when using the content.
[0071]
B-5. Overview of operation
The operation of the system of the present invention comprising the content provider 30, the system administrator 20, and the playback device 40 will be described below.
[0072]
The operation of the system consists of initialization, content use, and enable key update. Each participant first performs initialization, then adds / deletes content, uses content, and updates the enable key.
[0073]
Initialization is first performed by the system administrator 20. The content provider 30 and the playback device 40 are initialized when they newly join the system.
[0074]
Content addition / deletion is processing performed when content provided by the content provider 30 is added or deleted.
[0075]
Content use is processing when a user receives content from the content provider 30 to his / her playback device 40 and uses the content. In the following explanation, a case where encrypted content, content token, and license are acquired at the same time when content is used will be described. However, license acquisition is performed at a timing different from acquisition of encrypted content and content token. Of course it may be done.
[0076]
When acquiring a license, the user is generally authenticated in order to charge the user and confirm that the user has the right to use the content. As such a user authentication method, for example, a method called Kerberos or PKI may be used. However, since these are not directly related to the gist of the present invention, the description is omitted here, and thereafter, the user who has confirmed the usage right has used the content once or a plurality of times for the playback device 40. A case where a license (= use permission) is given will be described.
[0077]
When the tamper resistance of any playback device 40 participating in the system is broken and the data held in the data storage unit 42 of the playback device 40 is leaked, the enable key update uses that information. Thus, the encrypted content cannot be decrypted. That is, the enable key is updated so that only a valid playback device 40 whose tamper resistance is not broken is shared with the new enable key. By providing the content provider 30 with a new enable key, re-encrypting the content with the new content key, and replacing the content token with a new content key encrypted with the new enable key, Even if an enable key included in the playback device 40 whose tamper resistance is broken is used, the encrypted content cannot be decrypted.
[0078]
The enable key update is performed by the system administrator, the playback device, and the content provider.
[0079]
Hereinafter, initialization, content addition / deletion, content use, and enable key update for the playback device 40, the content provider 30, and the system administrator 20 will be described in order.
[0080]
B-6. Initialization
In initialization of the system administrator 20, a new enable key is generated using the random number generator 23, and the enable key version number 0 and the enable key are held as enable key information 213. Further, the playback device table 211 and the content provider table 212 are set to have no record.
[0081]
The content provider 30 concludes a usage contract for the content usage right management system before initialization. At that time, a unique content provider unique number PID and a content provider unique key K with the system administrator 20pa, KpbAre stored as content provider specific information 312. At this time, the content provider unique number PID and the content provider unique key K are also stored in the content provider table 212 of the system administrator 20.pa, Kpb, And a new record consisting of the content provider address is added. After the above registration procedure is completed, the content provider 30 is initialized so that there is no record in the content table 311 and an enable key is acquired.
[0082]
Here, a processing procedure for the content provider 30 to obtain an enable key from the system administrator 20 will be described with reference to FIG.
[0083]
First, an enable key acquisition request is sent from the content provider 30 to the system administrator (step S1). The enable key acquisition request includes a content provider unique number PID and a content provider unique key K.pa, KpbPID || nonce || MAC (Kpb, Nonce || PID). Here, nonce is a nonce (a random number used only once) generated by the content provider.
[0084]
On the other hand, the system administrator 20 searches the content provider table 212 using the content provider specific number PID from the received enable key acquisition request. If the search is successful, the corresponding content provider unique key Kpa, KpbTo confirm that the enable key acquisition request is correct (the message authentication code included in the enable key acquisition request is correct).
[0085]
If the confirmation of the enable key acquisition request is successful, the enable token PID || nonce || IVER || E (Kpa, Kr) || MAC (Kpb, PID || nonce || IVER || E (Kpa, Kr)) Is generated (step S3).
[0086]
FIG. 15 shows the data structure of the enable token in this case. In the figure, KrIs the enable key, Kpa, KpbIs the content provider unique key, and nonce is the nonce received from the content provider 30 in step S2.
[0087]
The system administrator 20 sends an enable token to the content provider (step S4). On the other hand, the content provider 30 confirms that the enable token is correct (the message authentication code included in the enable token is correct and that the nonce matches that sent by itself in step S1). If the content provider 30 succeeds in the confirmation, the content provider 30 uses the enable key K from the received enable token.rIs extracted (step S6) and held as enable key information 313.
[0088]
When the playback device 40 is shipped, the playback device unique number UID and the playback device unique key Kua, KubIs determined and registered with the system administrator 20. As a result, the playback device table 211 of the system administrator 20 has a playback device unique number UID and a playback device unique key K.ua, KubA new record consisting of is added. Initialization of the playback device 40 is acquisition of an enable key. A processing procedure for the playback device 40 to acquire the enable key will be described with reference to FIG.
[0089]
First, an enable key acquisition request is sent from the playback device 40 to the system administrator 20 (step S1). In response to the enable key acquisition request, the playback device 40 receives the playback device unique number UID and the playback device unique key Kua, KubUID || nonce || MAC (Kub, Nonce || UID). The nonce is a nonce generated by the playback device 40.
[0090]
Next, the system administrator 20 searches the playback device table 211 using the playback device unique number UID from the received enable key acquisition request. If the search is successful, the corresponding playback device unique key Kua, KubIs used to confirm that the enable key acquisition request is correct (step S2). This is to confirm that the message authentication code included in the enable key acquisition request is correct.
[0091]
When the confirmation of the enable key acquisition request is successful, the enable token UID || nonce || IVER || E (Kua, Kr) || MAC (Kub, UID || nonce || IVER || E (Kua, Kr)) is generated (step S3).
[0092]
FIG. 16 shows the data structure of the enable token in this case. Where IVER is the version number of the enable key, KrIs the enable key, Kua, KubIs the reproduction device unique key, and nonce is the nonce received from the reproduction device 40 in step S2.
[0093]
Next, the system administrator 20 sends the generated enable token to the playback device 40 (step S4).
[0094]
On the playback device 40 side, it is confirmed that the enable token is correct (that is, the message authentication code included in the enable token is correct and that the nonce matches that sent in step S1) (step S5).
[0095]
If the verification is successful, the playback device 40 uses the received enable token from the enable key version number IVER and the enable key K.rAre stored as enable key information 412.
[0096]
B-7. Content addition / deletion
The content provider 30 performs processing when adding or deleting content to be provided. FIG. 17 shows a processing operation when adding or deleting content in the content provider 30 in the form of a flowchart.
[0097]
First, the content provider 30 determines whether content is added or deleted (step S11).
[0098]
If adding content Cont, content key K for the content to be addedcIs newly generated by the random number generator 34, and the content identification number CID is generated as a concatenation of a unique number for each content handled by the content provider 30 and a content provider unique number (step S12).
[0099]
Next, the content key K generated in step S12cTo encrypt the additional content Cont with the encrypted content E (Kc, Cont) is obtained (step S13). Next, the content key KcContent token IVER || E (Kr, Kc|| CID) is generated (step S14).
[0100]
The content identification number CID and the content key KcAnd encrypted content E (Kc, Cont) and content token IVER || E (Kr, Kc|| CID) is added as a new record in the contents table 311 (step S15), and the entire processing routine is terminated.
[0101]
On the other hand, if it is determined in step S11 that the content is to be deleted, the content table 311 is searched for a record of the content to be deleted (step S16), the record is deleted (step S17), and the entire processing routine is terminated. To do.
[0102]
B-8. Content usage
Content use is processing when content is sent from the content provider 30 to the user's playback device 40 and used on the user side. FIG. 18 shows a processing procedure for using content acquired by the user's playback device 40 from the content provider 30 in the form of a flowchart.
[0103]
First, when a user selects content to be used on his / her playback device 40 (step S21), in response to this, the identification number CID of the selected content is notified to the content provider 30.
[0104]
In this content selection operation, for example, a general web browser or the like displays a content content (for example, a song name if the content is music) and a button for which the user wants to use the user, and the user presses the button with a mouse or the like. It can be implemented by a GUI operation such as clicking with the button. However, since the configuration of such a user interface is general and is not directly related to the gist of the present invention, it will not be described further here.
[0105]
At this time, the user is generally authenticated for the purpose of purchasing the right to use the selected content or confirming that the user already has the right. However, since this is not directly related to the gist of the present invention as described above, the description is omitted here. Therefore, in the following, the description regarding this embodiment will be made on the assumption that the content used by the user has been selected and the usage rights for the content have been confirmed.
[0106]
When the content provider 30 receives a notification of the identification number of the content desired to be used from the user, the content provider 30 searches the content table 311 for a record corresponding to the identification number (step S22). Then, the encrypted content E (Kc, Cont) and content token IVER || E (Kr, Kc|| CID) is sent to the playback device 40 of the requesting user (step S23). FIG. 19 shows a data structure of a content distribution format sent from the content providing device 30 to the playback device 40.
[0107]
On the playback device 40 side, the encrypted content E (Kc1, Cont) and content token IVER || E (Kr, Kc|| CID), the version number of the enable key included in the content token is compared with the version number of the own enable key (step S24). If the version number of the enable key included in the content token is newer, the enable key is acquired (step S31). The acquisition of the enable key has already been described with reference to FIG. 14 as the process of acquiring the enable key from the system administrator 20 at the time of initialization of the playback device 40, and thus the description thereof is omitted here.
[0108]
Subsequently, the playback device 40 sends a nonce (a one-time random number) to the content provider 30 (step S25). In response to this, the content provider 30 generates a license token (step S26). The license token is CID || CND || nonce || MAC (Kc, CID || CND || nonce).
[0109]
FIG. 20 shows the data structure of the license token. Here, CID is the identification number of the content to be permitted for use, CND is the condition for permission for use, and nonce is the nonce sent from the playback device 40 in step S25.
[0110]
The license token may be any data that can be confirmed by the playback device 40 by the authority (generally the content provider 30) who gives permission to use the content.cEncrypted data E (Kc, CID || CND || nonce). Further, if the authorized person who gives permission to use the content is a third party other than the content provider 30 or the system administrator 20, the content key KcInstead of this, it is also possible to use an encryption key (for example, enable key Kr) shared in advance between these and the playback device 40.
[0111]
In step S27, the content provider 30 sends the license token to the playback device 40. On the other hand, the playback device 40 confirms the received license token (step S28). That is, it is confirmed whether or not the nonce included in the license token is the same as that sent in step S25 and the message authentication code is correct.
[0112]
If it is confirmed in step S28 that the license token is correct, the playback device 40 uses the license identification information 413 in the playback device 40 for the content identification number CID and usage permission condition CND included in the license token. Hold as.
[0113]
Next, the playback device 40 confirms that the content identification number CID of the license information 413 matches the content identification number CID held in the license information storage area, and further confirms that the use permission condition CND is satisfied. (Step S29).
[0114]
Here, the use condition CND is, for example, the number of times of use and the expiration date. It is assumed that the condition is satisfied as long as it is greater than 0 by subtracting 1 at each confirmation if the number is available. If it is the expiration date, it is determined that the condition is satisfied in comparison with the actual time measured by the clock 45 in the playback device 40. However, as described above, when the expiration date is not used as the use condition CND, the playback device 40 does not need the clock 45. Even when the expiration date is used, the absolute time is held as the clock 45 when the expiration date is not specified by the time but is specified by the elapsed time (period) after receiving the license. You don't have to use what you do.
[0115]
If it is determined in step S29 that the usage conditions are satisfied, the playback device 40 determines that the content key KcThe content obtained by decrypting the encrypted content using is used for the user (step S30). When the use of the content ends, the process returns to the condition determination in step S29, and the content use can be repeated as long as the condition is satisfied.
[0116]
B-9. Enable key update
The enable key update is a process of updating the enable key when the tamper resistance is broken in any of the playback devices 40 participating in the system. After updating the enable key, the content held by the content provider 30 is encrypted with the new content key, and the content token including the new content key is also encrypted with the new enable key. As a result, it is possible to make it impossible to play back content using information included in the playback device 40 whose tamper resistance is broken.
[0117]
In order to realize the use restriction of the content accompanying such update of the enable key, it is necessary to share a new enable key with an authorized playback device 40 whose tamper resistance is not broken. For this reason, the processing for updating the enable key is roughly divided into two parts. The first is to allow a valid playback device 40 other than the one whose tamper resistance is broken to share a new enable key. Second, the content provider 30 updates the content key for all the records in the content table 311 and replaces the encrypted content with a new content key and re-encrypts the content token. It is to replace it with a key that has been regenerated to include a new content key.
[0118]
If the above-mentioned second processing is performed and the version of the enable key is updated, when the content is used in the playback device 40, the enable held by the playback device 40 by checking the version of the enable key (step S31: above) Since the key is known to be old, a new enable key is obtained from the system administrator 20. Therefore, in the present embodiment, only the second process needs to be performed as the enable key update.
[0119]
FIG. 21 shows a processing procedure for updating the enable key in the system administrator 20 in the form of a flowchart.
[0120]
When the system administrator 20 finds a device whose tamper resistance is broken, the system administrator 20 first uses the random number generator 23 to create a new enable key K.r'Is generated (step S41), the enable key in the enable key information 213 of the system administrator 20 is updated, and the enable key version number is incremented by one.
[0121]
Next, the first record in the content provider table 212 is selected (step S42), and an enable key update notification is sent to the content provider address of the selected record (step S43).
[0122]
The enable key update notification indicates that the new enable key is Kr'As PID || time || nonce || E (Kpa, IVER '|| Kr') || MAC (Kpb, PID || time || nonce || E (Kpa, IVER '|| Kr')). Here, PID is the content provider specific number of the content provider that should receive this enable key update notification, time is the generation time of the enable key update notification, nonce is the nonce generated by the system administrator, KpaAnd KpbIs the content provider's unique key, IVER 'and Kr'Is the new enable key version number and the enable key.
[0123]
When receiving the enable key update notification, the content provider 30 confirms that it is correct (step S44). Here, the content provider specific number included in the enable key update notification is its own, the time time is within an appropriate standard range (for example, 1 minute) from the current time, and the message authentication code is Confirmed to be correct.
[0124]
When it is confirmed that the enable key update notification is correct, the content provider 30 uses the enable key information 313 as the new enable key version number IVER ′ and the enable key K.rReplace with '. Also, the enable key update notification PID || nonce || MAC (Kpb, PID || nonce) is generated and transmitted to the system administrator 20 (step S45). Here, PID is the content provider unique number of the content provider, and nonce is the nonce received in step S44.
[0125]
Next, the content provider 30 updates the content table 311 (step S46). FIG. 22 shows a processing procedure for updating the content table 311 in the form of a flowchart.
[0126]
The content provider 30 first selects the first record in the content table 311 (step S51).
[0127]
Next, the content key K is selected by the random number generator 34 for the selected record.c'Is regenerated (step S52). And the encrypted content E (K) of the selected recordc, Cont) with the content key Kc included in the record, and then the new content key KcRe-encrypt with 'E (Kc', Cont) is obtained (step S53).
[0128]
Next, a new content key Kc'Content token for IVER' || E (Kr', Kc') Is generated (step S54), and a new content key K is generated.c', Encrypted content E (Kc', Cont), content token IVER' || E (Kr', Kc') Updates the current record (step S55).
[0129]
Next, it is confirmed whether or not the current record is the last record in the content table 311 (step S56). If so, the entire process is terminated. If not, the next record in the content table 311 is selected as the current record. (Step S57), the process returns to Step S52, and the update process is repeated for the next record.
[0130]
Returning to FIG. 21 again, the update process of the enable key will be described. The system administrator 20 sends an enable key update notification PID || nonce || MAC (Kpb, PID || nonce) is received (step S47), it is determined whether the PID and nonce were sent by themselves in step S43 and whether the message authentication code is correct.
[0131]
If the determination result is affirmative, it is confirmed whether or not the current record is the last record in the content provider table 212 (step S48). If it is the last record, the entire processing routine is terminated. Otherwise, the next record in the content provider table 212 is selected as the current record (step S49), and the process returns to step S43 to enable the next record. Repeat the key update process.
[0132]
If the enable key update notification cannot be received on the basis of waiting for an appropriate time in step S47, the process returns to step S43 to re-send the enable update notification.
[0133]
C. Second embodiment
C-1. overall structure
Also in the second embodiment of the present invention, as shown in FIG. 1, the participants include a content provider 30, a system administrator 20, and a playback device 40. A plurality of content providers 30 and playback devices 20 may exist. It is assumed that the playback device 40 is distributed from the system administrator 20 to users who use the system of the present invention. Further, the content provider 30 concludes a contract with the system administrator 20 to provide content (for example, music or image data, electronic documents, software, etc.) to the user, and provides the content to the playback device 40 of the user. .
[0134]
C-2. System Administrator
Since the configuration of the system administrator 20 is substantially the same as that of the first embodiment described above, description thereof is omitted here. All data held by the system administrator 20 is held in the data storage unit 22.
[0135]
23 to 25 schematically show the data configuration held by the system administrator 20.
[0136]
The system administrator 20 includes a playback device table 221 (see FIG. 23) for managing playback device unique numbers, exclusion flags, and playback device unique key sets of all playback devices participating in the system. This playback device table 221 is implemented as a database in which the playback device unique number, the exclusion flag, and the playback device unique key set (described later) for the legitimate playback device 40 can be searched as a table record by the playback device unique number. That's fine.
[0137]
The system administrator 20 is a content provider who manages the content provider unique numbers, content provider unique keys a, content provider unique keys b, and content provider addresses of all content providers 30 participating in the system. Table 222 (see FIG. 24) is provided. The content provider table 221 represents a content provider unique number, a content provider unique key a, a content provider unique key b, and a content provider address as one record, and is a database that can search each record with a content provider unique number. Just implement it.
[0138]
  The enable key information 223 isEnable keyHold the enable key block (see FIG. 25).
[0139]
C-3. Content provider
Since the configuration of the content provider 30 is substantially the same as that of the first embodiment described above, description thereof is omitted here. Of the data held by the content provider 30, the content table is held in the data storage unit 33, and the content provider specific information and enable key information are held in the tamper resistant data storage unit 32. Further, processing using an enable key (acquisition of an enable key described later and content token generation) is performed by the tamper resistant encryption processing unit 31.
[0140]
26 to 28 schematically show the data configuration held in the content provider 30. FIG.
[0141]
The content provider 30 includes a content table 321 (see FIG. 26) for managing the content to be provided. The content table 321 includes one record for each content, and each record includes a content identification number CID, a content key Kc, Content key KcEncrypted content E (Kc, Cont), content token E (Kr(T), Kc|| CID). The content table 321 may be implemented as a database that can search each record by the content identification number CID. The content identification number CID may be in a format that can be acquired from the encrypted content or content token by the playback device, and may be realized in other formats (same as above).
[0142]
The content provider unique information 322 includes a content provider unique number, a content provider unique key a, and a content provider unique key b (see FIG. 27), which are used by the content provider 30 to use the system. A record determined by the system administrator when the contract is concluded, and a record in which the address of the content provider is added to the same data is also registered in the content provider table 222 of the system administrator 20.
[0143]
  The enable key information 323 indicates the current enable keyVersion numberAnd enable keys (see FIG. 28), and these are acquired from the system administrator 20 in the enable key acquisition procedure (described later).
[0144]
C-4. Playback device
Since the configuration of the playback device 40 is substantially the same as that of the above-described first embodiment, description thereof is omitted here. The playback device 40 has tamper resistance, and all of the following data is held in the data storage unit 42.
[0145]
29 to 30 schematically show the data configuration held in the playback device 40. FIG.
[0146]
The playback device 40 includes playback device specific information 421 and license information 423. The playback device unique information 421 holds a playback device unique number and a playback device unique key set (described later) (see FIG. 29). These are input when the playback device 40 is shipped, and are also registered in the playback device table 221 of the system administrator at the same time.
[0147]
The license information 423 includes a content identification number and a license condition (see FIG. 30), and records license information acquired when the content is used.
[0148]
C-5. Playback device unique key set, enable key block
In the present embodiment, all the playback devices 40 belong to a virtual tree structure. FIG. 31 shows an example of this virtual tree structure. The bottom of the tree structure is called “leaf”. Each playback device corresponds to one leaf. A branch point in the middle of the tree structure is called a “node”. The only node in the top layer is called the “root”. An encryption key is assigned to each leaf and node. This encryption key is generated based on a random number.
[0149]
FIG. 31 shows a case of 16 leaves in a symmetric 4-stage tree structure. However, when there are more leaves and a large number of stages, a non-symmetric tree structure, or the number of branches is 2. You can also consider the case of more than one. See RFC 2627 for such generalizations, for example.
[0150]
  It is assumed that the playback device unique key set of each playback device 40 is a key of a corresponding leaf and a key allocated to a node from the corresponding leaf to the root. For example, the playback device unique key set of the playback device corresponding to leaf 1 in FIG.0001, K000, K00, K0, Kroot}. Therefore, if the tamper resistance of the playback device is perfect, KrootIs shared by all playback devices. Therefore, enable key KrOn the other hand, the enable key block is {(“root”, E (Kroot, Kr))}. However, {a, (b, c)} is element a and (b,c)), And (b,c) Is an elementbWhencRepresents an ordered set of Further, “root” is a character string “root” or a symbol that can identify root (“root”, E (Kroot, Kr)) Is the key K of the node whose root is the element following “root”rootIndicates that it is encrypted with.
[0151]
Next, considering the case where the tamper resistance of the playback device corresponding to a certain leaf is broken, the playback device unique key set possessed by the playback device is leaked.rootIs no longer shared only with legitimate playback devices. However, if a playback device whose tamper resistance is broken can be identified, the unique key set of the playback device can be known. Therefore, using a proper enable key block, only a playback device whose tamper resistance is not broken is newly added. Can acquire a common enable key.
[0152]
As an example, assume that the tamper resistance of the reproducing apparatus corresponding to leaf 1 in FIG. 31 is broken. In this case, {K0001, K000, K00, K0, Kroot} Key is leaked. Therefore, the new enable key Kr'{K0001, K000, K00, K0, Kroot} May be encrypted using a key not included in} and distributed to each playback device.
[0153]
Also, the playback devices corresponding to leaf 8 to leaf 15 in FIG.0001, K000, K00, K0, Kroot} Keys not included in}1E (K1, Kr').
[0154]
Similarly, playback devices corresponding to leaf 4 to leaf 7 are {K0001, K000, K00, K0, Kroot} Keys not included in}01E (K01, Kr').
[0155]
The playback devices corresponding to leaf 2 and leaf 3 are {K0001, K000, K00, K0, Kroot} Keys not included in}001E (K001, Kr').
[0156]
Finally, leaf 0 is {K0001, K000, K00, K0, Kroot} Keys not included in}0000E (K0000, Kr').
[0157]
From this, the enable key block is {("1", E (K1, Kr')), ("01", E (K01, Kr')), ("001", E (K001, Kr')), ("0000", E (K0000, Kr'))}And it is sufficient. FIG. 32 schematically shows the data structure of the enable key block (EBLK).
[0158]
Even when there are a plurality of playback devices to be excluded, the enable key block can be generated in the same manner as described above. In general, when a tree structure with a depth of d and k branches at each node is used, the number of elements of the enable key block required for sharing the enable key excluding m playback devices is at most (k− 1) xdxm (see RFC 2627). By constructing the tree structure with as much symmetry as possible, the depth d is about a logarithm with the number of playback devices N as the base, so that it is much smaller than N and the data size of the enable key block can be reduced. Is possible. Regarding a data structure for efficiently generating an enable key block, Japanese Patent Laid-Open No. 2001-352321 (Title of Invention: Information System, Information Processing Method, Information Recording Medium, and Program Provisional Already Assigned to the Applicant) Medium).
[0159]
C-6. Overview of operation
The operation of the system according to this embodiment including the content provider 30, the system administrator 20, and the playback device 40 will be described below. The system operation consists of initialization, content usage, and enable key update. Each participant in the system first performs initialization, then adds / deletes content, uses content, and updates the enable key.
[0160]
Initialization is first performed by the system administrator 20. The content provider 30 and the playback device 40 are initialized when they newly join the system.
[0161]
Content addition / deletion is processing performed when content provided by the content provider 30 is added or deleted.
[0162]
Content use is processing that is performed when a user receives content from the content provider side to his / her playback device 40 and uses the content. In the following, a case will be described in which a content use license (= use permission) is given to the playback apparatus 40 that has requested use of the content once or multiple times. However, it is assumed that encrypted content, content token, and license are acquired at the same time when content is used, but license acquisition is performed at a different timing from acquisition of encrypted content and content token. Also good. In addition, when a license is acquired, user authentication is generally performed for billing processing or confirmation of content usage rights. However, since it is not directly related to the gist of the present invention, description thereof is omitted here. To do.
[0163]
In the enable key update, the tamper resistance of one of the playback devices 40 participating in the system is broken, and the data (the playback device unique key set) held in the data storage unit 42 in the playback device 40 is leaked. Sometimes, it is a process for making it impossible to decrypt the encrypted content even if such information is used. In this case, the system administrator 20 updates the enable key and generates a new enable key block so that only a valid playback device whose tamper resistance is not broken can obtain the updated enable key. . The content provider 30 is provided with a new enable key and an enable key block from the system administrator 20, re-encrypts the content with the new content key, and regenerates the content token with the new enable key. The encrypted content cannot be decrypted even if the data included in the playback device whose tamper resistance is broken is used. The enable key update is a process performed by the system administrator 20 and the content provider 30.
[0164]
In the following, description will be made in the order of initialization of the playback device 40, the content provider 30, and the system administrator 20, content addition / deletion, content usage, and enable key update.
[0165]
C-7. Initialization
In initialization of the system administrator 20, the enable key K is used by using the random number generator 23.rIs generated. Since it is not necessary to exclude unauthorized persons at this point, the enable key block is {("root", E (Kroot, Kr))}, And the enable key and the enable key block are held as enable key information 213. Further, the playback device table 221 and the content provider table 222 are set to have no records.
[0166]
The content provider 30 concludes a usage contract for the content usage right management system before initialization. At that time, a unique content provider unique number PID and a content provider unique key K with the system administrator 20pa, KpbIs stored in the content provider specific information 312. At this time, the content provider unique number PID and the content provider unique key K are also stored in the content provider table 222 of the system administrator 20.pa, KpbA new record consisting of the content provider address is added. This procedure is preferably performed off-line. After the above registration procedure is completed, the content provider 30 initializes the content table 321 with no records and obtains an enable key and an enable key block.
[0167]
In the system according to the present embodiment, the content provider 30 acquires the enable key and the enable key block in accordance with the processing procedure shown in the form of a flowchart in FIG.
[0168]
First, an enable key acquisition request is sent from the content provider 30 to the system administrator 20 (step S1). The enable key acquisition request includes a content provider unique number PID and a content provider unique key K.pa, KpbPID || nonce || MAC (Kpb, Nonce || PID). Nonce is a nonce (a random number used only once) generated by the content provider 30.
[0169]
The system administrator 20 searches the content provider table 222 using the content provider specific number PID from the received enable key acquisition request. If the search is successful, the corresponding content provider unique key Kpa, KpbIs used to confirm that the enable key acquisition request is correct (the message authentication code included in the enable key acquisition request is correct) (step S2).
[0170]
If the confirmation of the enable key acquisition request is successful, the system administrator 20 enables the enable token PID || nonce || E (Kpa, Kr) || EBLK || MAC (Kpb, PID || nonce || E (Kpa, Kr) || EBLK). FIG. 33 schematically shows the data structure of the enable token. Where KrIs the enable key, Kpa, KpbIs a content provider unique key, nonce is a nonce received from the content provider in step S2, and EBLK is an enable key block.
[0171]
The system administrator 20 sends the generated enable token to the content provider 40. In response to this, the content provider 30 confirms that the enable token is correct, that is, that the message authentication code included in the enable token is correct, and that the nonce matches with the one sent in step S1 (step S5). ).
[0172]
Then, if the content provider succeeds in confirming, the enable key K to the enable key KrThe enable key block EBLK is extracted (step S6) and held as enable key information 323.
[0173]
When the playback device 40 is shipped, the playback device unique number UID and the playback device unique key set {Kroot, Kx, Kxx, Kxxx,... Are determined and registered with the system administrator 20. As a result, the playback device table 221 of the system administrator 20 stores the playback device unique number UID, the exclusion flag value OFF, and the playback device unique key set {Kroot, Kx, Kxx, Kxxx, ...} is added.
[0174]
C-8. Content addition / deletion
A process for adding or deleting content provided by the content provider will be described. FIG. 17 shows a processing operation when adding or deleting content in the content provider 30 in the form of a flowchart.
[0175]
First, the content provider 30 determines whether content is added or deleted (step S11).
[0176]
If adding content Cont, content key K for the content to be addedcIs newly generated by the random number generator 34, and the content identification number CID is generated as a concatenation of a unique number for each content handled by the content provider 30 and a content provider unique number (step S12).
[0177]
Next, the content key K generated in step S12cTo encrypt the additional content Cont with the encrypted content E (Kc, Cont) is obtained (step S13). Next, the content key KcContent token IVER || E (Kr, Kc|| CID) is generated (step S14).
[0178]
The content identification number CID and the content key KcAnd encrypted content E (Kc, Cont) and content token IVER || E (Kr, Kc|| CID) is added as a new record in the content table 321 (step S15), and the entire processing routine is terminated.
[0179]
On the other hand, if it is determined in step S11 that the content is to be deleted, a record of the content to be deleted is searched from the content table 321 (step S16), the record is deleted (step S17), and the entire processing routine is performed. Exit.
[0180]
C-9. Content usage
Content use is processing when content is sent from the content provider 30 to the user's playback device 40 and used on the user side. FIG. 34 shows a processing procedure for using the content acquired by the user's playback device 40 from the content provider 30 in the form of a flowchart.
[0181]
First, when a user selects content to be used on his / her playback device 40 (step S61), in response to this, the identification number CID of the selected content is notified to the content provider 30.
[0182]
In this content selection operation, for example, a general web browser or the like displays a content content (for example, a song name if the content is music) and a button for which the user wants to use the user, and the user presses the button with a mouse or the like. It can be implemented by a GUI operation such as clicking with the button. However, since the configuration of such a user interface is general and is not directly related to the gist of the present invention, it will not be described further here.
[0183]
At this time, the user is generally authenticated for the purpose of purchasing the right to use the selected content or confirming that the user already has the right. However, since this is not directly related to the gist of the present invention as described above, the description thereof is omitted here. Therefore, hereinafter, the description of the present embodiment will be made on the assumption that the user has selected an item to be used and the usage right for the content has been confirmed.
[0184]
When the content provider 30 receives a notification of the identification number of the content desired to be used from the user, the content provider 30 searches the content table 321 for a record corresponding to the identification number (step S62). Then, the encrypted content E (Kc, Cont) and content token E (Kr, Kc|| CID) and the enable key block EBLK of the enable key information 323 are sent to the playback device 40 of the requesting user (step S63). FIG. 35 schematically shows the data structure of the content distribution format sent at this time.
[0185]
The playback device 40 uses the encrypted content E (Kc1, Cont), content token E (Kr, Kc|| CID) and the set of the enable key block EBLK, the enable key is subsequently acquired from the enable key block EBLK (step S64).
[0186]
On the other hand, if acquisition of the enable key has failed (that is, the key that encrypted the enable key is not included in the playback device unique key set that the player owns), the content use fails and the entire processing routine is finish.
[0187]
When acquiring the enable key, the playback device 40 sends a nonce (one-time random number) to the content provider 30 (step S65). In response to this, the content provider 30 generates a license token (step S66). Then, the content provider 30 sends the generated license token to the playback device 40 (step S67).
[0188]
FIG. 36 schematically shows the data structure of the license token. The license token is CID || CND || nonce || MAC (Kc, CID || CND || nonce). CID is the identification number of the content to be used, CND is the use permission condition, and nonce is the nonce sent from the playback device 40 in step S65.
[0189]
The license token may be data that can be confirmed by the playback apparatus 40 by an authorized person (generally, the content provider 30) who gives permission to use the content. Therefore, instead of using the message authentication code as described above, the content key KcEncrypted data E (Kc, CID || CND || nonce). Further, if the authorized person who gives permission to use the content is a third party other than the content provider 30 or the system administrator 20, the content key KcInstead of the encryption key (for example, the enable key K) that can be used in common between these and the playback device 40.r) Can also be used.
[0190]
Next, on the playback device 40 side, the license token received from the content provider 30 is confirmed (step S68). That is, it is confirmed that the nonce included in the license token is the same as that sent in step S65 and that the message authentication code is correct. If it is confirmed that the license token is correct, the playback device 40 holds the content identification number CID and use permission condition CND included in the license token as license information 423 of the playback device 40. To do.
[0191]
Next, the playback device 40 confirms that the content identification number CID of the license information 423 matches the content identification number CID held in the license information storage area (step S68), and further confirms the license, ie, uses permission. It is confirmed that the condition CND is satisfied (step S69). CND is, for example, the number of times it can be used or an expiration date. If CND is available, the condition is satisfied as long as it is greater than 0 by subtracting 1 for each confirmation. If the CND is valid, it is determined that the condition is satisfied as compared with the actual time measured by the clock 45 of the playback device 40. As described above, when the expiration date is not used as the usage rule CND, the playback device 40 does not require the clock 45. Even when the expiration date is used, the absolute time is held as the clock 45 when the expiration date is not specified by the time but is specified by the elapsed time (period) after receiving the license. You don't have to use what you do.
[0192]
If it is determined in step S69 that the content usage conditions are satisfied, the playback device 40 determines that the content key KcUse the content obtained by decrypting the encrypted content using. When the use of the content ends, the process returns to the condition determination in step S69, and the content use can be repeated as long as the content use condition is satisfied.
[0193]
C-10. Enable key update
The enable key update is a process for making it impossible to reproduce content using information included in the reproduction device 40 whose tamper resistance is broken. Specifically, when the tamper resistance of any of the playback devices 40 participating in the system is broken, the enable key is updated and the content held by the content provider 30 is encrypted. The content token including the new content key is encrypted with the new enable key.
[0194]
Further, in order to make it possible to use a new enable key for the legitimate playback device 40, an enable key block from which a new enable key can be obtained from a playback device other than the playback device whose tamper resistance is broken is provided in the system. The administrator 20 provides the content provider 30, and the content provider 30 distributes it to the playback device 40 when the content is used.
[0195]
FIG. 21 shows a processing procedure for updating the enable key in the system administrator 20 in the form of a flowchart.
[0196]
When the system administrator 20 finds a playback device whose tamper resistance is broken, the system administrator 20 turns on the exclusion flag of the record of the corresponding playback device in the playback device table 221 and uses the random number generator 23 to enable a new enable. Key Kr'And generate a new enable key block EBLK' from the new enable key and the information of the playback device whose tamper resistance is broken (the playback device unique key set of the record whose exclusion flag in the playback device table 221 is ON). Generate (step S41). Then, the system administrator 20 updates the enable key and the enable key block in the enable key information 223.
[0197]
Next, the first record in the content provider table 222 is selected (step S42), and an enable key update notification is sent to the content provider address of the selected record (step S43).
[0198]
Enable key renewal notification is a new enable key Kr'As PID || time || nonce || E (Kpa, Kr') || EBLK' || MAC (Kpb, PID || time || nonce || E (Kpa, Kr ′) || EBLK ′). Here, PID is the content provider specific number of the content provider 30 that should receive this enable key update notification, time is the generation time of the enable key update notification, nonce is the nonce generated by the system administrator 20, KpaAnd KpbIs the content provider unique key, Kr'Is a new enable key, and EBLK' is a new enable key block.
[0199]
Upon receiving the enable key update notification, the content provider 30 confirms that it is correct (step S44). Specifically, the content provider unique number included in the enable key update notification is own, the time time is within an appropriate reference range (for example, 1 minute) from the current time, and message authentication. Make sure the code is correct.
[0200]
When it is confirmed that the enable key update notification is correct, the content provider 30 adds a new enable key Kr'And the enable key block EBLK' are extracted, and the enable key information 323 is updated. Also, the enable key update notification PID || nonce || MAC (Kpb, PID || nonce) is generated and transmitted to the system administrator 20 (step S45). Here, PID is the content provider unique number of the content provider, and nonce is the nonce received in step S44.
[0201]
Next, the content provider 30 updates the content table 321 (step S46). FIG. 22 shows a processing procedure for updating the content table 321 in the form of a flowchart.
[0202]
The content provider 30 first selects the first record in the content table 311 (step S51).
[0203]
Next, the content key K is selected by the random number generator 34 for the selected record.c'Is regenerated (step S52). And the encrypted content E (K) of the selected recordc, Cont) is a content key K included in the record.cDecrypted with the new content key KcRe-encrypt with 'E (Kc', Cont) is obtained (step S53).
[0204]
Next, the content token E (K for the new content key Kc ′r', Kc') Is generated (step S54), and a new content key K is generated.c', Encrypted content E (Kc', Cont), content token E (Kr', Kc') Updates the current record (step S55).
[0205]
Next, it is confirmed whether or not the current record is the last record in the content table 311 (step S56). If so, the entire process is terminated. If not, the next record in the content table 311 is selected as the current record. (Step S57), the process returns to Step S52, and the update process is repeated for the next record.
[0206]
Returning to FIG. 21 again, the update process of the enable key will be described. The system administrator 20 sends an enable key update notification PID || nonce || MAC (Kpb, PID || nonce) is received (step S47), it is determined whether the PID and nonce were sent by themselves in step S43 and whether the message authentication code is correct.
[0207]
If the determination result is affirmative, it is confirmed whether or not the current record is the last record in the content provider table 212 (step S48). If it is the last record, the entire processing routine is terminated. Otherwise, the next record in the content provider table 212 is selected as the current record (step S49), and the process returns to step S43 to enable the next record. Repeat the key update process.
[0208]
If the enable key update notification cannot be received on the basis of waiting for an appropriate time in step S47, the process returns to step S43 to re-send the enable update notification.
[0209]
[Supplement]
The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiment without departing from the gist of the present invention. That is, the present invention has been disclosed in the form of exemplification, and the contents described in the present specification should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.
[0210]
【The invention's effect】
As described above in detail, according to the present invention, an excellent content use management system capable of controlling the use of content and protecting the content by giving a license to the content user, using the content, or An information processing apparatus or an information processing method to be provided, and a computer program can be provided.
[0211]
In addition, according to the present invention, an excellent content usage management system, an information processing apparatus or an information processing method for using or providing content, which can give a license to the content user while preventing unauthorized use of the content key As well as computer programs.
[0212]
According to the present invention, content usage permission is not a key for decrypting encrypted content (content key), but content usage permission in a format that allows the playback device to determine the identification number (license token) of the content permitted to be used. A license is given by the authorized person. Accordingly, it becomes possible to give the usage permission without confirming whether or not the destination to which the usage permission is given protects the right, and the processing at the time of giving the usage permission can be speeded up.
[0213]
In addition, according to the present invention, since only an authorized playback device does not have an enable key, even if an authorized user of content grants permission to an unauthorized playback device, the content can be decrypted by that device. The right to use the content is protected.
[0214]
Further, according to the present invention, since the content key is encrypted with an encryption key (enable key) that can be used only by a valid playback device and distributed together with the content, special processing is performed on the playback device side even if the content key is changed. Do not need.
[0215]
In addition, according to the present invention, when a playback device whose tamper resistance is broken occurs, the enable key is changed, and a new enable key is assigned to a valid playback device and content provider whose tamper resistance is not broken. By distributing the content, it is possible to make it impossible to use the content distributed thereafter even if the information included in the playback device whose tamper resistance is broken is used.
[0216]
The important point in the present invention is that the license is not a content key, so that even if a license is given to an arbitrary device, the content can actually be decrypted only to a legitimate playback device that shares an enable key in advance. ,That's what it means. Therefore, according to the present invention, it is not necessary to specify a playback device to be issued when issuing a license and issue a dedicated license to each playback device. As a result, it is possible to process license issuance at high speed, and it is possible to realize a license issuance process with good scalability with respect to an increase in the number of playback devices.
[Brief description of the drawings]
FIG. 1 is a diagram showing participants of a system according to a first embodiment of the present invention.
FIG. 2 is a diagram schematically showing the configuration of a system administrator 20;
FIG. 3 is a diagram schematically showing a data configuration held in the system administrator 20;
FIG. 4 is a diagram schematically showing a data configuration held in the system administrator 20;
FIG. 5 is a diagram schematically showing a data configuration held in the system administrator 20;
6 is a diagram schematically showing a functional configuration of a content provider 30. FIG.
7 is a diagram schematically showing a data configuration held in the content provider 30. FIG.
FIG. 8 is a diagram schematically showing a data configuration held in the content provider 30. FIG.
FIG. 9 is a diagram schematically showing a data configuration held in the content provider 30. FIG.
FIG. 10 is a diagram schematically illustrating a functional configuration of the playback device 40;
FIG. 11 is a diagram schematically showing a data configuration held in the playback device 40;
12 is a diagram schematically showing a data configuration held in the playback device 40. FIG.
13 is a diagram schematically showing a data configuration held in the playback device 40. FIG.
FIG. 14 is a flowchart showing a processing procedure for the content provider 30 or the playback apparatus to obtain an enable key from the system administrator 20;
FIG. 15 is a diagram showing a data structure of an enable token.
FIG. 16 is a diagram showing a data structure of an enable token.
FIG. 17 is a flowchart showing operation characteristics in the content provider 30;
FIG. 18 is a flowchart showing a processing procedure for the user's playback device 40 to use content acquired from the content provider 30;
FIG. 19 is a diagram showing a data structure of a content distribution format sent from the content providing apparatus 30 to the playback apparatus 40.
FIG. 20 is a diagram showing a data structure of a license token.
FIG. 21 is a flowchart showing a processing procedure for updating an enable key in the system administrator 20;
FIG. 22 is a flowchart showing a processing procedure for updating a content table.
FIG. 23 is a diagram schematically illustrating a data configuration held in the system administrator 20;
FIG. 24 is a diagram schematically illustrating a data configuration held in the system administrator 20;
FIG. 25 is a diagram schematically showing a data configuration held in the system administrator 20;
FIG. 26 is a diagram schematically showing a data configuration held in the content provider 30.
FIG. 27 is a diagram schematically showing a data configuration held in the content provider 30. FIG.
FIG. 28 is a diagram schematically showing a data configuration held in the content provider 30.
29 is a diagram schematically showing a data configuration held in the playback device 40. FIG.
30 is a diagram schematically showing a data configuration held in the playback device 40. FIG.
Fig. 31 is a diagram illustrating an example of a virtual tree structure to which all the playback devices belong.
FIG. 32 is a diagram schematically showing the data structure of an enable key block.
FIG. 33 is a diagram schematically showing the data structure of an enable token.
FIG. 34 is a flowchart showing a processing procedure for a user's playback device 40 to use content acquired from a content provider 30.
FIG. 35 is a diagram schematically showing a data configuration of a content distribution format sent to the playback device 40.
FIG. 36 is a diagram schematically showing the data structure of a license token.
[Explanation of symbols]
20 ... System administrator
21 ... Cryptographic processing unit, 22 ... Data storage unit
23 ... random number generator, 24 ... clock
25. Communication processing unit
30 ... Content provider
31 ... Tamper resistant encryption processing unit, 32 ... Tamper resistant data storage unit
33 ... Data storage unit, 34 ... Random number generator
35 ... Communication processing unit, 36 ... Clock
40. Playback device
41 ... Cryptographic processing unit, 42 ... Data storage unit
43 ... random number generator, 44 ... communication processor
45 ... clock

Claims (16)

ライセンスの配布によりコンテンツの利用を管理するコンテンツ利用管理システムであって、
コンテンツを利用する1以上の再生装置と、前記再生装置にコンテンツを提供する1以上のコンテンツ提供手段と、前記コンテンツ提供手段が提供するコンテンツの前記再生装置における利用を管理するシステム管理手段を備え、
前記システム管理手段は、再生装置毎の再生装置固有鍵と、コンテンツ提供手段毎のコンテンツ提供手段固有鍵と、イネーブル鍵を保持し、
前記の各コンテンツ提供手段は、前記システム管理手段から取得したイネーブル鍵と、提供するコンテンツ毎の識別情報とコンテンツ鍵と該コンテンツ鍵で暗号化した暗号化コンテンツと該コンテンツ鍵を含むデータを前記イネーブル鍵で暗号化したデータからなるコンテンツ・トークンの組と、当該コンテンツ提供手段自身の固有鍵を保持し、
前記の各再生装置は、当該再生装置自身の固有鍵と、前記システム管理手段から取得したイネーブル鍵と、前記コンテンツ提供手段から提供されたコンテンツについてのライセンス情報を保持し、
前記システム管理手段は、前記の各コンテンツ提供手段に対して対応するコンテンツ提供手段固有鍵を用いて前記イネーブル鍵を安全に送付するとともに、前記の各再生装置に対して対応する再生装置固有鍵を用いて前記イネーブル鍵を安全に送付し、
いずれかのコンテンツ提供手段からいずれかの再生装置にコンテンツが送られて、該再生装置でコンテンツを利用する際において、
該コンテンツ提供手段が、該再生装置に暗号化コンテンツとこれに対応するコンテンツ・トークンを送付し、
該再生装置が、ノンスを生成して該コンテンツ提供手段に送り、
該コンテンツ提供手段が、該ノンスと当該コンテンツに関する情報を含んだ、該再生装置が該コンテンツ提供手段を確認できる形式のライセンス・トークンを生成して該再生装置に送り、
該再生装置は、受け取ったライセンス・トークンの送付元が該コンテンツ提供手段であることと自分が生成したノンスを含むことを確認してから、前記イネーブル鍵を用いて該コンテンツ・トークンからコンテンツ鍵を復号するとともに、該コンテンツ鍵を用いて該暗号化コンテンツを復号して利用する、
ことを特徴とするコンテンツ利用管理システム。
A content usage management system that manages content usage by distributing licenses,
One or more playback devices using content, one or more content providing means for providing content to the playback device, and system management means for managing use of the content provided by the content providing means in the playback device,
The system management unit holds a reproduction device unique key for each reproduction device, a content provision unit unique key for each content provision unit, and an enable key,
Each of the content providing means includes the enable key acquired from the system management means, identification information for each content to be provided, a content key, encrypted content encrypted with the content key, and data including the content key. Holds a set of content tokens consisting of data encrypted with a key and the unique key of the content providing means itself,
Each of the playback devices holds a unique key of the playback device itself, an enable key acquired from the system management unit, and license information about the content provided from the content providing unit,
The system management means securely sends the enable key using the corresponding content providing means unique key to each of the content providing means, and assigns a corresponding reproducing apparatus unique key to each of the reproducing apparatuses. Use to securely send the enable key,
When content is sent from any of the content providing means to any of the playback devices and used by the playback device,
The content providing means sends the encrypted content and the corresponding content token to the playback device,
The playback device generates a nonce and sends it to the content providing means,
The content providing means generates a license token including information related to the nonce and the content in a format that allows the playback apparatus to confirm the content providing means, and sends the license token to the playback apparatus.
The playback device confirms that the source of the received license token is the content providing means and includes the nonce generated by itself, and then uses the enable key to obtain the content key from the content token. Decrypting and using the encrypted content using the content key;
A content use management system characterized by this.
請求項1に記載のコンテンツ利用管理システムにおいてコンテンツ提供手段として動作し、ライセンスの配布によりコンテンツを安全に提供する情報処理装置であって、
コンテンツ毎に固有のコンテンツ鍵でコンテンツを暗号化するコンテンツ暗号化手段と、
コンテンツ鍵を含むデータをイネーブル鍵で暗号化してなるコンテンツ・トークンを生成するコンテンツ・トークン生成手段と、
暗号化コンテンツをコンテンツ・トークンとともに前記再生装置に配布するコンテンツ提供手段と、
前記再生装置から一回限りの乱数であるノンスを受信するノンス受信手段と、
受信したノンスと自身の認証情報を少なくとも含むライセンス・トークンを前記再生装置に配布するライセンス・トークン発行手段と、
を具備することを特徴とする情報処理装置。
An information processing apparatus that operates as a content providing unit in the content use management system according to claim 1 and provides content safely by distributing a license,
Content encryption means for encrypting content with a unique content key for each content;
Content token generating means for generating a content token obtained by encrypting data including a content key with an enable key;
Content providing means for distributing encrypted content to the playback device together with a content token;
Nonce receiving means for receiving a nonce that is a one-time random number from the playback device;
A license token issuing means for distributing a license token including at least the received nonce and its authentication information to the playback device;
An information processing apparatus comprising:
前記ライセンス・トークン発行手段は、コンテンツ利用を許可する回数や期間などの利用条件をライセンス・トークンに含めて発行する、
ことを特徴とする請求項2に記載の情報処理装置。
The license token issuing means issues a license token including usage conditions such as the number of times permitted to use the content and a period,
The information processing apparatus according to claim 2.
前記コンテンツ暗号化手段はコンテンツの一部としてその識別情報を含めてコンテンツ鍵で暗号化し、あるいは前記コンテンツ・トークン生成手段はコンテンツ鍵の一部としてコンテンツの識別情報を含めてイネーブル鍵で暗号化する、
ことを特徴とする請求項2に記載の情報処理装置。
The content encryption means encrypts with the content key including the identification information as part of the content, or the content token generation means encrypts with the enable key including the content identification information as part of the content key. ,
The information processing apparatus according to claim 2.
請求項1に記載のコンテンツ利用管理システムにおいてシステム管理手段として動作し、コンテンツの利用を管理する情報処理装置であって、An information processing apparatus that operates as system management means in the content usage management system according to claim 1 and manages usage of content,
コンテンツを正当に利用する装置にイネーブル鍵を発行するイネーブル鍵発行手段と、  An enable key issuing means for issuing an enable key to a device that properly uses content;
を具備することを特徴とする情報処理装置。An information processing apparatus comprising:
前記イネーブル鍵発行手段は、コンテンツを正当に利用する前記再生装置にあらかじめイネーブル鍵を配布する、The enable key issuing means distributes an enable key in advance to the playback device that properly uses the content;
ことを特徴とする請求項5に記載の情報処理装置。The information processing apparatus according to claim 5.
前記イネーブル鍵発行手段は、コンテンツを利用する正当な装置毎に固有のイネーブル鍵を発行する、The enable key issuing means issues a unique enable key for each legitimate device that uses the content.
ことを特徴とする請求項5に記載の情報処理装置。The information processing apparatus according to claim 5.
前記イネーブル鍵発行手段は、コンテンツを正当に利用する前記再生装置に該装置の個数の対数に比例するサイズのデータからなる階層構造のイネーブル鍵を発行する、The enable key issuing means issues an enable key having a hierarchical structure composed of data having a size proportional to the logarithm of the number of the devices to the playback device that properly uses the content.
ことを特徴とする請求項5に記載の情報処理装置。The information processing apparatus according to claim 5.
前記イネーブル鍵発行手段は、コンテンツを正当に利用する前記再生装置だけに取得可能な形式でイネーブル鍵を発行する、The enable key issuing means issues an enable key in a format that can be acquired only by the playback device that properly uses the content.
ことを特徴とする請求項5に記載の情報処理装置。The information processing apparatus according to claim 5.
イネーブル鍵はコンテンツを正当に利用する前記再生装置内の耐タンパ性のある記憶手段に保持されており、The enable key is held in a tamper-resistant storage means in the playback device that properly uses the content,
前記イネーブル鍵発行手段は、耐タンパ性が破壊された装置が発生したことに応答して、イネーブル鍵を更新する、The enable key issuing means updates the enable key in response to the occurrence of a device whose tamper resistance has been destroyed.
ことを特徴とする請求項5に記載の情報処理装置。The information processing apparatus according to claim 5.
請求項1に記載のコンテンツ利用管理システムにおいて再生装置として動作し、ライセンスの取得によりコンテンツの正当な利用を行なう情報処理装置であって、An information processing apparatus that operates as a playback device in the content usage management system according to claim 1 and that performs legitimate use of content by acquiring a license,
コンテンツを前記コンテンツ提供手段から取得するコンテンツ取得手段と、Content acquisition means for acquiring content from the content providing means;
一回限りの乱数であるノンスを発行して、前記コンテンツ提供手段に送付するノンス発行手段と、Nonce issuing means for issuing a nonce that is a one-time random number and sending it to the content providing means;
コンテンツに関するライセンス・トークンを前記コンテンツ提供手段から受信して、前記ノンス発行手段が発行したノンスが含まれているか、及び所定のコンテンツ利用許可の権限者から得られたものであるかどうかを認証することにより該ライセンス・トークンの有効性を検証するライセンス・トークン検証手段と、A license token related to content is received from the content providing means, and it is authenticated whether the nonce issued by the nonce issuing means is included and obtained from an authorized person authorized to use the content A license token verification means for verifying the validity of the license token,
該ライセンス・トークンが有効であることに応答して、該当するコンテンツの利用を行なうコンテンツ利用手段と、In response to the validity of the license token, content using means for using the corresponding content;
を具備することを特徴とする情報処理装置。An information processing apparatus comprising:
前記システム管理手段から取得したイネーブル鍵を保持するイネーブル鍵保持手段をさらに備え、An enable key holding means for holding an enable key acquired from the system management means;
前記コンテンツ取得手段は、コンテンツ鍵で暗号化された暗号化コンテンツを、コンテンツ鍵を含むデータがイネーブル鍵で暗号化されたコンテンツ・トークンとともに取得し、The content acquisition means acquires encrypted content encrypted with a content key together with a content token in which data including the content key is encrypted with an enable key,
前記コンテンツ利用手段は、ライセンス・トークンに該当するコンテンツのコンテンツ・トークンをイネーブル鍵で復号してコンテンツ鍵を取り出すとともに、該コンテンツ鍵で暗号化コンテンツを復号して得られるコンテンツをユーザに利用させる、The content using means decrypts the content token of the content corresponding to the license token with the enable key to extract the content key, and causes the user to use the content obtained by decrypting the encrypted content with the content key.
ことを特徴とする請求項11に記載の情報処理装置。The information processing apparatus according to claim 11.
ライセンス・トークンは該当するコンテンツの識別情報並びにコンテンツの利用条件を含み、The license token contains the identification information of the corresponding content and the usage conditions of the content,
前記コンテンツ利用手段は、ライセンス・トークンが有効であっても、利用が許可されたコンテンツの識別情報と一致しない場合、又は、利用条件が満たされない場合には、コンテンツの利用を中断する、The content use means interrupts the use of the content if the license token is valid, but does not match the identification information of the content permitted to be used, or if the use conditions are not satisfied,
ことを特徴とする請求項11に記載の情報処理装置。The information processing apparatus according to claim 11.
請求項1に記載のコンテンツ利用管理システムにおいてコンテンツ提供手段として動作して、ライセンスの配布によりコンテンツを安全に提供するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータを、2. A computer program written in a computer-readable format so as to operate on a computer as a content providing means in the content use management system according to claim 1 and to safely execute a process for providing content by distributing a license. And the computer
コンテンツ毎に固有のコンテンツ鍵でコンテンツを暗号化するコンテンツ暗号化手段と、Content encryption means for encrypting content with a unique content key for each content;
コンテンツ鍵を含むデータをイネーブル鍵で暗号化してなるコンテンツ・トークンを生成するコンテンツ・トークン生成手段と、Content token generating means for generating a content token obtained by encrypting data including a content key with an enable key;
暗号化コンテンツをコンテンツ・トークンとともに前記再生装置に配布するコンテンツ提供手段と、Content providing means for distributing encrypted content to the playback device together with a content token;
前記再生装置から一回限りの乱数であるノンスを受信するノンス受信手段と、Nonce receiving means for receiving a nonce which is a one-time random number from the playback device;
受信したノンスと自身の認証情報を少なくとも含むライセンス・トークンを前記再生装置に配布するライセンス・トークン発行手段と、A license token issuing means for distributing a license token including at least the received nonce and its authentication information to the playback device;
として機能させるためのコンピュータ・プログラム。Computer program to function as
請求項1に記載のコンテンツ利用管理システムにおいてシステム管理手段として動作して、コンテンツの利用を管理するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータを、
コンテンツを正当に利用する装置にイネーブル鍵を発行するイネーブル鍵発行手段と、
として機能させるためのコンピュータ・プログラム。
A computer program written in a computer-readable format to operate on a computer as a system management means in the content usage management system according to claim 1, The computer,
An enable key issuing means for issuing an enable key to a device that properly uses content;
The computer program to function as.
請求項1に記載のコンテンツ利用管理システムにおいて再生装置として動作して、ライセンスの取得によりコンテンツの正当な利用を行なうための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータを、
コンテンツを前記コンテンツ提供手段から取得するコンテンツ取得手段と、
一回限りの乱数であるノンスを発行して、前記コンテンツ提供手段に送付するノンス発行手段と、
コンテンツに関するライセンス・トークンを前記コンテンツ提供手段から受信して、前記ノンス発行手段が発行したノンスが含まれているか、及び所定のコンテンツ利用許可の権限者から得られたものであるかどうかを認証することにより該ライセンス・トークンの有効性を検証するライセンス・トークン検証手段と、
該ライセンス・トークンが有効であることに応答して、該当するコンテンツの利用を行なうコンテンツ利用手段と、
として機能させるためのコンピュータ・プログラム。
2. A computer program written in a computer-readable format so as to operate on a computer as a playback device in the content usage management system according to claim 1 and to perform a legitimate use of content by acquiring a license. And the computer
Content acquisition means for acquiring content from the content providing means;
Nonce issuing means for issuing a nonce that is a one-time random number and sending it to the content providing means;
A license token related to content is received from the content providing means, and it is authenticated whether the nonce issued by the nonce issuing means is included and obtained from an authorized person authorized to use the content A license token verification means for verifying the validity of the license token,
In response to the validity of the license token, content use means for using the corresponding content;
Computer program to function as
JP2002186786A 2002-06-26 2002-06-26 Content usage management system, information processing apparatus or method for using or providing content, and computer program Expired - Fee Related JP4168679B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002186786A JP4168679B2 (en) 2002-06-26 2002-06-26 Content usage management system, information processing apparatus or method for using or providing content, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002186786A JP4168679B2 (en) 2002-06-26 2002-06-26 Content usage management system, information processing apparatus or method for using or providing content, and computer program

Publications (3)

Publication Number Publication Date
JP2004030326A JP2004030326A (en) 2004-01-29
JP2004030326A5 JP2004030326A5 (en) 2005-09-22
JP4168679B2 true JP4168679B2 (en) 2008-10-22

Family

ID=31182034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002186786A Expired - Fee Related JP4168679B2 (en) 2002-06-26 2002-06-26 Content usage management system, information processing apparatus or method for using or providing content, and computer program

Country Status (1)

Country Link
JP (1) JP4168679B2 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006333095A (en) * 2005-05-26 2006-12-07 Hiromi Fukaya Method, system, device, and program for encrypted communication
JP4545050B2 (en) * 2005-06-15 2010-09-15 シャープ株式会社 Image transmission system and image transmission apparatus
CN101278510B (en) * 2005-09-29 2013-03-27 康坦夹德控股股份有限公司 System and method for digital rights management using advanced copy with issue rights, and managed copy tokens
JP2007124415A (en) * 2005-10-28 2007-05-17 Nifty Corp Content storage program, content reproduction program, and content distribution program
JP5068949B2 (en) * 2006-01-13 2012-11-07 フェリカネットワークス株式会社 Content distribution system, content usage management server, device including content reproduction permission data management key storage means, information processing apparatus and computer program connected with content reproduction permission data management key storage means
JP4752884B2 (en) 2008-08-21 2011-08-17 ソニー株式会社 Information processing apparatus, data processing method, and program
JP5198218B2 (en) * 2008-11-05 2013-05-15 株式会社東芝 Storage medium processing server, storage medium processing method and system, and user terminal
JP2012084071A (en) 2010-10-14 2012-04-26 Toshiba Corp Digital content protection method, decryption method, reproducing device, memory medium and cryptographic device
US9064276B2 (en) * 2011-05-24 2015-06-23 Amazon Technologies, Inc. Service for managing digital content resales
US9053482B2 (en) 2011-05-24 2015-06-09 Amazon Technologies, Inc. Service for managing digital content licenses
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
JP5275432B2 (en) 2011-11-11 2013-08-28 株式会社東芝 Storage medium, host device, memory device, and system
JP5100884B1 (en) 2011-12-02 2012-12-19 株式会社東芝 Memory device
JP5204290B1 (en) 2011-12-02 2013-06-05 株式会社東芝 Host device, system, and device
JP5204291B1 (en) 2011-12-02 2013-06-05 株式会社東芝 Host device, device, system
JP5112555B1 (en) 2011-12-02 2013-01-09 株式会社東芝 Memory card, storage media, and controller
KR20130085540A (en) * 2011-12-19 2013-07-30 삼성전자주식회사 Method and apparatus for perform downloadable digital rights management
JP5275482B2 (en) 2012-01-16 2013-08-28 株式会社東芝 Storage medium, host device, memory device, and system
US9201811B2 (en) 2013-02-14 2015-12-01 Kabushiki Kaisha Toshiba Device and authentication method therefor
US8984294B2 (en) 2013-02-15 2015-03-17 Kabushiki Kaisha Toshiba System of authenticating an individual memory device via reading data including prohibited data and readable data
FR3074933B1 (en) * 2017-12-07 2021-05-21 Algodone SYSTEM AND METHOD FOR LICENSE AND MEASUREMENT OF USE OF AN IP BLOCK
JP2018078592A (en) * 2017-12-11 2018-05-17 パナソニックIpマネジメント株式会社 Communication system, communication device, key management device, and communication method
IL274840B1 (en) 2020-05-21 2024-03-01 Google Llc Verifying device and application integrity
JP7379400B2 (en) 2021-02-25 2023-11-14 株式会社東芝 Information processing system, server device, information processing method and program

Also Published As

Publication number Publication date
JP2004030326A (en) 2004-01-29

Similar Documents

Publication Publication Date Title
JP4168679B2 (en) Content usage management system, information processing apparatus or method for using or providing content, and computer program
US7376624B2 (en) Secure communication and real-time watermarking using mutating identifiers
RU2352985C2 (en) Method and device for authorisation of operations with content
JP5200204B2 (en) A federated digital rights management mechanism including a trusted system
JP3130267B2 (en) How to create a cryptographic envelope
US7310732B2 (en) Content distribution system authenticating a user based on an identification certificate identified in a secure container
KR100493900B1 (en) Method for Sharing Rights Object Between Users
EP1452941B1 (en) Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US7542568B2 (en) Encryption device a decrypting device a secret key generation device a copyright protection system and a cipher communication device
US7484246B2 (en) Content distribution system, content distribution method, information processing apparatus, and program providing medium
US7216368B2 (en) Information processing apparatus for watermarking digital content
TWI304970B (en) Networked apparatus, content duplication management system and method, and computer-readable medium having recorded therein content duplication management program
US6950941B1 (en) Copy protection system for portable storage media
US8731202B2 (en) Storage-medium processing method, a storage-medium processing apparatus, and a storage-medium processing program
US7096363B2 (en) Person identification certificate link system, information processing apparatus, information processing method, and program providing medium
US7426639B2 (en) Information processing apparatus and method for managing grouped devices in an encrypted environment
US20050021783A1 (en) Information processing apparatus and method
JP4248208B2 (en) Encryption device, decryption device, secret key generation device, copyright protection system, and encryption communication device
JP2002164880A (en) Contents providing server, recording medium recording contents providing program, contents delivery server, recording medium recording contents delivery program
JP2000113048A (en) Contents receiver group and ic card to be used for the same
JP4673150B2 (en) Digital content distribution system and token device
JP2003298565A (en) Contents distribution system
JP2002149061A (en) Rental contents distribution system and method therefor
JP2005149002A (en) Method and device for managing content circulation
JP2003188869A (en) System and method for providing contents, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080514

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080715

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080728

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees