(57)【特許請求の範囲】
【請求項１】
複数のサービスプロバイダから提供される利用権に従って、前記利用権に対応するコンテンツの利用に応じた所定の処理を行う情報処理装置において、
前記サービスプロバイダ毎に管理領域が設けられ、前記サービスプロバイダから提供される利用権に従って利用されるコンテンツの使用状態情報が、前記利用権を提供したサービスプロバイダの前記管理領域に記憶されている記憶手段と、
前記使用状態情報に基づくコンテンツの利用に応じた所定の処理を実行する実行手段と、
前記管理領域に記憶されている前記使用状態情報を利用して、前記管理領域のＩＣＶを演算する演算手段と、
前記実行手段により前記所定の処理が実行されたとき、前記所定の処理による前記コンテンツの利用に応じて、利用された前記コンテンツの使用状態情報を更新するとともに、前記演算手段を制御して、使用状態情報が更新された前記管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶを前記管理領域に対応付けて記憶する更新手段と
を備え、
前記実行手段は、前記所定の処理を開始する前に、前記演算手段を制御して、これから実行する前記所定の処理により利用される前記コンテンツの使用状態情報が記憶されている前記管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶと、その前記管理領域に対応付けて記憶されている前記ＩＣＶとが一致するか否かを判定し、両者が一致した場合、前記所定の処理を実行する
ことを特徴とする情報処理装置。
【請求項２】
前記記憶手段は、第１の複数のサービスプロバイダと第２の複数のサービスプロバイダ毎に前記管理領域が設けられ、前記第１の複数のサービスプロバイダから提供されるそれぞれの利用権に従って利用されるコンテンツの使用状態情報を第１の前記管理領域に記憶し、前記第２の複数のサービスプロバイダから提供されるそれぞれの利用権に従って利用されるコンテンツの使用状態情報を第２の前記管理領域に記憶する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１または第２の複数のサービスプロバイダは、任意の単位に分類されるサービスプロバイダである
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記任意の単位は、処理単位、管轄単位、または提供コンテンツの単位である
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
複数のサービスプロバイダから提供される利用権に従って、前記利用権に対応するコンテンツの利用に応じた所定の処理を行う情報処理装置であって、前記サービスプロバイダ毎に管理領域が設けられ、前記サービスプロバイダから提供される利用権に従って利用されるコンテンツの使用状態情報が、前記利用権を提供したサービスプロバイダの前記管理領域に記憶されている記憶手段と、前記使用状態情報に基づくコンテンツの利用に応じた所定の処理を実行する実行手段と、前記管理領域に記憶されている前記使用状態情報を利用して、前記管理領域のＩＣＶを演算する演算手段とを備える情報処理装置の情報処理方法において、
前記実行手段を制御して、前記使用状態情報に基づくコンテンツの利用に応じた所定の処理を実行させる実行制御ステップと、
前記実行手段により前記所定の処理が実行されたとき、前記所定の処理による前記コンテンツの利用に応じて、利用された前記コンテンツの使用状態情報を更新するとともに、前記演算手段を制御して、使用状態情報が更新された前記管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶを前記管理領域に対応付けて記憶する更新ステップと
を含み、
前記実行制御ステップは、前記所定の処理を開始する前に、前記演算手段を制御して、これから実行する前記所定の処理により利用される前記コンテンツの使用状態情報が記憶されている前記管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶと、その前記管理領域に対応付けて記憶されている前記ＩＣＶが一致するか否かを判定し、両者が一致した場合、前記実行手段を制御して前記所定の処理を実行させる
ことを特徴とする情報処理方法。
【請求項６】
複数のサービスプロバイダから提供される利用権に従って、前記利用権に対応するコンテンツの利用に応じた所定の処理を行う情報処理であって、前記サービスプロバイダ毎に管理領域が設けられ、前記サービスプロバイダから提供される利用権に従って利用されるコンテンツの使用状態情報が、前記利用権を提供したサービスプロバイダの前記管理領域に記憶されている記憶手段と、前記使用状態情報に基づくコンテンツの利用に応じた所定の処理を実行する実行手段と、前記管理領域に記憶されている前記使用状態情報を利用して、前記管理領域のＩＣＶを演算する演算手段とを制御する情報処理をコンピュータに実行させるプログラムにおいて、
前記実行手段を制御して、前記使用状態情報に基づくコンテンツの利用に応じた所定の処理を実行させる実行制御ステップと、
前記実行手段により前記所定の処理が実行されたとき、前記所定の処理による前記コンテンツの利用に応じて、利用された前記コンテンツの使用状態情報を更新するとともに、前記演算手段を制御して、使用状態情報が更新された前記管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶを前記管理領域に対応付けて記憶する更新ステップと
を含み、
前記実行制御ステップは、前記所定の処理を開始する前に、前記演算手段を制御して、これから実行する前記所定の処理により利用される前記コンテンツの使用状態情報が記憶されている前記管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶと、その前記管理領域に対応付けて記憶されている前記ＩＣＶが一致するか否かを判定し、両者が一致した場合、前記実行手段を制御して前記所定の処理を実行させる
ことを特徴とするプログラム。
【請求項７】
複数の異なるデバイスをリーフとした階層ツリー構造における各ノードに固有のノードキーと各デバイスに固有のリーフキーを使用して、配信される暗号化されたコンテンツについての復号処理を実行する情報処理装置において、
複数のサービスプロバイダから提供される利用権であって、前記情報処理装置を特定する装置IDを含む前記コンテンツの利用に必要な利用権を、少なくとも前記利用権を指定する情報を所定のサーバに送信することによって、前記サーバから取得する取得手段と、
前記取得手段により取得された前記利用権に含まれる前記装置IDに対応するリーフキーが最下層に割り当てられる前記階層ツリー構造を、前記リーフキーから遡り、前記利用権を提供するサービスプロバイダによって管理されるサービスノードを特定するサービスノード特定手段と、
記憶手段に、前記サービスノード特定手段により特定される前記サービスノード毎の管理領域を形成し、利用権に従って利用されるコンテンツの使用状態情報を、特定された前記サービスノードに対応する前記管理領域に記憶する記憶制御手段と、
前記管理領域に記憶されている使用状態情報を利用して各前記管理領域のＩＣＶを演算し、その結果得られたＩＣＶを前記管理領域に対応付けて記憶する管理手段と
を備えることを特徴とする情報処理装置。
【請求項８】
前記管理手段は、前記復号処理が実行されたとき、前記復号処理による前記コンテンツの利用に応じて、利用された前記コンテンツの使用状態情報を更新するとともに、使用状態情報が更新された前記管理領域のＩＣＶを、更新した前記使用状態情報を利用して演算し、その演算の結果得られたＩＣＶを前記管理領域に対応付けて記憶する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
複数の異なるデバイスをリーフとした階層ツリー構造における各ノードに固有のノードキーと各デバイスに固有のリーフキーを使用して、配信される暗号化されたコンテンツについての復号処理を実行する情報処理装置の情報処理方法において、
複数のサービスプロバイダから提供される利用権であって、前記情報処理装置を特定する装置IDを含む前記コンテンツの利用に必要な利用権を、少なくとも前記利用権を指定する情報を所定のサーバに送信することによって、前記サーバから取得する取得ステップと、
前記取得ステップの処理で取得された前記利用権に含まれる前記装置IDに対応するリーフキーが最下層に割り当てられる前記階層ツリー構造を、前記リーフキーから遡り、前記利用権を提供するサービスプロバイダによって管理されるサービスノードを特定するサービスノード特定ステップと、
前記情報処理装置の記憶手段に、前記サービスノード特定ステップの処理で特定される前記サービスノード毎の管理領域を形成し、利用権に従って利用されるコンテンツの使用状態情報を、特定された前記サービスノードに対応する前記管理領域に記憶する記憶制御ステップと、
前記情報処理装置の演算手段を制御して、前記管理領域に記憶されている使用状態情報を利用した各前記管理領域のＩＣＶの演算を実行させ、その結果得られたＩＣＶを前記管理領域に対応付けて記憶する管理ステップと
を含むことを特徴とする情報処理方法。
【請求項１０】
複数の異なるデバイスをリーフとした階層ツリー構造における各ノードに固有のノードキーと各デバイスに固有のリーフキーを使用して、配信される暗号化されたコンテンツについての復号処理をコンピュータに実行させるプログラムにおいて、
複数のサービスプロバイダから提供される利用権であって、前記情報処理装置を特定する装置IDを含む前記コンテンツの利用に必要な利用権を、少なくとも前記利用権を指定する情報を所定のサーバに送信することによって、前記サーバから取得する取得ステップと、
前記取得ステップの処理で取得された前記利用権に含まれる前記装置IDに対応するリーフキーが最下層に割り当てられる前記階層ツリー構造を、前記リーフキーから遡り、前記利用権を提供するサービスプロバイダによって管理されるサービスノードを特定するサービスノード特定ステップと、
記憶手段に、前記サービスノード特定ステップの処理で特定される前記サービスノード毎の管理領域を形成し、利用権に従って利用されるコンテンツの使用状態情報を、特定された前記サービスノードに対応する前記管理領域に記憶する記憶制御ステップと、
演算手段を制御して、前記管理領域に記憶されている使用状態情報を利用した各前記管理領域のＩＣＶの演算を実行させ、その結果得られたＩＣＶを前記管理領域に対応付けて記憶する管理ステップと
を含む復号処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、コンテンツを適切に管理することができるようにした、情報処理装置および方法、並びにプログラムに関する。
【０００２】
【従来の技術】
従来、１個以上のライセンスサーバから提供される１個以上のサービスに基づいて、コンテンツを利用する（例えば、コンテンツを再生する）クライアントでは、コンテンツを利用するのに必要な、例えばコンテンツの使用状態（例えば、再生回数等）を表す情報（以下、使用状態情報と称する）がまとめて管理されている。例えば、クライアントが保有している使用状態情報の全体のICV（Integrity Check Value）を演算し、それを記憶しておくことでそれらの情報が管理されていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、このように使用状態情報をまとめて管理すると、例えば、１つの使用状態情報が壊れたり、改竄されて書き換えられたりした場合、他のすべての使用状態情報も解読することができなくなり、結局、すべてのサービスを利用することができなくなってしまう課題があった。
【０００４】
本発明はこのような状況に鑑みてなされたものであり、コンテンツを利用するのに必要な、例えば使用状態情報を、例えば、サービス毎に管理し、使用状態情報が壊れた場合などの影響を、その管理範囲内に止めることができるようにするものである。
【０００５】
【課題を解決するための手段】
本発明の第１の情報処理装置は、サービスプロバイダ毎に管理領域が設けられ、サービスプロバイダから提供される利用権に従って利用されるコンテンツの使用状態情報が、利用権を提供したサービスプロバイダの管理領域に記憶されている記憶手段と、使用状態情報に基づくコンテンツの利用に応じた所定の処理を実行する実行手段と、管理領域に記憶されている使用状態情報を利用して、管理領域のＩＣＶを演算する演算手段と、実行手段により所定の処理が実行されたとき、所定の処理によるコンテンツの利用に応じて、利用されたコンテンツの使用状態情報を更新するとともに、演算手段を制御して、使用状態情報が更新された管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶを管理領域に対応付けて記憶する更新手段とを備え、実行手段は、所定の処理を開始する前に、演算手段を制御して、これから実行する所定の処理により利用されるコンテンツの使用状態情報が記憶されている管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶと、その管理領域に対応付けて記憶されているＩＣＶとが一致するか否かを判定し、両者が一致した場合、所定の処理を実行することを特徴とする。
【０００６】
記憶手段は、第１の複数のサービスプロバイダと第２の複数のサービスプロバイダ毎に管理領域が設けられ、第１の複数のサービスプロバイダから提供されるそれぞれの利用権に従って利用されるコンテンツの使用状態情報を第１の管理領域に記憶し、第２の複数のサービスプロバイダから提供されるそれぞれの利用権に従って利用されるコンテンツの使用状態情報を第２の管理領域に記憶することができる。
【０００７】
第１または第２の複数のサービスプロバイダは、任意の単位に分類されるサービスプロバイダであるようにすることができる。
【０００８】
任意の単位は、処理単位、管轄単位、または提供コンテンツの単位であるようにすることができる。
【０００９】
本発明の第１の情報処理方法は、情報処理装置の実行手段を制御して、使用状態情報に基づくコンテンツの利用に応じた所定の処理を実行させる実行制御ステップと、実行手段により所定の処理が実行されたとき、所定の処理によるコンテンツの利用に応じて、利用されたコンテンツの使用状態情報を更新するとともに、情報処理装置の記憶手段の管理領域に記憶されている使用状態情報を利用して管理領域のＩＣＶを演算する情報処理装置の演算手段を制御して、使用状態情報が更新された管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶを管理領域に対応付けて記憶する更新ステップとを含み、実行制御ステップは、所定の処理を開始する前に、演算手段を制御して、これから実行する所定の処理により利用されるコンテンツの使用状態情報が記憶されている管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶと、その管理領域に対応付けて記憶されているＩＣＶが一致するか否かを判定し、両者が一致した場合、実行手段を制御して所定の処理を実行させることを特徴とする。
【００１０】
本発明の第１のプログラムは、実行手段を制御して、使用状態情報に基づくコンテンツの利用に応じた所定の処理を実行させる実行制御ステップと、実行手段により所定の処理が実行されたとき、所定の処理によるコンテンツの利用に応じて、利用されたコンテンツの使用状態情報を更新するとともに、記憶手段の管理領域に記憶されている使用状態情報を利用して管理領域のＩＣＶを演算する演算手段を制御して、使用状態情報が更新された管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶを管理領域に対応付けて記憶する更新ステップとを含み、実行制御ステップは、所定の処理を開始する前に、演算手段を制御して、これから実行する所定の処理により利用されるコンテンツの使用状態情報が記憶されている管理領域のＩＣＶを演算させ、その演算の結果得られたＩＣＶと、その管理領域に対応付けて記憶されているＩＣＶが一致するか否かを判定し、両者が一致した場合、実行手段を制御して所定の処理を実行させることを特徴とする。
【００１１】
本発明の第１の情報処理装置および方法、並びにプログラムにおいては、使用状態情報に基づくコンテンツの利用に応じた所定の処理が実行され、所定の処理が実行されたとき、所定の処理によるコンテンツの利用に応じて、利用されたコンテンツの使用状態情報が更新されるとともに、使用状態情報が更新された管理領域のＩＣＶが演算され、その演算の結果得られたＩＣＶが管理領域に対応付けて記憶される。所定の処理を実行する際、所定の処理を開始する前に、これから実行する所定の処理により利用されるコンテンツの使用状態情報が記憶されている管理領域のＩＣＶが演算され、その演算の結果得られたＩＣＶと、その管理領域に対応付けて記憶されているＩＣＶが一致するか否かが判定され、両者が一致した場合、実行手段が制御されて所定の処理が実行される。
本発明の第２の情報処理装置は、複数のサービスプロバイダから提供される利用権であって、情報処理装置を特定する装置IDを含むコンテンツの利用に必要な利用権を、少なくとも利用権を指定する情報を所定のサーバに送信することによって、サーバから取得する取得手段と、取得手段により取得された利用権に含まれる装置IDに対応するリーフキーが最下層に割り当てられる階層ツリー構造を、リーフキーから遡り、利用権を提供するサービスプロバイダによって管理されるサービスノードを特定するサービスノード特定手段と、記憶手段に、サービスノード特定手段により特定されるサービスノード毎の管理領域を形成し、利用権に従って利用されるコンテンツの使用状態情報を、特定されたサービスノードに対応する管理領域に記憶する記憶制御手段と、管理領域に記憶されている使用状態情報を利用して各管理領域のＩＣＶを演算し、その結果得られたＩＣＶを管理領域に対応付けて記憶する管理手段とを備えることを特徴とする。
管理手段は、復号処理が実行されたとき、復号処理によるコンテンツの利用に応じて、利用されたコンテンツの使用状態情報を更新するとともに、使用状態情報が更新された管理領域のＩＣＶを、更新した使用状態情報を利用して演算し、その演算の結果得られたＩＣＶを管理領域に対応付けて記憶することができる。
本発明の第２の情報処理方法は、複数のサービスプロバイダから提供される利用権であって、情報処理装置を特定する装置IDを含むコンテンツの利用に必要な利用権を、少なくとも利用権を指定する情報を所定のサーバに送信することによって、サーバから取得する取得ステップと、取得ステップの処理で取得された利用権に含まれる装置IDに対応するリーフキーが最下層に割り当てられる階層ツリー構造を、リーフキーから遡り、利用権を提供するサービスプロバイダによって管理されるサービスノードを特定するサービスノード特定ステップと、情報処理装置の記憶手段に、サービスノード特定ステップの処理で特定されるサービスノード毎の管理領域を形成し、利用権に従って利用されるコンテンツの使用状態情報を、特定されたサービスノードに対応する管理領域に記憶する記憶制御ステップと、情報処理装置の演算手段を制御して、管理領域に記憶されている使用状態情報を利用した各管理領域のＩＣＶの演算を実行させ、その結果得られたＩＣＶを管理領域に対応付けて記憶する管理ステップとを含むことを特徴とする。
本発明の第２のプログラムは、複数のサービスプロバイダから提供される利用権であって、情報処理装置を特定する装置IDを含むコンテンツの利用に必要な利用権を、少なくとも利用権を指定する情報を所定のサーバに送信することによって、サーバから取得する取得ステップと、取得ステップの処理で取得された利用権に含まれる装置IDに対応するリーフキーが最下層に割り当てられる階層ツリー構造を、リーフキーから遡り、利用権を提供するサービスプロバイダによって管理されるサービスノードを特定するサービスノード特定ステップと、記憶手段に、サービスノード特定ステップの処理で特定されるサービスノード毎の管理領域を形成し、利用権に従って利用されるコンテンツの使用状態情報を、特定されたサービスノードに対応する管理領域に記憶する記憶制御ステップと、演算手段を制御して、管理領域に記憶されている使用状態情報を利用した各管理領域のＩＣＶの演算を実行させ、その結果得られたＩＣＶを管理領域に対応付けて記憶する管理ステップとを含む処理をコンピュータに実行させる。
本発明の第２の情報処理装置および方法、並びにプログラムにおいては、複数のサービスプロバイダから提供される利用権であって、情報処理装置を特定する装置IDを含むコンテンツの利用に必要な利用権が、少なくとも利用権を指定する情報を所定のサーバに送信することによって、サーバから取得され、取得された利用権に含まれる装置IDに対応するリーフキーが最下層に割り当てられる階層ツリー構造を、リーフキーから遡り、利用権を提供するサービスプロバイダによって管理されるサービスノードが特定され、記憶手段に、特定されるサービスノード毎の管理領域が形成され、利用権に従って利用されるコンテンツの使用状態情報が、特定されたサービスノードに対応する管理領域に記憶され、、管理領域に記憶されている使用状態情報が利用されて各管理領域のＩＣＶが演算され、その結果得られたＩＣＶが管理領域に対応付けて記憶される。
【００１２】
【発明の実施の形態】
図１は、本発明を適用したコンテンツ提供システムの構成を示している。インターネット２には、クライアント１−１，１−２（以下、これらのクライアントを個々に区別する必要がない場合、単にクライアント１と称する）、コンテンツサーバ３、ライセンスサーバ４、および課金サーバ５が接続されている。なお、クライアント１、コンテンツサーバ３、ライセンスサーバ４、および課金サーバ５は、任意の台数、インターネット２に接続することができる。
【００１３】
コンテンツサーバ３は、コンテンツをクライアント１に供給し、ライセンスサーバ４は、コンテンツサーバ３が提供するコンテンツを利用するのに必要な利用権をクライアント１に供給する。課金サーバ５は、クライアント１に対して課金処理を行う。
【００１４】
このコンテンツ提供システムでは、クライアント１とコンテンツを利用するのに必要なデバイスのキーを、所定のキーシステム（以下、Ｔシステムと称する）により管理しているが、Ｔシステムは、図２に示すようなブロードキャストインクリプション（Broadcast Encryption）方式の原理に基づいて構築されている。
【００１５】
この方式によれば、キーはこのような階層ツリー構造に対応して構築され、最下段のリーフ（leaf）が個々のデバイス固有のキーに対応するようになされている。図２の例の場合、番号０から番号１５までの１６個のデバイスに対応するキーが生成される。
【００１６】
各キーは、図中丸印で示されるツリー構造の各ノードに対応して規定される。この例では、最上段のルートノードに対応してルートキーKRが、２段目のノードに対応してキーＫ０，Ｋ１が、３段目のノードに対応してキーＫ００乃至Ｋ１１が、そして第４段目のノードに対応してキーＫ０００乃至キーＫ１１１が、それぞれ対応するようになされている。そして、最下段のノードとしてのリーフ（デバイスノード）に、キーＫ００００乃至Ｋ１１１１が、それぞれ対応するようになされている。
【００１７】
このような階層構造が採られているため、例えば、キーＫ００１０とキー００１１の上位のキーを、Ｋ００１と、キーＫ０００とキーＫ００１の上位のキーを、Ｋ００と、キーＫ００とキーＫ０１の上位のキーを、Ｋ０と、そしてキーＫ０とキーＫ１の上位のキーを、KRと位置付けることができる。
【００１８】
コンテンツを利用するキーは、最下段のデバイスノード（リーフ）から、最上段のルートノードまでの１つのパスの各ノードに対応するキーで管理される。例えば、番号３のリーフに対応するデバイスにおいて、コンテンツを利用するためのキーは、キーＫ００１１，Ｋ００１，Ｋ００，Ｋ０，KRを含むパスの各キーで構築される。
【００１９】
次に、図３を参照して、ブロードキャストインクリプション方式の原理（図２）に基づくＴシステムを説明する（このＴシステムに用いられる階層ツリー構造鍵管理については、特許公開公報2001-352321に記載されている）。図３の例では、８＋２４＋３２段のノードからなるツリー構造に基づいて、ルートノードから下位の８段までの各ノードにカテゴリが対応付けられる。
【００２０】
ここにおけるカテゴリとは、例えばメモリスティックなどの半導体メモリを使用する機器のカテゴリ、デジタル放送を受信する機器のカテゴリといったカテゴリを意味している。またカテゴリおよびサブカテゴリは、このようなデバイスの種類のみならず、あるメーカー、コンテンツプロバイダ、決済機関等が独自に管理するノード、すなわち処理単位、管轄単位、あるいは提供サービス単位等、任意の単位で設定することができる。
【００２１】
このカテゴリが対応付けられたカテゴリノードのうちの１つのノードに、利用権を管理させるシステムがＴシステムである。
【００２２】
すなわち、このＴシステムのノードよりさらに下の階層の２４段のノード（以下、このノードを、適宜サービスノードと称する）に対応するキーにより、サービスプロバイダ、あるいはサービスプロバイダが提供するサービスが対応付けられている。この例の場合、これにより、２24（約１６メガ）のサービスプロバイダあるいはサービスを規定することができる。
【００２３】
また、最も下側の３２段の階層により、２32（約４ギガ）のユーザ（あるいはクライアント１）を規定することができる。最下段の３２段のノードからＴシステムのノードまでのパス上の各ノードに対応するキーが、DNK（Device Node Key）を構成し、最下段のリーフに対応するIDがリーフIDとされる。
【００２４】
コンテンツを暗号化したコンテンツキーは、更新されたルートキーKR’によって暗号化され、上位の階層の更新ノードキーは、その直近の下位の階層の更新ノードキーを用いて暗号化され、所定のキーブロック（ＥＫＢ（Enabling Key Block））内に配置され、ネットワークを介して、あるいは記録媒体に格納されて供給される。ＥＫＢにおける末端から１つ上の段の更新ノードキーはＥＫＢの末端のノードキーあるいはリーフキーによって暗号化され、ＥＫＢ内に配置される。クライアント１は、サービスデータに記述されているＤＮＫのいずれかのキーを用いて、コンテンツデータとともに配布されるＥＫＢ内に記述されている直近の上位の階層の更新ノードキーを復号し、復号して得たキーを用いて、ＥＫＢ内に記述されているさらにその上の階層の更新ノードキーを復号する。以上の処理を順次行うことで、クライアント１は、更新ルートキーKR’を得ることができる。
【００２５】
図４に、階層ツリー構造のカテゴリの分類の具体的な例を示す。図４において、階層ツリー構造の最上段には、ルートキーKR２３０１が設定され、以下の中間段にはノードキー２３０２が設定され、最下段には、リーフキー２３０３が設定される。各デバイスは、個々のリーフキー、リーフキーからルートキーに至る一連のノードキー、およびルートキーからなるデバイスノードキー（ＤＮＫ）を保有する。
【００２６】
最上段から第Ｍ段目（図３の例では、Ｍ＝８）の所定のノードがカテゴリノード２３０４として設定される。すなわち第Ｍ段目のノードの各々が特定カテゴリのデバイス設定ノードとされる。第Ｍ段の１つのノードを頂点としてＭ＋１段以下のノードおよびリーフは、そのカテゴリに含まれるデバイスに関するノードおよびリーフとされる。
【００２７】
例えば図４の第Ｍ段目の１つのノード２３０５にはカテゴリ［メモリスティック（商標）］が設定され、このノード以下に連なるノードおよびリーフは、メモリステッイクを使用した様々なデバイスを含むカテゴリ専用のノードまたはリーフとして設定される。すなわち、ノード２３０５以下が、メモリスティックのカテゴリに定義されるデバイスの関連ノードおよびリーフの集合として定義される。
【００２８】
さらに、Ｍ段から数段分下位の段をサブカテゴリノード２３０６として設定することができる。図１４の例では、カテゴリ［メモリスティック］ノード２３０５の２段下のノードに、メモリスティックを使用したデバイスのカテゴリに含まれるサブカテゴリノードとして、［再生専用器］のノード２３０６が設定されている。さらに、サブカテゴリノードである再生専用器のノード２３０６以下に、再生専用器のカテゴリに含まれる音楽再生機能付き電話のノード２３０７が設定され、さらにその下位に、音楽再生機能付き電話のカテゴリに含まれる［ＰＨＳ］ノード２３０８と、［携帯電話］ノード２３０９が設定されている。
【００２９】
カテゴリおよびサブカテゴリは、上述したように、デバイスの種類のみならず、処理単位、管轄単位、あるいは提供サービス単位等、任意の単位で設定することが可能である。例えば１つのカテゴリノードをゲーム機器メーカーの販売するゲーム機器ＸＹＺ専用の頂点ノードとして設定すれば、メーカーの販売するゲーム機器ＸＹＺに、その頂点ノード以下の下段のノードキーやリーフキーを格納して販売することが可能となり、その後、暗号化コンテンツの配信、あるいは各種キーの配信、更新処理を、その頂点ノードキー以下のノードキー、リーフキーによって構成される有効化キーブロック（ＥＫＢ）を生成して配信し、頂点ノード以下のデバイスに対してのみ利用可能なデータが配信可能となる。
【００３０】
図１のライセンスサーバ４が、例えば、所定のコンテンツの再生やチェックアウト等のサービスを提供する場合、ライセンスサーバ４には、そのサービスに対応するカテゴリノード（サービスノード）が割り当てられている。すなわち、ライセンスサーバ４が１つのサービスを提供する場合においては１つのサービスノードが割り当てられるが、複数のサービスを提供する場合には、複数のサービスノードが割り当てられることになる。
【００３１】
またクライアント１は、ライセンスサーバ４が提供するサービスを利用する場合、ライセンスサーバ４のサービスに定義された関連ノードのデバイスノード（リーフ）が割り当てられる。
【００３２】
このように、１つのノードを頂点として、以下のノードを、その頂点ノードに定義されたカテゴリあるいはサブカテゴリの関連ノードとして設定する構成とすることにより、カテゴリ段、あるいはサブカテゴリ段の１つの頂点ノードを管理するメーカー、コンテンツプロバイダ等がそのノードを頂点とする有効化キーブロック（ＥＫＢ）を独自に生成して、頂点ノード以下に属するデバイスに配信する構成が可能となり、頂点ノードに属さない他のカテゴリのノードに属するデバイスには全く影響を及ぼさずにキー更新を実行することができる。
【００３３】
図５は、クライアント１の構成例を表している。
【００３４】
図５において、CPU（Central Processing Unit）２１は、ROM（Read Only Memory）２２に記憶されているソフトウエアプログラム、または記憶部２８からRAM（Random Access Memory）２３にロードされたソフトウエアプログラムに従って各種の処理を実行する。
【００３５】
タイマ２０は、計時動作を行い、時刻情報をCPU２１に供給する。RAM２３には、CPU２１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００３６】
暗号化復号部２４は、コンテンツデータを暗号化するとともに、既に暗号化されているコンテンツデータを復号する処理を行う。コーデック部２５は、例えば、ATRAC（Adaptive Transform Acoustic Coding）３方式などでコンテンツデータをエンコードし、入出力インタフェース３２を介してドライブ３０に接続されている半導体メモリ４４に供給して記録させる。あるいはまた、コーデック部２５は、ドライブ３０を介して半導体メモリ４４より読み出した、エンコードされているデータをデコードする。
【００３７】
半導体メモリ４４は、例えば、メモリスティック（商標）などにより構成される。
【００３８】
CPU２１、ROM２２、RAM２３、暗号化復号部２４、およびコーデック部２５は、バス３１を介して相互に接続されている。このバス３１にはまた、入出力インタフェース３２も接続されている。
【００３９】
入出力インタフェース３２には、キーボード、マウスなどよりなる入力部２６、CRTやLCDなどよりなるディスプレイ、スピーカなどよりなる出力部２７、ハードディスクなどより構成される記憶部２８、およびモデムやターミナルアダプタなどより構成される通信部２９が接続されている。通信部２９は、インターネット２を介しての通信処理を行う。通信部２９はまた、他のクライアントとの間で、アナログ信号またはデジタル信号の通信処理を行う。
【００４０】
入出力インタフェース３２にはまた、必要に応じてドライブ３０が接続され、磁気ディスク４１、光ディスク４２、光磁気ディスク４３、或いは半導体メモリ４４などが適宜装着され、例えば、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２８にインストールされる。
【００４１】
なお、図示は省略するが、コンテンツサーバ３、ライセンスサーバ４、および課金サーバ５も、図２に示したクライアント１と基本的に同様の構成を有するコンピュータにより構成される。そこで、以下の説明においては、図２の構成は、コンテンツサーバ３、ライセンスサーバ４、課金サーバ５などの構成としても引用される。
【００４２】
図６は、クライアント１の機能的構成例を表している。DRM(Digital Right Management)モジュール５１は、コンテンツや権利データ等の通信や権利データの管理を行う。
【００４３】
再生モジュール５２−１は、コンテンツの再生を制御し、書き込みモジュール５２−２は、コンテンツのCD-Rへの書き込みを制御する。
【００４４】
読み取りモジュール５２−３は、CDからのコンテンツの読み取りを制御する。LCM(License Complianced Module)モジュール５２−４は、クライアント１と他のデバイス間におけるコンテンツのチェンクイン、チェックアウト、およびムーブのための処理を制御する。
【００４５】
なお、再生モジュール５２−１乃至LCMモジュール５２−４は、いわゆるコンテンツを利用するためのモジュールであり、以下において、これらを個々に区別する必要がない場合、まとめてコンテンツ利用モジュール５２と称する。
【００４６】
セキュリティモジュール５３は、各モジュールの暗号処理などのデータのセキュリティに関連する処理を行う。すなわち、各モジュールで発生するセキュリティに関する処理は、セキュリティモジュール５３に対して要求され、セキュリティモジュール５３は、その要求に応じて暗号処理等を実行する。
【００４７】
次に、クライアント１が、ライセンスサーバ４に登録され、ライセンスサーバ４から所定の情報を取得した場合のクライアント１の動作を、図７のフローチャートを参照して説明する。
【００４８】
ステップＳ１において、クライアント１のCPU２１（DRMモジュール５１）は、クライアント１がライセンスサーバ４に登録されることによってライセンスサーバ４から送信されてきた、リーフID、DNK(Device Node Key)、クライアント１の秘密鍵・公開鍵のペア、ライセンスサーバ４の公開鍵、および各公開鍵の証明書を含むサービスデータを、通信部２９を介して受信する。なお、ライセンスサーバ４が提供する複数のサービスに対して登録がなされた場合、それらのサービス分のサービスデータが供給されるので、このときクライアント１は、それらを適宜受信する。
【００４９】
サービスデータに含まれるリーフIDは、クライアント毎に割り当てられた識別情報であり、DNKは、コンテンツに含まれるEKB（有効化キーブロック）によって暗号化されているコンテンツキーKcを復号するのに必要なデバイスノードキーである。
【００５０】
次に、ステップＳ２において、DRMモジュール５１は、リーフIDから、この利用権を管理するサービスノードを特定する。
【００５１】
具体的には、サービスノードIDが検出される。リーフIDは、図２に示したように、６４段の各ノードで構成されるパスのうちの１つに対応しているので、そのリーフIDを、例えば３２段分だけ遡ることにより、サービスノードIDを検出することができる。
【００５２】
ステップＳ３において、DRMモジュール５１は、登録したサービスに基づいて利用できるコンテンツの使用状態等を管理する領域（以下、管理領域と称する）を、記憶部２８に、ステップＳ２で特定したサービスノードに対応させて確保する。例えば、図８の例では、記憶部２８に、サービスノードＡ，Ｂの管理領域が確保されている。
【００５３】
その後、処理は終了する。なお、以上の登録処理は、ライセンスサーバ４が提供するサービス毎に行われる。
【００５４】
次に、クライアント１が、コンテンツサーバ３から、利用するコンテンツの提供を受ける処理について、図９のフローチャートを参照して説明する。
【００５５】
ユーザが、クライアント１の入力部２６を操作することでコンテンツサーバ３に対するアクセスを指令すると、DRMモジュール５１は、ステップＳ１１において、通信部２９を制御して、インターネット２を介してコンテンツサーバ３にアクセスさせる。
【００５６】
ステップＳ１２において、ユーザが、入力部２６を操作して、提供を受けるコンテンツを指定すると、DRMモジュール５１は、この指定情報を受け取り、通信部２９から、インターネット２を介してコンテンツサーバ１３に、指定されたコンテンツのコンテンツIDを通知する。図１０のフローチャートを参照して後述するように、この通知を受けたコンテンツサーバ３は、暗号化されたコンテンツデータを含むコンテンツを送信するので、ステップＳ１３において、DRMモジュール５１は、通信部２９を介して、このコンテンツデータを受信し、ステップＳ１４において、その暗号化されているコンテンツデータを、記憶部２８に記憶させる。
【００５７】
次に、図１０のフローチャートを参照して、クライアント１の以上の処理に対応するコンテンツサーバ３のコンテンツ提供処理について説明する。なお、以下の説明において、図５のクライアント１の構成は、コンテンツサーバ３の構成としても引用される。
【００５８】
ステップＳ２１において、コンテンツサーバ３のCPU２１は、インターネット２から通信部２９を介してクライアント１よりアクセスを受けるまで待機し、アクセスを受けたと判定したとき、ステップＳ２２に進み、クライアント１から送信されてきたコンテンツIDを取り込む。このコンテンツIDは、クライアント１が、図９のステップＳ１２において通知してきた情報である。
【００５９】
ステップＳ２３において、コンテンツサーバ３のCPU２１は、記憶部２８に記憶されているコンテンツの中から、ステップＳ２２の処理で取り込まれたコンテンツIDで指定されたコンテンツデータを読み出す。CPU２１は、ステップＳ２４において、記憶部２８から読み出されたコンテンツデータを、暗号化復号部２４に供給し、コンテンツキーKcを用いて暗号化させる。
【００６０】
記憶部２８に記憶されているコンテンツデータは、コーデック部２５により、既にATRAC３方式によりエンコードされているので、このエンコードされているコンテンツデータが暗号化されることになる。
【００６１】
なお、もちろん、記憶部２８に予め暗号化した状態でコンテンツデータを記憶させることができ、この場合には、ステップＳ２４の処理は省略することができる。
【００６２】
次に、ステップＳ２５において、コンテンツサーバ３のCPU２１は、暗号化したコンテンツデータを伝送するフォーマットを構成するヘッダに、暗号化されているコンテンツを復号するのに必要なキー情報（図１１を参照して後述するEKBとKEKBC（Kc））を付加する。そして、ステップＳ２６において、コンテンツサーバ３のCPU２１は、ステップＳ２４の処理で暗号化したコンテンツと、ステップＳ２５の処理でキー情報を付加したヘッダとをフォーマット化したデータを、通信部２９から、インターネット２を介して、アクセスしてきたクライアント１に送信する。
【００６３】
図１１は、このようにして、コンテンツサーバ３からクライアント１に供給されるコンテンツのデータ構成を表している。同図に示されるように、このコンテンツデータは、ヘッダ（Header）とデータ（Data）とにより構成される。
【００６４】
ヘッダには、コンテンツ情報（Content information）、URL（Uniform Resource Locator）、イネーブリングキーブロック（有効化キーブロック）（EKB（Enabling Key Block））、EKBから生成されたキーKEKBCを用いて暗号化されたコンテンツキーKcとしてのデータKEKBC（Kc）、コンテンツの属性（Attributes）、および著名（Signatures）が配置されている。
【００６５】
コンテンツ情報には、データとしてフォーマット化されているコンテンツデータを識別するための識別情報としてのコンテンツID（CID）、そのコンテンツのコーデックの方式などの情報が含まれている。なおコンテンツID（CID）は、例えば、コンテンツのタイトルや、記憶されているコンテンツ毎に付与されている番号などにより構成されている。
【００６６】
URLは、そのコンテンツを利用するために必要な利用権を取得するときアクセスするアドレス情報であり、図１のシステムの場合、利用権を受けるために必要なライセンスサーバ４のアドレスである。
【００６７】
コンテンツの属性は、コンテンツに関する情報であり、コンテンツの属性には、コンテンツID、コンテンツの提供者を識別するための識別情報としてのレコードカンパニーID、アーティストを識別するための識別情報としてのアーティストIDなどが含まれる。本実施例では、属性は利用権の対象となるコンテンツを特定するために用いられる。
【００６８】
署名は、コンテンツの属性に対応する電子署名である。
【００６９】
データは、任意の数の暗号化ブロック（Encryption Block）により構成される。各暗号化ブロックは、イニシャルベクトル（IV（Initial Vector））、シード（Seed）、およびコンテンツデータをキーK'cで暗号化したデータEK'c(data)により構成されている。
【００７０】
キーK'cは、次式により示されるように、コンテンツキーKcと、乱数で設定される値Seedをハッシュ関数に適用して演算された値により構成される。
K'c＝Hash(Kc, Seed)
【００７１】
イニシャルベクトルIVとシードSeedは、暗号化ブロック毎に異なる値に設定される。
【００７２】
この暗号化は、コンテンツのデータを８バイト単位で区分して、８バイト毎に行われる。後段の８バイトの暗号化は、前段の８バイトの暗号化の結果を利用して行われるCBC（Cipher Block Chaining）モードで行われる。
【００７３】
CBCモードの場合、最初の８バイトのコンテンツデータを暗号化するとき、その前段の８バイトの暗号化結果が存在しないため、最初の８バイトのコンテンツデータを暗号化するときは、イニシャルベクトルIVを初期値として暗号化が行われる。
【００７４】
このCBCモードによる暗号化を行うことで、１つの暗号化ブロックが解読されたとしても、その影響が、他の暗号化ブロックにおよぶことが抑制される。
【００７５】
なお、暗号方式についてはこれに限らない。
【００７６】
次に、以上のようにして取得したコンテンツを利用する場合のクライアント１の動作を、図１２のフローチャートを参照して説明する。
【００７７】
ステップＳ４１において、クライアント１のCPU２１（コンテンツ利用モジュール５２）は、ユーザが入力部２６を操作することで指示したコンテンツの識別情報（CID）を取得する。
【００７８】
そして、コンテンツ利用モジュール５２は、コンテンツが指示されると、その属性（attributes）を読み取る。この属性は、図１１に示されるように、コンテンツのヘッダに記述されているものである。
【００７９】
次に、ステップＳ４２に進み、コンテンツ利用モジュール５２は、ステップＳ４１で読み取られた属性が、各利用権に含まれているコンテンツ条件を満たすような利用権が、クライアント１により既に取得され、記憶部２８に記憶されているか否かを判定し、利用権が取得されていないと判定した場合、ステップＳ４３に進む。
【００８０】
ステップＳ４３において、コンテンツ利用モジュール５２は、利用権の取得をDRMモジュール５１に要求し、DRMモジュール５１は、その要求に応じて利用権取得処理を実行する。DRMモジュール５１により実行される利用権取得処理の詳細は、図１３のフローチャートに示されている。
【００８１】
最初にステップＳ６１において、DRMモジュール５１は、コンテンツヘッダに記述されているURLを取得する。上述したように、このURLは、そのコンテンツを利用するために必要な利用権を取得するときアクセスすべきアドレスである。
【００８２】
ステップＳ６２において、DRMモジュール５１は、ステップＳ６１で取得したURLにアクセスする。具体的には、通信部２９によりインターネット２を介してライセンスサーバ４に対するアクセスが行われる。このとき、ライセンスサーバ４は、クライアント１に対して、利用権のリストを送信するとともに、購入する利用権（コンテンツを使用するのに必要な利用権）を指定する利用権指定情報（利用権IDであってもよい）、並びにユーザIDとパスワードの入力を要求してくるので（後述する図１８のステップＳ１０２）、DRMモジュール５１は、この要求を出力部２７の表示部に表示させる。ユーザは、この表示に基づいて、入力部２６を操作して、利用権指定情報、ユーザID、およびパスワードを入力する。なお、このユーザIDとパスワードは、クライアント１のユーザが、インターネット２を介してライセンスサーバ４にアクセスし、事前に取得しておいたものである。
【００８３】
DRMモジュール５１は、ステップＳ６３，Ｓ６４において、入力部２６から入力された利用権指定情報とともに、ユーザIDとパスワードを取り込むと、ステップＳ６５において、通信部２９を制御し、入力されたユーザIDとパスワードを、利用権指定情報およびサービスデータに含まれるリーフIDを含む利用権要求とともに、インターネット２を介してライセンスサーバ４に送信させる。
【００８４】
ライセンスサーバ４は、図１８を参照して後述するように、ユーザIDとパスワード、並びに利用権指定情報に基づいて利用権を送信してくる（ステップＳ１０９）か、または、条件が満たされない場合には、利用権を送信してこない（ステップＳ１１２）。
【００８５】
ステップＳ６６において、DRMモジュール５１は、ライセンスサーバ４から送信されてきた利用権が受信されたか否かを判定し、利用権が受信されたと判定された場合、ステップＳ６７に進み、その利用権を記憶部２８に供給して記憶させる。
【００８６】
図１４は、クライアント１に提供される利用権を表している。
【００８７】
バージョンは、メジャーバージョンおよびマイナーバージョンをドットで区切って、利用権のバージョンを記述する情報である。プロファイルは、１０進の整数値から記述され、利用権の記述方法に対する制限を規定する情報である。
【００８８】
利用権IDは、１６進定数で記述される、利用権を識別するための識別情報である。作成日時は、利用権が作成された日時を示す。有効期限は、利用権の有効期限を示す。なお、９９９９年２３時５９分５９秒である有効期限は、有効期限に制限がないことを示す。
【００８９】
使用条件には、その利用権に基づいて、コンテンツを使用することが可能な使用期限、その利用権に基づいて、コンテンツを再生することが可能な再生期限、コンテンツの最大再生回数、その利用権に基づいて、コンテンツをコピーすることが可能な回数（許されるコピー回数）、最大チェックアウト回数、その利用権に基づいて、コンテンツをCD-Rに記録することの可否、PD（Portable Device）にコピーすることが可能な回数、利用権の移動の可否、または使用ログをとる義務の有無等が含まれる。
【００９０】
使用条件の電子署名は、使用条件に対応する電子署名である。
【００９１】
定数は、使用条件または使用状態で参照される定数である。リーフIDは、クライアントを識別するための識別情報である。電子署名は、利用権全体に対応する電子署名である。証明書は、ライセンスサーバ４の公開鍵を含む証明書である。
【００９２】
ステップＳ６７で、利用権が記憶されると、処理は、DRMモジュール５１からコンテンツ利用モジュール５２に引き渡される。
【００９３】
ステップＳ６６で、利用権が受信されなかったと判定された場合、DRMモジュール５１は、ステップＳ６８に進み、エラー処理を実行する。具体的には、DRMモジュール５１は、コンテンツを利用するための利用権が得られないので、コンテンツの利用を禁止する。
【００９４】
このように各クライアント１は、コンテンツデータを利用するために必要な利用権を取得して、初めて、そのコンテンツを使用することが可能となる。
【００９５】
なお、ここでの利用権取得処理は、各ユーザがコンテンツを取得する前に、予め行っておくようにすることも可能である。
【００９６】
図１２に戻り、ステップＳ４２で、利用権が既に取得されていると判定された場合、または、ステップＳ４３で、利用権取得処理が実行された結果、利用権が取得された場合（図１３のステップＳ６７で利用権が記憶されたとき）、ステップＳ４４に進み、コンテンツ利用モジュール５２は、取得されている利用権は有効期限内のものであるか否かを判定する。
【００９７】
利用権が有効期限内のものであるか否かは、利用権の内容として規定されている有効期限（図１４）と、タイマ２０により計時されている現在日時と比較することで判断される。利用権の有効期限が既に満了していると判定された場合、コンテンツ利用モジュール５２は、ステップＳ４５に進み、利用権の更新をDRMモジュール５１に要求し、DRMモジュール５１は、その要求に応じて利用権更新処理を実行する。DRMモジュール５１により実行される利用権更新処理の詳細は、図１５のフローチャートに示されている。
【００９８】
ステップＳ８１乃至ステップＳ８５においては、基本的に、図１３のステップＳ６１乃至ステップＳ６５における場合と同様の処理が行われているので、その詳細な説明は省略するが、ステップＳ８３において、DRMモジュール５１は、購入する利用権ではなく、更新する利用権の利用権指定情報を取り込む。そして、ステップＳ８５において、DRMモジュール５１は、ユーザIDとパスワードとともに、更新する利用権の利用権指定情報を、ライセンスサーバ４に送信する。
【００９９】
ステップＳ８５の送信処理に対応して、ライセンスサーバ４は、後述するように、使用条件を提示してくる（図１９のステップＳ１５３）。そこで、クライアント１のDRMモジュール５１は、ステップＳ８６において、ライセンスサーバ４からの使用条件の提示を受信し、これを出力部２７に出力して表示させる。ユーザは、入力部２６を操作して、この使用条件の中から所定の使用条件を選択したり、所定の使用条件を新たに追加したりする。ステップＳ８７でDRMモジュール５１は、以上のようにして選択された使用条件（利用権を更新する条件）を購入するための申し込みをライセンスサーバ４に送信する。この申し込みに対応して、後述するようにライセンスサーバ４は、最終的な使用条件を送信してくる（図１９のステップＳ１５４）。そこで、ステップＳ８８において、クライアント１のDRMモジュール５１は、ライセンスサーバ４からの使用条件を取得し、ステップＳ８９において、その使用条件を記憶部２８にすでに記憶されている対応する利用権の使用条件として更新する。
【０１００】
その後、処理は、DRMモジュール５１からコンテンツ利用モジュール５２に引き渡される。
【０１０１】
図１２に戻り、ステップＳ４４で、利用権はまだ有効期限内であると判定された場合、または、ステップＳ４５で、利用権が更新された場合（図１５のステップＳ８９で使用条件が更新されたとき）、ステップＳ４６に進み、DRMモジュール５１は、所定の利用処理を実行する。
【０１０２】
コンテンツ利用モジュール５２が、再生モジュール５２−１である場合、コンテンツを再生する処理が行われ、書き込みモジュール５２−２である場合、コンテンツのCD-Rへの書き込み処理が行われ、読み取りモジュール５２−３である場合、CDからコンテンツを読み取る処理が行われ、またはLCMモジュール５２−４である場合、ポータブルデバイスに対するチェックイン、チェックアウト、またはムーブのための処理が行われる。
【０１０３】
なお、ここでの利用処理に先立ち、DRMモジュール５１は、利用権に含まれる使用条件および使用状態を読み出し、利用の条件を満たしていると判定した場合、所定の利用処理を実行する。例えば、使用状態に記憶されているコンテンツを再生した回数が、使用条件に含まれているコンテンツ最大再生回数より少ない場合においてのみ、再生利用が可能となる。
【０１０４】
次に、ステップＳ４７において、コンテンツ利用モジュール５２は、使用状態情報の更新を、DRMモジュール５１に要求し、DRMモジュール５１は、その要求に応じて使用状態更新処理を実行する。DRMモジュール５１により実行される使用状態更新処理の詳細は、図１６のフローチャートに示されている。
【０１０５】
ステップＳ９１において、DRMモジュール５１は、利用したコンテンツの利用権（図１４）に含まれているリーフIDを読み出し、それに基づいてサービスノードを特定する。具体的には、図７のステップＳ２における場合と同様に、サービスノードIDが検出される。
【０１０６】
次に、ステップＳ９２において、DRMモジュール５１は、図７のステップＳ３で確保した、ステップＳ９１で検出したサービスノードの管理領域に、利用したコンテンツのヘッダ（図１１）に格納されている利用権IDと同一のIDが設定されているか否かを判定し、設定されていないと判定した場合、ステップＳ９３に進む。例えば、コンテンツが初めて利用された場合、そのコンテンツの利用権IDは、管理領域に設定されていないので、ステップＳ９３に進む。
【０１０７】
ステップＳ９３において、DRMモジュール５１は、記憶部２８の管理領域に、利用したコンテンツの利用権IDを設定し、ステップＳ９４において、その利用権IDに関連付けて、コンテンツID（CID）を設定する。
【０１０８】
次に、ステップＳ９５において、DRMモジュール５１は、図１２のステップＳ４６での利用処理の内容に基づいて使用状態情報を生成し、それを、ステップＳ９６において、ステップＳ９３で設定したコンテンツIDに関連付けて記憶する。
【０１０９】
例えば、コンテンツを再生する利用においては、図１２のステップＳ４６の処理で、１度だけそのコンテンツが再生されたとき、再生が１回なされとことを示す使用状態情報が生成され、そのコンテンツIDに関連付けられて記憶される。
【０１１０】
ステップＳ９２で、利用権IDが設定されている判定された場合、ステップＳ９７に進み、DRMモジュール５１は、その利用権IDに関連付けられて、利用したコンテンツのコンテンツID（CID）が設定されているか否かを判定する。
【０１１１】
ステップＳ９７で、コンテンツID（CID）が設定されていないと判定された場合、ステップＳ９４に進み、上述したようにそのコンテンツIDが、利用権IDに関連付けて設定され、ステップＳ９５で、使用状態情報が生成され、そしてステップＳ９６で、使用状態情報がコンテンツIDに関連付けられて記憶される。
【０１１２】
ステップＳ９７で、コンテンツIDが利用権IDに関連付けられて設定されていると判定された場合、ステップＳ９８に進み、DRMモジュール５１は、そのコンテンツIDに関連付けられて記憶されている使用状態情報を、図１２のステップＳ４６での利用処理の内容に基づいて更新する。すなわち、例えば再生された回数が１だけインクリメントされる。
【０１１３】
ステップＳ９６で、生成された使用状態情報がコンテンツID（CID）に関連付けられて記憶されたとき、またはステップＳ９８で、使用状態情報が更新されたとき、ステップＳ９９に進み、DRMモジュール５１は、使用状態情報が新たに記憶されたまたは更新された管理領域のICVを演算し、それをその管理領域に対応付けて記憶する。
【０１１４】
図１７は、記憶部２８の、使用状態情報の記憶状態を表している。このように、使用状態情報は、コンテンツID（CID）および利用権IDに関連付けられて、サービスノードの管理領域に記憶されて管理されている。なお、各利用権IDに関連付けられて、その利用権IDに対応する利用権の登録日時やクライアント１で利用可能なその利用権に対応するコンテンツの数などの情報を含む利用権管理情報も管理されるようになされている。
【０１１５】
上述した、図１２のステップＳ４６について説明では省略したが、そこで具体的なコンテンツ利用処理が開始される前に、利用するコンテンツのコンテンツIDが記憶されている管理領域全体のICVが演算され、そのICVと図１６のステップＳ９９で演算されて記憶されているICVが一致するか否かが判定され、一致する場合、そのコンテンツIDに関連付けられて記憶されている使用状態情報に基づくコンテンツ利用処理が行われるようになされている。
【０１１６】
以上のように、使用状態情報を、サービス毎に管理するようにしたので、例え１つの使用状態情報が壊れたり、改竄されて書き換えられたりしても、その影響を、１つの管理領域内に止めることができる。すなわち、改竄等された使用状態情報が記憶されている管理領域内に使用状態情報が記憶されているコンテンツの利用を行うことはできなくなるが、他の管理領域に使用状態情報が記憶されているコンテンツについては支障なく利用することができる。
【０１１７】
図１８および図１９を参照して、図１３のクライアント１の利用権取得処理（図１２のステップＳ４３）に対応して実行されるライセンスサーバ４の利用権提供処理、および図１５のクライアント１の利用権更新処理（図１２のステップＳ４５）に対応して実行されるライセンスサーバ４の利用権更新処理を、それぞれ説明する。
【０１１８】
はじめに利用権提供処理を説明する。
【０１１９】
ステップＳ１０１において、ライセンスサーバ４のCPU２１は、クライアント１よりアクセスを受けるまで待機し、アクセスを受けたとき、ステップＳ１０２に進み、アクセスしてきたクライアント１に対して、各利用権に関する情報を含む利用権のリストを送信するとともに、ユーザIDとパスワード、並びに、利用権指定情報の送信を要求する。上述したようにして、クライアント１から、図１３のステップＳ６５の処理で、ユーザIDとパスワード、リーフID並びに利用権指定情報（利用権IDであってもよい）が送信されてきたとき、ライセンスサーバ４のCPU２１は、通信部２９を介してこれを受信し、取り込む処理を実行する。
【０１２０】
そして、ライセンスサーバ４のCPU２１は、ステップＳ１０３において、通信部２９から課金サーバ５にアクセスし、ユーザIDとパスワードに対応するユーザの与信処理を要求する。課金サーバ５は、インターネット２を介してライセンスサーバ４から与信処理の要求を受けると、そのユーザIDとパスワードに対応するユーザの過去の支払い履歴などを調査し、そのユーザが、過去に利用権の対価の不払いの実績があるか否かなどを調べ、そのような実績がない場合には、利用権の付与を許容する与信結果を送信し、不払いの実績などがある場合には、利用権付与の不許可の与信結果を送信する。
【０１２１】
ステップＳ１０４において、ライセンスサーバ４のCPU２１は、課金サーバ５からの与信結果が、利用権を付与することを許容する与信結果であるか否かを判定し、利用権の付与が許容されている場合には、ステップＳ１０５に進み、ステップＳ１０２の処理で取り込まれた利用権指定情報に対応する利用権を、記憶部２８に記憶されている利用権の中から取り出す。記憶部２８に記憶されている利用権は、あらかじめ利用権ID、バージョン、作成日時、有効期限等の情報が記述されている。ステップＳ１０６において、CPU２１は、その利用権に受信したリーフIDを付加する。さらに、ステップＳ１０７において、CPU２１は、ステップＳ１０５で選択された利用権に対応づけられている使用条件を選択する。あるいはまた、ステップＳ１０２の処理で、ユーザから使用条件が指定された場合には、その使用条件が必要に応じて、予め用意されている使用条件に付加される。CPU２１は、選択された使用条件を利用権に付加する。使用条件は利用権にあらかじめ付加されてもよい。
【０１２２】
ステップＳ１０８において、ＣＰＵ２１はライセンスサーバ４の秘密鍵により利用権に署名し、ライセンスサーバ４の公開鍵を含む証明書を利用権に添付し、これにより、図１４に示されるような構成の利用権が生成される。
【０１２３】
次に、ステップＳ１０９に進み、ライセンスサーバ４のCPU２１は、その利用権（図１４に示される構成を有する）を、通信部２９からインターネット２を介してクライアント１に送信させる。
【０１２４】
ステップＳ１１０においてライセンスサーバ４のCPU２１は、ステップＳ１０９の処理で、いま送信した利用権（使用条件、リーフIDを含む）を、ステップＳ１０２の処理で取り込まれたユーザIDとパスワードに対応して、記憶部２８に記憶させる。さらに、ステップＳ１１１において、CPU２１は、課金処理を実行する。具体的には、CPU２１は、通信部２９から課金サーバ５に、そのユーザIDとパスワードに対応するユーザに対する課金処理を要求する。課金サーバ５は、この課金の要求に基づいて、そのユーザに対する課金処理を実行する。上述したように、この課金処理に対して、そのユーザが支払いを行わなかったような場合には、以後、そのユーザは、利用権の付与を要求したとしても、利用権を受けることができないことになる。
【０１２５】
すなわち、この場合には、課金サーバ５から利用権の付与を不許可とする与信結果が送信されてくるので、ステップＳ１０４からステップＳ１１２に進み、CPU２１は、エラー処理を実行する。具体的には、ライセンスサーバ４のCPU２１は、通信部２９を制御してアクセスしてきたクライアント１に対して、利用権を付与することができない旨のメッセージを送信し、処理を終了させる。
【０１２６】
この場合、上述したように、そのクライアント１は利用権を受けることができないので、そのコンテンツを利用すること（暗号化されたコンテンツデータを復号し、再生すること）ができないことになる。
【０１２７】
次に、ライセンスサーバ４が実行する利用権更新処理を説明する（図１９）。
【０１２８】
最初に、ステップＳ１５１において、ライセンスサーバ４のCPU２１は、クライアント１からのアクセスを受けると、ステップＳ１５２において、クライアント１がステップＳ８５で送信した利用権指定情報を利用権更新要求情報とともに受信する。
【０１２９】
ステップＳ１５３において、CPU２１は、利用権の更新要求を受信すると、その利用権に対応する使用条件（更新する使用条件）を、記憶部２８から読み出し、クライアント１に送信する。
【０１３０】
なお、以上においては、使用状態情報をサービス毎に管理する場合を例として説明したが、クライアント１において、取得した利用権（図１３のステップＳ６７）を、サービス毎に管理することもできる。これにより、例え１つの利用権が壊れたり、改竄されて書き換えられたりしても、その影響を、１つの管理領域内に止めることができる。
【０１３１】
この提示に対して、上述したように、クライアント１から使用条件の購入が図１５のステップＳ８７の処理で申し込まれると、ステップＳ１５４において、ライセンスサーバ４のCPU２１は、申し込まれた使用条件に対応するデータを生成し、ステップＳ１５４において、クライアントと１に送信する。クライアント１は、上述したように、ステップＳ８９の処理で受信した使用条件を用いて、すでに登録されている利用権の使用条件を更新する。
【０１３２】
本発明が適用されるクライアントは、いわゆるパーソナルコンピュータ以外に、PDA（Personal Digital Assistants）、携帯電話機、ゲーム端末機などとすることができる。
【０１３３】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１３４】
この記録媒体は、図５に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク４１（フロッピディスクを含む）、光ディスク４２（CD-ROM(Compact Disk - Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク４３（ＭＤ（Mini-Disk）を含む）、もしくは半導体メモリ４４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM２２や、記憶部２８に含まれるハードディスクなどで構成される。
【０１３５】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３６】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１３７】
【発明の効果】
本発明によれば、コンテンツの利用情報を、サービス毎に、サービスに関連付けて管理し、利用情報に基づいて、コンテンツを利用する処理を実行するようにしたので、利用情報が壊れても、その影響を管理されている範囲内に止めることができる。
【図面の簡単な説明】
【図１】本発明を適用したコンテンツ提供システムの構成を示すブロック図である。
【図２】キーの構成を説明する図である。
【図３】カテゴリノードを説明する図である。
【図４】ノードとデバイスの対応の具体例を示す図である。
【図５】図１のクライアントの構成を示すブロック図である。
【図６】図１のクライアントの機能的構成例を説明する図である。
【図７】図１のクライアントのサービス登録処理を説明するフローチャートである。
【図８】図５の記憶部に確保される管理領域を表す図である。
【図９】図１のクライアントのコンテンツのダウンロード処理を説明するフローチャートである。
【図１０】図１のコンテンツサーバのコンテンツ提供処理を説明するフローチャートである。
【図１１】コンテンツデータのデータ構造を示す図である。
【図１２】図１のクライアントのコンテンツ利用処理を説明するフローチャートである。
【図１３】図１２のステップＳ４３の利用権取得処理の詳細を説明するフローチャートである。
【図１４】利用権の構成を示す図である。
【図１５】図１２のステップＳ４５における利用権更新処理の詳細を説明するフローチャートである。
【図１６】図１２のステップＳ４７における使用状態更新処理の詳細を説明するフローチャートである。
【図１７】管理領域に記憶された使用状態情報を表す図である。
【図１８】図１のライセンスサーバの利用権提供の処理を説明するフローチャートである。
【図１９】図１のライセンスサーバの利用権更新の処理を説明するフローチャートである。
【符号の説明】
１−１，１−２  クライアント，  ２  インターネット，  ３  コンテンツサーバ，  ４  ライセンスサーバ，  ５  課金サーバ，  ２０  タイマ，  ２１  CPU，  ２４  暗号化復号部，  ２５  コーデック部，  ２６  入力部，  ２７出力部，  ２８  記憶部，  ２９  通信部，  ５１  DRMモジュール，  ５２−１  再生モジュール，  ５２−２  書き込みモジュール，  ５２−３  読み取りモジュール，  ５２−４  LCM，  ５３  セキュリティモジュール
【図１】
0003818503.tif 000002
【図２】
0003818503.tif 000003
【図３】
0003818503.tif 000004
【図４】
0003818503.tif 000005
【図５】
0003818503.tif 000006
【図６】
0003818503.tif 000007
【図７】
0003818503.tif 000008
【図８】
0003818503.tif 000009
【図９】
0003818503.tif 000010
【図１０】
0003818503.tif 000011
【図１１】
0003818503.tif 000012
【図１２】
0003818503.tif 000013
【図１３】
0003818503.tif 000014
【図１４】
0003818503.tif 000015
【図１５】
0003818503.tif 000016
【図１６】
0003818503.tif 000017
【図１７】
0003818503.tif 000018
【図１８】
0003818503.tif 000019
【図１９】
0003818503.tif 000020