JP2005006033A - 鍵生成方法、鍵生成装置、コンテンツ配信装置、端末装置およびプログラム - Google Patents
鍵生成方法、鍵生成装置、コンテンツ配信装置、端末装置およびプログラム Download PDFInfo
- Publication number
- JP2005006033A JP2005006033A JP2003167205A JP2003167205A JP2005006033A JP 2005006033 A JP2005006033 A JP 2005006033A JP 2003167205 A JP2003167205 A JP 2003167205A JP 2003167205 A JP2003167205 A JP 2003167205A JP 2005006033 A JP2005006033 A JP 2005006033A
- Authority
- JP
- Japan
- Prior art keywords
- key
- content
- group
- encrypted
- decryption information
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】グループ販売やグループ管理が可能なコンテンツ配信システムにおいて、コンテンツに対してさまざまな種類のグループ階層を任意に構成することができるコンテンツ鍵管理機能を備えた配信装置および利用端末装置を提供すること。
【解決手段】複数のコンテンツをグループ単位に分類し、これらのグループ単位でコンテンツを復号するためのグループ復号鍵を、乱数等を用いて生成する。このグループ復号鍵を用いて、グループに属するコンテンツを復号するためのコンテンツ復号鍵を暗号化する。暗号化されたコンテンツ復号鍵は、暗号化コンテンツに復号情報として付加され、ユーザに配信される。グループ鍵を購入したユーザは、該グループ鍵を用いて復号情報を復号し、得られたコンテンツ復号鍵を用いて暗号化コンテンツを復号する。
【選択図】 図1
【解決手段】複数のコンテンツをグループ単位に分類し、これらのグループ単位でコンテンツを復号するためのグループ復号鍵を、乱数等を用いて生成する。このグループ復号鍵を用いて、グループに属するコンテンツを復号するためのコンテンツ復号鍵を暗号化する。暗号化されたコンテンツ復号鍵は、暗号化コンテンツに復号情報として付加され、ユーザに配信される。グループ鍵を購入したユーザは、該グループ鍵を用いて復号情報を復号し、得られたコンテンツ復号鍵を用いて暗号化コンテンツを復号する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、暗号化コンテンツを配布した後に復号鍵のみを販売する形態のコンテンツ配信システムにおける、コンテンツ復号鍵の生成および利用に関する。
【0002】
【従来の技術】
インターネットの普及に伴って、コンテンツ配信が広く行われている。しかし、コンテンツをパーソナルコンピュータへ無防備に提供してしまうと、無断に複製され、利用されることになり、コンテンツ供給者は多大な損害を被ることになる。したがって、販売から利用までのコンテンツの著作権を技術的に保護する必要がある。
【0003】
現在、暗号技術を用いてコンテンツを保護する仕組みが広く用いられている。中でも、コンテンツを暗号化して配布し、後に復号鍵を販売する形態を持つ配信システムは、手段を選ぶことなくコンテンツを配布できるという特徴がある。また、この方法では復号鍵が販売の単位となるため、コンテンツ毎に異なる復号鍵を用意しておくことにより、例えば、複数の楽曲を収めたアルバムについても、利用者は好きな楽曲だけを選択して購入することができる。
【0004】
しかし、利用者が関連するコンテンツをまとめて購入する場合、利用者は全ての復号鍵を購入しなければならず、その手続きに時間と手間がかかってしまう。また、利用者が購入したコンテンツが増えるにつれ、管理しなければならない復号鍵が増大するため、管理が複雑になるという問題を含んでいる。
【0005】
これに対し、以下の特許文献1には、複数の平文データに対してグループを設定し、各平文データに有効な復号鍵と、そのグループに有効な復号鍵を生成し、関連する複数の平分データ(グループに属する平分データ)を、1つの復号鍵(グループに有効な復号鍵)で購入できる技術が示されている。
【0006】
【特許文献1】特開2002−366030号
【0007】
【発明が解決しようとする課題】
しかしながら、上記従来の方法では、平文データに有効な復号鍵が、その平文データが属するグループ(グループ内の全ての平文データ)に有効な復号鍵に依存して生成されるため、例えば、1つの平文データに対し複数のグループが設定されると、その平文データはグループ毎に個別の復号鍵を持つことになる。このため、一つの平文データに設定されるグループ数が増えるにつれ、管理しなければならない復号鍵が増大し、復号鍵の管理が煩雑となるとの問題が生じる。
【0008】
さらに、暗号化後の平文データをデータベース内に予め記憶しておくような場合には、一つの平文データに複数のグループが設定されると、その平文データに有効な復号鍵もグループ毎に設定されるため、同じ内容の平文データであるにも拘わらず、設定グループ数に応じた暗号化平文データを記憶しなければならない。このため、記憶容量との関係から、設定できるグループ数には自ずと限界が生じ、それほど多くのグループを設定することはできない。
【0009】
そこで、本発明は、グループ販売やグループ管理が可能なコンテンツ配信システムにおいて、鍵管理の簡素化を図りながら、コンテンツに対してさまざまな種類のグループ階層を任意に設定できる鍵生成方法を提供することを課題とする。
【0010】
【課題を解決するための手段】
コンテンツをグループ化したときに、このグループに有効な復号鍵(グループ鍵)を生成する。また、コンテンツに有効な復号鍵(コンテンツ鍵)をコンテンツ毎に設定しておく。そして、グループに属するコンテンツのコンテンツ鍵を当該グループのグループ鍵で暗号化する。
【0011】
これにより、一つのコンテンツに対して複数のグループが設定されても、コンテンツ鍵はコンテンツ毎に一つ設定されていればよく、グループ毎にコンテンツ鍵を変更する必要はない。したがって、暗号化コンテンツをデータベースに予め記憶しておくような場合にも、そのコンテンツの復号鍵に対応した暗号化コンテンツのみを記憶しておけばよく、グループ毎に暗号化コンテンツを個別に記憶しておく必要はない。
【0012】
各請求項の発明は、それぞれ以下に示す特徴を備える。
【0013】
請求項1の発明は、鍵生成方法であって、入力指令に従って、コンテンツをグループ化するコンテンツグループ構成ステップと、前記コンテンツグループ構成ステップによって構成されたそれぞれのグループに対応付けて鍵を設定するグループ鍵設定ステップと、前記グループ鍵設定ステップによって設定されたグループ鍵によって、当該グループに属するコンテンツのコンテンツ鍵を暗号化するコンテンツ鍵暗号化ステップとを含むことを特徴とする。
【0014】
請求項2の発明は、鍵生成方法であって、入力指令に従って、コンテンツをグループ化するコンテンツグループ構成ステップと、前記コンテンツグループ構成ステップによって構成されたそれぞれのグループに対応付けて鍵を設定するグループ鍵設定ステップと、前記コンテンツを暗号化するための鍵をコンテンツに対応付けて設定するコンテンツ鍵設定ステップと、前記グループ鍵設定ステップによって設定されたグループ鍵によって、当該グループに属するコンテンツのコンテンツ鍵を暗号化するコンテンツ鍵暗号化ステップとを含むことを特徴とする。
【0015】
請求項3の発明は、請求項1および2の鍵生成方法であって、さらに、前記コンテンツ鍵に対応付けてコンテンツ鍵復号情報を生成するコンテンツ鍵復号情報生成ステップを含み、このコンテンツ鍵復号情報は、前記グループ鍵によって暗号化されたコンテンツ鍵と、当該コンテンツ鍵がどのコンテンツに対応付けられたものかを識別するためのコンテンツ識別情報と、当該コンテンツ鍵がどのグループのグループ鍵によって暗号化されたかを識別するためのグループ識別情報とを含むことを特徴とする。
【0016】
請求項4の発明は、請求項3の鍵生成方法であって、さらに、入力指令に従って、前記グループを下位グループとして、さらに上位のグループを構成する上位グループ構成ステップと、前記上位グループ構成ステップによって構成されたそれぞれの上位グループに対応付けて鍵を設定する上位グループ鍵設定ステップと、前記上位グループ鍵設定ステップによって設定された上位グループ鍵によって、当該上位グループに属する前記下位グループのグループ鍵を暗号化するグループ鍵暗号化ステップとを含むことを特徴とする。
【0017】
請求項5の発明は、請求項4の鍵生成方法であって、前記上位グループ構成ステップは、入力指令に従って、先に構成された上位グループを下位グループとして、さらに上位のグループを構成する処理を実行するステップを含み、前記先に構成された上位グループを下位グループとし且つ当該ステップにより構成されたさらに上位のグループを上位グループとして、前記上位グループ鍵設定ステップと、前記グループ鍵暗号化ステップとを実行することを特徴とする。
【0018】
請求項6の発明は、請求項4または5の鍵生成方法であって、さらに、前記下位グループのグループ鍵に対応付けてグループ鍵復号情報を生成するグループ鍵復号情報生成ステップを含み、このグループ鍵復号情報は、前記上位グループ鍵によって暗号化された当該下位グループのグループ鍵と、当該グループ鍵がどの下位グループに対応付けられたものかを識別するためのグループ識別情報と、当該グループ鍵がどの上位グループの上位グループ鍵によって暗号化されたかを識別するための上位グループ識別情報とを含むことを特徴とする。
【0019】
請求項7の発明は、請求項2ないし6の何れかの鍵生成方法であって、既に構成済みのグループに対して新たにコンテンツを追加する入力指令があったとき、前記コンテンツ鍵設定ステップによって当該コンテンツを暗号化するための鍵を設定すると共に、前記コンテンツ鍵暗号化ステップによって当該コンテンツのコンテンツ鍵を当該グループのグループ鍵によって暗号化し、さらに、前記コンテンツ鍵復号情報生成ステップによって当該コンテンツ鍵に対応付けられるコンテンツ鍵復号情報を生成することを特徴とする。
【0020】
請求項8の発明は、プログラムであって、上記請求項1から7の何れかに記載の鍵生成方法の処理ステップをコンピュータに実行させることを特徴とする。
【0021】
請求項9の発明は、鍵生成装置であって、上記請求項1から7の何れかに記載の鍵生成方法の処理ステップを実行するための手段を有することを特徴とする。
【0022】
請求項10の発明は、コンテンツ配信装置であって、上記請求項6に記載の鍵生成方法の処理ステップを実行するための手段と、前記コンテンツを記憶するためのコンテンツ記憶手段と、前記コンテンツ鍵および前記グループ鍵を記憶するための鍵記憶手段と、前記コンテンツ鍵復号情報およびグループ鍵復号情報を記憶するための復号情報記憶手段と、前記コンテンツ鍵によって暗号化されたコンテンツをグループ単位で端末装置に送信する第1の送信手段と、前記第1の送信手段によって送信される暗号化コンテンツのコンテンツ鍵を復号するために必要な前記コンテンツ鍵復号情報および前記グループ鍵復号情報を前記端末装置に送信する第2の送信手段と、前記第2の送信手段によって送信される前記コンテンツ鍵復号情報および前記グループ鍵復号情報から前記コンテンツ鍵を復号するために必要な前記グループ鍵を前記端末装置に送信する第3の送信手段とを有することを特徴とする。
【0023】
請求項11の発明は、請求項10のコンテンツ配信装置であって、前記コンテンツ記憶手段は、前記コンテンツ鍵で暗号化されたコンテンツを記憶することを特徴とする。
【0024】
請求項12の発明は、請求項10または11に記載のコンテンツ配信装置から配信された暗号化コンテンツを受信して復号する端末装置であって、受信した前記暗号化コンテンツを記憶する暗号化コンテンツ記憶手段と、受信した前記コンテンツ鍵復号情報および前記グループ鍵復号情報を記憶する復号情報記憶手段と、受信したグループ鍵を記憶するグループ鍵記憶手段と、前記暗号化コンテンツ記憶手段に記憶されたコンテンツのうち、所定のコンテンツの復号指令が入力されたことに応じて、当該コンテンツの復号に必要な前記コンテンツ鍵復号情報および前記グループ鍵復号情報を前記復号情報記憶手段から読み出すと共に、当該コンテンツの復号に必要な前記グループ鍵を前記グループ鍵記憶手段から読み出し、読み出した前記コンテンツ鍵復号情報および前記グループ鍵復号情報と前記グループ鍵から、当該コンテンツのコンテンツ鍵を復号するコンテンツ鍵復号手段と、復号したコンテンツ鍵を用いて当該暗号化コンテンツを復号するコンテンツ復号手段とを有することを特徴とする。
【0025】
請求項13の発明は、請求項12の端末装置であって、前記コンテンツ鍵復号手段は、当該コンテンツの復号に必要なグループ鍵として前記グループ鍵記憶手段から読み出したグループ鍵が、下位グループをさらにグループ化して構成された上位グループに対して設定されたものであるとき、当該コンテンツを含む前記下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記グループ鍵によって復号して当該下位グループのグループ鍵を取得し、取得したグループ鍵が、当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵でなければ、当該コンテンツを含むさらに下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記取得したグループ鍵によって復号してさらに下位グループのグループ鍵を取得し、このグループ鍵の取得を当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵を取得するまで繰り返し、コンテンツ鍵を暗号化した際に用いたグループ鍵を取得すると、当該コンテンツのコンテンツ鍵復号情報中の暗号化コンテンツ鍵を当該グループ鍵によって復号して当該コンテンツのコンテンツ鍵を取得することを特徴とする。
【0026】
請求項14の発明は、請求項10または11に記載のコンテンツ配信装置から配信される情報を受信して暗号化コンテンツを復号する機能を端末装置に付与するためのプログラムであって、受信した前記暗号化コンテンツを記憶する処理と、受信した前記コンテンツ鍵復号情報および前記グループ鍵復号情報を記憶する処理と、受信したグループ鍵を記憶する処理と、記憶されたコンテンツのうち、所定のコンテンツに対する復号指令が入力されたことに応じて、当該コンテンツの復号に必要な前記コンテンツ鍵復号情報および前記グループ鍵復号情報を記憶手段から読み出すと共に、当該コンテンツの復号に必要な前記グループ鍵を記憶手段から読み出し、読み出した前記コンテンツ鍵復号情報および前記グループ鍵復号情報と前記グループ鍵から、当該コンテンツのコンテンツ鍵を復号する処理と、復号したコンテンツ鍵を用いて当該暗号化コンテンツを復号する処理と、を含むことを特徴とする。
【0027】
請求項15の発明は、請求項14のプログラムであって、前記コンテンツ鍵の復号処理は、当該コンテンツの復号に必要なグループ鍵として記憶手段から読み出したグループ鍵が、下位グループをさらにグループ化して構成された上位グループに対して設定されたものであるとき、当該コンテンツを含む前記下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記グループ鍵によって復号して当該下位グループのグループ鍵を取得し、取得したグループ鍵が、当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵でなければ、当該コンテンツを含むさらに下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記取得したグループ鍵によって復号してさらに下位グループのグループ鍵を取得し、このグループ鍵の取得を当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵を取得するまで繰り返し、コンテンツ鍵を暗号化した際に用いたグループ鍵を取得すると、当該コンテンツのコンテンツ鍵復号情報中の暗号化コンテンツ鍵を当該グループ鍵によって復号して当該コンテンツのコンテンツ鍵を取得することを特徴とする。
【0028】
本発明の特徴は、以下に示す実施の形態の説明により更に明らかとなろう。
ただし、以下の実施の形態は、あくまでも本発明の一つの実施形態であって、本発明ないし各構成要件の用語の意義は、以下の実施の形態に記載されたものに制限されるものではない。
【0029】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
【0030】
【第1実施例】
本実施例に係るコンテンツ配信システムの概要を図1に示す。
本実施例に示すコンテンツ配信システムは、サーバ10、端末装置20、コンテンツ配信手段30とから構成されている。
【0031】
サーバ10は、配布する暗号化コンテンツと暗号化コンテンツを復号するための鍵を保持する。この復号鍵は、不正にアクセスされない必要があるため、例えば、耐タンパー性の記憶手段によって安全に保管される。
【0032】
端末装置20は、利用者が取得した暗号化コンテンツと購入した復号鍵を保持し、さらに、取得した暗号化コンテンツを、購入した復号鍵で復号して再生する機能を備える。この端末装置20は、具体的には、パーソナルコンピュータ(PC)や携帯電話、PDA(Personal Digital Assistance)などにより実現される。なお、サーバ10から取得した復号鍵は、上記の如く、秘匿性が確保される必要がある。このため、端末装置20には、その内部に、または、脱着可能な形態で、安全な復号鍵保持手段が配備されている。
【0033】
コンテンツ配信手段30は、暗号化コンテンツやこれを復号するための復号鍵を端末装置20に提供するものである。このコンテンツ配信手段30は、たとえばインターネットを利用したデータ通信システムによって実現される。この他、CD−ROMやDVD等、記録媒体を用いた物流配送システム等によっても実現され得る。但し、本実施例では、インターネットを介したデータ通信システムによって構成されているものとする。
【0034】
サーバ10から端末装置20に配信されるコンテンツは、対応する暗号化鍵によって予め暗号化されている。この暗号化されたコンテンツは単体では再生できないため、任意の媒体や経路で配布することができ、また利用者間で共有することも可能である。
【0035】
一方、暗号化されたコンテンツを解く復号鍵は、課金対象とされており、利用者は代金を支払って、別途これを購入・取得する。このため、復号鍵の配布や保管においては、コピーや再配布等の不正利用を防ぐために、上記の如く、適切な保護がなされている。
【0036】
なお、本実施例では、暗号方式として、DES(Data Encryption Standard)やAES(Advanced Encryption Standard)などの共通鍵暗号方式が用いられる。
【0037】
次に、サーバ装置10に格納されたコンテンツを、所定のカテゴリーに従って分類する際に設定されるクラスとグループについて説明する。
【0038】
グループとは、サーバ装置10に格納されている全てのコンテンツから、所定の目的に従うコンテンツを抽出し、抽出したコンテンツを一つにまとめることにより構成されるコンテンツの集合、あるいは、このようにして構成された複数のグループをさらに所定の目的に従ってまとめることによって構成されるコンテンツの集合を表す単位を意味する。このようにコンテンツを所定のグループでまとめ、さらに各グループをその上位のグループでまとめると、各コンテンツとグループは、一つの階層構造に従って位置付けられることとなる。この階層構造は、さらに全く別の目的でコンテンツおよびグループをまとめることにより、他の階層構造として構成される。このように、それぞれの階層構造は、それを設定する目的毎に個別に成立する。クラスとは、このように個別に成立するそれぞれの階層構造全体を表す単位を意味する。
【0039】
なお、コンテンツの中には、何れのグループにも属さないコンテンツがあっても良い。また、クラスやグループの数に制限は無い。
【0040】
このような階層化とクラス化によってグループを構成すると、原理的には全てのコンテンツの組み合わせに対するコンテンツグループを存在させることが可能となる。
【0041】
コンテンツのクラスとグループによる分類例を図2に示す。
【0042】
図2に示すように、各クラスにおけるグループは階層的に配置されることから木構造でグループの上下関係を表すことができる。例えば、クラスCL1において、グループG10は、コンテンツCi(i=1,..,x)を含み、グループG10の親グループG20は、子グループに属する全てのコンテンツを含む。
【0043】
本実施例では、このコンテンツの分類において、コンテンツ毎に、コンテンツ鍵Kciとコンテンツ鍵復号情報INFxyを設定する。また、コンテンツグループ毎に、コンテンツグループ鍵Kcgjとグループ鍵復号情報INFxyを設定する。なお、これらコンテンツ鍵Kciとコンテンツグループ鍵Kcgjの詳細については、追って説明する。
【0044】
図3に、コンテンツ鍵Kciとコンテンツ鍵復号情報INFxy、コンテンツグループ鍵Kcgjとグループ鍵復号情報INFxyの設定例を示す。なお、図3は、図2に示す分類例の内、クラスCL1に対してコンテンツ鍵Kciとコンテンツ鍵復号情報INFxy、コンテンツグループ鍵Kcgjとグループ鍵復号情報INFxyを設定した例を示すものである。
【0045】
同図に示すように、コンテンツ鍵復号情報INFxyは、コンテンツCiに対して設定される。また、グループ鍵復号情報はINFxyは、各コンテンツグループGjに対して設定される。よって、グループ鍵復号情報INFxyは、コンテンツが何れのグループにも属さない場合は設定されない。また、最上位のグループに対しても設定されない。
【0046】
ここで、コンテンツ鍵Kciは、一つ上位のグループ鍵Kcg10によって暗号化され、コンテンツ鍵復号情報INF1g10に含められる。同様に、グループ鍵Kcg10は、一つ上位のグループ鍵Kcg20によって暗号化され、グループ鍵復号情報INFg10g20に含められる。
【0047】
このように、各コンテンツおよび各グループに、コンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyが設定された場合、例えば、図3において、最上位のグループのグループ鍵Kcg30が与えられると、一つ下位の復号情報INFg20に含まれる暗号化されたグループ鍵Kcg20をこのグループ鍵Kcg30にて復号することにより、当該グループのグループ鍵Kcg20を取得できる。同様に、順次、下位のグループ鍵の暗号化を復号により取得したグループ鍵によって解いて行けば、暗号化のないコンテンツ鍵Kciを取得できる。
【0048】
また、最上位のグループ鍵Kcg30が与えられなくとも、途中のグループのグループ鍵(例えばグループ鍵Kcg10)が与えられれば、コンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyに含められた暗号化された鍵を順次復号することにより、このグループに属する全てのコンテンツに対応したコンテンツ鍵Kciを取得できる。
【0049】
したがって、コンテンツ配信時に、このコンテンツのコンテンツ鍵を取得するに必要なコンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyを同時に配信しておき、その後、鍵の購入時に、適宜、グループ鍵を配信することにより、当該コンテンツのコンテンツ鍵を取得できる。これにより、当該コンテンツの再生が可能となる。
【0050】
なお、一つのグループ鍵Kcgjを購入すると、そのグループに含まれるコンテンツ全てを再生可能となるため、鍵の購入は、必然的にグループ単位となる。よって、そのグループ中に再生を所望しないコンテンツが含まれていたとしても、グループ鍵Kcgjを購入する場合には、再生を所望しないコンテンツを含めた当該グループ全体を再生できるグループ鍵Kcgjを購入することとなる。
【0051】
なお、再生を所望するコンテンツのみを再生しようとする場合には、グループ鍵Kcgjを購入せずに、再生を希望するコンテンツのコンテンツ鍵Kciのみを購入するようにすれば良い。
【0052】
また、上記の如く、各グループにグループ鍵Kcgjを設定し、コンテンツ鍵Kciとグループ鍵Kcgjを上位のグループのグループ鍵Kcgjにて順次暗号化する方法を採用したことにより、グループおよびクラスが種々変更されたとしても、各コンテンツのコンテンツ鍵Kciをこれに応じて変更する必要がなくなり、よって、暗号化されたコンテンツデータをサーバ10に予め格納しておく場合に、コンテンツ毎に一つのみ暗号化コンテンツデータを生成して格納しておけば良いようになる。これにより、暗号化コンテンツデータの容量を抑制しながら、任意のグループおよびクラスを簡易に設定できるようになる。
【0053】
同様に、所定のグループに新たなコンテンツを追加する場合には、当該コンテンツを追加するグループのグループ鍵によって、そのコンテンツのコンテンツ鍵を暗号化し、これを当該コンテンツのコンテンツ鍵復号情報INFxyに含めるだけでよいので、新たなコンテンツの追加を容易に行うことができる。
【0054】
なお、コンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyには、暗号化されたコンテンツ鍵およびグループ鍵の他、暗号化される鍵の属性情報(どのコンテンツまたはグループに対して設定された鍵かを示す情報等)と、暗号化に用いられた鍵の属性情報(どのグループに対して設定された鍵かを示す情報等)等が含められる。コンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyの詳細については、追って詳述する。
【0055】
ところで、コンテンツ鍵とグループ鍵の階層構造を木構造(以下、この木構造を鍵木と称する)として表現すると、鍵木の各ノードにコンテンツ鍵、あるいは、グループ鍵が配置されることとなる。すなわち、クラスCLn(n=1,2,3, …)に対応した鍵木Tnは、必ず1つの最上位ノードを持ち、また、最下位ノードには必ずコンテンツ鍵が配置されるように構成される。
【0056】
この鍵木の構造は、後述するクラス鍵リストKlist#CLnに記述され、コンテンツ鍵とグループ鍵を木構造に従って探索するとき用いられる。
【0057】
なお、上記のクラスとグループをよる分類は、配信するコンテンツを分類する一例であり、これに限られるものではない。例えば、クラスという概念を用いずに、全てのコンテンツをグループの組み合わせのみで分類することもできる。この場合、グループに含まれるコンテンツや下位グループはどのように構成されていても良く、当該コンテンツやグループが別のグループに多重して含まれていても良い。
【0058】
図4に、本実施例において用いられる各種情報の内容・種別を示す。
図において、コンテンツCiは、配信および再生対象とされる主たるコンテンツデータを意味する。Ciに付記された記号“i”は、コンテンツの識別子であり、コンテンツ毎にそれぞれ異なる。
【0059】
コンテンツグループCGjは、複数のコンテンツから構成される一つのグループを意味する。CGjに付記された記号“j”は、コンテンツグループの識別子であり、コンテンツグループ毎にそれぞれ異なる。
【0060】
コンテンツ鍵Kciは、コンテンツ毎に設定された鍵を意味し、サーバ装置10において、コンテンツCiを暗号化する際に用いられる。
【0061】
グループ鍵Kcgjは、コンテンツグループ毎に設定された鍵を意味し、端末装置20において、コンテンツ鍵Kciを復号際に用いられる。なお、グループ鍵Kcgjの具体的な設定・利用方法については、追って詳述する。
【0062】
暗号化コンテンツE(Ci,Kci)は、コンテンツCiをコンテンツ鍵Kciで暗号化したときの暗号化コンテンツデータを意味する。なお、記号E(Ci,Kci)は、暗号化コンテンツデータE(Ci,Kci)をコンテンツ鍵Kciで復号するとコンテンツCiが得られることをも同時に示すものである。
【0063】
復号情報INFxyは、サーバ装置10において、コンテンツ鍵Kciまたはグループ鍵Kcgjを暗号化(後述)する際に生成されるものであり、コンテンツ鍵Kcxまたはグループ鍵Kcgxを、一つ上位のグループ鍵Kcgyで暗号化したことにより得られる暗号化鍵データと、暗号化される鍵KcxまたはKcgxの属性情報および暗号化に用いられた鍵Kcgyの属性情報などを含む。なお、この復号情報INFxyの詳細については、追って、図6を参照しながら説明する。
【0064】
配布コンテンツCi#Dは、サーバ10から端末装置20に配布される配布情報を意味し、コンテンツCiをコンテンツ鍵Kciで暗号化した暗号化コンテンツE(Ci,Kci)と、この暗号化コンテンツE(Ci,Kci)に付される復号情報INFxyを含む。
【0065】
利用者鍵リストKlist#Uは、端末装置20において、利用者が保有する鍵のリストである。端末装置20の鍵保持部204に保持される。
【0066】
クラス鍵リストKlist#CLnは、対応コンテンツのグループ構成を木構造によって表すものである。ここで、記号“n”は、コンテンツクラスの識別子であり、コンテンツクラス毎に異なる番号である。
【0067】
配信者鍵リストKlist#Dは、サーバ10において、コンテンツとグループの関係、すなわち、クラスにおける保有する鍵の階層関係と有効範囲を示す情報であり、複数のクラス鍵リストKlist#CLから構成される。
【0068】
図5に、コンテンツ鍵Kciおよびグループ鍵Kcgjの構成を示す。
各コンテンツ鍵Kciおよびグループ鍵Kcgjは、鍵タイプFtype、コンテンツ識別情報Finf#cont、クラス識別情報Finf#class、グループ識別情報Finf#group、鍵値Fvalueから構成される。
【0069】
鍵タイプFtypeは、当該鍵がコンテンツ鍵かグループ鍵かを示す情報である。コンテンツ識別情報Finf#contは、当該鍵がコンテンツ鍵であるときに設定されるものであり、これにより、このコンテンツ鍵が何れのコンテンツに対する復号鍵かが特定される。
【0070】
クラス識別情報Finf#classは、当該鍵がグループ鍵であるときに設定されるものであり、これにより、このグループ鍵が何れのクラスに属するかが特定される。グループ識別情報Finf#groupは、当該鍵がグループ鍵であるときに設定され、これにより、このグループ鍵が何れのグループに対する復号鍵かが特定される。
鍵値Fvalueは、コンテンツ鍵あるいはグループ鍵のデータである。
【0071】
図6に、復号情報INFxyの構成を示す。
復号情報INFxyには、コンテンツに対するコンテンツ鍵復号情報とグループに対するグループ鍵復号情報があり、共にクラス識別情報Finf#class、暗号化情報、非暗号化情報、鍵値Fvalueから構成される。
【0072】
ここで、暗号化情報とは、暗号化に用いる上位の鍵を識別するための情報であり、当該上位の鍵が設定されたグループを識別するためのグループ識別情報Finf#upperにより構成される。
【0073】
また、非暗号化情報とは、暗号化される鍵を識別するための情報であり、鍵タイプFtype、グループ識別情報Finf#group、コンテンツ識別情報Finf#contにより構成される。ここで、鍵タイプFtypeは、当該鍵がコンテンツ鍵かグループ鍵かを示す。また、グループ識別情報Finf#groupは、当該鍵がグループ鍵であるときに設定され、これにより、このグループ鍵が何れのグループに設定された鍵かが特定される。さらに、コンテンツ識別情報Finf#contは、当該鍵がコンテンツ鍵であるときに設定され、これにより、このコンテンツ鍵が何れのコンテンツに対する復号鍵かが特定される。
値Fvalueは、上位グループ鍵で暗号化された当該鍵のデータである。
【0074】
本実施例では、コンテンツ鍵とグループ鍵を提供される鍵とし、暗号化コンテンツデータと復号情報を配布コンテンツとする。
コンテンツ鍵と暗号化コンテンツの機能上の関係および用途は、従来の配信システムと同様である。また、グループ鍵はコンテンツをまとめて提供するための鍵であり、このグループ鍵によって個々のコンテンツを復号するために、復号情報を利用する。
具体的には、コンテンツは、クラスとグループによって分類されており、各グループに対してグループ鍵が生成され、コンテンツ鍵あるいは下位のグループ鍵は、鍵木の構造に従って上位のグループ鍵で暗号化される。この暗号化の状態を示す復号情報は、暗号化コンテンツに付加され配布される。
暗号化コンテンツを復号する際、鍵木の構造に従って、復号情報中の暗号化された鍵(グループ鍵またはコンテンツ鍵)が、取得したグループ鍵を用いて、順次復号される。この復号により得られたコンテンツ鍵を用いて、暗号化コンテンツが復号される。
【0075】
次に、第1実施例におけるサーバ10および端末装置20の構成について説明する。
図7にサーバ10の構成を示す。
サーバ10は、制御部100と、表示部101、入力部102、コンテンツ保持部103、鍵保持部104、リスト解析部105、暗号化部106、乱数生成部107、コンテンツ合成部108、バス109から構成される。
【0076】
制御部100は、上記各機能部に処理の実行を指示し、サーバ10全体の処理を制御する。表示部101は、視覚情報を表示する。入力部102は、外部からの入力を処理する。
【0077】
コンテンツ保持部103は、暗号化コンテンツE(Ci,Kci)を保持する。鍵保持部104は、コンテンツ鍵Kci、グループ鍵Kcgj、配信者鍵リストKlist#Dを保持する。
【0078】
リスト解析部105は、鍵保持部108から読み出された鍵リストKlist#Dを解析する。暗号化部106は、入力された鍵とデータに基づいて暗号演算処理を行い、暗号化データを生成する。乱数生成部107は、乱数を発生することによりグループ鍵Kcgjを生成する。
【0079】
コンテンツ合成部108は、暗号化されたグループ鍵またはコンテンツ鍵と、グループやコンテンツを識別する情報等を含む復号情報を生成し、これと暗号化コンテンツをまとめて、1つの配布用コンテンツとして生成する。バス109は、上記機能部を接続するデータバスである。
【0080】
図8に端末装置20の構成を示す。
端末装置20は、制御部200と、表示部201、入力部202、記憶部203、鍵保持部204、鍵リスト解析部205、コンテンツ解析部206、復号部207、鍵バッファ208、再生部209、各機能部を接続するバス210から構成される。
【0081】
制御部200は、上記各機能部に処理の実行を指示し、端末装置20全体の処理を制御する。表示部201は、端末操作による処理結果等を表示する。入力部202は、利用者が入力した情報を処理する。
【0082】
記憶部203は、暗号化コンテンツ(配布コンテンツ)、復号情報を保持する。鍵保持部204は、購入した鍵とこれを管理する利用者鍵リストKlist#Uを保持するものであり、耐タンパーな性質を持つ安全な記憶手段によって構成されている。この鍵保持部204は、端末装置20に内蔵されている形態の他、端末装置20に対し脱着可能な形態であっても良い。
【0083】
鍵リスト解析部205は、鍵保持部208から取得された利用者鍵リストKlist#Uを解析し、目的のグループ鍵の存在などを調べる。コンテンツ解析部206は、記憶部203から取得された配布コンテンツCi#Dを解析し、暗号化コンテンツデータE(Ci,Kci)と各復号情報INFxyを分離し、これらを必要に応じて復号部207へ出力する。
【0084】
復号部207は、入力された鍵と暗号化データを復号し、そのデータを出力する。鍵バッファ208は、復号部207の復号結果を一時的に保持する。再生部209は、復号されたコンテンツCiを再生する。バス210は、上記機能部を接続するデータバスである。
【0085】
次に、第1実施例における各処理について説明する。
まず、クラスおよびグループ設定時の処理について説明する。このときの処理フローを図9に示す。
【0086】
サーバ10は、コンテンツCiと各コンテンツに対するコンテンツ鍵Kciを、予め保有している。コンテンツCiは、対応するコンテンツ鍵Kciで暗号化され、暗号化コンテンツE(Ci,Kci)としてコンテンツ保持部103に保持されている。また、グループ鍵Kcgjと鍵リストKlist#Dは、鍵保持部104に保持されている。
【0087】
まず、制御部100は、コンテンツの種類を表示部101に表示し、サーバのユーザ(配信者)に対してグループおよびクラスの設定を促す。そして、入力部102を介して入力されたグループとクラスの設定情報に基づいて、制御部100は、配信者鍵リストKlist#Dを作成し、これを鍵保持部104に出力する(ステップS100)。
【0088】
制御部100は、配信者鍵リストKlist#Dの中から1つのクラスを選択し(これをクラスCLnowと表す)、クラス鍵リストKlist#CLnowをバス109を介して、リスト解析部105に入力する(ステップS101)。続いて、制御部100は、クラス鍵リストKlist#CLnowに記述された鍵木Tn(n=now)の最上位ノードに対するグループ鍵Kcgjを、乱数生成部107によって生成させ、生成されたグループ鍵Kcgjを鍵保持部104に出力する(ステップS102)。
【0089】
リスト解析部105では、鍵木Tnowのノード(最上位ノードを除く)の中から1つのノードGnowを取り出す。ここで、ノードは、鍵木Tnowから幅探索順(最上位から下位)に取り出される。(ステップS103)。
【0090】
制御部100は、取り出したノードGnowが鍵木Tn(n=now)の最下位ノードであるか否かを検証する(ステップS104)。このとき最下位ノードでなければ、制御部100はこのノードに設定される鍵Kcgj(j=now)を乱数生成部107によって生成させる。生成された鍵Kcgj(j=now)は、このグループGnowのグループ鍵Kcgjとして鍵保持部104に出力される(ステップS105)。
【0091】
一方、S104において、前記ノードGnowが最下位ノードである場合は、上記S105の処理はスキップされる。
【0092】
次に、制御部100は、前記ノードGnowの上位ノードGupに対応するグループ鍵Kcgj(j=up)を、バス109を介して鍵保持部104から読み出し、暗号化部106に暗号化鍵として与える。
【0093】
このとき、ステップS105を実行した場合には、前記生成したグループ鍵Kcgj(j=now)を鍵保持部104から読み出して暗号化部106に出力する。一方、ステップS105を実行しなかった場合には、コンテンツ鍵Kciをバス109を介して鍵保持部104から読み出し、これを暗号化部106に出力する。
【0094】
暗号化部106は、入力されたグループ鍵Kcgj(j=up)を用いて、グループ鍵Kcgj (j=now)またはコンテンツ鍵Kciを暗号化する(ステップS106)。
【0095】
続いて、制御部100は、暗号化部106によって暗号化されたグループ鍵Kcgj (j=now)またはコンテンツ鍵Kciをコンテンツ合成部108に入力し、さらに、ノードGnowに属するコンテンツCi(i∈j,j=now)の暗号化コンテンツE(Ci,Kci)を、コンテンツ保持部103から取り出し、バス109を介してコンテンツ合成部108に入力する。
【0096】
コンテンツ合成部108は、グループKgnowまたはコンテンツCiに設定される復号情報INFxyのFvalueとして暗号化されたグループ鍵Kcgj (j=now)またはコンテンツ鍵Kciを含め、この復号情報INFxyを暗号化コンテンツE(Ci,Kci)に付加する(ステップS107)。そして、復号情報INFxyが付加された暗号化コンテンツE(Ci,Kci)を、配布コンテンツCi#Dとしてコンテンツ保持部103に保持する。
【0097】
続いて、制御部100は、リスト解析部105が鍵木Tn(n=now)から全てのノードを取り出したか否かを判定する(ステップS108)。ノードの取り出しが完了していない場合、ステップS104へ移行し、幅探索順によるノード出力を続行する。
【0098】
一方、鍵木Tn(n=now)の取り出しが完了している場合、制御部100は、配信者鍵リストKlist#Dのクラス全てのクラス鍵リストKlist#CLを、リスト解析部106に入力し終えたかを判定する(ステップS109)。そして、未だ入力されていないクラス鍵リストKlist#CLがある場合、ステップS101に移行する。一方、全てのクラス鍵リストKlist#CLが入力を終えた場合、本処理を終了する。
【0099】
以上の処理により、暗号化コンテンツE(Ci,Kci)に、コンテンツ鍵復号情報INFxyおよび幾つかのグループ鍵復号情報INFxyが付加された配布コンテンツCi#Dが得られる。
【0100】
上記の処理において、ステップS106において暗号化されるグループ鍵Kcgj (j=now)は、ステップS108からの移行により、再びステップS106を実行する際に、グループ鍵Kcgj(j=up)として用いることになるため、使用した暗号化鍵を次の暗号処理までバッファ等に格納しておくと、暗号化鍵の読み込み処理を簡易にすることができる。
【0101】
また、上記の処理において、ノード単位で実行されるステップS107をスキップし、ステップS106で作成した復号情報をバッファ等に順次蓄えておき、例えば、ステップS101で別のクラス鍵リストKlist#CLが読み込まれたとき、ステップS106で作成した復号情報をまとめて処理するようにしても良い。このように処理すると、ステップS107におけるコンテンツ保持部103からの暗号化コンテンツ読み込み回数を削減することができる。
【0102】
上記のように、本実施例の配布コンテンツ作成処理は、鍵木Tnの1つのノードに対し復号情報を作成し、これを関係する暗号化コンテンツに付加する処理を、全てのノードに対して実行するものである。
【0103】
このほか、まず1つの暗号化コンテンツに付加されるべき復号情報を作成し、暗号化コンテンツに付加する処理を、全ての暗号化コンテンツに対して実行する方法であっても良い。
【0104】
さらに、復号情報の生成処理と暗号化コンテンツへ付加する処理を、鍵木の構造に従って効率よく織り交ぜてもよい。これらの処理順序の違いは、本配布コンテンツ生成処理の本質と異なるものである。したがって、例えば、図9に示すステップS101およびステップS103におけるノード出力において、深さ探索等の別の鍵木探索手順を用いて行うことができる。
【0105】
次に、一旦、配布コンテンツCi#Dを作成した後に、グループにコンテンツおよび別のグループを追加する処理について説明する。
【0106】
図10に、作成済みのクラスCLnのグループGjに、新たなコンテンツCiを追加する処理フローを示す。このとき、追加するコンテンツCiは、新たに作成したものでも、既存のものでも良く、クラスCLn内において、何れのグループにも属していないものである。
【0107】
制御部100は、コンテンツに関するクラスやグループの構造を表示部101に表示し、サーバのユーザ(配信者)に対して新たに追加するコンテンツCiと追加先のクラスCLnとグループGjの指示入力を促す。入力部102を介して入力された情報に基づいて、鍵保持部104に保持されるクラス鍵リストKlist#CLnを更新する(ステップS200)。
【0108】
次に、制御部100は、更新されたクラス鍵リストKlist#CLnをバス109を介してリスト解析部105に出力する。リスト解析部105は、現在のノードGnowの下位ノードであり、コンテンツCiが属するノードを取り出し、これをノードGnowとする(ステップS201)。ここで、初めてステップS201を実行する場合、最上位ノードがGnowとして取り出される。
【0109】
次に、制御部100は、ノードGnowの下位ノードGnow#downが最下位ノードであるか否かを判定する(ステップS202)。最下位ノードである場合、ステップS205へ移行する。最下位ノードでない場合、コンテンツ保持部103からノードGnow#downに対して設定されたグループ鍵復号情報INFxyを取り出し、これをバス109を介してコンテンツ合成部108に入力する(ステップS203)。ここで、配布コンテンツCi#Dがコンテンツ合成部108に入力されていない場合、コンテンツ保持部103から配布コンテンツCi#Dを取り出し、これをバス109を介してコンテンツ合成部108に入力する。
【0110】
コンテンツ合成部108は、S203で取得したグループ鍵復号情報INFxyを配布コンテンツCi#Dに付加し、これを新しく配布コンテンツCi#Dとする(ステップS204)。
【0111】
ステップS204を終了すると、ステップS201に移行し、鍵木Tnに従って、上述した配布コンテンツCi#Dに対するグループ鍵復号情報INFxyの追加処理を繰り返す。これにより、配布コンテンツCi#Dには、探索経路に従った各ノード位置のグループ鍵復号情報INFxyが逐次追加される。
【0112】
一方、ステップS202において、ノードGnow#downが最下位ノード、すなわち新たに追加するコンテンツCiである場合、制御部100は、鍵保持部104からノードGnowのグループ鍵Kcgnowおよび当該新たに追加するコンテンツCiのコンテンツ鍵Kciを取り出し、これをバス109を介して暗号化部106に入力する。
【0113】
暗号化部106は、コンテンツ鍵Kciをグループ鍵Kcgnowを用いて暗号化し、これをコンテンツ合成部108に入力する(ステップS205)。
【0114】
コンテンツ合成部108は、得られた暗号化されたコンテンツ鍵Kciをコンテンツ鍵復号情報INFxyのFvalueに含める。ここで、配布コンテンツCi#Dがコンテンツ合成部108に入力されていない場合、制御部100は、コンテンツ保持部103から配布コンテンツCi#Dを取り出し、これをバス109を介してコンテンツ合成部108に入力する。
【0115】
コンテンツ合成部108は、配布コンテンツCi#Dに前記コンテンツ鍵復号情報INFxy(x=i,y=gnow)を付加し、これを配布コンテンツCi#Dとして、コンテンツ保持部103に再び保存する(ステップS206)。これにより、新たに追加されるコンテンツに対して実行される、コンテンツ鍵Kciの暗号化処理と、グループ鍵復号情報およびコンテンツ鍵復号情報の付加処理を終了する。
【0116】
次に、端末装置における暗号化コンテンツ復号処理について説明する。
端末装置において、グループ鍵Kcgjおよびコンテンツ鍵Kciを用いて、暗号化コンテンツE(Ci,Kci)を復号して再生する手順を図11に示す。
【0117】
ここで、上記の如く、グループ鍵Kcgjを取得することにより、グループ鍵復号情報INFxyを用いて、グループGjに属する全ての暗号化コンテンツE(Ci,Kci)を復号することができる。
【0118】
また、以下の処理にあたり、コンテンツ保持部103には、予め配布コンテンツCi#Dが保持されており、鍵保持部204には、購入した鍵(グループ鍵Kcgjおよびコンテンツ鍵Kci)、利用者鍵リストKlist#Uが予め作成されているものとする。利用者鍵リストKlist#Uには、利用者が購入した鍵の情報がリストとして記載されており、購入した各鍵から取り出された、鍵タイプFtype、コンテンツ識別情報Finf#cont、クラス識別情報Finf#class、グループ識別情報Finf#groupによって構成され、これにより、利用者が保持する鍵のグループ関係がわかるようになっている。
【0119】
なお、説明上、当初の鍵バッファ208には、鍵データが保持されていないものとする。
【0120】
まず、制御部200は、記憶部203に保持された配布コンテンツCi#Dや、鍵保持部204に保持された利用者鍵リストKlist#Uを、表示部201に出力し、端末装置のユーザに対して、再生するコンテンツの指示入力を促す。
【0121】
入力部202を介して入力されたコンテンツCiを示す情報に基づいて、制御部200は、配布コンテンツCi#Dを記憶部203から読み出し、バス210を介してコンテンツ解析部206に入力する(ステップS300)。この配布コンテンツCi#Dの読み出しは、配布コンテンツCi#Dの要素が必要になった時点で行うことにしても良い。
【0122】
次に、制御部200は、コンテンツCi#D、および鍵保持部204に保持する鍵リストKlist#Uを、バス210を介して鍵リスト解析部205に入力する。
【0123】
鍵リスト解析部205は、鍵リストKlist#Uの中にコンテンツ鍵Kciが存在するか判定する(ステップS301)。コンテンツ鍵Kciが存在する場合、ステップS306へ移行する。コンテンツ鍵Kciが存在しない場合、コンテンツCiを含むグループGnow(i∈now)のグループ鍵Kcgnowが存在するか判定する(ステップS302)。
【0124】
S302において、グループ鍵Kcgnowが存在しない場合、復号不可能として処理を終了する。
【0125】
一方、複数のグループ鍵Kcgnowが存在する場合、制御部200は、このうち最下位のグループをグループGnowとする。そして、鍵バッファ208にデータが保持されているかを判定し、鍵バッファ208にデータが保持されている場合、保持されているデータをグループ鍵Kcgnowとして復号部207へ入力する。一方、鍵バッファ208にデータが保持されていない場合、グループGnowのグループ鍵Kcgnowを鍵保持部204から取り出し、バス210を介して復号部207へ入力する。
【0126】
さらに、コンテンツ解析部206は、配布コンテンツCi#D中のグループ鍵復号情報INFxyのうち、グループGnowよりも一つ下位のグループGnow#downのグループ鍵復号情報INFxyを特定し、このグループ鍵復号情報INFxy中の値Fvalueを記憶部203から取り出し、制御部200はこれを復号部207へ入力する。復号部207は、グループ鍵Kcgnowを用いて、値Fvalueを復号する(ステップS303)。
【0127】
続いて、制御部200は、グループGnow#downを新たにグループGnowとし(ステップS304)、これに設定された復号情報INFxyの非暗号化情報の鍵タイプFtypeが、コンテンツ鍵かグループ鍵かを判定する(ステップS305)。判定の結果、コンテンツ鍵でない場合、ステップS303へ移行し上記の処理を繰り返す。一方、コンテンツ鍵である場合、制御部200は、コンテンツ解析部206から暗号化コンテンツE(Ci,Kci)を取り出し、これを復号部207へ入力する。復号部207は、ステップS303で得られた復号結果をコンテンツ鍵Kciとし、これを用いて暗号化コンテンツE(Ci,Kci)を復号する(ステップS306)。
【0128】
制御部200は、この復号結果をコンテンツCiとしてバス210を介して再生部209に入力し、再生部209は、コンテンツCiを再生し、本処理を終了する。
【0129】
上記復号再生処理では、再生するコンテンツCiの選択に基づいて、これを復号するためのグループ鍵Kcgj(i∈j)およびコンテンツ鍵Kciを検索し、得られた鍵を用いて暗号化コンテンツを復号し再生しているが、このほか、利用者が購入した鍵を指定し、その鍵で復号可能なコンテンツを再生する形態であっても良い。
【0130】
このような形態は、例えば、グループに属するコンテンツを、連続して再生する場合に有効である。この形態においても、図11に示す処理のステップS300において、利用者が指示する情報が鍵を選択するものであり、再生するコンテンツCiが番号の若い順序とすることにより実現することができる。
【0131】
【第2実施例】
本発明の別の実施形態として、利用者側でグループ鍵を設定する方法について説明する。本実施例では、端末装置20の利用者が、図2に示すようなクラスとグループを用いて、自由にコンテンツの分類を行い、図3に示すようなコンテンツグループ鍵Kcgjと復号情報INFxyを設定することにより、グループ単位で鍵を生成する。
【0132】
本実施例の配信システム、およびシステムを構成するサーバ10の構成は、第1実施例と同様である。
【0133】
また、第1実施例における端末装置30と同一の機能を有するブロックには、同一番号を付し、その説明は省略する。以下、本発明により新たに提供される機能についてのみ、説明する。
【0134】
本実施例の端末装置20の構成を図13に示す。第1実施例の端末装置20の構成に加えて、暗号化部211と乱数生成部212が追加されている。
【0135】
暗号化部211は、入力された鍵とデータに基づいて暗号演算処理を行い、暗号化データを生成する。乱数生成部212は、グループ鍵Kcgjを生成する。
【0136】
端末装置20がこれらの構成を有することにより、第1実施例において、サーバ10が行っていた鍵の生成を、端末装置40において行うことができる。具体的には、クラスCLnおよびグループGjの設定に基づきグループ鍵Kcgjを生成する処理、配信者鍵リストKlist#Dを生成する処理、既存のグループに新たにコンテンツを加える処理が、第1実施例のサーバ10におけるグループに対応したコンテンツ生成処理(図9)および追加処理(図10)と同様にして実行される。
【0137】
但し、本実施例においては、図9の処理フロー中、ステップS100にてクラスとグループの設定対象とされるコンテンツは、コンテンツ鍵Kciを持つコンテンツに限られる。すなわち、コンテンツ鍵Kciを有さないコンテンツが記憶部203に記憶されていたとしても、このコンテンツは、ステップS100の処理対象とはならない。
【0138】
また、生成した各復号情報INFxyは、記憶部203にまとめて保持しておけば良く、図9におけるステップS107を実行する必要はない。
【0139】
さらに、本実施例においては、グループ鍵に基づいてコンテンツ鍵を生成することができるため、グループ鍵Kcgjを作成した後には、最上位グループに対するグループ鍵Kcgjと、何れのグループにも属さないコンテンツのコンテンツ鍵Kciを除いて、全ての鍵を消去することができる。
次に、端末装置20において、コンテンツに対するグループ設定を解除し、個々のコンテンツ鍵を復元する処理手順を図12に示す。
【0140】
まず、制御部200は、1つのグループ鍵Kcgjを選択し、これを復号鍵として復号部207に入力する(ステップS400)。
【0141】
次に、制御部200は、記憶部203からグループ鍵KcgjのグループGjより下位の全てのグループGj#downに設定されたグループ鍵復号情報INFxyを順次取り出し、これを復号部207に入力する。復号部200は、グループGjより一つ下位のグループに設定されたグループ鍵復号情報INFxyを復号鍵Kcgjを用いて復号する。さらに、復号されたグループ鍵Kcgj#downを用いてさらに一つ下位のグループに設定されたグループ鍵復号情報INFxyを復号する。この復号処理を繰り返すことで、グループGjより下位の全てのグループGj#downに設定された全てのグループ鍵Kcgj#downを取り出す(ステップS401)。
【0142】
さらに、最下位のグループ鍵Kcgj#underを用いて、各暗号化コンテンツに付加されたコンテンツ鍵復号情報INFxyを復号し、グループGjに属する全てのコンテンツ鍵Kciを取り出す(ステップS402)。そして、グループGjに属するコンテンツの暗号化コンテンツに付加されたコンテンツ鍵復号情報、グループ鍵復号情報、グループ鍵を、全て消去する(ステップS403)。
【0143】
次に、全てのコンテンツ鍵が得られたか否か判定し(ステップS404)、コンテンツ鍵が全て得られていない場合、ステップS400へ移行し、別のグループ鍵を選択して上記処理を繰り返す。S404において、コンテンツ鍵が全て得られた場合、これらを復元したコンテンツ鍵として、鍵保持部204の利用者鍵リストKlist#Uに登録し(ステップS405)、本処理を終了する。
【0144】
このように、端末装置20によって、コンテンツ利用者は、配信されたコンテンツに対して、グループを設定し、このグループに属するコンテンツを復号するグループ鍵を独自に設定することができる。
【0145】
なお、上記実施例では、コンテンツ利用者が、独自にコンテンツをグループ管理する環境を構築した場合に、グループから個々のコンテンツを復元する処理を示したが、このほか、コンテンツをグループで配信するコンテンツ配信システムにおいて、利用者がグループ鍵からコンテンツ鍵を生成して管理するよう変更することもできる。
【0146】
【第3実施例】
本実施例は、グループやコンテンツを一意に管理し、既に作成したグループを取り込んで新たに別の上位グループを構成する場合、既に作成したグループ鍵や復号情報等を利用して、当該新たなグループの配布コンテンツを生成するものである。
【0147】
本実施例では、図4に示す配信者鍵リストKlist#D、利用者鍵リストKlist#U、クラス鍵リストKlist#CLnに加えて、復号情報リストINFlistを用いる。ここで、復号情報リストINFlistとは、配布コンテンツに含まれるコンテンツ鍵復号情報あるいはグループ鍵復号情報INFxyの属性情報のリストである。
【0148】
本実施例では、この復号情報リストINFlistと、コンテンツCiをコンテンツ鍵Kciで暗号化した暗号化コンテンツE(Ci,Kci)とが配布コンテンツCi#Dとして配布される。
【0149】
以下、かかる復号情報リストINFlist、および図4に示されたその他のリスト情報の詳細を説明する。
図14に、配信者鍵リストKlist#Dの構成を示す。
【0150】
配信者鍵リストKlist#Dは、配信者側が管理する鍵のリスト情報であり、コンテンツ鍵の総数Mc、各コンテンツ鍵の属性情報、グループ鍵の総数Mg、各グループ鍵の属性情報を含む。ここで、コンテンツ鍵およびグループ鍵の属性情報は、当該コンテンツ鍵およびグループ鍵がどのコンテンツおよびグループに付されたものであるかを示す情報のほか、当該コンテンツ鍵およびグループ鍵の格納場所や作成日等の情報を含む。
【0151】
なお、図4に示された利用者鍵リストKlist#Uは、利用者側が保持する鍵のリスト情報であり、その構成は、図14に示す配信者鍵リストKlist#Dと同一である。
【0152】
図15に、復号情報リストINFlistの構成を示す。
復号情報リストINFlistは、配信者側が管理する復号情報のリスト情報であり、復号情報の総数Minf、各復号情報INFxyの属性情報を含む。ここで、復号情報INFxyの属性情報は、当該復号情報がどのコンテンツおよびグループに付されたものであるかを示す情報のほか、当該復号情報INFxyの格納場所や作成日等の情報を含む。
【0153】
図16に、クラス鍵リストKlist#CLの構成を示す。
クラス鍵リストKlist#CLは、配信者側が構成したクラスのリスト情報であり、クラス識別情報CL、各クラスに含まれるノード数Num#Nodeおよび各ノードのノード情報INFnodeを含む。
【0154】
クラス識別情報CLは、クラスを識別するための情報である。
ノード数Num#Nodeは、当該クラスが持つノードの数である。
ノード情報INFnodeは、各ノードについての情報である。
ノード情報INFnodeの構成を図17に示す。
ノード情報INFnodeは、ノード番号Nt、上位ノード番号Nu、下位ノード数M、下位ノード番号Ndとから構成される。
ノード番号Ntは、ノードを一意に識別するために付された番号である。
上位ノード番号Nuは、当該ノードの1つ上位のノードのノード番号である。
下位ノード数Mは、当該ノードの1つ下位のノードの数である。
下位ノード番号Ndは、当該ノードの1つ下位のノードノード番号である。
【0155】
次に、これらの情報を用いてグループに対応した配布コンテンツを生成する際の処理を説明する。
本実施例では、第1実施例の同処理のフローを示す図9において、ステップS107の処理、すなわち、“ノードGnowに属する全ての暗号化コンテンツに対して、生成したグループ鍵復号情報およびコンテンツ鍵復号情報を付加する”との処理に代わり、生成したグループ鍵復号情報およびコンテンツ鍵復号情報を復号情報リストINFlistに追加する処理を行う。
【0156】
本処理のフローを図18に示す。
サーバ10は、コンテンツCiと各コンテンツに対するコンテンツ鍵Kciを、予め保有している。コンテンツCiは、対応するコンテンツ鍵Kciで暗号化され、暗号化コンテンツE(Ci,Kci)としてコンテンツ保持部103に保持されている。また、グループ鍵Kcgjと鍵リストKlist#Dは、鍵保持部104に保持されている。
【0157】
まず、制御部100は、コンテンツの種類を表示部101に表示し、サーバのユーザ(配信者)に対してグループおよびクラスの設定を促す。そして、入力部102を介して入力されたグループとクラスの設定情報に基づいて、制御部100は、配信者鍵リストKlist#D、クラス鍵リストKlist#CL、復号情報リストINFlistを作成し、これを鍵保持部104に出力する(ステップS500)。
【0158】
次に、制御部100は、配信者鍵リストKlist#Dの中から1つのクラスを選択し(これをクラスCLnowと表す)、クラス鍵リストKlist#CLnowをバス109を介して、リスト解析部105に入力する(ステップS501)。続いて、制御部100は、クラス鍵リストKlist#CLnowに記述された鍵木Tn(n=now)の最上位ノードに対するグループ鍵Kcgjを、乱数生成部107によって生成させ、生成されたグループ鍵Kcgjを鍵保持部104に出力する(ステップS502)。
【0159】
リスト解析部105では、鍵木Tnowのノード(最上位ノードを除く)の中から1つのノードGnowを取り出す。ここで、ノードは、鍵木Tnowから幅探索順(最上位から下位)に取り出される。また、各クラスにおいて初めて本処理を行う場合、ノードGupとして、最上位ノードを設定する(ステップS503)。
【0160】
制御部100は、クラス鍵リストKlist#CLnowのノードGnowとノードGupとを用いて、復号情報リストINFlistの中から、これらのノードに対応するグループ鍵復号情報INFxy(x=now, y=up)の属性情報を検索し、グループ鍵復号情報INFxy(x=now, y=up)が存在するか否かの判断を行う(ステップS504)。
【0161】
ここで、グループ鍵復号情報INFxy(x=now, y=up)が既に生成済みであり、復号情報リストINFlistにグループ鍵復号情報INFxy(x=now, y=up)の属性情報が存在する場合、ステップS509へ移行する。
【0162】
一方、ステップS504において、グループ鍵復号情報INFxy(x=now, y=up)が未だ生成されていないと判断された場合、制御部100は、配信者鍵リストKlist#Dの中から、グループ鍵Kgnowに対応する属性情報を検索し、取り出したノードGnowが鍵木Tn(n=now)の最下位ノードであるか否かを検証する(ステップS505)。
【0163】
このとき、最下位ノードでなければ、制御部100はこのノードに設定される鍵Kcgj(j=now)を乱数生成部107によって生成させる。生成された鍵Kcgj(j=now)は、このグループGnowのグループ鍵Kcgnowとして鍵保持部104に出力される(ステップS506)。
【0164】
一方、S505において、前記ノードGnowが最下位ノードである場合は、上記S506の処理はスキップされる。
【0165】
次に、制御部100は、前記ノードGnowの上位ノードGupに対応するグループ鍵Kcgj(j=up)を、バス109を介して鍵保持部104から読み出し、暗号化部106に暗号化鍵として与える。
【0166】
このとき、ステップS506を実行した場合には、前記生成したグループ鍵Kcgj(j=now)を鍵保持部104から読み出して暗号化部106に出力する。一方、ステップS506を実行しなかった場合には、生成済のグループ鍵Kcgjまたはコンテンツ鍵Kciをバス109を介して鍵保持部104から読み出し、これを暗号化部106に出力する。
【0167】
暗号化部106は、入力されたグループ鍵Kcg(j=up)を用いて、グループ鍵Kcgj (j=now)またはコンテンツ鍵Kciを暗号化する(ステップS507)。
【0168】
続いて、制御部100は、暗号化部106によって暗号化されたグループ鍵Kcgj (j=now)またはコンテンツ鍵Kciをバス109を介して鍵保持部104に出力し、復号情報リストINFlistを更新する(ステップS508)。
【0169】
続いて、制御部100は、リスト解析部105が鍵木Tn(n=now)から全てのノードを取り出したか否かを判定する(ステップS509)。ノードの取り出しが完了していない場合、ステップS502へ移行し、幅探索順によるノード出力を続行する。
【0170】
一方、鍵木Tn(n=now)の取り出しが完了している場合、制御部100は、配信者鍵リストKlist#Dのクラス全てのクラス鍵リストKlist#CLを、リスト解析部106に入力し終えたかを判定する(ステップS510)。そして、未だ入力されていないクラス鍵リストKlist#CLがある場合、ステップS501に移行する。一方、全てのクラス鍵リストKlist#CLが入力を終えた場合、本処理を終了する。
【0171】
なお、本実施例では、生成された復号情報リストINFlistは暗号化コンテンツE(Ci,Kci)には付加される形態ではなく、コンテンツ配信時には、鍵保持部104に保持される復号情報リストINFlistと、コンテンツ保持部103に保持される当該復号情報リストINFlistに対応する暗号化コンテンツE(Ci,Kci)とが共に、配布コンテンツとして配信される。
【0172】
上記実施例では、復号情報リストINFlistは、各ノードにおける鍵情報KciまたはKcgi、鍵復号情報INFxyを含む構成としたが、これらを別途格納し、格納されたこれらの情報へのポインタを含むようにしてもよい。
【0173】
以上、第1〜第3の実施形態によれば、グループ鍵をコンテンツ鍵に依存することなく設定することができ、また、異なる分類を示すクラス毎に独立なグループ階層を構成することができるため、任意のコンテンツの組み合わせに対し、グループ鍵を生成することができる。
【0174】
コンテンツを提供するサーバにおいては、各コンテンツ、各グループに対応したコンテンツ鍵、グループ鍵を提供するだけでなく、コンテンツをから構成されるクラスの最上位のグループ鍵のみを保持し、この上位グループ鍵とこのグループ鍵に対応したグループ鍵復号情報とを用いて、下位のグループ鍵およびコンテンツ鍵を動的に生成するようにしても良い。このような形態では、最上位のグループ鍵のみを保持すれば良いため、鍵管理におけるコストを削減することができる。
【0175】
また、端末装置30においてグループ鍵を保持する場合、暗号化されたコンテンツグループの復号用の鍵として使用されるだけでなく、グループ鍵とこのグループ鍵に対応するグループ鍵復号情報を用いて、下位のグループ鍵およびコンテンツ鍵を生成することもできる。このように、コンテンツ利用者側で、コンテンツをグループに分割して扱うことが出来るため、特定コンテンツのみを切り出し、これを安全に転送することなど、ユーザにコンテンツをさまざまな形態の使用環境を提供することができる。
【0176】
なお、本発明は、上記実施の形態に限定されるものではなく、他に種々の変更が可能であることは言うまでもない。
【0177】
例えば、上記の実施形態では、サーバ10および端末装置20の構成を機能ブロック毎に分けて示したが、それぞれのブロックはハードウェアとして明確に区分されている必要はなく、1つのハードウェアによって複数の機能が実行されるようにすることも、勿論可能である。
【0178】
また、上記実施の形態に示した各部の機能は、サーバ10および端末装置20に内蔵されたメモリ(ROM)に予め記憶されたプログラムによって実現されるものの他、これらの機能をコンピュータに付与するためのプログラムを、内蔵メモリ(RAM)に外部からダウンロードすることにより、サーバ10および端末装置20にこれらの機能を別途付与するようにしても良い。この場合、プログラムは、CD−ROM等の記憶媒体をサーバ10および端末装置20に装着することにより、あるいは、インターネットを介して配信サーバから配信を受けることにより、各装置の内蔵メモリ(RAM)にダウンロードされる。
【0179】
【発明の効果】
以上、本発明によれば、コンテンツ毎にそれぞれ復号鍵を用意するだけでなく、コンテンツを任意の単位でグループ化し、このグループに対する復号鍵を提供することができるため、コンテンツのグループ単位での管理および利用が可能となり、コンテンツ提供者およびコンテンツ利用者の利便性を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1実施例におけるコンテンツ配信システムの概要を示す図である。
【図2】本発明の第1実施例におけるコンテンツのグループ構成を説明する図である。
【図3】本発明の第1実施例におけるグループ構成における復号鍵と復号情報を説明する図である。
【図4】本発明の第1実施例におけるデータの種類を説明する図である。
【図5】本発明の第1実施例における鍵データ構成を説明する図である。
【図6】本発明の第1実施例における復号情報の構成を説明する図である。
【図7】本発明の第1実施例におけるサーバの構成を示す図である。
【図8】本発明の第1実施例における端末装置の構成を示す図である。
【図9】本発明の第1実施例におけるコンテンツグループ設定とコンテンツグループ鍵の設定における処理を示すフローチャートである。
【図10】本発明の第1実施例におけるコンテンツ追加処理を示すフローチャートである。
【図11】本発明の第1実施例におけるコンテンツグループ鍵による暗号化コンテンツの復号処理を示すフローチャートである。
【図12】本発明の第1実施例におけるコンテンツ鍵の復元処理を示すフローチャートである。
【図13】本発明の第2実施例における端末装置の構成を示す図である。
【図14】本発明の第3実施例における配信者鍵リストの構成を説明する図である。
【図15】本発明の第3実施例における復号情報リストの構成を説明する図である。
【図16】本発明の第3実施例におけるクラス鍵リストの構成を説明する図である。
【図17】本発明の第3実施例におけるノード情報の構成を説明する図である。
【図18】本発明の第3実施例における復号情報リストの生成における処理を示すフローチャートである。
【符号の説明】
10 サーバ
20 端末装置
30 コンテンツ配信手段
100 制御部
104 鍵保持部
200 制御部
204 鍵保持部
【発明の属する技術分野】
本発明は、暗号化コンテンツを配布した後に復号鍵のみを販売する形態のコンテンツ配信システムにおける、コンテンツ復号鍵の生成および利用に関する。
【0002】
【従来の技術】
インターネットの普及に伴って、コンテンツ配信が広く行われている。しかし、コンテンツをパーソナルコンピュータへ無防備に提供してしまうと、無断に複製され、利用されることになり、コンテンツ供給者は多大な損害を被ることになる。したがって、販売から利用までのコンテンツの著作権を技術的に保護する必要がある。
【0003】
現在、暗号技術を用いてコンテンツを保護する仕組みが広く用いられている。中でも、コンテンツを暗号化して配布し、後に復号鍵を販売する形態を持つ配信システムは、手段を選ぶことなくコンテンツを配布できるという特徴がある。また、この方法では復号鍵が販売の単位となるため、コンテンツ毎に異なる復号鍵を用意しておくことにより、例えば、複数の楽曲を収めたアルバムについても、利用者は好きな楽曲だけを選択して購入することができる。
【0004】
しかし、利用者が関連するコンテンツをまとめて購入する場合、利用者は全ての復号鍵を購入しなければならず、その手続きに時間と手間がかかってしまう。また、利用者が購入したコンテンツが増えるにつれ、管理しなければならない復号鍵が増大するため、管理が複雑になるという問題を含んでいる。
【0005】
これに対し、以下の特許文献1には、複数の平文データに対してグループを設定し、各平文データに有効な復号鍵と、そのグループに有効な復号鍵を生成し、関連する複数の平分データ(グループに属する平分データ)を、1つの復号鍵(グループに有効な復号鍵)で購入できる技術が示されている。
【0006】
【特許文献1】特開2002−366030号
【0007】
【発明が解決しようとする課題】
しかしながら、上記従来の方法では、平文データに有効な復号鍵が、その平文データが属するグループ(グループ内の全ての平文データ)に有効な復号鍵に依存して生成されるため、例えば、1つの平文データに対し複数のグループが設定されると、その平文データはグループ毎に個別の復号鍵を持つことになる。このため、一つの平文データに設定されるグループ数が増えるにつれ、管理しなければならない復号鍵が増大し、復号鍵の管理が煩雑となるとの問題が生じる。
【0008】
さらに、暗号化後の平文データをデータベース内に予め記憶しておくような場合には、一つの平文データに複数のグループが設定されると、その平文データに有効な復号鍵もグループ毎に設定されるため、同じ内容の平文データであるにも拘わらず、設定グループ数に応じた暗号化平文データを記憶しなければならない。このため、記憶容量との関係から、設定できるグループ数には自ずと限界が生じ、それほど多くのグループを設定することはできない。
【0009】
そこで、本発明は、グループ販売やグループ管理が可能なコンテンツ配信システムにおいて、鍵管理の簡素化を図りながら、コンテンツに対してさまざまな種類のグループ階層を任意に設定できる鍵生成方法を提供することを課題とする。
【0010】
【課題を解決するための手段】
コンテンツをグループ化したときに、このグループに有効な復号鍵(グループ鍵)を生成する。また、コンテンツに有効な復号鍵(コンテンツ鍵)をコンテンツ毎に設定しておく。そして、グループに属するコンテンツのコンテンツ鍵を当該グループのグループ鍵で暗号化する。
【0011】
これにより、一つのコンテンツに対して複数のグループが設定されても、コンテンツ鍵はコンテンツ毎に一つ設定されていればよく、グループ毎にコンテンツ鍵を変更する必要はない。したがって、暗号化コンテンツをデータベースに予め記憶しておくような場合にも、そのコンテンツの復号鍵に対応した暗号化コンテンツのみを記憶しておけばよく、グループ毎に暗号化コンテンツを個別に記憶しておく必要はない。
【0012】
各請求項の発明は、それぞれ以下に示す特徴を備える。
【0013】
請求項1の発明は、鍵生成方法であって、入力指令に従って、コンテンツをグループ化するコンテンツグループ構成ステップと、前記コンテンツグループ構成ステップによって構成されたそれぞれのグループに対応付けて鍵を設定するグループ鍵設定ステップと、前記グループ鍵設定ステップによって設定されたグループ鍵によって、当該グループに属するコンテンツのコンテンツ鍵を暗号化するコンテンツ鍵暗号化ステップとを含むことを特徴とする。
【0014】
請求項2の発明は、鍵生成方法であって、入力指令に従って、コンテンツをグループ化するコンテンツグループ構成ステップと、前記コンテンツグループ構成ステップによって構成されたそれぞれのグループに対応付けて鍵を設定するグループ鍵設定ステップと、前記コンテンツを暗号化するための鍵をコンテンツに対応付けて設定するコンテンツ鍵設定ステップと、前記グループ鍵設定ステップによって設定されたグループ鍵によって、当該グループに属するコンテンツのコンテンツ鍵を暗号化するコンテンツ鍵暗号化ステップとを含むことを特徴とする。
【0015】
請求項3の発明は、請求項1および2の鍵生成方法であって、さらに、前記コンテンツ鍵に対応付けてコンテンツ鍵復号情報を生成するコンテンツ鍵復号情報生成ステップを含み、このコンテンツ鍵復号情報は、前記グループ鍵によって暗号化されたコンテンツ鍵と、当該コンテンツ鍵がどのコンテンツに対応付けられたものかを識別するためのコンテンツ識別情報と、当該コンテンツ鍵がどのグループのグループ鍵によって暗号化されたかを識別するためのグループ識別情報とを含むことを特徴とする。
【0016】
請求項4の発明は、請求項3の鍵生成方法であって、さらに、入力指令に従って、前記グループを下位グループとして、さらに上位のグループを構成する上位グループ構成ステップと、前記上位グループ構成ステップによって構成されたそれぞれの上位グループに対応付けて鍵を設定する上位グループ鍵設定ステップと、前記上位グループ鍵設定ステップによって設定された上位グループ鍵によって、当該上位グループに属する前記下位グループのグループ鍵を暗号化するグループ鍵暗号化ステップとを含むことを特徴とする。
【0017】
請求項5の発明は、請求項4の鍵生成方法であって、前記上位グループ構成ステップは、入力指令に従って、先に構成された上位グループを下位グループとして、さらに上位のグループを構成する処理を実行するステップを含み、前記先に構成された上位グループを下位グループとし且つ当該ステップにより構成されたさらに上位のグループを上位グループとして、前記上位グループ鍵設定ステップと、前記グループ鍵暗号化ステップとを実行することを特徴とする。
【0018】
請求項6の発明は、請求項4または5の鍵生成方法であって、さらに、前記下位グループのグループ鍵に対応付けてグループ鍵復号情報を生成するグループ鍵復号情報生成ステップを含み、このグループ鍵復号情報は、前記上位グループ鍵によって暗号化された当該下位グループのグループ鍵と、当該グループ鍵がどの下位グループに対応付けられたものかを識別するためのグループ識別情報と、当該グループ鍵がどの上位グループの上位グループ鍵によって暗号化されたかを識別するための上位グループ識別情報とを含むことを特徴とする。
【0019】
請求項7の発明は、請求項2ないし6の何れかの鍵生成方法であって、既に構成済みのグループに対して新たにコンテンツを追加する入力指令があったとき、前記コンテンツ鍵設定ステップによって当該コンテンツを暗号化するための鍵を設定すると共に、前記コンテンツ鍵暗号化ステップによって当該コンテンツのコンテンツ鍵を当該グループのグループ鍵によって暗号化し、さらに、前記コンテンツ鍵復号情報生成ステップによって当該コンテンツ鍵に対応付けられるコンテンツ鍵復号情報を生成することを特徴とする。
【0020】
請求項8の発明は、プログラムであって、上記請求項1から7の何れかに記載の鍵生成方法の処理ステップをコンピュータに実行させることを特徴とする。
【0021】
請求項9の発明は、鍵生成装置であって、上記請求項1から7の何れかに記載の鍵生成方法の処理ステップを実行するための手段を有することを特徴とする。
【0022】
請求項10の発明は、コンテンツ配信装置であって、上記請求項6に記載の鍵生成方法の処理ステップを実行するための手段と、前記コンテンツを記憶するためのコンテンツ記憶手段と、前記コンテンツ鍵および前記グループ鍵を記憶するための鍵記憶手段と、前記コンテンツ鍵復号情報およびグループ鍵復号情報を記憶するための復号情報記憶手段と、前記コンテンツ鍵によって暗号化されたコンテンツをグループ単位で端末装置に送信する第1の送信手段と、前記第1の送信手段によって送信される暗号化コンテンツのコンテンツ鍵を復号するために必要な前記コンテンツ鍵復号情報および前記グループ鍵復号情報を前記端末装置に送信する第2の送信手段と、前記第2の送信手段によって送信される前記コンテンツ鍵復号情報および前記グループ鍵復号情報から前記コンテンツ鍵を復号するために必要な前記グループ鍵を前記端末装置に送信する第3の送信手段とを有することを特徴とする。
【0023】
請求項11の発明は、請求項10のコンテンツ配信装置であって、前記コンテンツ記憶手段は、前記コンテンツ鍵で暗号化されたコンテンツを記憶することを特徴とする。
【0024】
請求項12の発明は、請求項10または11に記載のコンテンツ配信装置から配信された暗号化コンテンツを受信して復号する端末装置であって、受信した前記暗号化コンテンツを記憶する暗号化コンテンツ記憶手段と、受信した前記コンテンツ鍵復号情報および前記グループ鍵復号情報を記憶する復号情報記憶手段と、受信したグループ鍵を記憶するグループ鍵記憶手段と、前記暗号化コンテンツ記憶手段に記憶されたコンテンツのうち、所定のコンテンツの復号指令が入力されたことに応じて、当該コンテンツの復号に必要な前記コンテンツ鍵復号情報および前記グループ鍵復号情報を前記復号情報記憶手段から読み出すと共に、当該コンテンツの復号に必要な前記グループ鍵を前記グループ鍵記憶手段から読み出し、読み出した前記コンテンツ鍵復号情報および前記グループ鍵復号情報と前記グループ鍵から、当該コンテンツのコンテンツ鍵を復号するコンテンツ鍵復号手段と、復号したコンテンツ鍵を用いて当該暗号化コンテンツを復号するコンテンツ復号手段とを有することを特徴とする。
【0025】
請求項13の発明は、請求項12の端末装置であって、前記コンテンツ鍵復号手段は、当該コンテンツの復号に必要なグループ鍵として前記グループ鍵記憶手段から読み出したグループ鍵が、下位グループをさらにグループ化して構成された上位グループに対して設定されたものであるとき、当該コンテンツを含む前記下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記グループ鍵によって復号して当該下位グループのグループ鍵を取得し、取得したグループ鍵が、当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵でなければ、当該コンテンツを含むさらに下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記取得したグループ鍵によって復号してさらに下位グループのグループ鍵を取得し、このグループ鍵の取得を当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵を取得するまで繰り返し、コンテンツ鍵を暗号化した際に用いたグループ鍵を取得すると、当該コンテンツのコンテンツ鍵復号情報中の暗号化コンテンツ鍵を当該グループ鍵によって復号して当該コンテンツのコンテンツ鍵を取得することを特徴とする。
【0026】
請求項14の発明は、請求項10または11に記載のコンテンツ配信装置から配信される情報を受信して暗号化コンテンツを復号する機能を端末装置に付与するためのプログラムであって、受信した前記暗号化コンテンツを記憶する処理と、受信した前記コンテンツ鍵復号情報および前記グループ鍵復号情報を記憶する処理と、受信したグループ鍵を記憶する処理と、記憶されたコンテンツのうち、所定のコンテンツに対する復号指令が入力されたことに応じて、当該コンテンツの復号に必要な前記コンテンツ鍵復号情報および前記グループ鍵復号情報を記憶手段から読み出すと共に、当該コンテンツの復号に必要な前記グループ鍵を記憶手段から読み出し、読み出した前記コンテンツ鍵復号情報および前記グループ鍵復号情報と前記グループ鍵から、当該コンテンツのコンテンツ鍵を復号する処理と、復号したコンテンツ鍵を用いて当該暗号化コンテンツを復号する処理と、を含むことを特徴とする。
【0027】
請求項15の発明は、請求項14のプログラムであって、前記コンテンツ鍵の復号処理は、当該コンテンツの復号に必要なグループ鍵として記憶手段から読み出したグループ鍵が、下位グループをさらにグループ化して構成された上位グループに対して設定されたものであるとき、当該コンテンツを含む前記下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記グループ鍵によって復号して当該下位グループのグループ鍵を取得し、取得したグループ鍵が、当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵でなければ、当該コンテンツを含むさらに下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記取得したグループ鍵によって復号してさらに下位グループのグループ鍵を取得し、このグループ鍵の取得を当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵を取得するまで繰り返し、コンテンツ鍵を暗号化した際に用いたグループ鍵を取得すると、当該コンテンツのコンテンツ鍵復号情報中の暗号化コンテンツ鍵を当該グループ鍵によって復号して当該コンテンツのコンテンツ鍵を取得することを特徴とする。
【0028】
本発明の特徴は、以下に示す実施の形態の説明により更に明らかとなろう。
ただし、以下の実施の形態は、あくまでも本発明の一つの実施形態であって、本発明ないし各構成要件の用語の意義は、以下の実施の形態に記載されたものに制限されるものではない。
【0029】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
【0030】
【第1実施例】
本実施例に係るコンテンツ配信システムの概要を図1に示す。
本実施例に示すコンテンツ配信システムは、サーバ10、端末装置20、コンテンツ配信手段30とから構成されている。
【0031】
サーバ10は、配布する暗号化コンテンツと暗号化コンテンツを復号するための鍵を保持する。この復号鍵は、不正にアクセスされない必要があるため、例えば、耐タンパー性の記憶手段によって安全に保管される。
【0032】
端末装置20は、利用者が取得した暗号化コンテンツと購入した復号鍵を保持し、さらに、取得した暗号化コンテンツを、購入した復号鍵で復号して再生する機能を備える。この端末装置20は、具体的には、パーソナルコンピュータ(PC)や携帯電話、PDA(Personal Digital Assistance)などにより実現される。なお、サーバ10から取得した復号鍵は、上記の如く、秘匿性が確保される必要がある。このため、端末装置20には、その内部に、または、脱着可能な形態で、安全な復号鍵保持手段が配備されている。
【0033】
コンテンツ配信手段30は、暗号化コンテンツやこれを復号するための復号鍵を端末装置20に提供するものである。このコンテンツ配信手段30は、たとえばインターネットを利用したデータ通信システムによって実現される。この他、CD−ROMやDVD等、記録媒体を用いた物流配送システム等によっても実現され得る。但し、本実施例では、インターネットを介したデータ通信システムによって構成されているものとする。
【0034】
サーバ10から端末装置20に配信されるコンテンツは、対応する暗号化鍵によって予め暗号化されている。この暗号化されたコンテンツは単体では再生できないため、任意の媒体や経路で配布することができ、また利用者間で共有することも可能である。
【0035】
一方、暗号化されたコンテンツを解く復号鍵は、課金対象とされており、利用者は代金を支払って、別途これを購入・取得する。このため、復号鍵の配布や保管においては、コピーや再配布等の不正利用を防ぐために、上記の如く、適切な保護がなされている。
【0036】
なお、本実施例では、暗号方式として、DES(Data Encryption Standard)やAES(Advanced Encryption Standard)などの共通鍵暗号方式が用いられる。
【0037】
次に、サーバ装置10に格納されたコンテンツを、所定のカテゴリーに従って分類する際に設定されるクラスとグループについて説明する。
【0038】
グループとは、サーバ装置10に格納されている全てのコンテンツから、所定の目的に従うコンテンツを抽出し、抽出したコンテンツを一つにまとめることにより構成されるコンテンツの集合、あるいは、このようにして構成された複数のグループをさらに所定の目的に従ってまとめることによって構成されるコンテンツの集合を表す単位を意味する。このようにコンテンツを所定のグループでまとめ、さらに各グループをその上位のグループでまとめると、各コンテンツとグループは、一つの階層構造に従って位置付けられることとなる。この階層構造は、さらに全く別の目的でコンテンツおよびグループをまとめることにより、他の階層構造として構成される。このように、それぞれの階層構造は、それを設定する目的毎に個別に成立する。クラスとは、このように個別に成立するそれぞれの階層構造全体を表す単位を意味する。
【0039】
なお、コンテンツの中には、何れのグループにも属さないコンテンツがあっても良い。また、クラスやグループの数に制限は無い。
【0040】
このような階層化とクラス化によってグループを構成すると、原理的には全てのコンテンツの組み合わせに対するコンテンツグループを存在させることが可能となる。
【0041】
コンテンツのクラスとグループによる分類例を図2に示す。
【0042】
図2に示すように、各クラスにおけるグループは階層的に配置されることから木構造でグループの上下関係を表すことができる。例えば、クラスCL1において、グループG10は、コンテンツCi(i=1,..,x)を含み、グループG10の親グループG20は、子グループに属する全てのコンテンツを含む。
【0043】
本実施例では、このコンテンツの分類において、コンテンツ毎に、コンテンツ鍵Kciとコンテンツ鍵復号情報INFxyを設定する。また、コンテンツグループ毎に、コンテンツグループ鍵Kcgjとグループ鍵復号情報INFxyを設定する。なお、これらコンテンツ鍵Kciとコンテンツグループ鍵Kcgjの詳細については、追って説明する。
【0044】
図3に、コンテンツ鍵Kciとコンテンツ鍵復号情報INFxy、コンテンツグループ鍵Kcgjとグループ鍵復号情報INFxyの設定例を示す。なお、図3は、図2に示す分類例の内、クラスCL1に対してコンテンツ鍵Kciとコンテンツ鍵復号情報INFxy、コンテンツグループ鍵Kcgjとグループ鍵復号情報INFxyを設定した例を示すものである。
【0045】
同図に示すように、コンテンツ鍵復号情報INFxyは、コンテンツCiに対して設定される。また、グループ鍵復号情報はINFxyは、各コンテンツグループGjに対して設定される。よって、グループ鍵復号情報INFxyは、コンテンツが何れのグループにも属さない場合は設定されない。また、最上位のグループに対しても設定されない。
【0046】
ここで、コンテンツ鍵Kciは、一つ上位のグループ鍵Kcg10によって暗号化され、コンテンツ鍵復号情報INF1g10に含められる。同様に、グループ鍵Kcg10は、一つ上位のグループ鍵Kcg20によって暗号化され、グループ鍵復号情報INFg10g20に含められる。
【0047】
このように、各コンテンツおよび各グループに、コンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyが設定された場合、例えば、図3において、最上位のグループのグループ鍵Kcg30が与えられると、一つ下位の復号情報INFg20に含まれる暗号化されたグループ鍵Kcg20をこのグループ鍵Kcg30にて復号することにより、当該グループのグループ鍵Kcg20を取得できる。同様に、順次、下位のグループ鍵の暗号化を復号により取得したグループ鍵によって解いて行けば、暗号化のないコンテンツ鍵Kciを取得できる。
【0048】
また、最上位のグループ鍵Kcg30が与えられなくとも、途中のグループのグループ鍵(例えばグループ鍵Kcg10)が与えられれば、コンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyに含められた暗号化された鍵を順次復号することにより、このグループに属する全てのコンテンツに対応したコンテンツ鍵Kciを取得できる。
【0049】
したがって、コンテンツ配信時に、このコンテンツのコンテンツ鍵を取得するに必要なコンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyを同時に配信しておき、その後、鍵の購入時に、適宜、グループ鍵を配信することにより、当該コンテンツのコンテンツ鍵を取得できる。これにより、当該コンテンツの再生が可能となる。
【0050】
なお、一つのグループ鍵Kcgjを購入すると、そのグループに含まれるコンテンツ全てを再生可能となるため、鍵の購入は、必然的にグループ単位となる。よって、そのグループ中に再生を所望しないコンテンツが含まれていたとしても、グループ鍵Kcgjを購入する場合には、再生を所望しないコンテンツを含めた当該グループ全体を再生できるグループ鍵Kcgjを購入することとなる。
【0051】
なお、再生を所望するコンテンツのみを再生しようとする場合には、グループ鍵Kcgjを購入せずに、再生を希望するコンテンツのコンテンツ鍵Kciのみを購入するようにすれば良い。
【0052】
また、上記の如く、各グループにグループ鍵Kcgjを設定し、コンテンツ鍵Kciとグループ鍵Kcgjを上位のグループのグループ鍵Kcgjにて順次暗号化する方法を採用したことにより、グループおよびクラスが種々変更されたとしても、各コンテンツのコンテンツ鍵Kciをこれに応じて変更する必要がなくなり、よって、暗号化されたコンテンツデータをサーバ10に予め格納しておく場合に、コンテンツ毎に一つのみ暗号化コンテンツデータを生成して格納しておけば良いようになる。これにより、暗号化コンテンツデータの容量を抑制しながら、任意のグループおよびクラスを簡易に設定できるようになる。
【0053】
同様に、所定のグループに新たなコンテンツを追加する場合には、当該コンテンツを追加するグループのグループ鍵によって、そのコンテンツのコンテンツ鍵を暗号化し、これを当該コンテンツのコンテンツ鍵復号情報INFxyに含めるだけでよいので、新たなコンテンツの追加を容易に行うことができる。
【0054】
なお、コンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyには、暗号化されたコンテンツ鍵およびグループ鍵の他、暗号化される鍵の属性情報(どのコンテンツまたはグループに対して設定された鍵かを示す情報等)と、暗号化に用いられた鍵の属性情報(どのグループに対して設定された鍵かを示す情報等)等が含められる。コンテンツ鍵復号情報INFxyおよびグループ鍵復号情報INFxyの詳細については、追って詳述する。
【0055】
ところで、コンテンツ鍵とグループ鍵の階層構造を木構造(以下、この木構造を鍵木と称する)として表現すると、鍵木の各ノードにコンテンツ鍵、あるいは、グループ鍵が配置されることとなる。すなわち、クラスCLn(n=1,2,3, …)に対応した鍵木Tnは、必ず1つの最上位ノードを持ち、また、最下位ノードには必ずコンテンツ鍵が配置されるように構成される。
【0056】
この鍵木の構造は、後述するクラス鍵リストKlist#CLnに記述され、コンテンツ鍵とグループ鍵を木構造に従って探索するとき用いられる。
【0057】
なお、上記のクラスとグループをよる分類は、配信するコンテンツを分類する一例であり、これに限られるものではない。例えば、クラスという概念を用いずに、全てのコンテンツをグループの組み合わせのみで分類することもできる。この場合、グループに含まれるコンテンツや下位グループはどのように構成されていても良く、当該コンテンツやグループが別のグループに多重して含まれていても良い。
【0058】
図4に、本実施例において用いられる各種情報の内容・種別を示す。
図において、コンテンツCiは、配信および再生対象とされる主たるコンテンツデータを意味する。Ciに付記された記号“i”は、コンテンツの識別子であり、コンテンツ毎にそれぞれ異なる。
【0059】
コンテンツグループCGjは、複数のコンテンツから構成される一つのグループを意味する。CGjに付記された記号“j”は、コンテンツグループの識別子であり、コンテンツグループ毎にそれぞれ異なる。
【0060】
コンテンツ鍵Kciは、コンテンツ毎に設定された鍵を意味し、サーバ装置10において、コンテンツCiを暗号化する際に用いられる。
【0061】
グループ鍵Kcgjは、コンテンツグループ毎に設定された鍵を意味し、端末装置20において、コンテンツ鍵Kciを復号際に用いられる。なお、グループ鍵Kcgjの具体的な設定・利用方法については、追って詳述する。
【0062】
暗号化コンテンツE(Ci,Kci)は、コンテンツCiをコンテンツ鍵Kciで暗号化したときの暗号化コンテンツデータを意味する。なお、記号E(Ci,Kci)は、暗号化コンテンツデータE(Ci,Kci)をコンテンツ鍵Kciで復号するとコンテンツCiが得られることをも同時に示すものである。
【0063】
復号情報INFxyは、サーバ装置10において、コンテンツ鍵Kciまたはグループ鍵Kcgjを暗号化(後述)する際に生成されるものであり、コンテンツ鍵Kcxまたはグループ鍵Kcgxを、一つ上位のグループ鍵Kcgyで暗号化したことにより得られる暗号化鍵データと、暗号化される鍵KcxまたはKcgxの属性情報および暗号化に用いられた鍵Kcgyの属性情報などを含む。なお、この復号情報INFxyの詳細については、追って、図6を参照しながら説明する。
【0064】
配布コンテンツCi#Dは、サーバ10から端末装置20に配布される配布情報を意味し、コンテンツCiをコンテンツ鍵Kciで暗号化した暗号化コンテンツE(Ci,Kci)と、この暗号化コンテンツE(Ci,Kci)に付される復号情報INFxyを含む。
【0065】
利用者鍵リストKlist#Uは、端末装置20において、利用者が保有する鍵のリストである。端末装置20の鍵保持部204に保持される。
【0066】
クラス鍵リストKlist#CLnは、対応コンテンツのグループ構成を木構造によって表すものである。ここで、記号“n”は、コンテンツクラスの識別子であり、コンテンツクラス毎に異なる番号である。
【0067】
配信者鍵リストKlist#Dは、サーバ10において、コンテンツとグループの関係、すなわち、クラスにおける保有する鍵の階層関係と有効範囲を示す情報であり、複数のクラス鍵リストKlist#CLから構成される。
【0068】
図5に、コンテンツ鍵Kciおよびグループ鍵Kcgjの構成を示す。
各コンテンツ鍵Kciおよびグループ鍵Kcgjは、鍵タイプFtype、コンテンツ識別情報Finf#cont、クラス識別情報Finf#class、グループ識別情報Finf#group、鍵値Fvalueから構成される。
【0069】
鍵タイプFtypeは、当該鍵がコンテンツ鍵かグループ鍵かを示す情報である。コンテンツ識別情報Finf#contは、当該鍵がコンテンツ鍵であるときに設定されるものであり、これにより、このコンテンツ鍵が何れのコンテンツに対する復号鍵かが特定される。
【0070】
クラス識別情報Finf#classは、当該鍵がグループ鍵であるときに設定されるものであり、これにより、このグループ鍵が何れのクラスに属するかが特定される。グループ識別情報Finf#groupは、当該鍵がグループ鍵であるときに設定され、これにより、このグループ鍵が何れのグループに対する復号鍵かが特定される。
鍵値Fvalueは、コンテンツ鍵あるいはグループ鍵のデータである。
【0071】
図6に、復号情報INFxyの構成を示す。
復号情報INFxyには、コンテンツに対するコンテンツ鍵復号情報とグループに対するグループ鍵復号情報があり、共にクラス識別情報Finf#class、暗号化情報、非暗号化情報、鍵値Fvalueから構成される。
【0072】
ここで、暗号化情報とは、暗号化に用いる上位の鍵を識別するための情報であり、当該上位の鍵が設定されたグループを識別するためのグループ識別情報Finf#upperにより構成される。
【0073】
また、非暗号化情報とは、暗号化される鍵を識別するための情報であり、鍵タイプFtype、グループ識別情報Finf#group、コンテンツ識別情報Finf#contにより構成される。ここで、鍵タイプFtypeは、当該鍵がコンテンツ鍵かグループ鍵かを示す。また、グループ識別情報Finf#groupは、当該鍵がグループ鍵であるときに設定され、これにより、このグループ鍵が何れのグループに設定された鍵かが特定される。さらに、コンテンツ識別情報Finf#contは、当該鍵がコンテンツ鍵であるときに設定され、これにより、このコンテンツ鍵が何れのコンテンツに対する復号鍵かが特定される。
値Fvalueは、上位グループ鍵で暗号化された当該鍵のデータである。
【0074】
本実施例では、コンテンツ鍵とグループ鍵を提供される鍵とし、暗号化コンテンツデータと復号情報を配布コンテンツとする。
コンテンツ鍵と暗号化コンテンツの機能上の関係および用途は、従来の配信システムと同様である。また、グループ鍵はコンテンツをまとめて提供するための鍵であり、このグループ鍵によって個々のコンテンツを復号するために、復号情報を利用する。
具体的には、コンテンツは、クラスとグループによって分類されており、各グループに対してグループ鍵が生成され、コンテンツ鍵あるいは下位のグループ鍵は、鍵木の構造に従って上位のグループ鍵で暗号化される。この暗号化の状態を示す復号情報は、暗号化コンテンツに付加され配布される。
暗号化コンテンツを復号する際、鍵木の構造に従って、復号情報中の暗号化された鍵(グループ鍵またはコンテンツ鍵)が、取得したグループ鍵を用いて、順次復号される。この復号により得られたコンテンツ鍵を用いて、暗号化コンテンツが復号される。
【0075】
次に、第1実施例におけるサーバ10および端末装置20の構成について説明する。
図7にサーバ10の構成を示す。
サーバ10は、制御部100と、表示部101、入力部102、コンテンツ保持部103、鍵保持部104、リスト解析部105、暗号化部106、乱数生成部107、コンテンツ合成部108、バス109から構成される。
【0076】
制御部100は、上記各機能部に処理の実行を指示し、サーバ10全体の処理を制御する。表示部101は、視覚情報を表示する。入力部102は、外部からの入力を処理する。
【0077】
コンテンツ保持部103は、暗号化コンテンツE(Ci,Kci)を保持する。鍵保持部104は、コンテンツ鍵Kci、グループ鍵Kcgj、配信者鍵リストKlist#Dを保持する。
【0078】
リスト解析部105は、鍵保持部108から読み出された鍵リストKlist#Dを解析する。暗号化部106は、入力された鍵とデータに基づいて暗号演算処理を行い、暗号化データを生成する。乱数生成部107は、乱数を発生することによりグループ鍵Kcgjを生成する。
【0079】
コンテンツ合成部108は、暗号化されたグループ鍵またはコンテンツ鍵と、グループやコンテンツを識別する情報等を含む復号情報を生成し、これと暗号化コンテンツをまとめて、1つの配布用コンテンツとして生成する。バス109は、上記機能部を接続するデータバスである。
【0080】
図8に端末装置20の構成を示す。
端末装置20は、制御部200と、表示部201、入力部202、記憶部203、鍵保持部204、鍵リスト解析部205、コンテンツ解析部206、復号部207、鍵バッファ208、再生部209、各機能部を接続するバス210から構成される。
【0081】
制御部200は、上記各機能部に処理の実行を指示し、端末装置20全体の処理を制御する。表示部201は、端末操作による処理結果等を表示する。入力部202は、利用者が入力した情報を処理する。
【0082】
記憶部203は、暗号化コンテンツ(配布コンテンツ)、復号情報を保持する。鍵保持部204は、購入した鍵とこれを管理する利用者鍵リストKlist#Uを保持するものであり、耐タンパーな性質を持つ安全な記憶手段によって構成されている。この鍵保持部204は、端末装置20に内蔵されている形態の他、端末装置20に対し脱着可能な形態であっても良い。
【0083】
鍵リスト解析部205は、鍵保持部208から取得された利用者鍵リストKlist#Uを解析し、目的のグループ鍵の存在などを調べる。コンテンツ解析部206は、記憶部203から取得された配布コンテンツCi#Dを解析し、暗号化コンテンツデータE(Ci,Kci)と各復号情報INFxyを分離し、これらを必要に応じて復号部207へ出力する。
【0084】
復号部207は、入力された鍵と暗号化データを復号し、そのデータを出力する。鍵バッファ208は、復号部207の復号結果を一時的に保持する。再生部209は、復号されたコンテンツCiを再生する。バス210は、上記機能部を接続するデータバスである。
【0085】
次に、第1実施例における各処理について説明する。
まず、クラスおよびグループ設定時の処理について説明する。このときの処理フローを図9に示す。
【0086】
サーバ10は、コンテンツCiと各コンテンツに対するコンテンツ鍵Kciを、予め保有している。コンテンツCiは、対応するコンテンツ鍵Kciで暗号化され、暗号化コンテンツE(Ci,Kci)としてコンテンツ保持部103に保持されている。また、グループ鍵Kcgjと鍵リストKlist#Dは、鍵保持部104に保持されている。
【0087】
まず、制御部100は、コンテンツの種類を表示部101に表示し、サーバのユーザ(配信者)に対してグループおよびクラスの設定を促す。そして、入力部102を介して入力されたグループとクラスの設定情報に基づいて、制御部100は、配信者鍵リストKlist#Dを作成し、これを鍵保持部104に出力する(ステップS100)。
【0088】
制御部100は、配信者鍵リストKlist#Dの中から1つのクラスを選択し(これをクラスCLnowと表す)、クラス鍵リストKlist#CLnowをバス109を介して、リスト解析部105に入力する(ステップS101)。続いて、制御部100は、クラス鍵リストKlist#CLnowに記述された鍵木Tn(n=now)の最上位ノードに対するグループ鍵Kcgjを、乱数生成部107によって生成させ、生成されたグループ鍵Kcgjを鍵保持部104に出力する(ステップS102)。
【0089】
リスト解析部105では、鍵木Tnowのノード(最上位ノードを除く)の中から1つのノードGnowを取り出す。ここで、ノードは、鍵木Tnowから幅探索順(最上位から下位)に取り出される。(ステップS103)。
【0090】
制御部100は、取り出したノードGnowが鍵木Tn(n=now)の最下位ノードであるか否かを検証する(ステップS104)。このとき最下位ノードでなければ、制御部100はこのノードに設定される鍵Kcgj(j=now)を乱数生成部107によって生成させる。生成された鍵Kcgj(j=now)は、このグループGnowのグループ鍵Kcgjとして鍵保持部104に出力される(ステップS105)。
【0091】
一方、S104において、前記ノードGnowが最下位ノードである場合は、上記S105の処理はスキップされる。
【0092】
次に、制御部100は、前記ノードGnowの上位ノードGupに対応するグループ鍵Kcgj(j=up)を、バス109を介して鍵保持部104から読み出し、暗号化部106に暗号化鍵として与える。
【0093】
このとき、ステップS105を実行した場合には、前記生成したグループ鍵Kcgj(j=now)を鍵保持部104から読み出して暗号化部106に出力する。一方、ステップS105を実行しなかった場合には、コンテンツ鍵Kciをバス109を介して鍵保持部104から読み出し、これを暗号化部106に出力する。
【0094】
暗号化部106は、入力されたグループ鍵Kcgj(j=up)を用いて、グループ鍵Kcgj (j=now)またはコンテンツ鍵Kciを暗号化する(ステップS106)。
【0095】
続いて、制御部100は、暗号化部106によって暗号化されたグループ鍵Kcgj (j=now)またはコンテンツ鍵Kciをコンテンツ合成部108に入力し、さらに、ノードGnowに属するコンテンツCi(i∈j,j=now)の暗号化コンテンツE(Ci,Kci)を、コンテンツ保持部103から取り出し、バス109を介してコンテンツ合成部108に入力する。
【0096】
コンテンツ合成部108は、グループKgnowまたはコンテンツCiに設定される復号情報INFxyのFvalueとして暗号化されたグループ鍵Kcgj (j=now)またはコンテンツ鍵Kciを含め、この復号情報INFxyを暗号化コンテンツE(Ci,Kci)に付加する(ステップS107)。そして、復号情報INFxyが付加された暗号化コンテンツE(Ci,Kci)を、配布コンテンツCi#Dとしてコンテンツ保持部103に保持する。
【0097】
続いて、制御部100は、リスト解析部105が鍵木Tn(n=now)から全てのノードを取り出したか否かを判定する(ステップS108)。ノードの取り出しが完了していない場合、ステップS104へ移行し、幅探索順によるノード出力を続行する。
【0098】
一方、鍵木Tn(n=now)の取り出しが完了している場合、制御部100は、配信者鍵リストKlist#Dのクラス全てのクラス鍵リストKlist#CLを、リスト解析部106に入力し終えたかを判定する(ステップS109)。そして、未だ入力されていないクラス鍵リストKlist#CLがある場合、ステップS101に移行する。一方、全てのクラス鍵リストKlist#CLが入力を終えた場合、本処理を終了する。
【0099】
以上の処理により、暗号化コンテンツE(Ci,Kci)に、コンテンツ鍵復号情報INFxyおよび幾つかのグループ鍵復号情報INFxyが付加された配布コンテンツCi#Dが得られる。
【0100】
上記の処理において、ステップS106において暗号化されるグループ鍵Kcgj (j=now)は、ステップS108からの移行により、再びステップS106を実行する際に、グループ鍵Kcgj(j=up)として用いることになるため、使用した暗号化鍵を次の暗号処理までバッファ等に格納しておくと、暗号化鍵の読み込み処理を簡易にすることができる。
【0101】
また、上記の処理において、ノード単位で実行されるステップS107をスキップし、ステップS106で作成した復号情報をバッファ等に順次蓄えておき、例えば、ステップS101で別のクラス鍵リストKlist#CLが読み込まれたとき、ステップS106で作成した復号情報をまとめて処理するようにしても良い。このように処理すると、ステップS107におけるコンテンツ保持部103からの暗号化コンテンツ読み込み回数を削減することができる。
【0102】
上記のように、本実施例の配布コンテンツ作成処理は、鍵木Tnの1つのノードに対し復号情報を作成し、これを関係する暗号化コンテンツに付加する処理を、全てのノードに対して実行するものである。
【0103】
このほか、まず1つの暗号化コンテンツに付加されるべき復号情報を作成し、暗号化コンテンツに付加する処理を、全ての暗号化コンテンツに対して実行する方法であっても良い。
【0104】
さらに、復号情報の生成処理と暗号化コンテンツへ付加する処理を、鍵木の構造に従って効率よく織り交ぜてもよい。これらの処理順序の違いは、本配布コンテンツ生成処理の本質と異なるものである。したがって、例えば、図9に示すステップS101およびステップS103におけるノード出力において、深さ探索等の別の鍵木探索手順を用いて行うことができる。
【0105】
次に、一旦、配布コンテンツCi#Dを作成した後に、グループにコンテンツおよび別のグループを追加する処理について説明する。
【0106】
図10に、作成済みのクラスCLnのグループGjに、新たなコンテンツCiを追加する処理フローを示す。このとき、追加するコンテンツCiは、新たに作成したものでも、既存のものでも良く、クラスCLn内において、何れのグループにも属していないものである。
【0107】
制御部100は、コンテンツに関するクラスやグループの構造を表示部101に表示し、サーバのユーザ(配信者)に対して新たに追加するコンテンツCiと追加先のクラスCLnとグループGjの指示入力を促す。入力部102を介して入力された情報に基づいて、鍵保持部104に保持されるクラス鍵リストKlist#CLnを更新する(ステップS200)。
【0108】
次に、制御部100は、更新されたクラス鍵リストKlist#CLnをバス109を介してリスト解析部105に出力する。リスト解析部105は、現在のノードGnowの下位ノードであり、コンテンツCiが属するノードを取り出し、これをノードGnowとする(ステップS201)。ここで、初めてステップS201を実行する場合、最上位ノードがGnowとして取り出される。
【0109】
次に、制御部100は、ノードGnowの下位ノードGnow#downが最下位ノードであるか否かを判定する(ステップS202)。最下位ノードである場合、ステップS205へ移行する。最下位ノードでない場合、コンテンツ保持部103からノードGnow#downに対して設定されたグループ鍵復号情報INFxyを取り出し、これをバス109を介してコンテンツ合成部108に入力する(ステップS203)。ここで、配布コンテンツCi#Dがコンテンツ合成部108に入力されていない場合、コンテンツ保持部103から配布コンテンツCi#Dを取り出し、これをバス109を介してコンテンツ合成部108に入力する。
【0110】
コンテンツ合成部108は、S203で取得したグループ鍵復号情報INFxyを配布コンテンツCi#Dに付加し、これを新しく配布コンテンツCi#Dとする(ステップS204)。
【0111】
ステップS204を終了すると、ステップS201に移行し、鍵木Tnに従って、上述した配布コンテンツCi#Dに対するグループ鍵復号情報INFxyの追加処理を繰り返す。これにより、配布コンテンツCi#Dには、探索経路に従った各ノード位置のグループ鍵復号情報INFxyが逐次追加される。
【0112】
一方、ステップS202において、ノードGnow#downが最下位ノード、すなわち新たに追加するコンテンツCiである場合、制御部100は、鍵保持部104からノードGnowのグループ鍵Kcgnowおよび当該新たに追加するコンテンツCiのコンテンツ鍵Kciを取り出し、これをバス109を介して暗号化部106に入力する。
【0113】
暗号化部106は、コンテンツ鍵Kciをグループ鍵Kcgnowを用いて暗号化し、これをコンテンツ合成部108に入力する(ステップS205)。
【0114】
コンテンツ合成部108は、得られた暗号化されたコンテンツ鍵Kciをコンテンツ鍵復号情報INFxyのFvalueに含める。ここで、配布コンテンツCi#Dがコンテンツ合成部108に入力されていない場合、制御部100は、コンテンツ保持部103から配布コンテンツCi#Dを取り出し、これをバス109を介してコンテンツ合成部108に入力する。
【0115】
コンテンツ合成部108は、配布コンテンツCi#Dに前記コンテンツ鍵復号情報INFxy(x=i,y=gnow)を付加し、これを配布コンテンツCi#Dとして、コンテンツ保持部103に再び保存する(ステップS206)。これにより、新たに追加されるコンテンツに対して実行される、コンテンツ鍵Kciの暗号化処理と、グループ鍵復号情報およびコンテンツ鍵復号情報の付加処理を終了する。
【0116】
次に、端末装置における暗号化コンテンツ復号処理について説明する。
端末装置において、グループ鍵Kcgjおよびコンテンツ鍵Kciを用いて、暗号化コンテンツE(Ci,Kci)を復号して再生する手順を図11に示す。
【0117】
ここで、上記の如く、グループ鍵Kcgjを取得することにより、グループ鍵復号情報INFxyを用いて、グループGjに属する全ての暗号化コンテンツE(Ci,Kci)を復号することができる。
【0118】
また、以下の処理にあたり、コンテンツ保持部103には、予め配布コンテンツCi#Dが保持されており、鍵保持部204には、購入した鍵(グループ鍵Kcgjおよびコンテンツ鍵Kci)、利用者鍵リストKlist#Uが予め作成されているものとする。利用者鍵リストKlist#Uには、利用者が購入した鍵の情報がリストとして記載されており、購入した各鍵から取り出された、鍵タイプFtype、コンテンツ識別情報Finf#cont、クラス識別情報Finf#class、グループ識別情報Finf#groupによって構成され、これにより、利用者が保持する鍵のグループ関係がわかるようになっている。
【0119】
なお、説明上、当初の鍵バッファ208には、鍵データが保持されていないものとする。
【0120】
まず、制御部200は、記憶部203に保持された配布コンテンツCi#Dや、鍵保持部204に保持された利用者鍵リストKlist#Uを、表示部201に出力し、端末装置のユーザに対して、再生するコンテンツの指示入力を促す。
【0121】
入力部202を介して入力されたコンテンツCiを示す情報に基づいて、制御部200は、配布コンテンツCi#Dを記憶部203から読み出し、バス210を介してコンテンツ解析部206に入力する(ステップS300)。この配布コンテンツCi#Dの読み出しは、配布コンテンツCi#Dの要素が必要になった時点で行うことにしても良い。
【0122】
次に、制御部200は、コンテンツCi#D、および鍵保持部204に保持する鍵リストKlist#Uを、バス210を介して鍵リスト解析部205に入力する。
【0123】
鍵リスト解析部205は、鍵リストKlist#Uの中にコンテンツ鍵Kciが存在するか判定する(ステップS301)。コンテンツ鍵Kciが存在する場合、ステップS306へ移行する。コンテンツ鍵Kciが存在しない場合、コンテンツCiを含むグループGnow(i∈now)のグループ鍵Kcgnowが存在するか判定する(ステップS302)。
【0124】
S302において、グループ鍵Kcgnowが存在しない場合、復号不可能として処理を終了する。
【0125】
一方、複数のグループ鍵Kcgnowが存在する場合、制御部200は、このうち最下位のグループをグループGnowとする。そして、鍵バッファ208にデータが保持されているかを判定し、鍵バッファ208にデータが保持されている場合、保持されているデータをグループ鍵Kcgnowとして復号部207へ入力する。一方、鍵バッファ208にデータが保持されていない場合、グループGnowのグループ鍵Kcgnowを鍵保持部204から取り出し、バス210を介して復号部207へ入力する。
【0126】
さらに、コンテンツ解析部206は、配布コンテンツCi#D中のグループ鍵復号情報INFxyのうち、グループGnowよりも一つ下位のグループGnow#downのグループ鍵復号情報INFxyを特定し、このグループ鍵復号情報INFxy中の値Fvalueを記憶部203から取り出し、制御部200はこれを復号部207へ入力する。復号部207は、グループ鍵Kcgnowを用いて、値Fvalueを復号する(ステップS303)。
【0127】
続いて、制御部200は、グループGnow#downを新たにグループGnowとし(ステップS304)、これに設定された復号情報INFxyの非暗号化情報の鍵タイプFtypeが、コンテンツ鍵かグループ鍵かを判定する(ステップS305)。判定の結果、コンテンツ鍵でない場合、ステップS303へ移行し上記の処理を繰り返す。一方、コンテンツ鍵である場合、制御部200は、コンテンツ解析部206から暗号化コンテンツE(Ci,Kci)を取り出し、これを復号部207へ入力する。復号部207は、ステップS303で得られた復号結果をコンテンツ鍵Kciとし、これを用いて暗号化コンテンツE(Ci,Kci)を復号する(ステップS306)。
【0128】
制御部200は、この復号結果をコンテンツCiとしてバス210を介して再生部209に入力し、再生部209は、コンテンツCiを再生し、本処理を終了する。
【0129】
上記復号再生処理では、再生するコンテンツCiの選択に基づいて、これを復号するためのグループ鍵Kcgj(i∈j)およびコンテンツ鍵Kciを検索し、得られた鍵を用いて暗号化コンテンツを復号し再生しているが、このほか、利用者が購入した鍵を指定し、その鍵で復号可能なコンテンツを再生する形態であっても良い。
【0130】
このような形態は、例えば、グループに属するコンテンツを、連続して再生する場合に有効である。この形態においても、図11に示す処理のステップS300において、利用者が指示する情報が鍵を選択するものであり、再生するコンテンツCiが番号の若い順序とすることにより実現することができる。
【0131】
【第2実施例】
本発明の別の実施形態として、利用者側でグループ鍵を設定する方法について説明する。本実施例では、端末装置20の利用者が、図2に示すようなクラスとグループを用いて、自由にコンテンツの分類を行い、図3に示すようなコンテンツグループ鍵Kcgjと復号情報INFxyを設定することにより、グループ単位で鍵を生成する。
【0132】
本実施例の配信システム、およびシステムを構成するサーバ10の構成は、第1実施例と同様である。
【0133】
また、第1実施例における端末装置30と同一の機能を有するブロックには、同一番号を付し、その説明は省略する。以下、本発明により新たに提供される機能についてのみ、説明する。
【0134】
本実施例の端末装置20の構成を図13に示す。第1実施例の端末装置20の構成に加えて、暗号化部211と乱数生成部212が追加されている。
【0135】
暗号化部211は、入力された鍵とデータに基づいて暗号演算処理を行い、暗号化データを生成する。乱数生成部212は、グループ鍵Kcgjを生成する。
【0136】
端末装置20がこれらの構成を有することにより、第1実施例において、サーバ10が行っていた鍵の生成を、端末装置40において行うことができる。具体的には、クラスCLnおよびグループGjの設定に基づきグループ鍵Kcgjを生成する処理、配信者鍵リストKlist#Dを生成する処理、既存のグループに新たにコンテンツを加える処理が、第1実施例のサーバ10におけるグループに対応したコンテンツ生成処理(図9)および追加処理(図10)と同様にして実行される。
【0137】
但し、本実施例においては、図9の処理フロー中、ステップS100にてクラスとグループの設定対象とされるコンテンツは、コンテンツ鍵Kciを持つコンテンツに限られる。すなわち、コンテンツ鍵Kciを有さないコンテンツが記憶部203に記憶されていたとしても、このコンテンツは、ステップS100の処理対象とはならない。
【0138】
また、生成した各復号情報INFxyは、記憶部203にまとめて保持しておけば良く、図9におけるステップS107を実行する必要はない。
【0139】
さらに、本実施例においては、グループ鍵に基づいてコンテンツ鍵を生成することができるため、グループ鍵Kcgjを作成した後には、最上位グループに対するグループ鍵Kcgjと、何れのグループにも属さないコンテンツのコンテンツ鍵Kciを除いて、全ての鍵を消去することができる。
次に、端末装置20において、コンテンツに対するグループ設定を解除し、個々のコンテンツ鍵を復元する処理手順を図12に示す。
【0140】
まず、制御部200は、1つのグループ鍵Kcgjを選択し、これを復号鍵として復号部207に入力する(ステップS400)。
【0141】
次に、制御部200は、記憶部203からグループ鍵KcgjのグループGjより下位の全てのグループGj#downに設定されたグループ鍵復号情報INFxyを順次取り出し、これを復号部207に入力する。復号部200は、グループGjより一つ下位のグループに設定されたグループ鍵復号情報INFxyを復号鍵Kcgjを用いて復号する。さらに、復号されたグループ鍵Kcgj#downを用いてさらに一つ下位のグループに設定されたグループ鍵復号情報INFxyを復号する。この復号処理を繰り返すことで、グループGjより下位の全てのグループGj#downに設定された全てのグループ鍵Kcgj#downを取り出す(ステップS401)。
【0142】
さらに、最下位のグループ鍵Kcgj#underを用いて、各暗号化コンテンツに付加されたコンテンツ鍵復号情報INFxyを復号し、グループGjに属する全てのコンテンツ鍵Kciを取り出す(ステップS402)。そして、グループGjに属するコンテンツの暗号化コンテンツに付加されたコンテンツ鍵復号情報、グループ鍵復号情報、グループ鍵を、全て消去する(ステップS403)。
【0143】
次に、全てのコンテンツ鍵が得られたか否か判定し(ステップS404)、コンテンツ鍵が全て得られていない場合、ステップS400へ移行し、別のグループ鍵を選択して上記処理を繰り返す。S404において、コンテンツ鍵が全て得られた場合、これらを復元したコンテンツ鍵として、鍵保持部204の利用者鍵リストKlist#Uに登録し(ステップS405)、本処理を終了する。
【0144】
このように、端末装置20によって、コンテンツ利用者は、配信されたコンテンツに対して、グループを設定し、このグループに属するコンテンツを復号するグループ鍵を独自に設定することができる。
【0145】
なお、上記実施例では、コンテンツ利用者が、独自にコンテンツをグループ管理する環境を構築した場合に、グループから個々のコンテンツを復元する処理を示したが、このほか、コンテンツをグループで配信するコンテンツ配信システムにおいて、利用者がグループ鍵からコンテンツ鍵を生成して管理するよう変更することもできる。
【0146】
【第3実施例】
本実施例は、グループやコンテンツを一意に管理し、既に作成したグループを取り込んで新たに別の上位グループを構成する場合、既に作成したグループ鍵や復号情報等を利用して、当該新たなグループの配布コンテンツを生成するものである。
【0147】
本実施例では、図4に示す配信者鍵リストKlist#D、利用者鍵リストKlist#U、クラス鍵リストKlist#CLnに加えて、復号情報リストINFlistを用いる。ここで、復号情報リストINFlistとは、配布コンテンツに含まれるコンテンツ鍵復号情報あるいはグループ鍵復号情報INFxyの属性情報のリストである。
【0148】
本実施例では、この復号情報リストINFlistと、コンテンツCiをコンテンツ鍵Kciで暗号化した暗号化コンテンツE(Ci,Kci)とが配布コンテンツCi#Dとして配布される。
【0149】
以下、かかる復号情報リストINFlist、および図4に示されたその他のリスト情報の詳細を説明する。
図14に、配信者鍵リストKlist#Dの構成を示す。
【0150】
配信者鍵リストKlist#Dは、配信者側が管理する鍵のリスト情報であり、コンテンツ鍵の総数Mc、各コンテンツ鍵の属性情報、グループ鍵の総数Mg、各グループ鍵の属性情報を含む。ここで、コンテンツ鍵およびグループ鍵の属性情報は、当該コンテンツ鍵およびグループ鍵がどのコンテンツおよびグループに付されたものであるかを示す情報のほか、当該コンテンツ鍵およびグループ鍵の格納場所や作成日等の情報を含む。
【0151】
なお、図4に示された利用者鍵リストKlist#Uは、利用者側が保持する鍵のリスト情報であり、その構成は、図14に示す配信者鍵リストKlist#Dと同一である。
【0152】
図15に、復号情報リストINFlistの構成を示す。
復号情報リストINFlistは、配信者側が管理する復号情報のリスト情報であり、復号情報の総数Minf、各復号情報INFxyの属性情報を含む。ここで、復号情報INFxyの属性情報は、当該復号情報がどのコンテンツおよびグループに付されたものであるかを示す情報のほか、当該復号情報INFxyの格納場所や作成日等の情報を含む。
【0153】
図16に、クラス鍵リストKlist#CLの構成を示す。
クラス鍵リストKlist#CLは、配信者側が構成したクラスのリスト情報であり、クラス識別情報CL、各クラスに含まれるノード数Num#Nodeおよび各ノードのノード情報INFnodeを含む。
【0154】
クラス識別情報CLは、クラスを識別するための情報である。
ノード数Num#Nodeは、当該クラスが持つノードの数である。
ノード情報INFnodeは、各ノードについての情報である。
ノード情報INFnodeの構成を図17に示す。
ノード情報INFnodeは、ノード番号Nt、上位ノード番号Nu、下位ノード数M、下位ノード番号Ndとから構成される。
ノード番号Ntは、ノードを一意に識別するために付された番号である。
上位ノード番号Nuは、当該ノードの1つ上位のノードのノード番号である。
下位ノード数Mは、当該ノードの1つ下位のノードの数である。
下位ノード番号Ndは、当該ノードの1つ下位のノードノード番号である。
【0155】
次に、これらの情報を用いてグループに対応した配布コンテンツを生成する際の処理を説明する。
本実施例では、第1実施例の同処理のフローを示す図9において、ステップS107の処理、すなわち、“ノードGnowに属する全ての暗号化コンテンツに対して、生成したグループ鍵復号情報およびコンテンツ鍵復号情報を付加する”との処理に代わり、生成したグループ鍵復号情報およびコンテンツ鍵復号情報を復号情報リストINFlistに追加する処理を行う。
【0156】
本処理のフローを図18に示す。
サーバ10は、コンテンツCiと各コンテンツに対するコンテンツ鍵Kciを、予め保有している。コンテンツCiは、対応するコンテンツ鍵Kciで暗号化され、暗号化コンテンツE(Ci,Kci)としてコンテンツ保持部103に保持されている。また、グループ鍵Kcgjと鍵リストKlist#Dは、鍵保持部104に保持されている。
【0157】
まず、制御部100は、コンテンツの種類を表示部101に表示し、サーバのユーザ(配信者)に対してグループおよびクラスの設定を促す。そして、入力部102を介して入力されたグループとクラスの設定情報に基づいて、制御部100は、配信者鍵リストKlist#D、クラス鍵リストKlist#CL、復号情報リストINFlistを作成し、これを鍵保持部104に出力する(ステップS500)。
【0158】
次に、制御部100は、配信者鍵リストKlist#Dの中から1つのクラスを選択し(これをクラスCLnowと表す)、クラス鍵リストKlist#CLnowをバス109を介して、リスト解析部105に入力する(ステップS501)。続いて、制御部100は、クラス鍵リストKlist#CLnowに記述された鍵木Tn(n=now)の最上位ノードに対するグループ鍵Kcgjを、乱数生成部107によって生成させ、生成されたグループ鍵Kcgjを鍵保持部104に出力する(ステップS502)。
【0159】
リスト解析部105では、鍵木Tnowのノード(最上位ノードを除く)の中から1つのノードGnowを取り出す。ここで、ノードは、鍵木Tnowから幅探索順(最上位から下位)に取り出される。また、各クラスにおいて初めて本処理を行う場合、ノードGupとして、最上位ノードを設定する(ステップS503)。
【0160】
制御部100は、クラス鍵リストKlist#CLnowのノードGnowとノードGupとを用いて、復号情報リストINFlistの中から、これらのノードに対応するグループ鍵復号情報INFxy(x=now, y=up)の属性情報を検索し、グループ鍵復号情報INFxy(x=now, y=up)が存在するか否かの判断を行う(ステップS504)。
【0161】
ここで、グループ鍵復号情報INFxy(x=now, y=up)が既に生成済みであり、復号情報リストINFlistにグループ鍵復号情報INFxy(x=now, y=up)の属性情報が存在する場合、ステップS509へ移行する。
【0162】
一方、ステップS504において、グループ鍵復号情報INFxy(x=now, y=up)が未だ生成されていないと判断された場合、制御部100は、配信者鍵リストKlist#Dの中から、グループ鍵Kgnowに対応する属性情報を検索し、取り出したノードGnowが鍵木Tn(n=now)の最下位ノードであるか否かを検証する(ステップS505)。
【0163】
このとき、最下位ノードでなければ、制御部100はこのノードに設定される鍵Kcgj(j=now)を乱数生成部107によって生成させる。生成された鍵Kcgj(j=now)は、このグループGnowのグループ鍵Kcgnowとして鍵保持部104に出力される(ステップS506)。
【0164】
一方、S505において、前記ノードGnowが最下位ノードである場合は、上記S506の処理はスキップされる。
【0165】
次に、制御部100は、前記ノードGnowの上位ノードGupに対応するグループ鍵Kcgj(j=up)を、バス109を介して鍵保持部104から読み出し、暗号化部106に暗号化鍵として与える。
【0166】
このとき、ステップS506を実行した場合には、前記生成したグループ鍵Kcgj(j=now)を鍵保持部104から読み出して暗号化部106に出力する。一方、ステップS506を実行しなかった場合には、生成済のグループ鍵Kcgjまたはコンテンツ鍵Kciをバス109を介して鍵保持部104から読み出し、これを暗号化部106に出力する。
【0167】
暗号化部106は、入力されたグループ鍵Kcg(j=up)を用いて、グループ鍵Kcgj (j=now)またはコンテンツ鍵Kciを暗号化する(ステップS507)。
【0168】
続いて、制御部100は、暗号化部106によって暗号化されたグループ鍵Kcgj (j=now)またはコンテンツ鍵Kciをバス109を介して鍵保持部104に出力し、復号情報リストINFlistを更新する(ステップS508)。
【0169】
続いて、制御部100は、リスト解析部105が鍵木Tn(n=now)から全てのノードを取り出したか否かを判定する(ステップS509)。ノードの取り出しが完了していない場合、ステップS502へ移行し、幅探索順によるノード出力を続行する。
【0170】
一方、鍵木Tn(n=now)の取り出しが完了している場合、制御部100は、配信者鍵リストKlist#Dのクラス全てのクラス鍵リストKlist#CLを、リスト解析部106に入力し終えたかを判定する(ステップS510)。そして、未だ入力されていないクラス鍵リストKlist#CLがある場合、ステップS501に移行する。一方、全てのクラス鍵リストKlist#CLが入力を終えた場合、本処理を終了する。
【0171】
なお、本実施例では、生成された復号情報リストINFlistは暗号化コンテンツE(Ci,Kci)には付加される形態ではなく、コンテンツ配信時には、鍵保持部104に保持される復号情報リストINFlistと、コンテンツ保持部103に保持される当該復号情報リストINFlistに対応する暗号化コンテンツE(Ci,Kci)とが共に、配布コンテンツとして配信される。
【0172】
上記実施例では、復号情報リストINFlistは、各ノードにおける鍵情報KciまたはKcgi、鍵復号情報INFxyを含む構成としたが、これらを別途格納し、格納されたこれらの情報へのポインタを含むようにしてもよい。
【0173】
以上、第1〜第3の実施形態によれば、グループ鍵をコンテンツ鍵に依存することなく設定することができ、また、異なる分類を示すクラス毎に独立なグループ階層を構成することができるため、任意のコンテンツの組み合わせに対し、グループ鍵を生成することができる。
【0174】
コンテンツを提供するサーバにおいては、各コンテンツ、各グループに対応したコンテンツ鍵、グループ鍵を提供するだけでなく、コンテンツをから構成されるクラスの最上位のグループ鍵のみを保持し、この上位グループ鍵とこのグループ鍵に対応したグループ鍵復号情報とを用いて、下位のグループ鍵およびコンテンツ鍵を動的に生成するようにしても良い。このような形態では、最上位のグループ鍵のみを保持すれば良いため、鍵管理におけるコストを削減することができる。
【0175】
また、端末装置30においてグループ鍵を保持する場合、暗号化されたコンテンツグループの復号用の鍵として使用されるだけでなく、グループ鍵とこのグループ鍵に対応するグループ鍵復号情報を用いて、下位のグループ鍵およびコンテンツ鍵を生成することもできる。このように、コンテンツ利用者側で、コンテンツをグループに分割して扱うことが出来るため、特定コンテンツのみを切り出し、これを安全に転送することなど、ユーザにコンテンツをさまざまな形態の使用環境を提供することができる。
【0176】
なお、本発明は、上記実施の形態に限定されるものではなく、他に種々の変更が可能であることは言うまでもない。
【0177】
例えば、上記の実施形態では、サーバ10および端末装置20の構成を機能ブロック毎に分けて示したが、それぞれのブロックはハードウェアとして明確に区分されている必要はなく、1つのハードウェアによって複数の機能が実行されるようにすることも、勿論可能である。
【0178】
また、上記実施の形態に示した各部の機能は、サーバ10および端末装置20に内蔵されたメモリ(ROM)に予め記憶されたプログラムによって実現されるものの他、これらの機能をコンピュータに付与するためのプログラムを、内蔵メモリ(RAM)に外部からダウンロードすることにより、サーバ10および端末装置20にこれらの機能を別途付与するようにしても良い。この場合、プログラムは、CD−ROM等の記憶媒体をサーバ10および端末装置20に装着することにより、あるいは、インターネットを介して配信サーバから配信を受けることにより、各装置の内蔵メモリ(RAM)にダウンロードされる。
【0179】
【発明の効果】
以上、本発明によれば、コンテンツ毎にそれぞれ復号鍵を用意するだけでなく、コンテンツを任意の単位でグループ化し、このグループに対する復号鍵を提供することができるため、コンテンツのグループ単位での管理および利用が可能となり、コンテンツ提供者およびコンテンツ利用者の利便性を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1実施例におけるコンテンツ配信システムの概要を示す図である。
【図2】本発明の第1実施例におけるコンテンツのグループ構成を説明する図である。
【図3】本発明の第1実施例におけるグループ構成における復号鍵と復号情報を説明する図である。
【図4】本発明の第1実施例におけるデータの種類を説明する図である。
【図5】本発明の第1実施例における鍵データ構成を説明する図である。
【図6】本発明の第1実施例における復号情報の構成を説明する図である。
【図7】本発明の第1実施例におけるサーバの構成を示す図である。
【図8】本発明の第1実施例における端末装置の構成を示す図である。
【図9】本発明の第1実施例におけるコンテンツグループ設定とコンテンツグループ鍵の設定における処理を示すフローチャートである。
【図10】本発明の第1実施例におけるコンテンツ追加処理を示すフローチャートである。
【図11】本発明の第1実施例におけるコンテンツグループ鍵による暗号化コンテンツの復号処理を示すフローチャートである。
【図12】本発明の第1実施例におけるコンテンツ鍵の復元処理を示すフローチャートである。
【図13】本発明の第2実施例における端末装置の構成を示す図である。
【図14】本発明の第3実施例における配信者鍵リストの構成を説明する図である。
【図15】本発明の第3実施例における復号情報リストの構成を説明する図である。
【図16】本発明の第3実施例におけるクラス鍵リストの構成を説明する図である。
【図17】本発明の第3実施例におけるノード情報の構成を説明する図である。
【図18】本発明の第3実施例における復号情報リストの生成における処理を示すフローチャートである。
【符号の説明】
10 サーバ
20 端末装置
30 コンテンツ配信手段
100 制御部
104 鍵保持部
200 制御部
204 鍵保持部
Claims (15)
- 入力指令に従って、コンテンツをグループ化するコンテンツグループ構成ステップと、
前記コンテンツグループ構成ステップによって構成されたそれぞれのグループに対応付けて鍵を設定するグループ鍵設定ステップと、
前記グループ鍵設定ステップによって設定されたグループ鍵によって、当該グループに属するコンテンツのコンテンツ鍵を暗号化するコンテンツ鍵暗号化ステップと、
を含むことを特徴とする鍵生成方法。 - 入力指令に従って、コンテンツをグループ化するコンテンツグループ構成ステップと、
前記コンテンツグループ構成ステップによって構成されたそれぞれのグループに対応付けて鍵を設定するグループ鍵設定ステップと、
前記コンテンツを暗号化するための鍵をコンテンツに対応付けて設定するコンテンツ鍵設定ステップと、
前記グループ鍵設定ステップによって設定されたグループ鍵によって、当該グループに属するコンテンツのコンテンツ鍵を暗号化するコンテンツ鍵暗号化ステップと、
を含むことを特徴とする鍵生成方法。 - 請求項1または2において、さらに、
前記コンテンツ鍵に対応付けてコンテンツ鍵復号情報を生成するコンテンツ鍵復号情報生成ステップを含み、このコンテンツ鍵復号情報は、
前記グループ鍵によって暗号化されたコンテンツ鍵と、
当該コンテンツ鍵がどのコンテンツに対応付けられたものかを識別するためのコンテンツ識別情報と、
当該コンテンツ鍵がどのグループのグループ鍵によって暗号化されたかを識別するためのグループ識別情報と
を含むことを特徴とする鍵生成方法。 - 請求項3において、さらに、
入力指令に従って、前記グループを下位グループとして、さらに上位のグループを構成する上位グループ構成ステップと、
前記上位グループ構成ステップによって構成されたそれぞれの上位グループに対応付けて鍵を設定する上位グループ鍵設定ステップと、
前記上位グループ鍵設定ステップによって設定された上位グループ鍵によって、当該上位グループに属する前記下位グループのグループ鍵を暗号化するグループ鍵暗号化ステップと、
を含むことを特徴とする鍵生成方法。 - 請求項4において、
前記上位グループ構成ステップは、入力指令に従って、先に構成された上位グループを下位グループとして、さらに上位のグループを構成する処理を実行するステップを含み、
前記先に構成された上位グループを下位グループとし且つ当該ステップにより構成されたさらに上位のグループを上位グループとして、前記上位グループ鍵設定ステップと、前記グループ鍵暗号化ステップとを実行する、
ことを特徴とする鍵生成方法。 - 請求項4または5において、さらに、
前記下位グループのグループ鍵に対応付けてグループ鍵復号情報を生成するグループ鍵復号情報生成ステップを含み、このグループ鍵復号情報は、
前記上位グループ鍵によって暗号化された当該下位グループのグループ鍵と、
当該グループ鍵がどの下位グループに対応付けられたものかを識別するためのグループ識別情報と、
当該グループ鍵がどの上位グループの上位グループ鍵によって暗号化されたかを識別するための上位グループ識別情報と
を含むことを特徴とする鍵生成方法。 - 請求項2ないし6の何れかにおいて、
既に構成済みのグループに対して新たにコンテンツを追加する入力指令があったとき、
前記コンテンツ鍵設定ステップによって当該コンテンツを暗号化するための鍵を設定すると共に、前記コンテンツ鍵暗号化ステップによって当該コンテンツのコンテンツ鍵を当該グループのグループ鍵によって暗号化し、さらに、前記コンテンツ鍵復号情報生成ステップによって当該コンテンツ鍵に対応付けられるコンテンツ鍵復号情報を生成する、
ことを特徴とする鍵生成方法。 - 上記請求項1から7の何れかに記載の鍵生成方法の処理ステップをコンピュータに実行させるプログラム。
- 上記請求項1から7の何れかに記載の鍵生成方法の処理ステップを実行するための手段を有する鍵生成装置。
- 上記請求項6に記載の鍵生成方法の処理ステップを実行するための手段と、
前記コンテンツを記憶するためのコンテンツ記憶手段と、
前記コンテンツ鍵および前記グループ鍵を記憶するための鍵記憶手段と、
前記コンテンツ鍵復号情報およびグループ鍵復号情報を記憶するための復号情報記憶手段と、
前記コンテンツ鍵によって暗号化されたコンテンツをグループ単位で端末装置に送信する第1の送信手段と、
前記第1の送信手段によって送信される暗号化コンテンツのコンテンツ鍵を復号するために必要な前記コンテンツ鍵復号情報および前記グループ鍵復号情報を前記端末装置に送信する第2の送信手段と、
前記第2の送信手段によって送信される前記コンテンツ鍵復号情報および前記グループ鍵復号情報から前記コンテンツ鍵を復号するために必要な前記グループ鍵を前記端末装置に送信する第3の送信手段と、
を有することを特徴とするコンテンツ配信装置。 - 請求項10において、
前記コンテンツ記憶手段は、前記コンテンツ鍵で暗号化されたコンテンツを記憶する、ことを特徴とするコンテンツ配信装置。 - 請求項10または11に記載のコンテンツ配信装置から配信された暗号化コンテンツを受信して復号する端末装置であって、
受信した前記暗号化コンテンツを記憶する暗号化コンテンツ記憶手段と、
受信した前記コンテンツ鍵復号情報および前記グループ鍵復号情報を記憶する復号情報記憶手段と、
受信したグループ鍵を記憶するグループ鍵記憶手段と、
前記暗号化コンテンツ記憶手段に記憶されたコンテンツのうち、所定のコンテンツの復号指令が入力されたことに応じて、当該コンテンツの復号に必要な前記コンテンツ鍵復号情報および前記グループ鍵復号情報を前記復号情報記憶手段から読み出すと共に、当該コンテンツの復号に必要な前記グループ鍵を前記グループ鍵記憶手段から読み出し、読み出した前記コンテンツ鍵復号情報および前記グループ鍵復号情報と前記グループ鍵から、当該コンテンツのコンテンツ鍵を復号するコンテンツ鍵復号手段と、
復号したコンテンツ鍵を用いて当該暗号化コンテンツを復号するコンテンツ復号手段と
を有することを特徴とする端末装置。 - 請求項12において、
前記コンテンツ鍵復号手段は、
当該コンテンツの復号に必要なグループ鍵として前記グループ鍵記憶手段から読み出したグループ鍵が、下位グループをさらにグループ化して構成された上位グループに対して設定されたものであるとき、
当該コンテンツを含む前記下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記グループ鍵によって復号して当該下位グループのグループ鍵を取得し、
取得したグループ鍵が、当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵でなければ、当該コンテンツを含むさらに下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記取得したグループ鍵によって復号してさらに下位グループのグループ鍵を取得し、このグループ鍵の取得を当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵を取得するまで繰り返し、
コンテンツ鍵を暗号化した際に用いたグループ鍵を取得すると、当該コンテンツのコンテンツ鍵復号情報中の暗号化コンテンツ鍵を当該グループ鍵によって復号して当該コンテンツのコンテンツ鍵を取得する、
ことを特徴とする端末装置。 - 請求項10または11に記載のコンテンツ配信装置から配信される情報を受信して暗号化コンテンツを復号する機能を端末装置に付与するためのプログラムであって、
受信した前記暗号化コンテンツを記憶する処理と、
受信した前記コンテンツ鍵復号情報および前記グループ鍵復号情報を記憶する処理と、
受信したグループ鍵を記憶する処理と、
記憶されたコンテンツのうち、所定のコンテンツに対する復号指令が入力されたことに応じて、当該コンテンツの復号に必要な前記コンテンツ鍵復号情報および前記グループ鍵復号情報を記憶手段から読み出すと共に、当該コンテンツの復号に必要な前記グループ鍵を記憶手段から読み出し、読み出した前記コンテンツ鍵復号情報および前記グループ鍵復号情報と前記グループ鍵から、当該コンテンツのコンテンツ鍵を復号する処理と、
復号したコンテンツ鍵を用いて当該暗号化コンテンツを復号する処理と、
を含むプログラム。 - 請求項14において、
前記コンテンツ鍵の復号処理は、
当該コンテンツの復号に必要なグループ鍵として記憶手段から読み出したグループ鍵が、下位グループをさらにグループ化して構成された上位グループに対して設定されたものであるとき、
当該コンテンツを含む前記下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記グループ鍵によって復号して当該下位グループのグループ鍵を取得し、
取得したグループ鍵が、当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵でなければ、当該コンテンツを含むさらに下位グループのグループ鍵復号情報中の暗号化グループ鍵を前記取得したグループ鍵によって復号してさらに下位グループのグループ鍵を取得し、このグループ鍵の取得を当該コンテンツのコンテンツ鍵を暗号化した際に用いたグループ鍵を取得するまで繰り返し、
コンテンツ鍵を暗号化した際に用いたグループ鍵を取得すると、当該コンテンツのコンテンツ鍵復号情報中の暗号化コンテンツ鍵を当該グループ鍵によって復号して当該コンテンツのコンテンツ鍵を取得する、
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003167205A JP2005006033A (ja) | 2003-06-12 | 2003-06-12 | 鍵生成方法、鍵生成装置、コンテンツ配信装置、端末装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003167205A JP2005006033A (ja) | 2003-06-12 | 2003-06-12 | 鍵生成方法、鍵生成装置、コンテンツ配信装置、端末装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005006033A true JP2005006033A (ja) | 2005-01-06 |
Family
ID=34093072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003167205A Withdrawn JP2005006033A (ja) | 2003-06-12 | 2003-06-12 | 鍵生成方法、鍵生成装置、コンテンツ配信装置、端末装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005006033A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100727931B1 (ko) | 2005-01-19 | 2007-06-14 | 삼성전자주식회사 | 콘텐츠 접근 제어 방법 및 이를 이용한 콘텐츠 키 획득 방법 |
JP2007251913A (ja) * | 2006-02-15 | 2007-09-27 | Kddi Corp | コンテンツ送信装置およびコンテンツ暗号化プログラム並びにコンテンツ受信装置およびコンテンツ復号プログラム |
JP2008042469A (ja) * | 2006-08-04 | 2008-02-21 | Canon Inc | 通信暗号化処理装置 |
JP2009507433A (ja) * | 2005-09-01 | 2009-02-19 | クゥアルコム・インコーポレイテッド | マルチメディア・コンテント配信のための効率的鍵階層構造 |
JP4612112B1 (ja) * | 2010-03-01 | 2011-01-12 | 健稔 岡本 | デジタル機器がリムーバブルメディアに記録されたファイルを削除する方法及びプログラム |
US8341402B2 (en) | 2005-01-19 | 2012-12-25 | Samsung Electronics Co., Ltd. | Method of controlling content access and method of obtaining content key using the same |
-
2003
- 2003-06-12 JP JP2003167205A patent/JP2005006033A/ja not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100727931B1 (ko) | 2005-01-19 | 2007-06-14 | 삼성전자주식회사 | 콘텐츠 접근 제어 방법 및 이를 이용한 콘텐츠 키 획득 방법 |
US8341402B2 (en) | 2005-01-19 | 2012-12-25 | Samsung Electronics Co., Ltd. | Method of controlling content access and method of obtaining content key using the same |
JP2009507433A (ja) * | 2005-09-01 | 2009-02-19 | クゥアルコム・インコーポレイテッド | マルチメディア・コンテント配信のための効率的鍵階層構造 |
JP4944113B2 (ja) * | 2005-09-01 | 2012-05-30 | クゥアルコム・インコーポレイテッド | マルチメディア・コンテント配信のための効率的鍵階層構造 |
US8194859B2 (en) | 2005-09-01 | 2012-06-05 | Qualcomm Incorporated | Efficient key hierarchy for delivery of multimedia content |
JP2012134983A (ja) * | 2005-09-01 | 2012-07-12 | Qualcomm Inc | マルチメディア・コンテント配信のための効率的鍵階層構造 |
US9565171B2 (en) | 2005-09-01 | 2017-02-07 | Qualcomm Incorporated | Efficient key hierarchy for delivery of multimedia content |
JP2007251913A (ja) * | 2006-02-15 | 2007-09-27 | Kddi Corp | コンテンツ送信装置およびコンテンツ暗号化プログラム並びにコンテンツ受信装置およびコンテンツ復号プログラム |
JP2008042469A (ja) * | 2006-08-04 | 2008-02-21 | Canon Inc | 通信暗号化処理装置 |
JP4612112B1 (ja) * | 2010-03-01 | 2011-01-12 | 健稔 岡本 | デジタル機器がリムーバブルメディアに記録されたファイルを削除する方法及びプログラム |
JP2011090661A (ja) * | 2010-03-01 | 2011-05-06 | Taketoshi Okamoto | デジタル機器がリムーバブルメディアに記録されたファイルを削除する方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4424465B2 (ja) | 情報機器、情報サーバおよび情報処理プログラム | |
EP1374476B1 (en) | Data protection system that protects data by encrypting the data | |
CN100428256C (zh) | 信息处理设备和信息处理方法 | |
US7325139B2 (en) | Information processing device, method, and program | |
CN1684183B (zh) | 信息处理装置和方法 | |
KR100980899B1 (ko) | 정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 이용권 관리 장치 및 방법, 및 기록 매체 | |
CN100527142C (zh) | 信息服务器、信息设备、信息处理系统和信息处理方法 | |
US20070124603A1 (en) | Content reproduction system | |
US20040078586A1 (en) | Terminal apparatus capable of using a recording medium with a copyright protecting function | |
JP4391056B2 (ja) | 情報管理装置および方法、記録媒体、並びにプログラム | |
CN101142563A (zh) | 信息处理装置、信息处理方法和计算机程序 | |
WO2002087147A1 (fr) | Dispositif et procede d'enregistrement/de reproduction d'informations | |
JP4199472B2 (ja) | 暗号化を施すことによりデータを保護するデータ保護システム | |
JP2004139473A (ja) | コンテンツ記録装置、再生装置及び記録再生装置、並びに記憶媒体 | |
JP2001083874A (ja) | 情報提供システム、情報規制装置、情報受信装置及び情報提供方法 | |
JP2005006033A (ja) | 鍵生成方法、鍵生成装置、コンテンツ配信装置、端末装置およびプログラム | |
US20050125356A1 (en) | Method and apparatus for decrypting encrypted data by suing copy control information and computer readable recording medium for storing program for implementing the apparatus and method | |
JP2004229128A (ja) | 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム | |
US7925893B2 (en) | Copyright protection system, modular exponentiation operation apparatus, and modular exponentiation operation method | |
JP2003152700A (ja) | 情報端末装置およびコンテンツ復号方法 | |
JP4638176B2 (ja) | 著作権保護システム、べき乗剰余演算装置、演算装置、鍵管理装置、再生装置、記録装置、記録媒体、べき乗剰余演算方法、演算方法、及びプログラム | |
JP4663242B2 (ja) | コンテンツ配信・再生方法、コンテンツ配信・再生システム、その管理装置及び再生装置 | |
JP2001075923A (ja) | 情報提供システム、情報提供装置及びデータ格納装置 | |
JP2001076425A (ja) | 記録再生システム、記録再生装置、再生装置、データ格納装置 | |
JP2004086873A (ja) | コンテンツ管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060602 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080717 |