(57)【特許請求の範囲】
【請求項１】
１以上の選択されたデバイスにおいてのみ利用可能な暗号化メッセージデータを配信する情報処理システムであり、
個々のデバイスは、
複数の異なるデバイスをリーフとした階層ツリー構造における各ノードに固有のノードキーと各デバイス固有のリーフキーの異なるキーセットをそれぞれ保有するとともに、デバイスに対して配信される前記暗号化メッセージデータについての復号処理を前記キーセットを使用して実行する暗号処理手段を有し、
前記デバイスに提供される暗号化メッセージデータは有効化キーブロック（ＥＫＢ）の復号処理によって得られる更新ノードキーと同じデータ構成を持つ更新ノードキーによって暗号化されたデータであり、
前記有効化キーブロック（ＥＫＢ）は、
（ａ）前記階層ツリー構造の１つのノードを頂点ノードとし、該頂点ノードの下位に連結されるノードおよびリーフによって構成されるグループ内のノードキーの少なくともいずれかを更新した更新ノードキーを該グループのノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成されるデータ部と、
（ｂ）前記データ部に格納される暗号化キーデータの暗号化に適用したノードキーまたはリーフキーが対応付けられた前記階層ツリー構造におけるノード位置またはリーフ位置を判別するための位置識別データによって構成されるタグ部と、
を含む構成であり、
前記有効化キーブロック（ＥＫＢ）に含まれる前記暗号化キーデータは、前記階層ツリーを簡略化して再構築される簡略化ツリーに設定されるノードまたはリーフに対応するノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成され、
前記簡略化ツリーは、前記階層ツリー構造から前記有効化キーブロック（ＥＫＢ）の復号を許容したデバイス対応のリーフを選択リーフとして抽出し、選択リーフと頂点ノードとその接続パスのみを含みかつ接続パス上の分岐点のないノードを削除した構成を有する簡略化ツリー、または前記選択リーフと頂点ノードと、前記選択リーフと頂点ノードを直接接続するパスのみを含む構成を有する簡略化ツリーであることを特徴とする情報処理システム。
【請求項２】
前記有効化キーブロック（ＥＫＢ）に含まれる前記暗号化キーデータは、前記階層ツリー構造を構成するノードキーを下位ノードキーまたは下位リーフキーを用いて暗号化したデータであり、
前記タグ部に格納される位置識別データは、前記有効化キーブロック（ＥＫＢ）に格納された１以上の暗号化キーデータの暗号化に適用したノードキーが対応付けられた前記階層ツリーにおける各々のノード位置の下位の左右ノードまたはリーフ位置に対応するノードキーまたはリーフキーが前記暗号化キーデータの暗号化に適用されたキーとして含まれるか否かを示すタグとして構成されていることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記タグ部に格納される位置識別データは、前記有効化キーブロック（ＥＫＢ）のタグに対応する暗号化キーの格納の有無を示すデータを含む構成であることを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記タグ部に格納される位置識別データは、前記有効化キーブロック（ＥＫＢ）に格納された１以上の暗号化キーデータの暗号化に適用したノードキーが対応付けられた前記階層ツリーにおける各々のノード位置の下位の左右ノードまたはリーフ位置に対応するノードキーまたはリーフキーが前記暗号化キーデータの暗号化に適用されたキーとして含まれるか否かを示すタグと、該タグに対応する暗号化キーの格納の有無を示すデータを含む構成であることを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記簡略化ツリーは、前記階層化ツリーを構成する複数のノードまたはリーフを含むブロックからなる部分集合ツリーとして定義されるエンティテイの頂点ノードであるサブルートを選択して構成されるツリーであることを特徴とする請求項１に記載の情報処理システム。
【請求項６】
前記簡略化ツリーは、２以上の分岐を持つツリーであることを特徴とする請求項１に記載の情報処理システム。
【請求項７】
前記デバイスにおける前記暗号処理手段は、
前記有効化キーブロック（ＥＫＢ）の前記タグ部のデータにより、前記暗号化キーデータを順次抽出して、復号処理を実行し、前記更新ノードキーを取得し、該取得した更新ノードキーにより前記暗号化メッセージデータの復号を実行する構成であることを特徴とする請求項１に記載の情報処理システム。
【請求項８】
前記メッセージデータは、コンテンツデータを復号するための復号鍵として使用可能なコンテンツキーであることを特徴とする請求項１に記載の情報処理システム。
【請求項９】
前記メッセージデータは、認証処理において用いられる認証キーであることを特徴とする請求項１に記載の情報処理システム。
【請求項１０】
前記メッセージデータは、コンテンツのインテグリティ・チェック値（ＩＣＶ）生成キーであることを特徴とする請求項１に記載の情報処理システム。
【請求項１１】
前記メッセージデータは、認証処理において用いられる認証キーであることを特徴とする請求項１に記載の情報処理システム。
【請求項１２】
前記メッセージデータは、プログラムコードであることを特徴とする請求項１に記載の情報処理システム。
【請求項１３】
暗号化メッセージデータを配信する情報配信装置と前記暗号化メッセージデータを受信する複数の異なるデバイスであり、各デバイスをリーフとした階層ツリー構造における各ノードに固有のノードキーと各デバイス固有のリーフキーの異なるキーセットを保有するデバイスからなる情報処理システムにおいて実行する情報処理方法であり、
前記情報配信装置の暗号処理手段が、有効化キーブロック（ＥＫＢ）の復号処理によって得られる更新ノードキーと同じデータ構成を持つ更新ノードキーによって暗号化された暗号化メッセージデータを格納した有効化キーブロック（ＥＫＢ）を生成するステップであり、
（ａ）前記階層ツリー構造の１つのノードを頂点ノードとし、該頂点ノードの下位に連結されるノードおよびリーフによって構成されるグループ内のノードキーの少なくともいずれかを更新した更新ノードキーを該グループのノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成されるデータ部と、
（ｂ）前記データ部に格納される暗号化キーデータの暗号化に適用したノードキーまたはリーフキーが対応付けられた前記階層ツリー構造におけるノード位置またはリーフ位置を判別するための位置識別データとしてのタグ部と、
を含む有効化キーブロック（ＥＫＢ）を生成する有効化キーブロック（ＥＫＢ）生成ステップと、
前記情報配信装置の通信手段が、前記更新ノードキーによって暗号化したメッセージデータを生成してデバイスに対して配信するメッセージデータ配信ステップと、
を有し、
前記有効化キーブロック（ＥＫＢ）生成ステップにおいて生成する有効化キーブロック（ＥＫＢ）に含まれる前記暗号化キーデータは、前記階層ツリーを簡略化して再構築される簡略化ツリーに設定されるノードまたはリーフに対応するノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成され、
前記簡略化ツリーは、前記階層ツリー構造から前記有効化キーブロック（ＥＫＢ）の復号を許容したデバイス対応のリーフを選択リーフとして抽出し、選択リーフと頂点ノードとその接続パスのみを含みかつ接続パス上の分岐点のないノードを削除した構成を有する簡略化ツリー、または前記選択リーフと頂点ノードと、前記選択リーフと頂点ノードを直接接続するパスのみを含む構成を有する簡略化ツリーである、
ことを特徴とする情報処理方法。
【請求項１４】
前記情報処理方法において、
前記デバイスの暗号処理手段が、前記暗号化メッセージデータについての復号処理を前記キーセットを使用して実行する復号処理ステップ、
を有することを特徴とする請求項１３に記載の情報処理方法。
【請求項１５】
前記有効化キーブロック（ＥＫＢ）生成ステップは、
前記階層ツリー構造を構成するノードキーを下位ノードキーまたは下位リーフキーを用いて暗号化して前記暗号化キーデータを生成するステップと、
前記有効化キーブロック（ＥＫＢ）に格納される１以上の暗号化キーデータの暗号化に適用したノードキーが対応付けられた前記階層ツリーにおける各々のノード位置の下位の左右ノードまたはリーフ位置に対応するノードキーまたはリーフキーが前記暗号化キーデータの暗号化に適用されたキーとして含まれるか否かを示すタグを生成して前記タグ部に格納するステップとを含むことを特徴とする請求項１３に記載の情報処理方法。
【請求項１６】
前記有効化キーブロック（ＥＫＢ）生成ステップは、
前記有効化キーブロック（ＥＫＢ）のタグに対応する暗号化キーの格納の有無を示すデータを前記タグ部に格納するステップを含むことを特徴とする請求項１３に記載の情報処理方法。
【請求項１７】
前記簡略化ツリーは、前記階層化ツリーを構成する複数のノードまたはリーフを含むブロックからなる部分集合ツリーとして定義されるエンティテイの頂点ノードであるサブルートを選択して構成されるツリーであることを特徴とする請求項１３に記載の情報処理方法。
【請求項１８】
前記簡略化ツリーは、２以上の分岐を持つツリーであることを特徴とする請求項１３に記載の情報処理方法。
【請求項１９】
前記復号処理ステップは、
前記有効化キーブロック（ＥＫＢ）の前記タグ部に格納された位置識別データに基づいて前記データ部に格納された暗号化キーデータを順次抽出して順次復号処理を実行することにより前記更新ノードキーを取得する更新ノードキー取得ステップと、
前記更新ノードキーにより前記暗号化メッセージデータの復号を実行するメッセージデータ復号ステップと、
を含むことを特徴とする請求項１４に記載の情報処理方法。
【請求項２０】
前記メッセージデータは、コンテンツデータを復号するための復号鍵として使用可能なコンテンツキーであることを特徴とする請求項１３に記載の情報処理方法。
【請求項２１】
前記メッセージデータは、認証処理において用いられる認証キーであることを特徴とする請求項１３に記載の情報処理方法。
【請求項２２】
前記メッセージデータは、コンテンツのインテグリティ・チェック値（ＩＣＶ）生成キーであることを特徴とする請求項１３に記載の情報処理方法。
【請求項２３】
前記メッセージデータは、認証処理において用いられる認証キーであることを特徴とする請求項１３に記載の情報処理方法。
【請求項２４】
前記メッセージデータは、プログラムコードであることを特徴とする請求項１３に記載の情報処理方法。
【請求項２５】
暗号化メッセージデータを配信する情報配信装置と前記暗号化メッセージデータを受信する複数の異なるデバイスであり、各デバイスをリーフとした階層ツリー構造における各ノードに固有のノードキーと各デバイス固有のリーフキーの異なるキーセットを保有するデバイスからなる情報処理システムを構成する前記情報配信装置において情報処理を実行させるコンピュータ・プログラムを記録したプログラム記録媒体であり、前記コンピュータ・プログラムは、
前記情報配信装置の暗号処理手段に、有効化キーブロック（ＥＫＢ）の復号処理によって得られる更新ノードキーと同じデータ構成を持つ更新ノードキーによって暗号化された暗号化メッセージデータを格納した有効化キーブロック（ＥＫＢ）を生成させるステップであり、
（ａ）前記階層ツリー構造の１つのノードを頂点ノードとし、該頂点ノードの下位に連結されるノードおよびリーフによって構成されるグループ内のノードキーの少なくともいずれかを更新した更新ノードキーを該グループのノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成されるデータ部と、
（ｂ）前記データ部に格納される暗号化キーデータの暗号化に適用したノードキーまたはリーフキーが対応付けられた前記階層ツリー構造におけるノード位置またはリーフ位置を判別するための位置識別データとしてのタグ部と、
を含む有効化キーブロック（ＥＫＢ）を生成させる有効化キーブロック（ＥＫＢ）生成ステップを有し、
前記有効化キーブロック（ＥＫＢ）生成ステップにおいて生成させる有効化キーブロック（ＥＫＢ）に含まれる前記暗号化キーデータは、前記階層ツリーを簡略化して再構築される簡略化ツリーに設定されるノードまたはリーフに対応するノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成され、前記簡略化ツリーは、前記階層ツリー構造から前記有効化キーブロック（ＥＫＢ）の復号を許容したデバイス対応のリーフを選択リーフとして抽出し、選択リーフと頂点ノードとその接続パスのみを含みかつ接続パス上の分岐点のないノードを削除した構成を有する簡略化ツリー、または前記選択リーフと頂点ノードと、前記選択リーフと頂点ノードを直接接続するパスのみを含む構成を有する簡略化ツリーであることを特徴とするプログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体に関し、特に、暗号処理を伴うシステムにおける暗号処理鍵を配信するシステムおよび方法に関する。特に、木構造の階層的鍵配信方式を用い、さらに、階層的鍵配信ツリーを配信デバイスに応じて再構築して配信キーブロックに含まれるデータ量を削減することにより、配信メッセージ量を小さく押さえて、コンテンツキー配信、あるいは各種鍵の更新の際のデータ配信の負荷を軽減し、かつデータの安全性を保持することを可能とする情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体に関する。
【０００２】
【従来の技術】
昨今、ゲームプログラム、音声データ、画像データ等、様々なソフトウエアデータ（以下、これらをコンテンツ（Content）と呼ぶ）を、インターネット等のネットワーク、あるいはＤＶＤ、ＣＤ等の流通可能な記憶媒体を介しての流通が盛んになってきている。これらの流通コンテンツは、ユーザの所有するＰＣ（Personal Computer）、ゲーム機器によってデータ受信、あるいは記憶媒体の装着がなされて再生されたり、あるいはＰＣ等に付属する記録再生機器内の記録デバイス、例えばメモリカード、ハードディスク等に格納されて、格納媒体からの新たな再生により利用される。
【０００３】
ビデオゲーム機器、ＰＣ等の情報機器には、流通コンテンツをネットワークから受信するため、あるいはＤＶＤ、ＣＤ等にアクセスするためのインタフェースを有し、さらにコンテンツの再生に必要となる制御手段、プログラム、データのメモリ領域として使用されるＲＡＭ、ＲＯＭ等を有する。
【０００４】
音楽データ、画像データ、あるいはプログラム等の様々なコンテンツは、再生機器として利用されるゲーム機器、ＰＣ等の情報機器本体からのユーザ指示、あるいは接続された入力手段を介したユーザの指示により記憶媒体から呼び出され、情報機器本体、あるいは接続されたディスプレイ、スピーカ等を通じて再生される。
【０００５】
ゲームプログラム、音楽データ、画像データ等、多くのソフトウエア・コンテンツは、一般的にその作成者、販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、ソフトウエアの使用を許諾し、許可のない複製等が行われないようにする、すなわちセキュリティを考慮した構成をとるのが一般的となっている。
【０００６】
ユーザに対する利用制限を実現する１つの手法が、配布コンテンツの暗号化処理である。すなわち、例えばインターネット等を介して暗号化された音声データ、画像データ、ゲームプログラム等の各種コンテンツを配布するとともに、正規ユーザであると確認された者に対してのみ、配布された暗号化コンテンツを復号する手段、すなわち復号鍵を付与する構成である。
【０００７】
暗号化データは、所定の手続きによる復号化処理によって利用可能な復号データ（平文）に戻すことができる。このような情報の暗号化処理に暗号化鍵を用い、復号化処理に復号化鍵を用いるデータ暗号化、復号化方法は従来からよく知られている。
【０００８】
暗号化鍵と復号化鍵を用いるデータ暗号化・復号化方法の態様には様々な種類あるが、その１つの例としていわゆる共通鍵暗号化方式と呼ばれている方式がある。共通鍵暗号化方式は、データの暗号化処理に用いる暗号化鍵とデータの復号化に用いる復号化鍵を共通のものとして、正規のユーザにこれら暗号化処理、復号化に用いる共通鍵を付与して、鍵を持たない不正ユーザによるデータアクセスを排除するものである。この方式の代表的な方式にＤＥＳ（データ暗号標準：Deta encryption standard）がある。
【０００９】
上述の暗号化処理、復号化に用いられる暗号化鍵、復号化鍵は、例えばあるパスワード等に基づいてハッシュ関数等の一方向性関数を適用して得ることができる。一方向性関数とは、その出力から逆に入力を求めるのは非常に困難となる関数である。例えばユーザが決めたパスワードを入力として一方向性関数を適用して、その出力に基づいて暗号化鍵、復号化鍵を生成するものである。このようにして得られた暗号化鍵、復号化鍵から、逆にそのオリジナルのデータであるパスワードを求めることは実質上不可能となる。
【００１０】
また、暗号化するときに使用する暗号化鍵による処理と、復号するときに使用する復号化鍵の処理とを異なるアルゴリズムとした方式がいわゆる公開鍵暗号化方式と呼ばれる方式である。公開鍵暗号化方式は、不特定のユーザが使用可能な公開鍵を使用する方法であり、特定個人に対する暗号化文書を、その特定個人が発行した公開鍵を用いて暗号化処理を行なう。公開鍵によって暗号化された文書は、その暗号化処理に使用された公開鍵に対応する秘密鍵によってのみ復号処理が可能となる。秘密鍵は、公開鍵を発行した個人のみが所有するので、その公開鍵によって暗号化された文書は秘密鍵を持つ個人のみが復号することができる。公開鍵暗号化方式の代表的なものにはＲＳＡ（Rivest-Shamir-Adleman）暗号がある。このような暗号化方式を利用することにより、暗号化コンテンツを正規ユーザに対してのみ復号可能とするシステムが可能となる。
【００１１】
【発明が解決しようとする課題】
上記のようなコンテンツ配信システムでは、コンテンツを暗号化してユーザにネットワーク、あるいはＤＶＤ、ＣＤ等の記録媒体に格納して提供し、暗号化コンテンツを復号するコンテンツキーを正当なユーザにのみ提供する構成が多く採用されている。コンテンツキー自体の不正なコピー等を防ぐためのコンテンツキーを暗号化して正当なユーザに提供し、正当なユーザのみが有する復号キーを用いて暗号化コンテンツキーを復号してコンテンツキーを使用可能とする構成が提案されている。
【００１２】
正当なユーザであるか否かの判定は、一般には、例えばコンテンツの送信者であるコンテンツプロバイダとユーザデバイス間において、コンテンツ、あるいはコンテンツキーの配信前に認証処理を実行することによって行なう。一般的な認証処理においては、相手の確認を行なうとともに、その通信でのみ有効なセッションキーを生成して、認証が成立した場合に、生成したセッションキーを用いてデータ、例えばコンテンツあるいはコンテンツキーを暗号化して通信を行なう。認証方式には、共通鍵暗号方式を用いた相互認証と、公開鍵方式を使用した認証方式があるが、共通鍵を使った認証においては、システムワイドで共通な鍵が必要になり、更新処理等の際に不便である。また、公開鍵方式においては、計算負荷が大きくまた必要なメモリ量も大きくなり、各デバイスにこのような処理手段を設けることは望ましい構成とはいえない。
【００１３】
本発明では、上述のようなデータの送信者、受信者間の相互認証処理に頼ることなく、正当なユーザに対してのみ、安全にデータを送信することを可能とするとともに、階層的鍵配信ツリーを配信デバイスに応じて再構築して配信キーブロックに含まれるデータ量を削減することにより、暗号化キーのデータ量を削減し、データ送信の負荷を軽減するとともに、各デバイスにおける暗号化キー取得のための処理の軽減を可能とした情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明の第１の側面は、
１以上の選択されたデバイスにおいてのみ利用可能な暗号化メッセージデータを配信する情報処理システムであり、
個々のデバイスは、
複数の異なるデバイスをリーフとした階層ツリー構造における各ノードに固有のノードキーと各デバイス固有のリーフキーの異なるキーセットをそれぞれ保有するとともに、デバイスに対して配信される前記暗号化メッセージデータについての復号処理を前記キーセットを使用して実行する暗号処理手段を有し、
前記デバイスに提供される暗号化メッセージデータは有効化キーブロック（ＥＫＢ）の復号処理によって得られる更新ノードキーと同じデータ構成を持つ更新ノードキーによって暗号化されたデータであり、
前記有効化キーブロック（ＥＫＢ）は、
（ａ）前記階層ツリー構造の１つのノードを頂点ノードとし、該頂点ノードの下位に連結されるノードおよびリーフによって構成されるグループ内のノードキーの少なくともいずれかを更新した更新ノードキーを該グループのノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成されるデータ部と、
（ｂ）前記データ部に格納される暗号化キーデータの暗号化に適用したノードキーまたはリーフキーが対応付けられた前記階層ツリー構造におけるノード位置またはリーフ位置を判別するための位置識別データによって構成されるタグ部と、
を含む構成であり、
前記有効化キーブロック（ＥＫＢ）に含まれる前記暗号化キーデータは、前記階層ツリーを簡略化して再構築される簡略化ツリーに設定されるノードまたはリーフに対応するノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成され、
前記簡略化ツリーは、前記階層ツリー構造から前記有効化キーブロック（ＥＫＢ）の復号を許容したデバイス対応のリーフを選択リーフとして抽出し、選択リーフと頂点ノードとその接続パスのみを含みかつ接続パス上の分岐点のないノードを削除した構成を有する簡略化ツリー、または前記選択リーフと頂点ノードと、前記選択リーフと頂点ノードを直接接続するパスのみを含む構成を有する簡略化ツリーであることを特徴とする情報処理システムにある。
【００１５】
さらに、本発明の情報処理システムの一実施態様において、前記有効化キーブロック（ＥＫＢ）に含まれる前記暗号化キーデータは、前記階層ツリー構造を構成するノードキーを下位ノードキーまたは下位リーフキーを用いて暗号化したデータであり、
前記タグ部に格納される位置識別データは、前記有効化キーブロック（ＥＫＢ）に格納された１以上の暗号化キーデータの暗号化に適用したノードキーが対応付けられた前記階層ツリーにおける各々のノード位置の下位の左右ノードまたはリーフ位置に対応するノードキーまたはリーフキーが前記暗号化キーデータの暗号化に適用されたキーとして含まれるか否かを示すタグとして構成されていることを特徴とする。
【００１６】
さらに、本発明の情報処理システムの一実施態様において、前記タグ部に格納される位置識別データは、前記有効化キーブロック（ＥＫＢ）のタグに対応する暗号化キーの格納の有無を示すデータを含む構成であることを特徴とする。
【００１７】
さらに、本発明の情報処理システムの一実施態様において、前記タグ部に格納される位置識別データは、前記有効化キーブロック（ＥＫＢ）に格納された１以上の暗号化キーデータの暗号化に適用したノードキーが対応付けられた前記階層ツリーにおける各々のノード位置の下位の左右ノードまたはリーフ位置に対応するノードキーまたはリーフキーが前記暗号化キーデータの暗号化に適用されたキーとして含まれるか否かを示すタグと、該タグに対応する暗号化キーの格納の有無を示すデータを含む構成であることを特徴とする。
【００１８】
さらに、本発明の情報処理システムの一実施態様において、前記簡略化ツリーは、前記階層化ツリーを構成する複数のノードまたはリーフを含むブロックからなる部分集合ツリーとして定義されるエンティテイの頂点ノードであるサブルートを選択して構成されるツリーであることを特徴とする。
【００２０】
さらに、本発明の情報処理システムの一実施態様において、前記簡略化ツリーは、２以上の分岐を持つツリーであることを特徴とする。
【００２１】
さらに、本発明の情報処理システムの一実施態様において、前記デバイスにおける前記暗号処理手段は、前記有効化キーブロック（ＥＫＢ）の前記タグ部のデータにより、前記暗号化キーデータを順次抽出して、復号処理を実行し、前記更新ノードキーを取得し、該取得した更新ノードキーにより前記暗号化メッセージデータの復号を実行する構成であることを特徴とする。
【００２２】
さらに、本発明の情報処理システムの一実施態様において、前記メッセージデータは、コンテンツデータを復号するための復号鍵として使用可能なコンテンツキーであることを特徴とする。
【００２３】
さらに、本発明の情報処理システムの一実施態様において、前記メッセージデータは、認証処理において用いられる認証キーであることを特徴とする。
【００２４】
さらに、本発明の情報処理システムの一実施態様において、前記メッセージデータは、コンテンツのインテグリティ・チェック値（ＩＣＶ）生成キーであることを特徴とする。
【００２５】
さらに、本発明の情報処理システムの一実施態様において、前記メッセージデータは、認証処理において用いられる認証キーであることを特徴とする。
【００２６】
さらに、本発明の情報処理システムの一実施態様において、前記メッセージデータは、プログラムコードであることを特徴とする。
【００２７】
さらに、本発明の第２の側面は、
暗号化メッセージデータを配信する情報配信装置と前記暗号化メッセージデータを受信する複数の異なるデバイスであり、各デバイスをリーフとした階層ツリー構造における各ノードに固有のノードキーと各デバイス固有のリーフキーの異なるキーセットを保有するデバイスからなる情報処理システムにおいて実行する情報処理方法であり、
前記情報配信装置の暗号処理手段が、有効化キーブロック（ＥＫＢ）の復号処理によって得られる更新ノードキーと同じデータ構成を持つ更新ノードキーによって暗号化された暗号化メッセージデータを格納した有効化キーブロック（ＥＫＢ）を生成するステップであり、
（ａ）前記階層ツリー構造の１つのノードを頂点ノードとし、該頂点ノードの下位に連結されるノードおよびリーフによって構成されるグループ内のノードキーの少なくともいずれかを更新した更新ノードキーを該グループのノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成されるデータ部と、
（ｂ）前記データ部に格納される暗号化キーデータの暗号化に適用したノードキーまたはリーフキーが対応付けられた前記階層ツリー構造におけるノード位置またはリーフ位置を判別するための位置識別データとしてのタグ部と、
を含む有効化キーブロック（ＥＫＢ）を生成する有効化キーブロック（ＥＫＢ）生成ステップと、
前記情報配信装置の通信手段が、前記更新ノードキーによって暗号化したメッセージデータを生成してデバイスに対して配信するメッセージデータ配信ステップと、
を有し、
前記有効化キーブロック（ＥＫＢ）生成ステップにおいて生成する有効化キーブロック（ＥＫＢ）に含まれる前記暗号化キーデータは、前記階層ツリーを簡略化して再構築される簡略化ツリーに設定されるノードまたはリーフに対応するノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成され、
前記簡略化ツリーは、前記階層ツリー構造から前記有効化キーブロック（ＥＫＢ）の復号を許容したデバイス対応のリーフを選択リーフとして抽出し、選択リーフと頂点ノードとその接続パスのみを含みかつ接続パス上の分岐点のないノードを削除した構成を有する簡略化ツリー、または前記選択リーフと頂点ノードと、前記選択リーフと頂点ノードを直接接続するパスのみを含む構成を有する簡略化ツリーである、
ことを特徴とする情報処理方法にある。
【００２８】
さらに、本発明の情報処理方法の一実施態様において、前記デバイスの暗号処理手段が、前記暗号化メッセージデータについての復号処理を前記キーセットを使用して実行する復号処理ステップを有することを特徴とする。
【００２９】
さらに、本発明の情報処理方法の一実施態様において、前記有効化キーブロック（ＥＫＢ）生成ステップは、
前記階層ツリー構造を構成するノードキーを下位ノードキーまたは下位リーフキーを用いて暗号化して前記暗号化キーデータを生成するステップと、前記有効化キーブロック（ＥＫＢ）に格納される１以上の暗号化キーデータの暗号化に適用したノードキーが対応付けられた前記階層ツリーにおける各々のノード位置の下位の左右ノードまたはリーフ位置に対応するノードキーまたはリーフキーが前記暗号化キーデータの暗号化に適用されたキーとして含まれるか否かを示すタグを生成して前記タグ部に格納するステップとを含むことを特徴とする。
【００３０】
さらに、本発明の情報処理方法の一実施態様において、前記有効化キーブロック（ＥＫＢ）生成ステップは、前記有効化キーブロック（ＥＫＢ）のタグに対応する暗号化キーの格納の有無を示すデータを前記タグ部に格納するステップを含むことを特徴とする。
【００３１】
さらに、本発明の情報処理方法の一実施態様において、前記簡略化ツリーは、前記階層化ツリーを構成する複数のノードまたはリーフを含むブロックからなる部分集合ツリーとして定義されるエンティテイの頂点ノードであるサブルートを選択して構成されるツリーであることを特徴とする。
【００３３】
さらに、本発明の情報処理方法の一実施態様において、前記簡略化ツリーは、２以上の分岐を持つツリーであることを特徴とする。
【００３４】
さらに、本発明の情報処理方法の一実施態様において、前記復号処理ステップは、前記有効化キーブロック（ＥＫＢ）の前記タグ部に格納された位置識別データに基づいて前記データ部に格納された暗号化キーデータを順次抽出して順次復号処理を実行することにより前記更新ノードキーを取得する更新ノードキー取得ステップと、前記更新ノードキーにより前記暗号化メッセージデータの復号を実行するメッセージデータ復号ステップとを含むことを特徴とする。
【００３５】
さらに、本発明の情報処理方法の一実施態様において、前記メッセージデータは、コンテンツデータを復号するための復号鍵として使用可能なコンテンツキーであることを特徴とする。
【００３６】
さらに、本発明の情報処理方法の一実施態様において、前記メッセージデータは、認証処理において用いられる認証キーであることを特徴とする。
【００３７】
さらに、本発明の情報処理方法の一実施態様において、前記メッセージデータは、コンテンツのインテグリティ・チェック値（ＩＣＶ）生成キーであることを特徴とする。
【００３８】
さらに、本発明の情報処理方法の一実施態様において、前記メッセージデータは、認証処理において用いられる認証キーであることを特徴とする。
【００３９】
さらに、本発明の情報処理方法の一実施態様において、前記メッセージデータは、プログラムコードであることを特徴とする。
【００４３】
さらに、本発明の第３の側面は、
暗号化メッセージデータを配信する情報配信装置と前記暗号化メッセージデータを受信する複数の異なるデバイスであり、各デバイスをリーフとした階層ツリー構造における各ノードに固有のノードキーと各デバイス固有のリーフキーの異なるキーセットを保有するデバイスからなる情報処理システムを構成する前記情報配信装置において情報処理を実行させるコンピュータ・プログラムを記録したプログラム記録媒体であり、前記コンピュータ・プログラムは、
前記情報配信装置の暗号処理手段に、有効化キーブロック（ＥＫＢ）の復号処理によって得られる更新ノードキーと同じデータ構成を持つ更新ノードキーによって暗号化された暗号化メッセージデータを格納した有効化キーブロック（ＥＫＢ）を生成させるステップであり、
（ａ）前記階層ツリー構造の１つのノードを頂点ノードとし、該頂点ノードの下位に連結されるノードおよびリーフによって構成されるグループ内のノードキーの少なくともいずれかを更新した更新ノードキーを該グループのノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成されるデータ部と、
（ｂ）前記データ部に格納される暗号化キーデータの暗号化に適用したノードキーまたはリーフキーが対応付けられた前記階層ツリー構造におけるノード位置またはリーフ位置を判別するための位置識別データとしてのタグ部と、
を含む有効化キーブロック（ＥＫＢ）を生成させる有効化キーブロック（ＥＫＢ）生成ステップを有し、
前記有効化キーブロック（ＥＫＢ）生成ステップにおいて生成させる有効化キーブロック（ＥＫＢ）に含まれる前記暗号化キーデータは、前記階層ツリーを簡略化して再構築される簡略化ツリーに設定されるノードまたはリーフに対応するノードキーあるいはリーフキーによって暗号化した暗号化キーデータによって構成され、前記簡略化ツリーは、前記階層ツリー構造から前記有効化キーブロック（ＥＫＢ）の復号を許容したデバイス対応のリーフを選択リーフとして抽出し、選択リーフと頂点ノードとその接続パスのみを含みかつ接続パス上の分岐点のないノードを削除した構成を有する簡略化ツリー、または前記選択リーフと頂点ノードと、前記選択リーフと頂点ノードを直接接続するパスのみを含む構成を有する簡略化ツリーであることを特徴とするプログラム記録媒体にある。
【００４４】
【作用】
本発明の構成においては、ツリー（木）構造の階層的構造の暗号化鍵配信構成を用いることにより、キー更新に必要な配信メッセージ量を小さく押さえている。すなわち、各機器をｎ分木の各葉（リーフ）に配置した構成の鍵配信方法を用い、記録媒体もしくは通信回線を介して、例えばコンテンツデータの暗号鍵であるコンテンツキーもしくは認証処理に用いる認証キー、あるいはプログラムコード等を有効化キーブロックとともに配信する構成としている。
【００４５】
さらに、有効化キーブロックを暗号化キーデータ部と、暗号化キーの位置を示すタグ部てによって構成し、データ量を少なくし、デバイスにおける復号処理を用意かつ迅速に実行することを可能としている。本構成により、正当なデバイスのみが復号可能なデータを安全に配信することが可能となる。
【００４６】
なお、本発明の第４の側面に係るプログラム提供媒体は、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ・プログラムをコンピュータ可読な形式で提供する媒体である。媒体は、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの伝送媒体など、その形態は特に限定されない。
【００４７】
このようなプログラム提供媒体は、コンピュータ・システム上で所定のコンピュータ・プログラムの機能を実現するための、コンピュータ・プログラムと提供媒体との構造上又は機能上の協働的関係を定義したものである。換言すれば、該提供媒体を介してコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の他の側面と同様の作用効果を得ることができるのである。
【００４８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００４９】
【発明の実施の形態】
［システム概要］
図１に本発明のデータ処理システムが適用可能なコンテンツ配信システム例を示す。コンテンツの配信側１０は、コンテンツ受信側２０の有する様々なコンテンツ再生可能な機器に対してコンテンツ、あるいはコンテンツキーを暗号化して送信する。受信側２０における機器では、受信した暗号化コンテンツ、あるいは暗号化コンテンツキー等を復号してコンテンツあるいはコンテンツキーを取得して、画像データ、音声データの再生、あるいは各種プログラムの実行等を行なう。コンテンツの配信側１０とコンテンツ受信側２０との間のデータ交換は、インターネット等のネットワークを介して、あるいはＤＶＤ、ＣＤ等の流通可能な記憶媒体を介して実行される。
【００５０】
コンテンツの配信側１０のデータ配信手段としては、インターネット１１、衛星放送１２、電話回線１３、ＤＶＤ、ＣＤ等のメディア１４等があり、一方、コンテンツ受信側２０のデバイスとしては、パーソナルコンピュータ（ＰＣ）２１、ポータブルデバイス（ＰＤ）２２、携帯電話、ＰＤＡ（Personal Digital Assistants）等の携帯機器２３、ＤＶＤ、ＣＤプレーヤ等の記録再生器２４、ゲーム端末等の再生専用器２５等がある。これらコンテンツ受信側２０の各デバイスは、コンテンツ配信側１０から提供されたコンテンツをネットワーク等の通信手段あるいは、あるいはメディア３０から取得する。
【００５１】
［デバイス構成］
図２に、図１に示すコンテンツ受信側２０のデバイスの一例として、記録再生装置１００の構成ブロック図を示す。記録再生装置１００は、入出力Ｉ／Ｆ(Interface)１２０、ＭＰＥＧ(Moving Picture Experts Group)コーデック１３０、Ａ／Ｄ，Ｄ／Ａコンバータ１４１を備えた入出力Ｉ／Ｆ(Interface)１４０、暗号処理手段１５０、ＲＯＭ（Read Only Memory）１６０、ＣＰＵ(Central Processing Unit)１７０、メモリ１８０、記録媒体１９５のドライブ１９０を有し、これらはバス１１０によって相互に接続されている。
【００５２】
入出力Ｉ／Ｆ１２０は、外部から供給される画像、音声、プログラム等の各種コンテンツを構成するディジタル信号を受信し、バス１１０上に出力するとともに、バス１１０上のディジタル信号を受信し、外部に出力する。ＭＰＥＧコーデック１３０は、バス１１０を介して供給されるＭＰＥＧ符号化されたデータを、ＭＰＥＧデコードし、入出力Ｉ／Ｆ１４０に出力するとともに、入出力Ｉ／Ｆ１４０から供給されるディジタル信号をＭＰＥＧエンコードしてバス１１０上に出力する。入出力Ｉ／Ｆ１４０は、Ａ／Ｄ，Ｄ／Ａコンバータ１４１を内蔵している。入出力Ｉ／Ｆ１４０は、外部から供給されるコンテンツとしてのアナログ信号を受信し、Ａ／Ｄ，Ｄ／Ａコンバータ１４１でＡ／Ｄ(Analog Digital)変換することで、ディジタル信号として、ＭＰＥＧコーデック１３０に出力するとともに、ＭＰＥＧコーデック１３０からのディジタル信号を、Ａ／Ｄ，Ｄ／Ａコンバータ１４１でＤ／Ａ(Digital Analog)変換することで、アナログ信号として、外部に出力する。
【００５３】
暗号処理手段１５０は、例えば、１チップのＬＳＩ(Large Scale Integrated Curcuit)で構成され、バス１１０を介して供給されるコンテンツとしてのディジタル信号の暗号化、復号処理、あるいは認証処理を実行し、暗号データ、復号データ等をバス１１０上に出力する構成を持つ。なお、暗号処理手段１５０は１チップＬＳＩに限らず、各種のソフトウェアまたはハードウェアを組み合わせた構成によって実現することも可能である。ソフトウェア構成による処理手段としての構成については後段で説明する。
【００５４】
ＲＯＭ１６０は、記録再生装置によって処理されるプログラムデータを格納する。ＣＰＵ１７０は、ＲＯＭ１６０、メモリ１８０に記憶されたプログラムを実行することで、ＭＰＥＧコーデック１３０や暗号処理手段１５０等を制御する。メモリ１８０は、例えば、不揮発性メモリで、ＣＰＵ１７０が実行するプログラムや、ＣＰＵ１７０の動作上必要なデータ、さらにデバイスによって実行される暗号処理に使用されるキーセットを記憶する。キーセットについては後段で説明する。ドライブ１９０は、デジタルデータを記録再生可能な記録媒体１９５を駆動することにより、記録媒体１９５からディジタルデータを読み出し（再生し）、バス１１０上に出力するとともに、バス１１０を介して供給されるディジタルデータを、記録媒体１９５に供給して記録させる。
【００５５】
記録媒体１９５は、例えば、ＤＶＤ、ＣＤ等の光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、あるいはＲＡＭ等の半導体メモリ等のディジタルデータの記憶可能な媒体であり、本実施の形態では、ドライブ１９０に対して着脱可能な構成であるとする。但し、記録媒体１９５は、記録再生装置１００に内蔵する構成としてもよい。
【００５６】
なお、図２に示す暗号処理手段１５０は、１つのワンチップＬＳＩとして構成してもよく、また、ソフトウェア、ハードウェアを組み合わせた構成によって実現する構成としてもよい。
【００５７】
［キー配信構成としてのツリー（木）構造について］
次に、図１に示すコンテンツ配信側１０からコンテンツ受信側２０の各デバイスに暗号データを配信する場合における各デバイスにおける暗号処理鍵の保有構成およびデータ配信構成を図３を用いて説明する。
【００５８】
図３の最下段に示すナンバ０〜１５がコンテンツ受信側２０の個々のデバイスである。すなわち図３に示す階層ツリー（木）構造の各葉(リーフ：leaf)がそれぞれのデバイスに相当する。
【００５９】
各デバイス０〜１５は、製造時あるいは出荷時、あるいはその後において、図３に示す階層ツリー（木）構造における、自分のリーフからルートに至るまでのノードに割り当てられた鍵（ノードキー）および各リーフのリーフキーからなるキーセットをメモリに格納する。図３の最下段に示すＫ００００〜Ｋ１１１１が各デバイス０〜１５にそれぞれ割り当てられたリーフキーであり、最上段のＫＲ（ルートキー）から、最下段から２番目の節（ノード）に記載されたキー：ＫＲ〜Ｋ１１１をノードキーとする。
【００６０】
図３に示すツリー構成において、例えばデバイス０はリーフキーＫ００００と、ノードキー：Ｋ０００、Ｋ００、Ｋ０、ＫＲを所有する。デバイス５はＫ０１０１、Ｋ０１０、Ｋ０１、Ｋ０、ＫＲを所有する。デバイス１５は、Ｋ１１１１、Ｋ１１１、Ｋ１１、Ｋ１、ＫＲを所有する。なお、図３のツリーにはデバイスが０〜１５の１６個のみ記載され、ツリー構造も４段構成の均衡のとれた左右対称構成として示しているが、さらに多くのデバイスがツリー中に構成され、また、ツリーの各部において異なる段数構成を持つことが可能である。
【００６１】
また、図３のツリー構造に含まれる各デバイスには、様々な記録媒体、例えば、デバイス埋め込み型あるいはデバイスに着脱自在に構成されたＤＶＤ、ＣＤ、ＭＤ、フラッシュメモリ等を使用する様々なタイプのデバイスが含まれている。さらに、様々なアプリケーションサービスが共存可能である。このような異なるデバイス、異なるアプリケーションの共存構成の上に図３に示すコンテンツあるいは鍵配布構成である階層ツリー構造が適用される。
【００６２】
これらの様々なデバイス、アプリケーションが共存するシステムにおいて、例えば図３の点線で囲んだ部分、すなわちデバイス０，１，２，３を同一の記録媒体を用いる１つのグループとして設定する。例えば、この点線で囲んだグループ内に含まれるデバイスに対しては、まとめて、共通のコンテンツを暗号化してプロバイダから送付したり、各デバイス共通に使用するコンテンツキーを送付したり、あるいは各デバイスからプロバイダあるいは決済機関等にコンテンツ料金の支払データをやはり暗号化して出力するといった処理が実行される。コンテンツプロバイダ、あるいは決済処理機関等、各デバイスとのデータ送受信を行なう機関は、図３の点線で囲んだ部分、すなわちデバイス０，１，２，３を１つのグループとして一括してデータを送付する処理を実行する。このようなグループは、図３のツリー中に複数存在する。コンテンツプロバイダ、あるいは決済処理機関等、各デバイスとのデータ送受信を行なう機関は、メッセージデータ配信手段として機能する。
【００６３】
なお、ノードキー、リーフキーは、ある１つの鍵管理センタによって統括して管理してもよいし、各グループに対する様々なデータ送受信を行なうプロバイダ、決済機関等のメッセージデータ配信手段によってグループごとに管理する構成としてもよい。これらのノードキー、リーフキーは例えばキーの漏洩等の場合に更新処理が実行され、この更新処理は鍵管理センタ、プロバイダ、決済機関等が実行する。
【００６４】
このツリー構造において、図３から明らかなように、１つのグループに含まれる３つのデバイス０，１，２，３はノードキーとして共通のキーＫ００、Ｋ０、ＫＲを保有する。このノードキー共有構成を利用することにより、例えば共通のコンテンツキーをデバイス０，１，２，３のみに提供することが可能となる。たとえば、共通に保有するノードキーＫ００自体をコンテンツキーとして設定すれば、新たな鍵送付を実行することなくデバイス０，１，２，３のみが共通のコンテンツキーの設定が可能である。また、新たなコンテンツキーＫｃｏｎをノードキーＫ００で暗号化した値Ｅｎｃ（Ｋ００，Ｋｃｏｎ）を、ネットワークを介してあるいは記録媒体に格納してデバイス０，１，２，３に配布すれば、デバイス０，１，２，３のみが、それぞれのデバイスにおいて保有する共有ノードキーＫ００を用いて暗号Ｅｎｃ（Ｋ００，Ｋｃｏｎ）を解いてコンテンツキー：Ｋｃｏｎを得ることが可能となる。なお、Ｅｎｃ（Ｋａ，Ｋｂ）はＫｂをＫａによって暗号化したデータであることを示す。
【００６５】
また、ある時点ｔにおいて、デバイス３の所有する鍵：Ｋ００１１,Ｋ００１,Ｋ００,Ｋ０,ＫＲが攻撃者（ハッカー）により解析されて露呈したことが発覚した場合、それ以降、システム（デバイス０，１，２，３のグループ）で送受信されるデータを守るために、デバイス３をシステムから切り離す必要がある。そのためには、ノードキー：Ｋ００１,Ｋ００,Ｋ０,ＫＲをそれぞれ新たな鍵Ｋ（ｔ）００１,Ｋ（ｔ）００,Ｋ（ｔ）０,Ｋ（ｔ）Ｒに更新し、デバイス０，１，２にその更新キーを伝える必要がある。ここで、Ｋ（ｔ）ａａａは、鍵Ｋａａａの世代（Generation）：ｔの更新キーであることを示す。
【００６６】
更新キーの配布処理ついて説明する。キーの更新は、例えば、図４（Ａ）に示す有効化キーブロック（ＥＫＢ：Enabling Key Block）と呼ばれるブロックデータによって構成されるテーブルをたとえばネットワーク、あるいは記録媒体に格納してデバイス０，１，２に供給することによって実行される。なお、有効化キーブロック（ＥＫＢ）は、図３に示すようなツリー構造を構成する各リーフに対応するデバイスに新たに更新されたキーを配布するための暗号化キーによって構成される。有効化キーブロック（ＥＫＢ）は、キー更新ブロック（ＫＲＢ：Key Renewal Block）と呼ばれることもある。
【００６７】
図４（Ａ）に示す有効化キーブロック（ＥＫＢ）には、ノードキーの更新の必要なデバイスのみが更新可能なデータ構成を持つブロックデータとして構成される。図４の例は、図３に示すツリー構造中のデバイス０，１，２において、世代ｔの更新ノードキーを配布することを目的として形成されたブロックデータである。図３から明らかなように、デバイス０，デバイス１は、更新ノードキーとしてＫ（ｔ）００、Ｋ（ｔ）０、Ｋ（ｔ）Ｒが必要であり、デバイス２は、更新ノードキーとしてＫ（ｔ）００１、Ｋ（ｔ）００、Ｋ（ｔ）０、Ｋ（ｔ）Ｒが必要である。
【００６８】
図４（Ａ）のＥＫＢに示されるようにＥＫＢには複数の暗号化キーが含まれる。最下段の暗号化キーは、Ｅｎｃ（Ｋ００１０，Ｋ（ｔ）００１）である。これはデバイス２の持つリーフキーＫ００１０によって暗号化された更新ノードキーＫ（ｔ）００１であり、デバイス２は、自身の持つリーフキーによってこの暗号化キーを復号し、Ｋ（ｔ）００１を得ることができる。また、復号により得たＫ（ｔ）００１を用いて、図４（Ａ）の下から２段目の暗号化キーＥｎｃ（Ｋ（ｔ）００１，Ｋ（ｔ）００）を復号可能となり、更新ノードキーＫ（ｔ）００を得ることができる。以下順次、図４（Ａ）の上から２段目の暗号化キーＥｎｃ（Ｋ（ｔ）００，Ｋ（ｔ）０）を復号し、更新ノードキーＫ（ｔ）０、図４（Ａ）の上から１段目の暗号化キーＥｎｃ（Ｋ（ｔ）０，Ｋ（ｔ）Ｒ）を復号しＫ（ｔ）Ｒを得る。一方、デバイスＫ００００．Ｋ０００１は、ノードキーＫ０００は更新する対象に含まれておらず、更新ノードキーとして必要なのは、Ｋ（ｔ）００、Ｋ（ｔ）０、Ｋ（ｔ）Ｒである。デバイスＫ００００．Ｋ０００１は、図４（Ａ）の上から３段目の暗号化キーＥｎｃ（Ｋ０００，Ｋ（ｔ）００）を復号しＫ（ｔ）００、を取得し、以下、図４（Ａ）の上から２段目の暗号化キーＥｎｃ（Ｋ（ｔ）００，Ｋ（ｔ）０）を復号し、更新ノードキーＫ（ｔ）０、図４（Ａ）の上から１段目の暗号化キーＥｎｃ（Ｋ（ｔ）０，Ｋ（ｔ）Ｒ）を復号しＫ（ｔ）Ｒを得る。このようにして、デバイス０，１，２は更新した鍵Ｋ（ｔ）Ｒを得ることができる。なお、図４（Ａ）のインデックスは、復号キーとして使用するノードキー、リーフキーの絶対番地を示す。
【００６９】
図３に示すツリー構造の上位段のノードキー：Ｋ（ｔ）０,Ｋ（ｔ）Ｒの更新が不要であり、ノードキーＫ００のみの更新処理が必要である場合には、図４（Ｂ）の有効化キーブロック（ＥＫＢ）を用いることで、更新ノードキーＫ（ｔ）００をデバイス０，１，２に配布することができる。
【００７０】
図４（Ｂ）に示すＥＫＢは、例えば特定のグループにおいて共有する新たなコンテンツキーを配布する場合に利用可能である。具体例として、図３に点線で示すグループ内のデバイス０，１，２，３がある記録媒体を用いており、新たな共通のコンテンツキーＫ（ｔ）ｃｏｎが必要であるとする。このとき、デバイス０，１，２，３の共通のノードキーＫ００を更新したＫ（ｔ）００を用いて新たな共通の更新コンテンツキー：Ｋ（ｔ）ｃｏｎを暗号化したデータＥｎｃ（Ｋ（ｔ），Ｋ（ｔ）ｃｏｎ）を図４（Ｂ）に示すＥＫＢとともに配布する。この配布により、デバイス４など、その他のグループの機器においては復号されないデータとしての配布が可能となる。
【００７１】
すなわち、デバイス０，１，２はＥＫＢを処理して得たＫ（ｔ）００を用いて上記暗号文を復号すれば、ｔ時点でのコンテンツキーＫ（ｔ）ｃｏｎを得ることが可能になる。
【００７２】
［ＥＫＢを使用したコンテンツキーの配布］
図５に、ｔ時点でのコンテンツキーＫ（ｔ）ｃｏｎを得る処理例として、Ｋ（ｔ）００を用いて新たな共通のコンテンツキーＫ（ｔ）ｃｏｎを暗号化したデータＥｎｃ（Ｋ（ｔ）００，Ｋ（ｔ）ｃｏｎ）と図４（Ｂ）に示すＥＫＢとを記録媒体を介して受領したデバイス０の処理を示す。すなわちＥＫＢによる暗号化メッセージデータをコンテンツキーＫ（ｔ）ｃｏｎとした例である。
【００７３】
図５に示すように、デバイス０は、記録媒体に格納されている世代：t時点のＥＫＢと自分があらかじめ格納しているノードキーＫ０００を用いて上述したと同様のＥＫＢ処理により、ノードキーＫ（ｔ）００を生成する。さらに、復号した更新ノードキーＫ（ｔ）００を用いて更新コンテンツキーＫ（ｔ）ｃｏｎを復号して、後にそれを使用するために自分だけが持つリーフキーＫ００００で暗号化して格納する。
【００７４】
［ＥＫＢのフォーマット］
図６に有効化キーブロック（ＥＫＢ）のフォーマット例を示す。バージョン６０１は、有効化キーブロック（ＥＫＢ）のバージョンを示す識別子である。なお、バージョンは最新のＥＫＢを識別する機能とコンテンツとの対応関係を示す機能を持つ。デプスは、有効化キーブロック（ＥＫＢ）の配布先のデバイスに対する階層ツリーの階層数を示す。データポインタ６０３は、有効化キーブロック（ＥＫＢ）中のデータ部の位置を示すポインタであり、タグポインタ６０４はタグ部の位置、署名ポインタ６０５は署名の位置を示すポインタである。
【００７５】
データ部６０６は、例えば更新するノードキーを暗号化したデータを格納する。例えば図５に示すような更新されたノードキーに関する各暗号化キー等を格納する。
【００７６】
タグ部６０７は、データ部に格納された暗号化されたノードキー、リーフキーの位置関係を示すタグである。このタグの付与ルールを図７を用いて説明する。図７では、データとして先に図４（Ａ）で説明した有効化キーブロック（ＥＫＢ）を送付する例を示している。この時のデータは、図７の表（ｂ）に示すようになる。このときの暗号化キーに含まれるトップノードのアドレスをトップノードアドレスとする。この場合は、ルートキーの更新キーＫ（ｔ）Ｒが含まれているので、トップノードアドレスはＫＲとなる。このとき、例えば最上段のデータＥｎｃ（Ｋ（ｔ）０，Ｋ（ｔ）Ｒ）は、図７の（ａ）に示す階層ツリーに示す位置にある。ここで、次のデータは、Ｅｎｃ（Ｋ（ｔ）００，Ｋ（ｔ）０）であり、ツリー上では前のデータの左下の位置にある。データがある場合は、タグが０、ない場合は１が設定される。タグは｛左（Ｌ）タグ，右（Ｒ）タグ｝として設定される。最上段のデータＥｎｃ（Ｋ（ｔ）０，Ｋ（ｔ）Ｒ）の左にはデータがあるので、Ｌタグ＝０、右にはデータがないので、Ｒタグ＝１となる。以下、すべてのデータにタグが設定され、図７（ｃ）に示すデータ列、およびタグ列が構成される。
【００７７】
タグは、データＥｎｃ（Ｋｘｘｘ，Ｋｙｙｙ）がツリー構造のどこに位置しているのかを示すために設定されるものである。データ部に格納されるキーデータＥｎｃ（Ｋｘｘｘ，Ｋｙｙｙ）．．．は、単純に暗号化されたキーの羅列データに過ぎないので、上述したタグによってデータとして格納された暗号化キーのツリー上の位置を判別可能としたものである。上述したタグを用いずに、先の図４で説明した構成のように暗号化データに対応させたノード・インデックスを用いて、例えば、
０：Ｅｎｃ（Ｋ（ｔ）０，Ｋ（ｔ）ｒｏｏｔ）
００：Ｅｎｃ（Ｋ（ｔ）００，Ｋ（ｔ）０）
０００：Ｅｎｃ（Ｋ（（ｔ）０００，Ｋ（Ｔ）００）
．．．のようなデータ構成とすることも可能であるが、このようなインデックスを用いた構成とすると冗長なデータとなりデータ量が増大し、ネットワークを介する配信等においては好ましくない。これに対し、上述したタグをキー位置を示す索引データとして用いることにより、少ないデータ量でキー位置の判別が可能となる。
【００７８】
図６に戻って、ＥＫＢフォーマットについてさらに説明する。署名（Signature）は、有効化キーブロック（ＥＫＢ）を発行した例えば鍵管理センタ、コンテンツロバイダ、決済機関等が実行する電子署名である。ＥＫＢを受領したデバイスは署名検証によって正当な有効化キーブロック（ＥＫＢ）発行者が発行した有効化キーブロック（ＥＫＢ）であることを確認する。
【００７９】
［ＥＫＢを使用したコンテンツキーおよびコンテンツの配信］
上述の例では、コンテンツキーのみをＥＫＢとともに送付する例について説明したが、コンテンツキーで暗号化したコンテンツと、コンテンツキー暗号キーで暗号化したコンテンツキーと、ＥＫＢによって暗号化したコンテンツキー暗号鍵を併せて送付する構成について以下説明する。
【００８０】
図８にこのデータ構成を示す。図８（ａ）に示す構成において、Ｅｎｃ（Ｋｃｏｎ，ｃｏｎｔｅｎｔ）８０１は、コンテンツ（Content）をコンテンツキー（Ｋｃｏｎ）で暗号化したデータであり、Ｅｎｃ（ＫＥＫ，Ｋｃｏｎ）８０２は、コンテンツキー（Ｋｃｏｎ）をコンテンツキー暗号キー（ＫＥＫ：Key Encryption Key）で暗号化したデータであり、Ｅｎｃ（ＥＫＢ，ＫＥＫ）８０３は、コンテンツキー暗号キーＫＥＫを有効化キーブロック（ＥＫＢ）によって暗号化したデータであることを示す。
【００８１】
ここで、コンテンツキー暗号キーＫＥＫは、図３で示すノードキー（Ｋ０００，Ｋ００…）、あるいはルートキー（ＫＲ）自体であってもよく、またノードキー（Ｋ０００，Ｋ００…）、あるいはルートキー（ＫＲ）によって暗号化されたキーであってもよい。
【００８２】
図８（ｂ）は、複数のコンテンツがメディアに記録され、それぞれが同じＥｎｃ（ＥＫＢ，ＫＥＫ）８０５を利用している場合の構成例を示す、このような構成においては、各データに同じＥｎｃ（ＥＫＢ，ＫＥＫ）を付加することなく、Ｅｎｃ（ＥＫＢ，ＫＥＫ）にリンクするリンク先を示すデータを各データに付加する構成とすることができる。
【００８３】
図９にコンテンツキー暗号キーＫＥＫを、図３に示すノードキーＫ００を更新した更新ノードキーＫ（ｔ）００として構成した場合の例を示す。この場合、図３の点線枠で囲んだグループにおいてデバイス３が、例えば鍵の漏洩によりリボーク（排除）されているとして、他のグループのメンバ、すなわち、デバイス０，１，２に対して図９に示す（ａ）有効化キーブロック（ＥＫＢ）と、（ｂ）コンテンツキー（Ｋｃｏｎ）をコンテンツキー暗号キー（ＫＥＫ＝Ｋ（ｔ）００）で暗号化したデータと、（ｃ）コンテンツ（content）をコンテンツキー（Ｋｃｏｎ）で暗号化したデータとを配信することにより、デバイス０，１，２はコンテンツを得ることができる。
【００８４】
図９の右側には、デバイス０における復号手順を示してある。デバイス０は、まず、受領した有効化キーブロックから自身の保有するリーフキーＫ０００を用いた復号処理により、コンテンツキー暗号キー（ＫＥＫ＝Ｋ（ｔ）００）を取得する。次に、Ｋ（ｔ）００による復号によりコンテンツキーＫｃｏｎを取得し、さらにコンテンツキーＫｃｏｎによりコンテンツの復号を行なう。これらの処理により、デバイス０はコンテンツを利用可能となる。デバイス１，２においても各々異なる処理手順でＥＫＢを処理することにより、コンテンツキー暗号キー（ＫＥＫ＝Ｋ（ｔ）００）を取得することが可能となり、同様にコンテンツを利用することが可能となる。
【００８５】
図３に示す他のグループのデバイス４，５，６…は、この同様のデータ（ＥＫＢ）を受信したとしても、自身の保有するリーフキー、ノードキーを用いてコンテンツキー暗号キー（ＫＥＫ＝Ｋ（ｔ）００）を取得することができない。同様にリボークされたデバイス３においても、自身の保有するリーフキー、ノードキーでは、コンテンツキー暗号キー（ＫＥＫ＝Ｋ（ｔ）００）を取得することができず、正当な権利を有するデバイスのみがコンテンツを復号して利用することが可能となる。
【００８６】
このように、ＥＫＢを利用したコンテンツキーの配送を用いれば、データ量を少なくして、かつ安全に正当権利者のみが復号可能とした暗号化コンテンツを配信することが可能となる。
【００８７】
なお、有効化キーブロック（ＥＫＢ）、コンテンツキー、暗号化コンテンツ等は、ネットワークを介して安全に配信することが可能な構成であるが、有効化キーブロック（ＥＫＢ）、コンテンツキー、暗号化コンテンツをＤＶＤ、ＣＤ等の記録媒体に格納してユーザに提供することも可能である。この場合、記録媒体に格納された暗号化コンテンツの復号には、同一の記録媒体に格納された有効化キーブロック（ＥＫＢ）の復号により得られるコンテンツキーを使用するように構成すれば、予め正当権利者のみが保有するリーフキー、ノードキーによってのみ利用可能な暗号化コンテンツの配布処理、すなわち利用可能なユーザデバイスを限定したコンテンツ配布が簡易な構成で実現可能となる。
【００８８】
図１０に記録媒体に暗号化コンテンツとともに有効化キーブロック（ＥＫＢ）を格納した構成例を示す。図１０に示す例においては、記録媒体にコンテンツＣ１〜Ｃ４が格納され、さらに各格納コンテンツに対応するの有効化キーブロック（ＥＫＢ）を対応付けたデータが格納され、さらにバージョンＭの有効化キーブロック（ＥＫＢ＿Ｍ）が格納されている。例えばＥＫＢ＿１はコンテンツＣ１を暗号化したコンテンツキーＫｃｏｎ１を生成するのに使用され、例えばＥＫＢ＿２はコンテンツＣ２を暗号化したコンテンツキーＫｃｏｎ２を生成するのに使用される。この例では、バージョンＭの有効化キーブロック（ＥＫＢ＿Ｍ）が記録媒体に格納されており、コンテンツＣ３，Ｃ４は有効化キーブロック（ＥＫＢ＿Ｍ）に対応付けられているので、有効化キーブロック（ＥＫＢ＿Ｍ）の復号によりコンテンツＣ３，Ｃ４のコンテンツキーを取得することができる。ＥＫＢ＿１、ＥＫＢ＿２はディスクに格納されていないので、新たな提供手段、例えばネットワーク配信、あるいは記録媒体による配信によってそれぞれのコンテンツキーを復号するために必要なＥＫＢ＿１，ＥＫＢ＿２を取得することが必要となる。
【００８９】
図１１に、複数のデバイス間でコンテンツキーが流通する場合のＥＫＢを利用したコンテンツキーの配信と、従来のコンテンツキー配信処理の比較例を示す。上段（ａ）が従来構成であり、下段（ｂ）が本発明の有効化キーブロック（ＥＫＢ）を利用した例である。なお、図１１においてＫａ（Ｋｂ）は、ＫｂをＫａで暗号化したデータであることを示す。
【００９０】
（ａ）に示すように、従来は、データ送受信者の正当性を確認し、またデータ送信の暗号化処理に使用するセッションキーＫｓｅｓを共有するために各デバイス間において、認証処理および鍵交換処理（ＡＫＥ：Authentication and Key Exchange）を実行し、認証が成立したことを条件としてセッションキーＫｓｅｓでコンテンツキーＫｃｏｎを暗号化して送信する処理を行なっていた。
【００９１】
例えば図１１（ａ）のＰＣにおいては、受信したセッションキーで暗号化したコンテンツキーＫｓｅｓ（Ｋｃｏｎ）をセッションキーで復号してＫｃｏｎを得ることが可能であり、さらに取得したＫｃｏｎをＰＣ自体の保有する保存キーＫｓｔｒで暗号化して自身のメモリに保存することが可能となる。
【００９２】
図１１（ａ）において、コンテンツプロバイダは、図１１（ａ）の記録デバイス１１０１にのみデータを利用可能な形で配信したい場合でも、間にＰＣ、再生装置が存在する場合は、図１１（ａ）に示すように認証処理を実行し、それぞれのセッションキーでコンテンツキーを暗号化して配信するといった処理が必要となる。また、間に介在するＰＣ、再生装置においても認証処理において生成し共有することになったセッションキーを用いることで暗号化コンテンツキーを復号してコンテンツキーを取得可能となる。
【００９３】
一方、図１１（ｂ）の下段に示す有効化キーブロック（ＥＫＢ）を利用した例においては、コンテンツプロバイダから有効化キーブロック（ＥＫＢ）と、有効化キーブロック（ＥＫＢ）の処理によって得られるノードキー、またはルートキーによってコンテンツキーＫｃｏｎを暗号化したデータ（図の例ではＫｒｏｏｔ（Ｋｃｏｎ））を配信することにより、配信したＥＫＢの処理が可能な機器においてのみコンテンツキーＫｃｏｎを復号して取得することが可能になる。
【００９４】
従って、例えば図１１（ｂ）の右端にのみ利用可能な有効化キーブロック（ＥＫＢ）を生成して、その有効化キーブロック（ＥＫＢ）と、そのＥＫＢ処理によって得られるノードキー、またはルートキーによってコンテンツキーＫｃｏｎを暗号化したデータを併せて送ることにより、間に存在するＰＣ、再生機器等は、自身の有するリーフキー、ノードキーによっては、ＥＫＢの処理を実行することができない。従って、データ送受信デバイス間での認証処理、セッションキーの生成、セッションキーによるコンテンツキーＫｃｏｎの暗号化処理といった処理を実行することなく、安全に正当なデバイスに対してのみ利用可能なコンテンツキーを配信することが可能となる。
【００９５】
ＰＣ、記録再生器にも利用可能なコンテンツキーを配信したい場合は、それぞれにおいて処理可能な有効化キーブロック（ＥＫＢ）を生成して、配信することにより、共通のコンテンツキーを取得することが可能となる。
【００９６】
［有効化キーブロック（ＥＫＢ）を使用した認証キーの配信（共通鍵方式）］
上述の有効化キーブロック（ＥＫＢ）を使用したデータあるいはキーの配信において、デバイス間で転送される有効化キーブロック（ＥＫＢ）およびコンテンツあるいはコンテンツキーは常に同じ暗号化形態を維持しているため、データ伝走路を盗み出して記録し、再度、後で転送する、いわゆるリプレイアタックにより、不正コピーが生成される可能性がある。これを防ぐ構成としては、データ転送デバイス間において、従来と同様の認証処理および鍵交換処理を実行することが有効な手段である。ここでは、この認証処理および鍵交換処理を実行する際に使用する認証キーＫａｋｅを上述の有効化キーブロック（ＥＫＢ）を使用してデバイスに配信することにより、安全な秘密鍵として共有する認証キーを持ち、共通鍵方式に従った認証処理を実行する構成について説明する。すなわちＥＫＢによる暗号化メッセージデータを認証キーとした例である。
【００９７】
図１２に、共通鍵暗号方式を用いた相互認証方法（ISO/IEC 9798-2）を示す。図１２においては、共通鍵暗号方式としてＤＥＳを用いているが、共通鍵暗号方式であれば他の方式も可能である。図１２において、まず、Ｂが６４ビットの乱数Ｒｂを生成し、Ｒｂおよび自己のＩＤであるＩＤ（ｂ）をＡに送信する。これを受信したＡは、新たに６４ビットの乱数Ｒａを生成し、Ｒａ、Ｒｂ、ＩＤ（ｂ）の順に、ＤＥＳのＣＢＣモードで鍵Ｋａｂを用いてデータを暗号化し、Ｂに返送する。なお、鍵Ｋａｂは、ＡおよびＢに共通の秘密鍵としてそれぞれの記録素子内に格納する鍵である。ＤＥＳのＣＢＣモードを用いた鍵Ｋａｂによる暗号化処理は、例えばＤＥＳを用いた処理においては、初期値とＲａとを排他的論理和し、ＤＥＳ暗号化部において、鍵Ｋａｂを用いて暗号化し、暗号文Ｅ１を生成し、続けて暗号文Ｅ１とＲｂとを排他的論理和し、ＤＥＳ暗号化部において、鍵Ｋａｂを用いて暗号化し、暗号文Ｅ２を生成し、さらに、暗号文Ｅ２とＩＤ（ｂ）とを排他的論理和し、ＤＥＳ暗号化部において、鍵Ｋａｂを用いて暗号化して生成した暗号文Ｅ３とによって送信データ（Token-AB）を生成する。
【００９８】
これを受信したＢは、受信データを、やはり共通の秘密鍵としてそれぞれの記録素子内に格納する鍵Ｋａｂ（認証キー）で復号化する。受信データの復号化方法は、まず、暗号文Ｅ１を認証キーＫａｂで復号化し、乱数Ｒａを得る。次に、暗号文Ｅ２を認証キーＫａｂで復号化し、その結果とＥ１を排他的論理和し、Ｒｂを得る。最後に、暗号文Ｅ３を認証キーＫａｂで復号化し、その結果とＥ２を排他的論理和し、ＩＤ(ｂ)を得る。こうして得られたＲａ、Ｒｂ、ＩＤ(ｂ)のうち、ＲｂおよびＩＤ(ｂ)が、Ｂが送信したものと一致するか検証する。この検証に通った場合、ＢはＡを正当なものとして認証する。
【００９９】
次にＢは、認証後に使用するセッションキー（Ｋｓｅｓ）を生成する（生成方法は、乱数を用いる）。そして、Ｒｂ、Ｒａ、Ｋｓｅｓの順に、ＤＥＳのＣＢＣモードで認証キーＫａｂを用いて暗号化し、Ａに返送する。
【０１００】
これを受信したＡは、受信データを認証キーＫａｂで復号化する。受信データの復号化方法は、Ｂの復号化処理と同様であるので、ここでは詳細を省略する。こうして得られたＲｂ、Ｒａ、Ｋｓｅｓの内、ＲｂおよびＲａが、Ａが送信したものと一致するか検証する。この検証に通った場合、ＡはＢを正当なものとして認証する。互いに相手を認証した後には、セッションキーＫｓｅｓは、認証後の秘密通信のための共通鍵として利用される。
【０１０１】
なお、受信データの検証の際に、不正、不一致が見つかった場合には、相互認証が失敗したものとして処理を中断する。
【０１０２】
上述の認証処理においては、Ａ，Ｂは共通の認証キーＫａｂを共有する。この共通鍵Ｋａｂを上述の有効化キーブロック（ＥＫＢ）を使用してデバイスに配信する。
【０１０３】
例えば、図１２の例では、Ａ，またはＢのいずれかが他方が復号可能な有効化キーブロック（ＥＫＢ）を生成して生成した有効化キーブロック（ＥＫＢ）によって認証キーＫａｂを暗号化して、他方に送信する構成としてもよいし、あるいは第３者がデバイスＡ，Ｂに対して双方が利用可能な有効化キーブロック（ＥＫＢ）を生成してデバイスＡ，Ｂに対して生成した有効化キーブロック（ＥＫＢ）によって認証キーＫａｂを暗号化して配信する構成としてもよい。
【０１０４】
図１３および図１４に複数のデバイスに共通の認証キーＫａｋｅを有効化キーブロック（ＥＫＢ）によって配信する構成例を示す。図１３はデバイス０，１，２，３に対して復号可能な認証キーＫａｋｅを配信する例、図１４はデバイス０，１，２，３中のデバイス３をリボーク（排除）してデバイス０，１，２に対してのみ復号可能な認証キーを配信する例を示す。
【０１０５】
図１３の例では、更新ノードキーＫ（ｔ）００によって、認証キーＫａｋｅを暗号化したデータ（ｂ）とともに、デバイス０，１，２，３においてそれぞれの有するノードキー、リーフキーを用いて更新されたノードキーＫ（ｔ）００を復号可能な有効化キーブロック（ＥＫＢ）を生成して配信する。それぞれのデバイスは、図１３の右側に示すようにまず、ＥＫＢを処理（復号）することにより、更新されたノードキーＫ（ｔ）００を取得し、次に、取得したノードキーＫ（ｔ）００を用いて暗号化された認証キー：Ｅｎｃ（Ｋ（ｔ）００，Ｋａｋｅ）を復号して認証キーＫａｋｅを得ることが可能となる。
【０１０６】
その他のデバイス４，５，６，７…は同一の有効化キーブロック（ＥＫＢ）を受信しても自身の保有するノードキー、リーフキーでは、ＥＫＢを処理して更新されたノードキーＫ（ｔ）００を取得することができないので、安全に正当なデバイスに対してのみ認証キーを送付することができる。
【０１０７】
一方、図１４の例は、図３の点線枠で囲んだグループにおいてデバイス３が、例えば鍵の漏洩によりリボーク（排除）されているとして、他のグループのメンバ、すなわち、デバイス０，１，２，に対してのみ復号可能な有効化キーブロック（ＥＫＢ）を生成して配信した例である。図１４に示す（ａ）有効化キーブロック（ＥＫＢ）と、（ｂ）認証キー（Ｋａｋｅ）をノードキー（Ｋ（ｔ）００）で暗号化したデータを配信する。
【０１０８】
図１４の右側には、復号手順を示してある。デバイス０，１，２は、まず、受領した有効化キーブロックから自身の保有するリーフキーまたはノードキーを用いた復号処理により、更新ノードキー（Ｋ（ｔ）００）を取得する。次に、Ｋ（ｔ）００による復号により認証キーＫａｋｅを取得する。
【０１０９】
図３に示す他のグループのデバイス４，５，６…は、この同様のデータ（ＥＫＢ）を受信したとしても、自身の保有するリーフキー、ノードキーを用いて更新ノードキー（Ｋ（ｔ）００）を取得することができない。同様にリボークされたデバイス３においても、自身の保有するリーフキー、ノードキーでは、更新ノードキー（Ｋ（ｔ）００）を取得することができず、正当な権利を有するデバイスのみが認証キーを復号して利用することが可能となる。
【０１１０】
このように、ＥＫＢを利用した認証キーの配送を用いれば、データ量を少なくして、かつ安全に正当権利者のみが復号可能とした認証キーを配信することが可能となる。
【０１１１】
［公開鍵認証と有効化キーブロック（ＥＫＢ）を使用したコンテンツキーの配信］
次に、公開鍵認証と有効化キーブロック（ＥＫＢ）を使用したコンテンツキーの配信処理について説明する。まず、公開鍵暗号方式である１６０ビット長の楕円曲線暗号を用いた相互認証方法を、図１５を用いて説明する。図１５において、公開鍵暗号方式としてＥＣＣを用いているが、同様な公開鍵暗号方式であればいずれでもよい。また、鍵サイズも１６０ビットでなくてもよい。図１５において、まずＢが、６４ビットの乱数Ｒｂを生成し、Ａに送信する。これを受信したＡは、新たに６４ビットの乱数Ｒａおよび素数ｐより小さい乱数Ａｋを生成する。そして、ベースポイントＧをＡｋ倍した点Ａｖ＝Ａｋ×Ｇを求め、Ｒａ、Ｒｂ、Ａｖ（X座標とY座標）に対する電子署名Ａ．Ｓｉｇを生成し、Ａの公開鍵証明書とともにＢに返送する。ここで、ＲａおよびＲｂはそれぞれ６４ビット、ＡｖのＸ座標とＹ座標がそれぞれ１６０ビットであるので、合計４４８ビットに対する電子署名を生成する。
【０１１２】
Ａの公開鍵証明書、Ｒａ、Ｒｂ、Ａｖ、電子署名Ａ．Ｓｉｇを受信したＢは、Ａが送信してきたＲｂが、Ｂが生成したものと一致するか検証する。その結果、一致していた場合には、Ａの公開鍵証明書内の電子署名を認証局の公開鍵で検証し、Ａの公開鍵を取り出す。そして、取り出したＡの公開鍵を用い電子署名Ａ．Ｓｉｇを検証する。
【０１１３】
次に、Ｂは、素数ｐより小さい乱数Ｂｋを生成する。そして、ベースポイントＧをＢｋ倍した点Ｂｖ＝Ｂｋ×Ｇを求め、Ｒｂ、Ｒａ、Ｂｖ（Ｘ座標とＹ座標）に対する電子署名Ｂ．Ｓｉｇを生成し、Ｂの公開鍵証明書とともにＡに返送する。
【０１１４】
Ｂの公開鍵証明書、Ｒｂ、Ｒａ、Ａｖ、電子署名Ｂ．Ｓｉｇを受信したＡは、Ｂが送信してきたＲａが、Ａが生成したものと一致するか検証する。その結果、一致していた場合には、Ｂの公開鍵証明書内の電子署名を認証局の公開鍵で検証し、Ｂの公開鍵を取り出す。そして、取り出したＢの公開鍵を用い電子署名Ｂ．Ｓｉｇを検証する。電子署名の検証に成功した後、ＡはＢを正当なものとして認証する。
【０１１５】
両者が認証に成功した場合には、ＢはＢｋ×Ａｖ（Ｂｋは乱数だが、Ａｖは楕円曲線上の点であるため、楕円曲線上の点のスカラー倍計算が必要）を計算し、ＡはＡｋ×Ｂｖを計算し、これら点のＸ座標の下位６４ビットをセッションキーとして以降の通信に使用する（共通鍵暗号を６４ビット鍵長の共通鍵暗号とした場合）。もちろん、Ｙ座標からセッション鍵を生成してもよいし、下位６４ビットでなくてもよい。なお、相互認証後の秘密通信においては、送信データはセッションキーで暗号化されるだけでなく、電子署名も付されることがある。
【０１１６】
電子署名の検証や受信データの検証の際に、不正、不一致が見つかった場合には、相互認証が失敗したものとして処理を中断する。
【０１１７】
図１６に公開鍵認証と有効化キーブロック（ＥＫＢ）を使用したコンテンツキーの配信処理例を示す。まずコンテンツプロバイダとＰＣ間において図１５で説明した公開鍵方式による認証処理が実行される。コンテンツプロバイダは、コンテンツキー配信先である再生装置、記録媒体の有するノードキー、リーフキーによって復号可能なＥＫＢを生成して、更新ノードキーによる暗号化を実行したコンテンツキーＥ（Ｋｃｏｎ）と、有効化キーブロック（ＥＫＢ）とをＰＣ間の認証処理において生成したセッションキーＫｓｅｓで暗号化してＰＣに送信する。
【０１１８】
ＰＣはセッションキーで暗号化された［更新ノードキーによる暗号化を実行したコンテンツキーＥ（Ｋｃｏｎ）と、有効化キーブロック（ＥＫＢ）］をセッションキーで復号した後、再生装置、記録媒体に送信する。
【０１１９】
再生装置、記録媒体は、自身の保有するノードキーまたはリーフキーによって［更新ノードキーによる暗号化を実行したコンテンツキーＥ（Ｋｃｏｎ）と、有効化キーブロック（ＥＫＢ）］を復号することによってコンテンツキーＫｃｏｎを取得する。
【０１２０】
この構成によれば、コンテンツプロバイダとＰＣ間での認証を条件として［更新ノードキーによる暗号化を実行したコンテンツキーＥ（Ｋｃｏｎ）と、有効化キーブロック（ＥＫＢ）］が送信されるので、例えば、ノードキーの漏洩があった場合でも、確実な相手に対するデータ送信が可能となる。
【０１２１】
［プログラムコードの有効化キーブロック（ＥＫＢ）を使用した配信］
上述した例では、コンテンツキー、認証キー等を有効化キーブロック（ＥＫＢ）を用いて暗号化して配信する方法を説明したが、様々なプログラムコードを有効化キーブロック（ＥＫＢ）を用いて配信する構成も可能である。すなわちＥＫＢによる暗号化メッセージデータをプログラムコードとした例である。以下、この構成について説明する。
【０１２２】
図１７にプログラムコードを有効化キーブロック（ＥＫＢ）の例えば更新ノードキーによって暗号化してデバイス間で送信する例を示す。デバイス１７０１は、デバイス１７０２の有するノードキー、リーフキーによって復号可能な有効化キーブロック（ＥＫＢ）と、有効化キーブロック（ＥＫＢ）に含まれる更新ノードキーで暗号処理したプログラムコードをデバイス１７０２に送信する。デバイス１７０２は受信したＥＫＢを処理して更新ノードキーを取得して、さらに取得した更新ノードキーによってプログラムコードの復号を実行して、プログラムコードを得る。
【０１２３】
図１７に示す例では、さらに、デバイス１７０２において取得したプログラムコードによる処理を実行して、その結果をデバイス１７０１に返して、デバイス１７０１がその結果に基づいて、さらに処理を続行する例を示している。
【０１２４】
このように有効化キーブロック（ＥＫＢ）と、有効化キーブロック（ＥＫＢ）に含まれる更新ノードキーで暗号処理したプログラムコードを配信することにより、特定のデバイスにおいて解読可能なプログラムコードを前述の図３で示した特定のデバイス、あるいはグループに対して配信することが可能となる。
【０１２５】
［送信コンテンツに対するチェック値（ＩＣＶ:Integrity Check Value）を対応させる構成］
次に、コンテンツの改竄を防止するためにコンテンツのインテグリティ・チェック値（ＩＣＶ）を生成して、コンテンツに対応付けて、ＩＣＶの計算により、コンテンツ改竄の有無を判定する処理構成について説明する。
【０１２６】
コンテンツのインテグリティ・チェック値（ＩＣＶ）は、例えばコンテンツに対するハッシュ関数を用いて計算され、ＩＣＶ＝ｈａｓｈ（Ｋｉｃｖ，Ｃ１，Ｃ２，…）によって計算される。ＫｉｃｖはＩＣＶ生成キーである。Ｃ１，Ｃ２はコンテンツの情報であり、コンテンツの重要情報のメッセージ認証符号（ＭＡＣ：Message authentication Code）が使用される。
【０１２７】
ＤＥＳ暗号処理構成を用いたＭＡＣ値生成例を図１８に示す。図１８の構成に示すように対象となるメッセージを８バイト単位に分割し、（以下、分割されたメッセージをＭ１、Ｍ２、・・・、ＭＮとする）、まず、初期値（Initial Value（以下、ＩＶとする））とＭ１を排他的論理和する（その結果をＩ１とする）。次に、Ｉ１をＤＥＳ暗号化部に入れ、鍵（以下、Ｋ１とする）を用いて暗号化する（出力をＥ１とする）。続けて、Ｅ１およびＭ２を排他的論理和し、その出力Ｉ２をＤＥＳ暗号化部へ入れ、鍵Ｋ１を用いて暗号化する（出力Ｅ２）。以下、これを繰り返し、全てのメッセージに対して暗号化処理を施す。最後に出てきたＥＮがメッセージ認証符号（ＭＡＣ（Message Authentication Code））となる。
【０１２８】
このようなコンテンツのＭＡＣ値とＩＣＶ生成キーにハッシュ関数を適用して用いてコンテンツのインテグリティ・チェック値（ＩＣＶ）が生成される。改竄のないことが保証された例えばコンテンツ生成時に生成したＩＣＶと、新たにコンテンツに基づいて生成したＩＣＶとを比較して同一のＩＣＶが得られればコンテンツに改竄のないことが保証され、ＩＣＶが異なれば、改竄があったと判定される。
【０１２９】
［チェック値（ＩＣＶ）の生成キーＫｉｃｖをＥＫＢによって配布する構成］
次に、コンテンツのインテグリティ・チェック値（ＩＣＶ）生成キーであるＫｉｃｖを上述の有効化キーブロックによって送付する構成について説明する。すなわちＥＫＢによる暗号化メッセージデータをコンテンツのインテグリティ・チェック値（ＩＣＶ）生成キーとした例である。
【０１３０】
図１９および図２０に複数のデバイスに共通のコンテンツを送付した場合、それらのコンテンツの改竄の有無を検証するためのインテグリティ・チェック値生成キーＫｉｃｖを有効化キーブロック（ＥＫＢ）によって配信する構成例を示す。図１９はデバイス０，１，２，３に対して復号可能なチェック値生成キーＫｉｃｖを配信する例、図２０はデバイス０，１，２，３中のデバイス３をリボーク（排除）してデバイス０，１，２に対してのみ復号可能なチェック値生成キーＫｉｃｖを配信する例を示す。
【０１３１】
図１９の例では、更新ノードキーＫ（ｔ）００によって、チェック値生成キーＫｉｃｖを暗号化したデータ（ｂ）とともに、デバイス０，１，２，３においてそれぞれの有するノードキー、リーフキーを用いて更新されたノードキーＫ（ｔ）００を復号可能な有効化キーブロック（ＥＫＢ）を生成して配信する。それぞれのデバイスは、図１９の右側に示すようにまず、ＥＫＢを処理（復号）することにより、更新されたノードキーＫ（ｔ）００を取得し、次に、取得したノードキーＫ（ｔ）００を用いて暗号化されたチェック値生成キー：Ｅｎｃ（Ｋ（ｔ）００，Ｋｉｃｖ）を復号してチェック値生成キーＫｉｃｖを得ることが可能となる。
【０１３２】
その他のデバイス４，５，６，７…は同一の有効化キーブロック（ＥＫＢ）を受信しても自身の保有するノードキー、リーフキーでは、ＥＫＢを処理して更新されたノードキーＫ（ｔ）００を取得することができないので、安全に正当なデバイスに対してのみチェック値生成キーを送付することができる。
【０１３３】
一方、図２０の例は、図３の点線枠で囲んだグループにおいてデバイス３が、例えば鍵の漏洩によりリボーク（排除）されているとして、他のグループのメンバ、すなわち、デバイス０，１，２，に対してのみ復号可能な有効化キーブロック（ＥＫＢ）を生成して配信した例である。図２０に示す（ａ）有効化キーブロック（ＥＫＢ）と、（ｂ）チェック値生成キー（Ｋｉｃｖ）をノードキー（Ｋ（ｔ）００）で暗号化したデータを配信する。
【０１３４】
図２０の右側には、復号手順を示してある。デバイス０，１，２は、まず、受領した有効化キーブロックから自身の保有するリーフキーまたはノードキーを用いた復号処理により、更新ノードキー（Ｋ（ｔ）００）を取得する。次に、Ｋ（ｔ）００による復号によりチェック値生成キーＫｉｃｖを取得する。
【０１３５】
図３に示す他のグループのデバイス４，５，６…は、この同様のデータ（ＥＫＢ）を受信したとしても、自身の保有するリーフキー、ノードキーを用いて更新ノードキー（Ｋ（ｔ）００）を取得することができない。同様にリボークされたデバイス３においても、自身の保有するリーフキー、ノードキーでは、更新ノードキー（Ｋ（ｔ）００）を取得することができず、正当な権利を有するデバイスのみがチェック値生成キーを復号して利用することが可能となる。
【０１３６】
このように、ＥＫＢを利用したチェック値生成キーの配送を用いれば、データ量を少なくして、かつ安全に正当権利者のみが復号可能としたチェック値生成キーを配信することが可能となる。
【０１３７】
このようなコンテンツのインテグリティ・チェック値（ＩＣＶ）を用いることにより、ＥＫＢと暗号化コンテンツの不正コピーを排除することができる。例えば図２１に示すように、コンテンツＣ１とコンテンツＣ２とをそれぞれのコンテンツキーを取得可能な有効化キーブロック（ＥＫＢ）とともに格納したメディア１があり、これをそのままメディア２にコピーした場合を想定する。ＥＫＢと暗号化コンテンツのコピーは可能であり、これをＥＫＢを復号可能なデバイスでは利用できることになる。
【０１３８】
図２１の（ｂ）に示すように各メディアに正当に格納されたコンテンツに対応付けてインテグリティ・チェック値（ＩＣＶ（Ｃ１，Ｃ２））を格納する構成とする。なお、（ＩＣＶ（Ｃ１，Ｃ２））は、コンテンツＣ１とコンテンツＣ２にハッシュ関数を用いて計算されるコンテンツのインテグリティ・チェック値であるＩＣＶ＝ｈａｓｈ（Ｋｉｃｖ，Ｃ１，Ｃ２）を示している。図２１の（ｂ）の構成において、メディア１には正当にコンテンツ１とコンテンツ２が格納され、コンテンツＣ１とコンテンツＣ２に基づいて生成されたインテグリティ・チェック値（ＩＣＶ（Ｃ１，Ｃ２））が格納される。また、メディア２には正当にコンテンツ１が格納され、コンテンツＣ１に基づいて生成されたインテグリティ・チェック値（ＩＣＶ（Ｃ１））が格納される。この構成において、メディア１に格納された｛ＥＫＢ，コンテンツ２｝をメディア２にコピーしたとすると、メディア２で、コンテンツチェック値を新たに生成するとＩＣＶ（Ｃ１，Ｃ２）が生成されることになり、メディアに格納されているＫｉｃｖ（Ｃ１）と異なり、コンテンツの改竄あるいは不正なコピーによる新たなコンテンツの格納が実行されたことが明らかになる。メディアを再生するデバイスにおいて、再生ステップの前ステップにＩＣＶチェックを実行して、生成ＩＣＶと格納ＩＣＶの一致を判別し、一致しない場合は、再生を実行しない構成とすることにより、不正コピーのコンテンツの再生を防止することが可能となる。
【０１３９】
また、さらに、安全性を高めるため、コンテンツのインテグリティ・チェック値（ＩＣＶ）を書き換えカウンタを含めたデータに基づいて生成する構成としてもよい。すなわちＩＣＶ＝ｈａｓｈ（Ｋｉｃｖ，ｃｏｕｎｔｅｒ＋１，Ｃ１，Ｃ２，…）によって計算する構成とする。ここで、カウンタ（ｃｏｕｎｔｅｒ＋１）は、ＩＣＶの書き換えごとに１つインクリメントされる値として設定する。なお、カウンタ値はセキュアなメモリに格納する構成とすることが必要である。
【０１４０】
さらに、コンテンツのインテグリティ・チェック値（ＩＣＶ）をコンテンツと同一メディアに格納することができない構成においては、コンテンツのインテグリティ・チェック値（ＩＣＶ）をコンテンツとは別のメディア上に格納する構成としてもよい。
【０１４１】
例えば、読み込み専用メディアや通常のＭＯ等のコピー防止策のとられていないメディアにコンテンツを格納する場合、同一メディアにインテグリティ・チェック値（ＩＣＶ）を格納するとＩＣＶの書き換えが不正なユーザによりなされる可能性があり、ＩＣＶの安全性が保てないおそれがある。この様な場合、ホストマシン上の安全なメディアにＩＣＶを格納して、コンテンツのコピーコントロール（例えばcheck-in/check-out、move）にＩＣＶを使用する構成とすることにより、ＩＣＶの安全な管理およびコンテンツの改竄チェックが可能となる。
【０１４２】
この構成例を図２２に示す。図２２では読み込み専用メディアや通常のＭＯ等のコピー防止策のとられていないメディア２２０１にコンテンツが格納され、これらのコンテンツに関するインテグリティ・チェック値（ＩＣＶ）を、ユーザが自由にアクセスすることの許可されないホストマシン上の安全なメディア２２０２に格納し、ユーザによる不正なインテグリティ・チェック値（ＩＣＶ）の書き換えを防止した例である。このような構成として、例えばメディア２２０１を装着したデバイスがメディア２２０１の再生を実行する際にホストマシンであるＰＣ、サーバにおいてＩＣＶのチェックを実行して再生の可否を判定する構成とすれば、不正なコピーコンテンツあるいは改竄コンテンツの再生を防止できる。
【０１４３】
［階層ツリー構造のカテゴリー分類］
暗号鍵をルートキー、ノードキー、リーフキー等、図３の階層ツリー構造として構成し、コンテンツキー、認証キー、ＩＣＶ生成キー、あるいはプログラムコード、データ等を有効化キーブロック（ＥＫＢ）とともに暗号化して配信する構成について説明してきたが、ノードキー等を定義している階層ツリー構造を各デバイスのカテゴリー毎に分類して効率的なキー更新処理、暗号化キー配信、データ配信を実行する構成について、以下説明する。
【０１４４】
図２３に階層ツリー構造のカテゴリーの分類の一例を示す。図２３において、階層ツリー構造の最上段には、ルートキーＫｒｏｏｔ２３０１が設定され、以下の中間段にはノードキー２３０２が設定され、最下段には、リーフキー２３０３が設定される。各デバイスは個々のリーフキーと、リーフキーからルートキーに至る一連のノードキー、ルートキーを保有する。
【０１４５】
ここで、一例として最上段から第Ｍ段目のあるノードをカテゴリノード２３０４として設定する。すなわち第Ｍ段目のノードの各々を特定カテゴリのデバイス設定ノードとする。第Ｍ段の１つのノードを頂点として以下、Ｍ＋１段以下のノード、リーフは、そのカテゴリに含まれるデバイスに関するノードおよびリーフとする。
【０１４６】
例えば図２３の第Ｍ段目の１つのノード２３０５にはカテゴリ［メモリステッイク（商標）］が設定され、このノード以下に連なるノード、リーフはメモリステッイクを使用した様々なデバイスを含むカテゴリ専用のノードまたはリーフとして設定される。すなわち、ノード２３０５以下を、メモリスティックのカテゴリに定義されるデバイスの関連ノード、およびリーフの集合として定義する。
【０１４７】
さらに、Ｍ段から数段分下位の段をサブカテゴリノード２３０６として設定することができる。例えば図に示すようにカテゴリ［メモリスティック］ノード２３０５の２段下のノードに、メモリスティックを使用したデバイスのカテゴリに含まれるサブカテゴリノードとして、［再生専用器］のノードを設定する。さらに、サブカテゴリノードである再生専用器のノード２３０６以下に、再生専用器のカテゴリに含まれる音楽再生機能付き電話のノード２３０７が設定され、さらにその下位に、音楽再生機能付き電話のカテゴリに含まれる［ＰＨＳ］ノード２３０８と［携帯電話］ノード２３０９を設定することができる。
【０１４８】
さらに、カテゴリ、サブカテゴリは、デバイスの種類のみならず、例えばあるメーカー、コンテンツプロバイダ、決済機関等が独自に管理するノード、すなわち処理単位、管轄単位、あるいは提供サービス単位等、任意の単位（これらを総称して以下、エンティティと呼ぶ）で設定することが可能である。例えば１つのカテゴリノードをゲーム機器メーカーの販売するゲーム機器ＸＹＺ専用の頂点ノードとして設定すれば、メーカーの販売するゲーム機器ＸＹＺにその頂点ノード以下の下段のノードキー、リーフキーを格納して販売することが可能となり、その後、暗号化コンテンツの配信、あるいは各種キーの配信、更新処理を、その頂点ノードキー以下のノードキー、リーフキーによって構成される有効化キーブロック（ＥＫＢ）を生成して配信し、頂点ノード以下のデバイスに対してのみ利用可能なデータが配信可能となる。
【０１４９】
このように、１つのノードを頂点としして、以下のノードをその頂点ノードに定義されたカテゴリ、あるいはサブカテゴリの関連ノードとして設定する構成とすることにより、カテゴリ段、あるいはサブカテゴリ段の１つの頂点ノードを管理するメーカー、コンテンツプロバイダ等がそのノードを頂点とする有効化キーブロック（ＥＫＢ）を独自に生成して、頂点ノード以下に属するデバイスに配信する構成が可能となり、頂点ノードに属さない他のカテゴリのノードに属するデバイスには全く影響を及ぼさずにキー更新を実行することができる。
【０１５０】
［簡略ＥＫＢによるキー配信構成（１）］
先に説明した例えば図３のツリー構成において、キー、例えばコンテンツキーを所定デバイス（リーフ）宛に送付する場合、キー配布先デバイスの所有しているリーフキー、ノードキーを用いて復号可能な有効化キーブロック（ＥＫＢ）を生成して提供する。例えば図２４（ａ）に示すツリー構成において、リーフを構成するデバイスａ，ｇ，ｊに対してキー、例えばコンテンツキーを送信する場合、ａ，ｇ，ｊの各ノードにおいて復号可能な有効化キーブロック（ＥＫＢ）を生成して配信する。
【０１５１】
例えば更新ルートキーＫ（ｔ）ｒｏｏｔでコンテンツキーＫ（ｔ）ｃｏｎを暗号化処理し、ＥＫＢとともに配信する場合を考える。この場合、デバイスａ，ｇ，ｊは、それぞれが図２４（ｂ）に示すリーフおよびノードキーを用いて、ＥＫＢの処理を実行してＫ（ｔ）ｒｏｏｔを取得し、取得した更新ルートキーＫ（ｔ）ｒｏｏｔによってコンテンツキーＫ（ｔ）ｃｏｎの復号処理を実行してコンテンツキーを得る。
【０１５２】
この場合に提供される有効化キーブロック（ＥＫＢ）の構成は、図２５に示すようになる。図２５に示す有効化キーブロック（ＥＫＢ）は、先の図６で説明した有効化キーブロック（ＥＫＢ）のフォーマットにしたがって構成されたものであり、データ（暗号化キー）と対応するタグとを持つ。タグは、先に図７を用いて説明したように左（Ｌ）、右（Ｒ）、それぞれの方向にデータがあれば０、無ければ１を示している。
【０１５３】
有効化キーブロック（ＥＫＢ）を受領したデバイスは、有効化キーブロック（ＥＫＢ）の暗号化キーとタグに基づいて、順次暗号化キーの復号処理を実行して上位ノードの更新キーを取得していく。図２５に示すように、有効化キーブロック（ＥＫＢ）は、ルートからリーフまでの段数（デプス）が多いほど、そのデータ量は増加していく。段数（デプス）は、デバイス（リーフ）数に応じて増大するものであり、キーの配信先となるデバイス数が多い場合は、ＥＫＢのデータ量がさらに増大することになる。
【０１５４】
このような有効化キーブロック（ＥＫＢ）のデータ量の削減を可能とした構成について説明する。図２６は、有効化キーブロック（ＥＫＢ）をキー配信デバイスに応じて簡略化して構成した例を示すものである。
【０１５５】
図２５と同様、リーフを構成するデバイスａ，ｇ，ｊに対してキー、例えばコンテンツキーを送信する場合を想定する。図２６の（ａ）に示すように、キー配信デバイスによってのみ構成されるツリーを構築する。この場合、図２４（ｂ）に示す構成に基づいて新たなツリー構成として図２６（ｂ）のツリー構成が構築される。ＫｒｏｏｔからＫｊまでは全く分岐がなく１つの枝のみが存在すればよく、ＫｒｏｏｔからＫａおよびＫｇに至るためには、Ｋ０に分岐点を構成するのみで、２分岐構成の図２６（ａ）のツリーが構築される。
【０１５６】
図２６（ａ）に示すように、ノードとしてＫ０のみを持つ簡略化したツリーが生成される。更新キー配信のための有効化キーブロック（ＥＫＢ）は、これらの簡略ツリーに基づいて生成する。図２６（ａ）に示すツリーは、有効化キーブロック（ＥＫＢ）を復号可能な末端ノードまたはリーフを最下段とした２分岐型ツリーを構成するパスを選択して不要ノードを省略することにより再構築される再構築階層ツリーである。更新キー配信のための有効化キーブロック（ＥＫＢ）は、この再構築階層ツリーのノードまたはリーフに対応するキーのみに基づいて構成される。
【０１５７】
先の図２５で説明した有効化キーブロック（ＥＫＢ）は、各リーフａ，ｇ，ｊからＫｒｏｏｔに至るまでのすべてのキーを暗号化したデータを格納していたが、簡略化ＥＫＢは、簡略化したツリーを構成するノードについてのみの暗号化データを格納する。図２６（ｂ）に示すようにタグは３ビット構成を有する。第１および第２ビットは、図２５の例と、同様の意味を持ち、左（Ｌ）、右（Ｒ）、それぞれの方向にデータがあれば０、無ければ１を示す。第３番目のビットは、ＥＫＢ内に暗号化キーが格納されているか否かを示すためのビットであり、データが格納されている場合は１、データが無い場合は、０として設定される。
【０１５８】
データ通信網、あるいは記憶媒体に格納されてデバイス（リーフ）に提供される有効化キーブロック（ＥＫＢ）は、図２６（ｂ）に示すように、図２５に示す構成に比較すると、データ量が大幅に削減されたものとなる。図２６に示す有効化キーブロック（ＥＫＢ）を受領した各デバイスは、タグの第３ビットに１が格納された部分のデータのみを順次復号することにより、所定の暗号化キーの復号を実現することができる。例えばデバイスａは、暗号化データＥｎｃ（Ｋａ，Ｋ（ｔ）０）をリーフキーＫａで復号して、ノードキーＫ（ｔ）０を取得して、ノードキーＫ（ｔ）０によって暗号化データＥｎｃ（Ｋ（ｔ）０，Ｋ（ｔ）ｒｏｏｔ）を復号してＫ（ｔ）ｒｏｏｔを取得する。デバイスｊは、暗号化データＥｎｃ（Ｋｊ，Ｋ（ｔ）ｒｏｏｔ）をリーフキーＫｊで復号して、Ｋ（ｔ）ｒｏｏｔを取得する。
【０１５９】
このように、配信先のデバイスによってのみ構成される簡略化した新たなツリー構成を構築して、構築されたツリーを構成するリーフおよびノードのキーのみを用いて有効化キーブロック（ＥＫＢ）を生成することにより、少ないデータ量の有効化キーブロック（ＥＫＢ）を生成することが可能となり、有効化キーブロック（ＥＫＢ）のデータ配信が効率的に実行可能となる。
【０１６０】
［簡略ＥＫＢによるキー配信構成（２）］
図２６で示した簡略化したツリーに基づいて生成される有効化キーブロック（ＥＫＢ）をさらに、簡略化してデータ量を削減し、効率的な処理を可能とした構成について説明する。
【０１６１】
図２６を用いて説明した構成は、有効化キーブロック（ＥＫＢ）を復号可能な末端ノードまたはリーフを最下段とした２分岐型ツリーを構成するパスを選択して不要ノードを省略することにより再構築される再構築階層ツリーであった。更新キー配信のための有効化キーブロック（ＥＫＢ）は、この再構築階層ツリーのノードまたはリーフに対応するキーのみに基づいて構成される。
【０１６２】
図２６（ａ）に示す再構築階層ツリーは、リーフａ，ｇ，ｊにおいて更新ルートキーＫ（ｔ）ｒｏｏｔを取得可能とするため、図２６（ｂ）に示す有効化キーブロック（ＥＫＢ）を配信する。図２６（ｂ）の有効化キーブロック（ＥＫＢ）の処理において、リーフｊは、Ｅｎｃ（Ｋｊ，Ｋ（ｔ）ｒｏｏｔ）の１回の復号処理によりルートキー：Ｋ（ｔ）ｒｏｏｔを取得できる。しかし、リーフａ，ｇは、Ｅｎｃ（Ｋａ，Ｋ（ｔ）０）または、Ｅｎｃ（Ｋｇ，Ｋ（ｔ）０）の復号処理によりＫ（ｔ）０を得た後、さらに、Ｅｎｃ（Ｋ（ｔ）０，Ｋ（ｔ）ｒｏｏｔ）の復号処理を実行してルートキー：Ｋ（ｔ）ｒｏｏｔを取得する。すなわち、リーフａ，ｇは、２回の復号処理を実行することが必要となる。
【０１６３】
図２６の簡略化した再構築階層ツリーは、ノードＫ０がその下位リーフａ，ｇの管理ノードとして独自の管理を実行している場合、例えば後述するサブルート・ノードとして、下位リーフの管理を実行している場合には、リーフａ，ｇが更新キーを取得したことを確認する意味で有効であるが、ノードＫ０が下位リーフの管理を行なっていない場合、あるいは行なっていたとしても、上位ノードからの更新キー配信を許容している場合には、図２６（ａ）に示す再構築階層ツリーをさらに簡略化して、ノードＫ０のキーを省略して有効化キーブロック（ＥＫＢ）を生成して配信してもよい。
【０１６４】
図２７に、このような有効化キーブロック（ＥＫＢ）の構成を示す。図２６と同様、リーフを構成するデバイスａ，ｇ，ｊに対してキー、例えばコンテンツキーを送信する場合を想定する。図２７の（ａ）に示すように、ルートＫｒｏｏｔと各リーフａ，ｇ，ｊを直接接続したツリーを構築する。
【０１６５】
図２７（ａ）に示すように、図２６（ａ）に示す再構築階層ツリーからノードＫ０が省かれた簡略化したツリーが生成される。更新キー配信のための有効化キーブロック（ＥＫＢ）は、これらの簡略ツリーに基づいて生成する。図２７（ａ）に示すツリーは、有効化キーブロック（ＥＫＢ）を復号可能なリーフをとルートとを直接結ぶパスのみによって再構築される再構築階層ツリーである。更新キー配信のための有効化キーブロック（ＥＫＢ）は、この再構築階層ツリーのリーフに対応するキーのみに基づいて構成される。
【０１６６】
なお、図２７（ａ）の例は、末端をリーフとした構成例であるが、例えば最上位ノードか複数の中位、下位ノードに対してキーを配信する場合も、最上位ノードと中位、下位ノードとを直接接続した簡略化ツリーに基づいて有効化キーブロック（ＥＫＢ）を生成してキー配信を実行することが可能である。このように、再構築階層ツリーは、簡略化したツリーを構成する頂点ノードと、簡略化したツリーを構成する末端ノードまたはリーフとを直接、接続した構成を持つ。この簡略化ツリーでは、頂点ノードからの分岐は２に限らず、配信ノードまたはリーフ数に応じて３以上の多分岐を持つツリーとして構成することが可能である。
【０１６７】
先の図２５で説明した有効化キーブロック（ＥＫＢ）は、各リーフａ，ｇ，ｊからＫｒｏｏｔに至るまでのすべてのキーを暗号化したデータを格納し、図２６で説明した有効化キーブロック（ＥＫＢ）は、リーフａ，ｇ，ｊのリーフキー、ａ，ｇの共通ノードとしてのＫ０、さらに、ルートキーを格納した構成であったが、図２７（ａ）に示す簡略化階層ツリーに基づく有効化キーブロック（ＥＫＢ）は、ノードＫ０のキーを省略したので、図２７（ｂ）に示すように、さらにデータ量の少ない有効化キーブロック（ＥＫＢ）となる。
【０１６８】
図２７（ｂ）の有効化キーブロック（ＥＫＢ）は、図２６（ｂ）の有効化キーブロック（ＥＫＢ）と同様、３ビット構成のタグを有する。第１および第２ビットは、図２６で説明したと同様、左（Ｌ）、右（Ｒ）、それぞれの方向にデータがあれば０、無ければ１を示す。第３番目のビットは、ＥＫＢ内に暗号化キーが格納されているか否かを示すためのビットであり、データが格納されている場合は１、データが無い場合は、０として設定される。
【０１６９】
図２７（ｂ）の有効化キーブロック（ＥＫＢ）において、各リーフａ，ｇ，ｊは、Ｅｎｃ（Ｋａ，Ｋ（ｔ）ｒｏｏｔ）、またはＥｎｃ（Ｋｇ，Ｋ（ｔ）ｒｏｏｔ）Ｅｎｃ（Ｋｊ，Ｋ（ｔ）ｒｏｏｔ）の１回の復号処理によりルートキー：Ｋ（ｔ）ｒｏｏｔを取得できる。
【０１７０】
このように簡略化された再構築ツリーの最上位ノードと、ツリーを構成する末端ノードまたはリーフとを直接、接続した構成を持つツリーに基づいて生成される有効化キーブロック（ＥＫＢ）は、図２７（ｂ）に示すように、再構築階層ツリーの頂点ノードおよび末端ノードまたはリーフに対応するキーのみに基づいて構成される。
【０１７１】
図２６または図２７で説明した有効化キーブロック（ＥＫＢ）のように、配信先のデバイスによってのみ構成される簡略化した新たなツリー構成を構築して、構築されたツリーを構成するリーフのみ、あるいはリーフと共通ノードのキーのみを用いて有効化キーブロック（ＥＫＢ）を生成することにより、少ないデータ量の有効化キーブロック（ＥＫＢ）を生成することが可能となり、有効化キーブロック（ＥＫＢ）のデータ配信が効率的に実行可能となる。
【０１７２】
なお、簡略化した階層ツリー構成は、後段で説明するエンティテイ単位のＥＫＢ管理構成において特に有効に活用可能である。エンティテイは、キー配信構成としてのツリー構成を構成するノードあるいはリーフから選択した複数のノードあるいはリーフの集合体ブロックである。エンティテイは、デバイスの種類に応じて設定される集合であったり、あるいはデバイス提供メーカー、コンテンツプロバイダ、決済機関等の管理単位等、ある共通点を持った処理単位、管轄単位、あるいは提供サービス単位等、様々な態様の集合として設定される。１つのエンティテイには、ある共通のカテゴリに分類されるデバイスが集まっており、例えば複数のエンティテイの頂点ノード（サブルート）によって上述したと同様の簡略化したツリーを再構築してＥＫＢを生成することにより、選択されたエンティテイに属するデバイスにおいて復号可能な簡略化された有効化キーブロック（ＥＫＢ）の生成、配信が可能となる。エンティテイ単位の管理構成については後段で詳細に説明する。
【０１７３】
なお、このような有効化キーブロック（ＥＫＢ）は、光ディスク、ＤＶＤ等の情報記録媒体に格納した構成とすることが可能である。例えば、上述の暗号化キーデータによって構成されるデータ部と、暗号化キーデータの階層ツリー構造における位置識別データとしてのタグ部とを含む有効化キーブロック（ＥＫＢ）にさらに、更新ノードキーによって暗号化したコンテンツ等のメッセージデータとを格納した情報記録媒体を各デバイスに提供する構成が可能である。デバイスは有効化キーブロック（ＥＫＢ）に含まれる暗号化キーデータをタグ部の識別データにしたがって順次抽出して復号し、コンテンツの復号に必要なキーを取得してコンテンツの利用を行なうことが可能となる。もちろん、有効化キーブロック（ＥＫＢ）をインターネット等のネットワークを介して配信する構成としてもよい。
【０１７４】
［エンティテイ単位のＥＫＢ管理構成］
次に、キー配信構成としてのツリー構成を構成するノードあるいはリーフを、複数のノードあるいはリーフの集合としてのブロックで管理する構成について説明する。なお、複数のノードあるいはリーフの集合としてのブロックを以下エンティテイと呼ぶ。エンティテイは、デバイスの種類に応じて設定される集合であったり、あるいはデバイス提供メーカー、コンテンツプロバイダ、決済機関等の管理単位等、ある共通点を持った処理単位、管轄単位、あるいは提供サービス単位等、様々な態様の集合として設定される。
【０１７５】
エンティテイについて、図２８を用いて説明する。図２８（ａ）はツリーのエンティテイ単位での管理構成を説明する図である。１つのエンティテイは図では、三角形として示し、例えば１エンティテイ２７０１内には、複数のノードが含まれる。１エンティテイ内のノード構成を示すのが（ｂ）である。１つのエンティテイは、１つのノードを頂点とした複数段の２分岐形ツリーによって構成される。以下、エンティテイの頂点ノード２７０２をサブルートと呼ぶ。
【０１７６】
ツリーの末端は、（ｃ）に示すようにリーフ、すなわちデバイスによって構成される。デバイスは、複数デバイスをリーフとし、サブルートである頂点ノード２７０２を持つツリーによって構成されるいずれかのエンティテイに属する。
【０１７７】
図２８（ａ）から理解されるように、エンティテイは、階層構造を持つ。この階層構造について、図２９を用いて説明する。
【０１７８】
図２９（ａ）は、階層構造を簡略化して説明するための図であり、Ｋｒｏｏｔから数段下の段にエンティテイＡ０１〜Ａｎｎが構成され、エンティテイＡ１〜Ａｎの下位には、さらに、エンティテイＢ０１〜Ｂｎｋ、さらに、その下位にエンティテイＣ１〜Ｃｎｑが設定されている。各エンティテイは、図２９（ｂ），（ｃ）に示す如く、複数段のノード、リーフによって構成されるツリー形状を持つ。
【０１７９】
例えばエンティテイＢｎｋの構成は、（ｂ）に示すように、サブルート２８１１を頂点ノードとして、末端ノード２８１２に至るまでの複数ノードを有する。このエンティテイは識別子Ｂｎｋを持ち、エンティテイＢｎｋ内のノードに対応するノードキー管理をエンティテイＢｎｋ独自に実行することにより、末端ノード２８１２を頂点として設定される下位（子）エンティテイの管理を実行する。また、一方、エンティテイＢｎｋは、サブルート２８１１を末端ノードとして持つ上位（親）エンティテイＡｎｎの管理下にある。
【０１８０】
エンティテイＣｎ３の構成は、（ｃ）に示すように、サブルート２８５１を頂点ノードとして、各デバイスである末端ノード２８５２、この場合はリーフに至るまで複数ノード、リーフを有する。このエンティテイは識別子Ｃｎ３を持ち、エンティテイＣｎ３内のノード、リーフに対応するノードキー、リーフキー管理をエンティテイＣｎ３独自に実行することにより、末端ノード２８５２に対応するリーフ（デバイス）の管理を実行する。また、一方、エンティテイＣｎ３は、サブルート２８５１を末端ノードとして持つ上位（親）エンティテイＢｎ２の管理下にある。各エンティテイにおけるキー管理とは、例えばキー更新処理、リボーク処理等であるが、これらは後段で詳細に説明する。
【０１８１】
最下段エンティテイのリーフであるデバイスには、デバイスの属するエンティテイのリーフキーから、自己の属するエンティテイの頂点ノードであるサブルートノードに至るパスに位置する各ノードのノードキーおよびリーフキーが格納される。例えば末端ノード２８５２のデバイスは、末端ノード（リーフ）２８５２から、サブルートノード２８５１までの各キーを格納する。
【０１８２】
図３０を用いて、さらにエンティテイの構成について説明する。エンティテイは様々な段数によって構成されるツリー構造を持つことが可能である。段数、すなわちデプス（depth）は、エンティテイで管理する末端ノードに対応する下位（子）エンティテイの数、あるいはリーフとしてのデバイス数に応じて設定可能である。
【０１８３】
図３０の（ａ）に示すような上下エンティテイ構成を具体化すると、（ｂ）に示す態様となる。ルートエンティテイは、ルートキーを持つ最上段のエンティテイである。ルートエンティテイの末端ノードに複数の下位エンティテイとしてエンティテイＡ，Ｂ，Ｃが設定され、さらに、エンティテイＣの下位エンティテイとしてエンティテイＤが設定される。エンティテイＣ２９０１は、その末端ノードの１つ以上のノードをリザーブノード２９５０として保持し、自己の管理するエンティテイを増加させる場合、さらに複数段のツリー構成を持つエンティテイＣ’２９０２をリザーブノード２９５０を頂点ノードとして新設することにより、管理末端ノード２９７０を増加させて、管理末端ノードに増加した下位エンティテイを追加することができる。
【０１８４】
リザーブノードについて、さらに図３１を用いて説明する。エンティテイＡ，３０１１は、管理する下位エンティテイＢ，Ｃ，Ｄ…を持ち、１つのリザーブノード３０２１を持つ。エンティテイは管理対象の下位エンティテイをさらに増加させたい場合、リザーブノード３０２１に、自己管理の下位エンティテイＡ’，３０１２を設定し、下位エンティテイＡ’，３０１２の末端ノードにさらに管理対象の下位エンティテイＦ，Ｇを設定することができる。自己管理の下位エンティテイＡ’，３０１２も、その末端ノードの少なくとも１つをリザーブノード３０２２として設定することにより、さらに下位エンティテイＡ’’３０１３を設定して、さらに管理エンティテイを増加させることができる。下位エンティテイＡ’’３０１３の末端ノードにも１以上のリザーブノードを確保する。このようなリザーブノード保有構成をとることにより、あるエンティテイの管理する下位エンティテイは、際限なく増加させることが可能となる。なお、リザーブエンティテイは、末端ノードの１つのみではなく、複数個設定する構成としてもよい。
【０１８５】
それぞれのエンティテイでは、エンティテイ単位で有効化キーブロック（ＥＫＢ）が構成され、エンティテイ単位でのキー更新、リボーク処理を実行することになる。図３１のように複数のエンティテイＡ，Ａ’，Ａ’’には各エンティテイ個々の有効化キーブロック（ＥＫＢ）が設定されることになるが、これらは、エンティテイＡ，Ａ’，Ａ’’を共通に管理する例えばあるデバイスメーカーが一括して管理することが可能である。
【０１８６】
［新規エンティテイの登録処理］
次に、新規エンティテイの登録処理について説明する。登録処理シーケンスを図３２に示す。図３２のシーケンスにしたがって説明する。新たにツリー構成中に追加される新規（子）エンティテイ（Ｎ−Ｅｎ）は、上位（親）エンティテイ（Ｐ−Ｅｎ）に対して新規登録要求を実行する。なお、各エンティテイは、公開鍵暗号方式に従った公開鍵を保有し、新規エンティテイは自己の公開鍵を登録要求に際して上位エンティテイ（Ｐ−Ｅｎ）に送付する。
【０１８７】
登録要求を受領した上位エンティテイ（Ｐ−Ｅｎ）は、受領した新規（子）エンティテイ（Ｎ−Ｅｎ）の公開鍵を証明書発行局（ＣＡ：Certificate Authority）に転送し、ＣＡの署名を付加した新規（子）エンティテイ（Ｎ−Ｅｎ）の公開鍵を受領する。これらの手続きは、上位エンティテイ（Ｐ−Ｅｎ）と新規（子）エンティテイ（Ｎ−Ｅｎ）との相互認証の手続きとして行われる。
【０１８８】
これらの処理により、新規登録要求エンティテイの認証が終了すると、上位エンティテイ（Ｐ−Ｅｎ）は、新規（子）エンティテイ（Ｎ−Ｅｎ）の登録を許可し、新規（子）エンティテイ（Ｎ−Ｅｎ）のノードキーを新規（子）エンティテイ（Ｎ−Ｅｎ）に送信する。このノードキーは、上位エンティテイ（Ｐ−Ｅｎ）の末端ノードの１つのノードキーであり、かつ、新規（子）エンティテイ（Ｎ−Ｅｎ）の頂点ノード、すなわちサブルートキーに対応する。
【０１８９】
このノードキー送信が終了すると、新規（子）エンティテイ（Ｎ−Ｅｎ）は、新規（子）エンティテイ（Ｎ−Ｅｎ）のツリー構成を構築し、構築したツリーの頂点に受信した頂点ノードのサブルートキーを設定し、各ノード、リーフのキーを設定して、エンティテイ内の有効化キーブロック（ＥＫＢ）を生成する。１つのエンティテイ内の有効化キーブロック（ＥＫＢ）をサブＥＫＢと呼ぶ。
【０１９０】
一方、上位エンティテイ（Ｐ−Ｅｎ）は、新規（子）エンティテイ（Ｎ−Ｅｎ）の追加により、有効化する末端ノードを追加した上位エンティテイ（Ｐ−Ｅｎ）内のサブＥＫＢを生成する。
【０１９１】
新規（子）エンティテイ（Ｎ−Ｅｎ）は、新規（子）エンティテイ（Ｎ−Ｅｎ）内のノードキー、リーフキーによって構成されるサブＥＫＢを生成すると、これを上位エンティテイ（Ｐ−Ｅｎ）に送信する。
【０１９２】
新規（子）エンティテイ（Ｎ−Ｅｎ）からサブＥＫＢを受信した上位エンティテイ（Ｐ−Ｅｎ）は、受信したサブＥＫＢと、上位エンティテイ（Ｐ−Ｅｎ）の更新したサブＥＫＢとをキー発行センター（ＫＤＣ：Key Distribute Center）に送信する。
【０１９３】
キー発行センター（ＫＤＣ）は、すべてのエンティテイのサブＥＫＢに基づいて、様々な態様のＥＫＢ、すなわち特定のエンティテイあるいはデバイスのみが復号可能なＥＫＢを生成することが可能となる。このように復号可能なエンティテイあるいはデバイスを設定したＥＫＢを例えばコンテンツプロバイダに提供し、コンテンツプロバイダがＥＫＢに基づいてコンテンツキーを暗号化して、ネットワークを介して、あるいは記録媒体に格納して提供することにより、特定のデバイスでのみ利用可能なコンテンツを提供することが可能となる。
【０１９４】
なお、新規エンティテイのサブＥＫＢのキー発行センター（ＫＤＣ）に対する登録処理は、サブＥＫＢを上位エンティテイを介してを順次転送して実行する方法に限るものではなく、上位エンティテイを介さずに、新規登録エンティテイから直接、キー発行センター（ＫＤＣ）に登録する処理を実行する構成としてもよい。
【０１９５】
上位エンティテイと、上位エンティテイに新規追加する下位エンティテイとの対応について図３３を用いて説明する。上位エンティテイの末端ノードの１つ３２０１を新規追加エンティテイの頂点ノードとして、下位エンティテイに提供することによって下位エンティテイは、上位エンティテイの管理下のエンティテイとして追加される。上位エンティテイの管理下のエンティテイとは、後段で詳細に説明するが、下位エンティテイのリボーク（排除）処理を上位エンティテイが実行できる構成であるという意味を含むものである。
【０１９６】
図３３に示すように、上位エンティテイに新規エンティテイが設定されると、上位エンティテイのリーフである末端ノードの１つのノード３２０１と新規追加エンティテイの頂点ノード３２０２とが等しいノードとして設定される。すなわち上位ノードの１つのリーフである１つの末端ノードが、新規追加エンティテイのサブルートとして設定される。このように設定されることにより、新規追加エンティテイが全体ツリー構成の下で有効化される。
【０１９７】
図３４に新規追加エンティテイを設定した際に上位エンティテイが生成する更新ＥＫＢの例を示す。図３４は、（ａ）に示す構成、すなわち既に有効に存在する末端ノード（ｎｏｄｅ０００）３３０１と末端ノード（ｎｏｄｅ００１）３３０２があり、ここに新規追加エンティテイに新規エンティテイ追加末端ノード（ｎｏｄｅ１００）３３０３を付与した際に上位エンティテイが生成するサブＥＫＢの例を示したものである。
【０１９８】
サブＥＫＢは、図３４の（ｂ）に示すようにな構成を持つ。それぞれ有効に存在する末端ノードキーにより暗号化された上位ノードキー、上位ノードキーで暗号化されたさらなる上位ノードキー、…さらに上位に進行してサブルートキーに至る構成となっている。この構成によりサブＥＫＢが生成される。各エンティテイは図３４（ｂ）に示すと同様、有効な末端ノード、あるいはリーフキーにより暗号化された上位ノードキー、上位ノードキーでさらに上位のノードキーを暗号化し、順次上位に深厚してサブルートに至る暗号化データによって構成されるＥＫＢを有し、これを管理する。
【０１９９】
［エンティテイ管理下におけるリボーク処理］
次に、キー配信ツリー構成をエンティテイ単位として管理する構成におけるデバイスあるいはエンティテイのリボーク（排除）処理について説明する。先の図３，４では、ツリー構成全体の中から特定のデバイスのみ復号可能で、リボークされたデバイスは復号不可能な有効化キーブロック（ＥＫＢ）を配信する処理について説明した。図３，４で説明したリボーク処理は、ツリー全体の中から特定のリーフであるデバイスをリボークする処理であったが、ツリーのエンティテイ管理による構成では、エンティテイ毎にリボーク処理が実行可能となる。
【０２００】
図３５以下の図を用いてエンティテイ管理下のツリー構成におけるリボーク処理について説明する。図３５は、ツリーを構成するエンティテイのうち、最下段のエンティテイ、すなわち個々のデバイスを管理しているエンティテイによるデバイスのリボーク処理を説明する図である。
【０２０１】
図３５（ａ）は、エンティテイ管理によるキー配信ツリー構造を示している。ツリー最上位にはルートノードが設定され、その数段下にエンティテイＡ０１〜Ａｎｎ、さらにその下位段にＢ０１〜Ｂｎｋのエンティテイ、さらにその下位段にＣ１〜ｃｎのエンティテイが構成されている。最も下のエンティテイは、末端ノード（リーフ）が個々のデバイス、例えば記録再生器、再生専用器等であるとする。
【０２０２】
ここで、リボーク処理は、各エンティテイにおいて独自に実行される。例えば、最下段のエンティテイＣ１〜Ｃｎでは、リーフのデバイスのリボーク処理が実行される。図３５（ｂ）には、最下段のエンティテイの１つであるエンティテイＣｎ，３４３０のツリー構成を示している。エンティテイＣｎ，３４３０は、頂点ノード３４３１を持ち、末端ノードであるリーフに複数のデバイスを持つ構成である。
【０２０３】
この末端ノードであるリーフ中に、リボーク対象となるデバイス、例えばデバイス３４３２があったとすると、エンティテイＣｎ，３４３０は、独自に更新したエンティテイＣｎ内のノードキー、リーフキーによって構成される有効化キーブロック（サブＥＫＢ）を生成する。この有効化キーブロックは、リボークデバイス３４３２においては復号できず、他のリーフを構成するデバイスにおいてのみ復号可能な暗号化キーにより構成されるキーブロックである。エンティテイＣｎの管理者は、これを更新されたサブＥＫＢとして生成する。具体的には、サブルートからリボークデバイス３４３２に連なるパスを構成する各ノード３４３１，３４３４，３４３５のノードキーを更新して、この更新ノードキーをリボークデバイス３４３２以外のリーフデバイスにおいてのみ復号可能な暗号化キーとして構成したブロックを更新サブＥＫＢとする。この処理は、先の図３，４において説明したリボーク処理構成において、ルートキーを、エンティテイの頂点キーであるサブルートキーに置き換えた処理に対応する。
【０２０４】
このようにエンティテイＣｎ，３４３０がリボーク処理によって更新した有効化キーブロック（サブＥＫＢ）は、上位エンティテイに送信される。この場合、上位エンティテイはエンティテイＢｎｋ，３４２０であり、エンティテイＣｎ，３４３０の頂点ノード３４３１を末端ノードとして有するエンティテイである。
【０２０５】
エンティテイＢｎｋ，３４２０は、下位エンティテイＣｎ，３４３０から有効化キーブロック（サブＥＫＢ）を受領すると、そのキーブロックに含まれるエンティテイＣｎｋ，３４３０の頂点ノード３４３１に対応するエンティテイＢｎｋ，３４２０の末端ノード３４３１を、下位エンティテイＣｎ，３４３０において更新されたキーに設定して、自身のエンティテイＢｎｋ，３４２０のサブＥＫＢの更新処理を実行する。図３５（ｃ）にエンティテイＢｎｋ，３４２０のツリー構成を示す。エンティテイＢｎｋ，３４２０において、更新対象となるノードキーは、図３５（ｃ）のサブルート３４２１からリボークデバイスを含むエンティテイを構成する末端ノード３４３１に至るパス上のノードキーである。すなわち、更新サブＥＫＢを送信してきたエンティテイのノード３４３１に連なるパスを構成する各ノード３４２１，３４２４，３４２５のノードキーが更新対象となる。これら各ノードのノードキーを更新してエンティテイＢｎｋ，３４２０の新たな更新サブＥＫＢを生成する。
【０２０６】
さらに、エンティテイＢｎｋ，３４２０が更新した有効化キーブロック（サブＥＫＢ）は、上位エンティテイに送信される。この場合、上位エンティテイはエンティテイＡｎｎ，３４１０であり、エンティテイＢｎｋ，３４２０の頂点ノード３４２１を末端ノードとして有するエンティテイである。
【０２０７】
エンティテイＡｎｎ，３４１０は、下位エンティテイＢｎｋ，３４２０から有効化キーブロック（サブＥＫＢ）を受領すると、そのキーブロックに含まれるエンティテイＢｎｋ，３４２０の頂点ノード３４２１に対応するエンティテイＡｎｎ，３４１０の末端ノード３４２１を、下位エンティテイＢｎｋ，３４２０において更新されたキーに設定して、自身のエンティテイＡｎｎ，３４１０のサブＥＫＢの更新処理を実行する。図３５（ｄ）にエンティテイＡｎｎ，３４１０のツリー構成を示す。エンティテイＡｎｎ，３４１０において、更新対象となるノードキーは、図３５（ｄ）のサブルート３４１１から更新サブＥＫＢを送信してきたエンティテイのノード３４２１に連なるパスを構成する各ノード３４１１，３４１４，３４１５のノードキーである。これら各ノードのノードキーを更新してエンティテイＡｎｎ，３４１０の新たな更新サブＥＫＢを生成する。
【０２０８】
これらの処理を順次、上位のエンティテイにおいて実行し、図３０（ｂ）で説明したルートエンティテイまで実行する。この一連の処理により、デバイスのリボーク処理が完結する。なお、それぞれのエンティテイにおいて更新されたサブＥＫＢは、最終的にキー発行センター（ＫＤＣ）に送信され、保管される。キー発行センター（ＫＤＣ）は、すべてのエンティテイの更新サブＥＫＢに基づいて、様々なＥＫＢを生成する。更新ＥＫＢは、リボークされたデバイスでの復号が不可能な暗号化キーブロックとなる。
【０２０９】
デバイスのリボーク処理のシーケンス図を図３６に示す。処理手順を図３６のシーケンス図に従って説明する。まず、ツリー構成の最下段にあるデバイス管理エンティテイ（Ｄ−Ｅｎ）は、デバイス管理エンティテイ（Ｄ−Ｅｎ）内のリボーク対象のリーフを排除するために必要なキー更新を行ない、デバイス管理エンティテイ（Ｄ−Ｅｎ）の新たなサブＥＫＢ（Ｄ）を生成する。更新サブＥＫＢ（Ｄ）は、上位エンティテイに送付される。更新サブＥＫＢ（Ｄ）を受領した上位（親）エンティテイ（Ｐ１−Ｅｎ）は、更新サブＥＫＢ（Ｄ）の更新頂点ノードに対応した末端ノードキーの更新および、その末端ノードからサブルートに至るパス上のノードキーを更新した更新サブＥＫＢ（Ｐ１）を生成する。これらの処理を順次、上位エンティテイにおいて実行して、最終的に更新されたすべてのサブＥＫＢがキー発行センター（ＫＤＣ）に格納され管理される。
【０２１０】
図３７にデバイスのリボーク処理によって上位エンティテイが更新処理を行なって生成する有効化キーブロック（ＥＫＢ）の例を示す。
【０２１１】
図３７は、（ａ）に示す構成において、リボークデバイスを含む下位エンティテイから更新サブＥＫＢを受信した上位エンティテイにおいて生成するＥＫＢの例を説明する図である。リボークデバイスを含む下位エンティテイの頂点ノードは、上位エンティテイの末端ノード（ｎｏｄｅ１００）３６０１に対応する。
【０２１２】
上位エンティテイは、上位エンティテイのサブルートから末端ノード（ｎｏｄｅ１００）３６０１までのパスに存在するノードキーを更新して新たな更新サブＥＫＢを生成する。更新サブＥＫＢは、図３７（ｂ）のようになる。更新されたキーは、下線および［’］を付して示してある。このように更新された末端ノードからサブルートまでのパス上のノードキーを更新してそのエンティテイにおける更新サブＥＫＢとする。
【０２１３】
次に、リボークする対象をエンティテイとした場合の処理、すなわちエンティテイのリボーク処理について説明する。
【０２１４】
図３８（ａ）は、エンティテイ管理によるキー配信ツリー構造を示している。ツリー最上位にはルートノードが設定され、その数段下にエンティテイＡ０１〜Ａｎｎ、さらにその下位段にＢ０１〜Ｂｎｋのエンティテイ、さらにその下位段にＣ１〜ｃｎのエンティテイが構成されている。最も下のエンティテイは、末端ノード（リーフ）が個々のデバイス、例えば記録再生器、再生専用器等であるとする。
【０２１５】
ここで、リボーク処理を、エンティテイＣｎ，３７３０に対して実行する場合について説明する。最下段のエンティテイＣｎ，３７３０は、図３８（ｂ）に示すように頂点ノード３４３１を持ち、末端ノードであるリーフに複数のデバイスを持つ構成である。
【０２１６】
エンティテイＣｎ，３７３０をリボークすることにより、エンティテイＣｎ，３７３０に属するすべてのデバイスのツリー構造からの一括排除が可能となる。エンティテイＣｎ，３７３０のリボーク処理は、エンティテイＣｎ，３７３０の上位エンティテイであるエンティテイＢｎｋ，３７２０において実行される。エンティテイＢｎｋ，３７２０は、エンティテイＣｎ，３７３０の頂点ノード３７３１を末端ノードとして有するエンティテイである。
【０２１７】
エンティテイＢｎｋ，３７２０は、下位エンティテイＣｎ，３７３０のリボークを実行する場合、エンティテイＣｎｋ，３７３０の頂点ノード３７３１に対応するエンティテイＢｎｋ，３７２０の末端ノード３７３１を更新し、さらに、そのリボークエンティテイ３７３０からエンティテイＢｎｋ，３７２０のサブルートまでのパス上のノードキーの更新を行ない有効化キーブロックを生成して更新サブＥＫＢを生成する。更新対象となるノードキーは、図３８（ｃ）のサブルート３７２１からリボークエンティテイの頂点ノードを構成する末端ノード３７３１に至るパス上のノードキーである。すなわち、ノード３７２１，３７２４，３７２５，３７３１のノードキーが更新対象となる。これら各ノードのノードキーを更新してエンティテイＢｎｋ，３７２０の新たな更新サブＥＫＢを生成する。
【０２１８】
あるいは、エンティテイＢｎｋ，３７２０は、下位エンティテイＣｎ，３７３０のリボークを実行する場合、エンティテイＣｎｋ，３７３０の頂点ノード３７３１に対応するエンティテイＢｎｋ，３７２０の末端ノード３７３１は更新せず、そのリボークエンティテイ３７３０からエンティテイＢｎｋ，３７２０のサブルートまでのパス上の末端ノード３７３１を除くノードキーの更新を行ない有効化キーブロックを生成して更新サブＥＫＢを生成してもよい。
【０２１９】
さらに、エンティテイＢｎｋ，３７２０が更新した有効化キーブロック（サブＥＫＢ）は、上位エンティテイに送信される。この場合、上位エンティテイはエンティテイＡｎｎ，３７１０であり、エンティテイＢｎｋ，３７２０の頂点ノード３７２１を末端ノードとして有するエンティテイである。
【０２２０】
エンティテイＡｎｎ，３７１０は、下位エンティテイＢｎｋ，３７２０から有効化キーブロック（サブＥＫＢ）を受領すると、そのキーブロックに含まれるエンティテイＢｎｋ，３７２０の頂点ノード３７２１に対応するエンティテイＡｎｎ，３７１０の末端ノード３７２１を、下位エンティテイＢｎｋ，３７２０において更新されたキーに設定して、自身のエンティテイＡｎｎ，３７１０のサブＥＫＢの更新処理を実行する。図３８（ｄ）にエンティテイＡｎｎ，３７１０のツリー構成を示す。エンティテイＡｎｎ，３７１０において、更新対象となるノードキーは、図３８（ｄ）のサブルート３７１１から更新サブＥＫＢを送信してきたエンティテイのノード３７２１に連なるパスを構成する各ノード３７１１，３７１４，３７１５のノードキーである。これら各ノードのノードキーを更新してエンティテイＡｎｎ，３７１０の新たな更新サブＥＫＢを生成する。
【０２２１】
これらの処理を順次、上位のエンティテイにおいて実行し、図３０（ｂ）で説明したルートエンティテイまで実行する。この一連の処理により、エンティテイのリボーク処理が完結する。なお、それぞれのエンティテイにおいて更新されたサブＥＫＢは、最終的にキー発行センター（ＫＤＣ）に送信され、保管される。キー発行センター（ＫＤＣ）は、すべてのエンティテイの更新サブＥＫＢに基づいて、様々なＥＫＢを生成する。更新ＥＫＢは、リボークされたエンティテイに属するデバイスでの復号が不可能な暗号化キーブロックとなる。
【０２２２】
エンティテイのリボーク処理のシーケンス図を図３９に示す。処理手順を図３９のシーケンス図に従って説明する。まず、エンティテイをリボークしようとするエンティテイ管理エンティテイ（Ｅ−Ｅｎ）は、エンティテイ管理エンティテイ（Ｅ−Ｅｎ）内のリボーク対象の末端ノードを排除するために必要なキー更新を行ない、エンティテイ管理エンティテイ（Ｅ−Ｅｎ）の新たなサブＥＫＢ（Ｅ）を生成する。更新サブＥＫＢ（Ｅ）は、上位エンティテイに送付される。更新サブＥＫＢ（Ｅ）を受領した上位（親）エンティテイ（Ｐ１−Ｅｎ）は、更新サブＥＫＢ（Ｅ）の更新頂点ノードに対応した末端ノードキーの更新および、その末端ノードからサブルートに至るパス上のノードキーを更新した更新サブＥＫＢ（Ｐ１）を生成する。これらの処理を順次、上位エンティテイにおいて実行して、最終的に更新されたすべてのサブＥＫＢがキー発行センター（ＫＤＣ）に格納され管理される。キー発行センター（ＫＤＣ）は、すべてのエンティテイの更新サブＥＫＢに基づいて、様々なＥＫＢを生成する。更新ＥＫＢは、リボークされたエンティテイに属するデバイスでの復号が不可能な暗号化キーブロックとなる。
【０２２３】
図４０にリボークされた下位エンティテイと、リボークを行なった上位エンティテイの対応を説明する図を示す。上位エンティテイの末端ノード３９０１は、エンティテイのリボークにより更新され、上位エンティテイのツリーにおける末端ノード３９０１からサブルートまでのパスに存在するノードキーの更新により、新たなサブＥＫＢが生成される。その結果、リボークされた下位エンティテイの頂点ノード３９０２のノードキーと、上位エンティテイの末端ノード３９０１のノードキーは不一致となる。エンティテイのリボーク後にキー発行センター（ＫＤＣ）によって生成されるＥＫＢは、上位エンティテイにおいて更新された末端ノード３９０１のキーに基づいて生成されることになるので、その更新キーを保有しない下位エンティテイのリーフに対応するデバイスは、キー発行センター（ＫＤＣ）によって生成されるＥＫＢの復号ガ不可能になる。
【０２２４】
なお、上述の説明では、デバイスを管理する最下段のエンティテイのリボーク処理について説明したが、ツリーの中段にあるエンティテイ管理エンティテイをその上位エンティテイがリボークする処理も上記と同様のプロセスによって可能である。中段のエンティティ管理エンティテイをリボークすることにより、リボークされたエンティテイ管理エンティテイの下位に属するすべての複数エンティテイおよびデバイスを一括してリボーク可能となる。
【０２２５】
このように、エンティテイ単位でのリボークを実行することにより、１つ１つのデバイス単位で実行するリボーク処理に比較して簡易なプロセスでのリボーク処理が可能となる。
【０２２６】
［エンティテイのケイパビリティ管理］
次に、エンティテイ単位でのキー配信ツリー構成において、各エンティティの許容するケイパビリティ(Capability)を管理して、ケイパビリティに応じたコンテンツ配信を行なう処理構成について説明する。ここでケイパビリティとは、例えば特定の圧縮音声データの復号が可能であるとか、特定の音声再生方式を許容するとか、あるいは特定の画像処理プログラムを処理できる等、デバイスがどのようなコンテンツ、あるいはプログラム等を処理できるデバイスであるか、すなわちデバイスのデータ処理能力の定義情報である。
【０２２７】
図４１にケイパビリティを定義したエンティテイ構成例を示す。キー配信ツリー構成の最頂点ににルートノードが位置し、下層に複数のエンティテイが接続されて各ノードが２分岐を持つツリー構成である。ここで、例えばエンティテイ４００１は、音声再生方式Ａ，Ｂ，Ｃのいずれかを許容するケイパビリティを持つエンティテイとして定義される。具体的には、例えばある音声圧縮プログラム−Ａ、Ｂ、またはＣ方式で圧縮した音楽データを配信した場合に、エンティテイ４００１以下に構成されたエンティテイに属するデバイスは圧縮データを伸長する処理が可能である。
【０２２８】
同様にエンティテイ４００２は音声再生方式ＢまたはＣ、エンティテイ４００３は音声再生方式ＡまたはＢ、エンティテイ４００４は音声再生方式Ｂ、エンティテイ４００５は音声再生方式Ｃを処理することが可能なケイパビリティを持つエンティテイとして定義される。
【０２２９】
一方、エンティテイ４０２１は、画像再生方式ｐ，ｑ，ｒを許容するエンティテイとして定義され、エンティテイ４０２２は方式ｐ，ｑの画像再生方式、エンティテイ４０２３は方式ｐの画像再生が可能なケイパビリティを持つエンティテイとして定義される。
【０２３０】
このような各エンティテイのケイパビリティ情報は、キー発行センター（ＫＤＣ）において管理される。キー発行センター（ＫＤＣ）は、例えばあるコンテンツプロバイダが特定の圧縮プログラムで圧縮した音楽データを様々なデバイスに配信したい場合、その特定の圧縮プログラムを再生可能なデバイスに対してのみ復号可能な有効化キーブロック（ＥＫＢ）を各エンティテイのケイパビリティ情報に基づいて生成することができる。コンテンツを提供するコンテンツプロバイダは、ケイパビリティ情報に基づいて生成した有効化キーブロック（ＥＫＢ）によって暗号化したコンテンツキーを配信し、そのコンテンツキーで暗号化した圧縮音声データを各デバイスに提供する。この構成により、データの処理が可能なデバイスに対してのみ特定の処理プログラムを確実に提供することが可能となる。
【０２３１】
なお、図４１では全てのエンティテイについてケイパビリティ情報を定義している構成であるが、図４１の構成ようにすべてのエンティテイにケイパビリティ情報を定義することは必ずしも必要ではなく、例えば図４２に示すようにデバイスが属する最下段のエンティテイについてのみケイパビリティを定義して、最下段のエンティテイに属するデバイスのケイパビリティをキー発行センター（ＫＤＣ）において管理して、コンテンツプロバイダが望む処理の可能なデバイスにのみ復号可能な有効化キーブロック（ＥＫＢ）を最下段のエンティテイに定義されたケイパビリティ情報に基づいて生成する構成としてもよい。図４２では、末端ノードにデバイスが定義されたエンティテイ４１０１＝４１０５におけるケイパビリテイが定義され、これらのエンティテイについてのケイパビリティをキー発行センター（ＫＤＣ）において管理する構成である。例えばエンティテイ４１０１には音声再生については方式Ｂ、画像再生については方式ｒの処理が可能なデバイスが属している。エンティテイ４１０２には音声再生については方式Ａ、画像再生については方式ｑの処理が可能なデバイスが属している等である。
【０２３２】
図４３にキー発行センター（ＫＤＣ）において管理するケイパビリティ管理テーブルの構成例を示す。ケイパビリティ管理テーブルは、図４３（ａ）のようなデータ構成を持つ。すなわち、各エンティテイを識別する識別子としてのエンティテイＩＤ、そのエンティテイに定義されたケイパビリティを示すケイパビリティリスト、このケイパビリティリストは図４３（ｂ）に示すように、例えば音声データ再生処理方式（Ａ）が処理可能であれば［１］、処理不可能であれは［０］、音声データ再生処理方式（Ｂ）が処理可能であれば［１］、処理不可能であれは［０］…等、様々な態様のデータ処理についての可否を１ビットづつ［１］または［０］を設定して構成されている。なお、このケイパビリティ情報の設定方法はこのような形式に限らず、エンティテイの管理デバイスについてのケイパビリティを識別可能であれば他の構成でもよい。
【０２３３】
ケイパビリティ管理テーブルには、さらに、各エンティテイのサブＥＫＢ、あるいはサブＥＫＢが別のデータベースに格納されている場合は、サブＥＫＢの識別情報が格納され、さらに、各エンティテイのサブルートノード識別データが格納される。
【０２３４】
キー発行センター（ＫＤＣ）は、ケイパビリティ管理テーブルに基づいて、例えば特定のコンテンツの再生可能なデバイスのみが復号可能な有効化キーブロック（ＥＫＢ）を生成する。図４４を用いて、ケイパビリティ情報に基づく有効化キーブロックの生成処理について説明する。
【０２３５】
まず、ステップＳ４３０１において、キー発行センター（ＫＤＣ）は、ケイパビリティ管理テーブルから、指定されたケイパビリティを持つエンティテイを選択する。具体的には、例えばコンテンツプロバイダが音声データ再生処理方式Ａに基づく再生可能なデータを配信したい場合は、図４３（ａ）のケイパビリティリストから、例えば音声データ再生処理（方式Ａ）の項目が［１］に設定されたエンティテイを選択する。
【０２３６】
次に、ステップＳ４３０２において、選択されたエンティテイによって構成される選択エンティテイＩＤのリストを生成する。次に、ステップＳ４３０３で、選択エンティテイＩＤによって構成されるツリーに必要なパス（キー配信ツリー構成のパス）を選択する。ステップＳ４３０４では、選択エンティテイＩＤのリストに含まれる全てのパス選択が完了したか否かを判定し、完了するまで、ステップＳ４３０３においてパスを生成する。これは、複数のエンティテイが選択された場合に、それぞれのパスを順次選択する処理を意味している。
【０２３７】
選択エンティテイＩＤのリストに含まれる全てのパス選択が完了すると、ステップＳ４３０５に進み、選択したパスと、選択エンティテイによってのみ構成されるキー配信ツリー構造を構築する。
【０２３８】
次に、ステップＳ４３０６において、ステップＳ４３０５で生成したツリー構造のノードキーの更新処理を行ない、更新ノードキーを生成する。さらに、ツリーを構成する選択エンティテイのサブＥＫＢをケイパビリティ管理テーブルから取り出し、サブＥＫＢと、ステップＳ４３０６で生成した更新ノードキーとに基づいて選択エンティテイのデバイスにおいてのみ復号可能な有効化キーブロック（ＥＫＢ）を生成する。このようにして生成した有効化キーブロック（ＥＫＢ）は、特定のケイパビリティを持つデバイスにおいてのみ利用、すなわち復号可能な有効化キーブロック（ＥＫＢ）となる。この有効化キーブロック（ＥＫＢ）で例えばコンテンツキーを暗号化して、そのコンテンツキーで特定プログラムに基づいて圧縮したコンテンツを暗号化してデバイスに提供することで、キー発行センター（ＫＤＣ）によって選択された特定の処理可能なデバイスにおいてのみコンテンツが利用される。
【０２３９】
このようにキー発行センター（ＫＤＣ）は、ケイパビリティ管理テーブルに基づいて、例えば特定のコンテンツの再生可能なデバイスのみが復号可能な有効化キーブロック（ＥＫＢ）を生成する。従って、新たなエンティテイが登録される場合には、その新規登録エンティテイのケイパビリティを予め取得することが必要となる。このエンティテイ新規登録に伴うケイパビリティ通知処理について図４５を用いて説明する。
【０２４０】
図４５は、新規エンティテイがキー配信ツリー構成に参加する場合のケイパビリティ通知処理シーケンスを示した図である。
【０２４１】
新たにツリー構成中に追加される新規（子）エンティテイ（Ｎ−Ｅｎ）は、上位（親）エンティテイ（Ｐ−Ｅｎ）に対して新規登録要求を実行する。なお、各エンティテイは、公開鍵暗号方式に従った公開鍵を保有し、新規エンティテイは自己の公開鍵を登録要求に際して上位エンティテイ（Ｐ−Ｅｎ）に送付する。
【０２４２】
登録要求を受領した上位エンティテイ（Ｐ−Ｅｎ）は、受領した新規（子）エンティテイ（Ｎ−Ｅｎ）の公開鍵を証明書発行局（ＣＡ：Certificate Authority）に転送し、ＣＡの署名を付加した新規（子）エンティテイ（Ｎ−Ｅｎ）の公開鍵を受領する。これらの手続きは、上位エンティテイ（Ｐ−Ｅｎ）と新規（子）エンティテイ（Ｎ−Ｅｎ）との相互認証の手続きとして行われる。
【０２４３】
これらの処理により、新規登録要求エンティテイの認証が終了すると、上位エンティテイ（Ｐ−Ｅｎ）は、新規（子）エンティテイ（Ｎ−Ｅｎ）の登録を許可し、新規（子）エンティテイ（Ｎ−Ｅｎ）のノードキーを新規（子）エンティテイ（Ｎ−Ｅｎ）に送信する。このノードキーは、上位エンティテイ（Ｐ−Ｅｎ）の末端ノードの１つのノードキーであり、かつ、新規（子）エンティテイ（Ｎ−Ｅｎ）の頂点ノード、すなわちサブルートキーに対応する。
【０２４４】
このノードキー送信が終了すると、新規（子）エンティテイ（Ｎ−Ｅｎ）は、新規（子）エンティテイ（Ｎ−Ｅｎ）のツリー構成を構築し、構築したツリーの頂点に受信した頂点ノードのサブルートキーを設定し、各ノード、リーフのキーを設定して、エンティテイ内の有効化キーブロック（サブＥＫＢ）を生成する。一方、上位エンティテイ（Ｐ−Ｅｎ）も、新規（子）エンティテイ（Ｎ−Ｅｎ）の追加により、有効化する末端ノードを追加した上位エンティテイ（Ｐ−Ｅｎ）内のサブＥＫＢを生成する。
【０２４５】
新規（子）エンティテイ（Ｎ−Ｅｎ）は、新規（子）エンティテイ（Ｎ−Ｅｎ）内のノードキー、リーフキーによって構成されるサブＥＫＢを生成すると、これを上位エンティテイ（Ｐ−Ｅｎ）に送信し、さらに、自己のエンティテイで管理するデバイスについてのケイパビリティ情報を上位エンティテイに通知する。
【０２４６】
新規（子）エンティテイ（Ｎ−Ｅｎ）からサブＥＫＢおよびケイパビリティ情報を受信した上位エンティテイ（Ｐ−Ｅｎ）は、受信したサブＥＫＢとケイパビリティ情報と、上位エンティテイ（Ｐ−Ｅｎ）の更新したサブＥＫＢとをキー発行センター（ＫＤＣ：Key Distribute Center）に送信する。
【０２４７】
キー発行センター（ＫＤＣ）は、受領したエンティテイのサブＥＫＢおよびケイパビリティ情報とを図４３で説明したケイパビリティ管理テーブルに登録し、ケイパビリティ管理テーブルを更新する。キー発行センター（ＫＤＣ）は、更新したケイパビリティ管理テーブルに基づいて、様々な態様のＥＫＢ、すなわち特定のケイパビリティを持つエンティテイあるいはデバイスのみが復号可能なＥＫＢを生成することが可能となる。
【０２４８】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０２４９】
【発明の効果】
以上、説明したように、本発明の情報処理システムおよび方法によれば、コンテンツキーや認証キー、コンテンツチェック値生成キー、プログラムデータ等の暗号化処理キーブロックとして適用可能な有効化キーブロック（ＥＫＢ）の生成において、階層的鍵配信ツリーを配信デバイスに応じて再構築して、再構築した簡略ツリーに含まれるノード、リーフに基づいて有効化キーブロック（ＥＫＢ）を生成する構成としたので、有効化キーブロック（ＥＫＢ）の大幅なデータ量削減が実現される。
【０２５０】
また、本発明の情報処理システムおよび方法によれば、簡略化した再構築階層ツリーに基づく有効化キーブロック（ＥＫＢ）を構成し、さらに、ＥＫＢ中の暗号化キーデータの位置識別子としてのタグに暗号化キーデータの有無を判別するデータを含ませた構成としたので、ＥＫＢの大幅なデータ量削減が実現されるとともに、ＥＫＢを受領したデバイスでのタグを用いた暗号化キーデータの抽出が容易となり、デバイスでのＥＫＢ復号処理が効率的になる。
【図面の簡単な説明】
【図１】本発明の情報処理システムの構成例を説明する図である。
【図２】本発明の情報処理システムにおいて適用可能な記録再生装置の構成例を示すブロック図である。
【図３】本発明の情報処理システムにおける各種キー、データの暗号化処理について説明するツリー構成図である。
【図４】本発明の情報処理システムにおける各種キー、データの配布に使用される有効化キーブロック（ＥＫＢ）の例を示す図である。
【図５】本発明の情報処理システムにおけるコンテンツキーの有効化キーブロック（ＥＫＢ）を使用した配布例と復号処理例を示す図である。
【図６】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）のフォーマット例を示す図である。
【図７】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）のタグの構成を説明する図である。
【図８】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）と、コンテンツキー、コンテンツを併せて配信するデータ構成例を示す図である。
【図９】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）と、コンテンツキー、コンテンツを併せて配信した場合のデバイスでの処理例を示す図である。
【図１０】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）とコンテンツを記録媒体に格納した場合の対応について説明する図である。
【図１１】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）と、コンテンツキーを送付する処理を従来の送付処理と比較した図である。
【図１２】本発明の情報処理システムにおいて適用可能な共通鍵暗号方式による認証処理シーケンスを示す図である。
【図１３】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）と、認証キーを併せて配信するデータ構成と、デバイスでの処理例を示す図（その１）である。
【図１４】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）と、認証キーを併せて配信するデータ構成と、デバイスでの処理例を示す図（その２）である。
【図１５】本発明の情報処理システムにおいて適用可能な公開鍵暗号方式による認証処理シーケンスを示す図である。
【図１６】本発明の情報処理システムにおいて公開鍵暗号方式による認証処理を用いて有効化キーブロック（ＥＫＢ）と、コンテンツキーを併せて配信する処理を示す図である。
【図１７】本発明の情報処理システムにおいて有効化キーブロック（ＥＫＢ）と、暗号化プログラムデータを併せて配信する処理を示す図である。
【図１８】本発明の情報処理システムにおいて適用可能なコンテンツ・インテグリティ・チェック値（ＩＣＶ）の生成に使用するＭＡＣ値生成例を示す図である。
【図１９】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）と、ＩＣＶ生成キーを併せて配信するデータ構成と、デバイスでの処理例を示す図（その１）である。
【図２０】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）と、ＩＣＶ生成キーを併せて配信するデータ構成と、デバイスでの処理例を示す図（その２）である。
【図２１】本発明の情報処理システムにおいて適用可能なコンテンツ・インテグリティ・チェック値（ＩＣＶ）をメディアに格納した場合のコピー防止機能を説明する図である。
【図２２】本発明の情報処理システムにおいて適用可能なコンテンツ・インテグリティ・チェック値（ＩＣＶ）をコンテンツ格納媒体と別に管理する構成を説明する図である。
【図２３】本発明の情報処理システムにおける階層ツリー構造のカテゴリ分類の例を説明する図である。
【図２４】本発明の情報処理システムにおける簡略化有効化キーブロック（ＥＫＢ）の生成過程を説明する図である。
【図２５】本発明の情報処理システムにおける有効化キーブロック（ＥＫＢ）の生成過程を説明する図である。
【図２６】本発明の情報処理システムにおける簡略化有効化キーブロック（ＥＫＢ）（例１）を説明する図である。
【図２７】本発明の情報処理システムにおける簡略化有効化キーブロック（ＥＫＢ）（例２）を説明する図である。
【図２８】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成について説明する図である。
【図２９】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成の詳細について説明する図である。
【図３０】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成について説明する図である。
【図３１】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成でのリザーブノードについて説明する図である。
【図３２】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成での新規エンティテイ登録処理シーケンスについて説明する図である。
【図３３】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成での新規エンティテイと上位エンティテイの関係について説明する図である。
【図３４】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成で用いるサブＥＫＢについて説明する図である。
【図３５】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成でのデバイスリボーク処理について説明する図である。
【図３６】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成でのデバイスリボーク処理シーケンスについて説明する図である。
【図３７】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成でのデバイスリボーク時の更新サブＥＫＢについて説明する図である。
【図３８】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成でのエンティテイリボーク処理について説明する図である。
【図３９】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成でのエンティテイリボーク処理シーケンスについて説明する図である。
【図４０】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成でのリボークエンティテイと上位エンティテイの関係について説明する図である。
【図４１】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成でのケイパビリテイ設定について説明する図である。
【図４２】本発明の情報処理システムにおける階層ツリー構造のエンティテイ管理構成でのケイパビリテイ設定について説明する図である。
【図４３】本発明の情報処理システムにおけるキー発行センター（ＫＤＣ）の管理するケイパビリティ管理テーブル構成を説明する図である。
【図４４】本発明の情報処理システムにおけるキー発行センター（ＫＤＣ）の管理するケイパビリティ管理テーブルに基づくＥＫＢ生成処理フロー図である。
【図４５】本発明の情報処理システムにおける新規エンティテイ登録時のケイパビリティ通知処理を説明する図である。
【符号の説明】
１０  コンテンツ配信側
１１  インターネット
１２  衛星放送
１３  電話回線
１４  メディア
２０  コンテンツ受信側
２１  パーソナルコンピュータ（ＰＣ）
２２  ポータブルデバイス（ＰＤ）
２３  携帯電話、ＰＤＡ
２４  記録再生器
２５  再生専用器
３０  メディア
１００  記録再生装置
１１０  バス
１２０  入出力Ｉ／Ｆ
１３０  ＭＰＥＧコーデック
１４０  入出力Ｉ／Ｆ
１４１  Ａ／Ｄ，Ｄ／Ａコンバータ
１５０  暗号処理手段
１６０  ＲＯＭ
１７０  ＣＰＵ
１８０  メモリ
１９０  ドライブ
１９５  記録媒体
６０１  バージョン
６０２  デプス
６０３  データポインタ
６０４  タグポインタ
６０５  署名ポインタ
６０６  データ部
６０７  タグ部
６０８  署名
１１０１  記録デバイス
２３０１  ルートキー
２３０２  ノードキー
２３０３  リーフキー
２３０４  カテゴリノード
２３０６  サブカテゴリノード
２７０１  エンティテイ
２７０２  サブルート
２８１１，２８５１  サブルート
２８１２，２８５２  エンティテイ末端ノード
２９０１，２９０２  エンティテイ
２９５０  リザーブノード
２９７０  管理末端ノード
３０１１，３０１２，３０１３  エンティテイ
３０２１，３０２２，３０２３  リザーブノード
３２０１  末端ノード
３２０２  頂点ノード
３３０１，３３０２  末端ノード
３３０３  新規エンティテイ追加末端ノード
３４１０，３４２０，３４３０  エンティテイ
３４１１，３４２１，３４３１  サブルート
３４３２  リボークデバイスノード
３６０１  末端ノード
３７１０，３７２０，３７３０  エンティテイ
３７１１，３７２１，３７３１  サブルート
３９０１  末端ノード
３９０２  頂点ノード（サブルートノード）
４００１〜４００５  エンティテイ
４０２１，４０２２，４０２３  エンティテイ
４１０１〜４１０５  エンティテイ
【図１】
0004023083.tif 000002
【図２】
0004023083.tif 000003
【図３】
0004023083.tif 000004
【図４】
0004023083.tif 000005
【図５】
0004023083.tif 000006
【図６】
0004023083.tif 000007
【図７】
0004023083.tif 000008
【図８】
0004023083.tif 000009
【図９】
0004023083.tif 000010
【図１０】
0004023083.tif 000011
【図１１】
0004023083.tif 000012
【図１２】
0004023083.tif 000013
【図１３】
0004023083.tif 000014
【図１４】
0004023083.tif 000015
【図１５】
0004023083.tif 000016
【図１６】
0004023083.tif 000017
【図１７】
0004023083.tif 000018
【図１８】
0004023083.tif 000019
【図１９】
0004023083.tif 000020
【図２０】
0004023083.tif 000021
【図２１】
0004023083.tif 000022
【図２２】
0004023083.tif 000023
【図２３】
0004023083.tif 000024
【図２４】
0004023083.tif 000025
【図２５】
0004023083.tif 000026
【図２６】
0004023083.tif 000027
【図２７】
0004023083.tif 000028
【図２８】
0004023083.tif 000029
【図２９】
0004023083.tif 000030
【図３０】
0004023083.tif 000031
【図３１】
0004023083.tif 000032
【図３２】
0004023083.tif 000033
【図３３】
0004023083.tif 000034
【図３４】
0004023083.tif 000035
【図３５】
0004023083.tif 000036
【図３６】
0004023083.tif 000037
【図３７】
0004023083.tif 000038
【図３８】
0004023083.tif 000039
【図３９】
0004023083.tif 000040
【図４０】
0004023083.tif 000041
【図４１】
0004023083.tif 000042
【図４２】
0004023083.tif 000043
【図４３】
0004023083.tif 000044
【図４４】
0004023083.tif 000045
【図４５】
0004023083.tif 000046