説明

情報処理システム、および情報処理方法、並びにプログラム記録媒体

【課題】カテゴリ区分されたツリー構造を用いた有効化キーブロック(EKB)を用いた処理における効率的処理を実現する情報処理システムおよび方法を実現する。
【解決手段】カテゴリ区分され、カテゴリ・エンティテイによって管理されるサブツリーを複数有するキーツリーの選択パス上の下位キーによる上位キーの暗号化処理データからなるEKBを生成してデバイスに提供する構成において、EKB生成要求時に、ルートキーを自ら生成する構成と、ルートキーの生成をキー発行センターに依頼する構成を選択的に実行可能とした。また、EKB発行センターにおけるEKB生成時にサブEKBの生成をカテゴリ・エンティテイに依頼する構成としたのでEKB生成、管理が効率化される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、および情報処理方法、並びにプログラム記録媒体に関し、特に、コンテンツなど各種データを特定の正当なユーザに提供する暗号処理を伴う配信システムおよび方法に関する。特に、木(ツリー)構造の階層的鍵配信方式を用い、配信デバイスに応じて生成したキーブロックを用いて、例えばコンテンツの暗号化キーとしてのコンテンツキー配信、あるいはその他各種の安全性を保持することを可能とする情報処理システム、および情報処理方法、並びにプログラム記録媒体に関する。
【背景技術】
【0002】
昨今、ゲームプログラム、音声データ、画像データ等、様々なソフトウエアデータ(以下、これらをコンテンツ(Content)と呼ぶ)を、インターネット等のネットワーク、あるいはDVD、CD等の流通可能な記憶媒体を介しての流通が盛んになってきている。これらの流通コンテンツは、ユーザの所有するPC(Personal Computer)、ゲーム機器によってデータ受信、あるいは記憶媒体の装着がなされて再生されたり、あるいはPC等に付属する記録再生機器内の記録デバイス、例えばメモリカード、ハードディスク等に格納されて、格納媒体からの新たな再生により利用される。
【0003】
ビデオゲーム機器、PC等の情報機器には、流通コンテンツをネットワークから受信するため、あるいはDVD、CD等にアクセスするためのインタフェースを有し、さらにコンテンツの再生に必要となる制御手段、プログラム、データのメモリ領域として使用されるRAM、ROM等を有する。
【0004】
音楽データ、画像データ、あるいはプログラム等の様々なコンテンツは、再生機器として利用されるゲーム機器、PC等の情報機器本体からのユーザ指示、あるいは接続された入力手段を介したユーザの指示により記憶媒体から呼び出され、情報機器本体、あるいは接続されたディスプレイ、スピーカ等を通じて再生される。
【0005】
ゲームプログラム、音楽データ、画像データ等、多くのソフトウエア・コンテンツは、一般的にその作成者、販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、ソフトウエアの使用を許諾し、許可のない複製等が行われないようにする、すなわちセキュリティを考慮した構成をとるのが一般的となっている。
【0006】
ユーザに対する利用制限を実現する1つの手法が、配布コンテンツの暗号化処理である。すなわち、例えばインターネット等を介して暗号化された音声データ、画像データ、ゲームプログラム等の各種コンテンツを配布するとともに、正規ユーザであると確認された者に対してのみ、配布された暗号化コンテンツを復号する手段、すなわち復号鍵を付与する構成である。
【0007】
暗号化データは、所定の手続きによる復号化処理によって利用可能な復号データ(平文)に戻すことができる。このような情報の暗号化処理に暗号化鍵を用い、復号化処理に復号化鍵を用いるデータ暗号化、復号化方法は従来からよく知られている。
【0008】
暗号化鍵と復号化鍵を用いるデータ暗号化・復号化方法の態様には様々な種類あるが、その1つの例としていわゆる共通鍵暗号化方式と呼ばれている方式がある。共通鍵暗号化方式は、データの暗号化処理に用いる暗号化鍵とデータの復号化に用いる復号化鍵を共通のものとして、正規のユーザにこれら暗号化処理、復号化に用いる共通鍵を付与して、鍵を持たない不正ユーザによるデータアクセスを排除するものである。この方式の代表的な方式にDES(データ暗号標準:Deta encryption standard)がある。
【0009】
上述の暗号化処理、復号化に用いられる暗号化鍵、復号化鍵は、例えばあるパスワード等に基づいてハッシュ関数等の一方向性関数を適用して得ることができる。一方向性関数とは、その出力から逆に入力を求めるのは非常に困難となる関数である。例えばユーザが決めたパスワードを入力として一方向性関数を適用して、その出力に基づいて暗号化鍵、復号化鍵を生成するものである。このようにして得られた暗号化鍵、復号化鍵から、逆にそのオリジナルのデータであるパスワードを求めることは実質上不可能となる。
【0010】
また、暗号化するときに使用する暗号化鍵による処理と、復号するときに使用する復号化鍵の処理とを異なるアルゴリズムとした方式がいわゆる公開鍵暗号化方式と呼ばれる方式である。公開鍵暗号化方式は、不特定のユーザが使用可能な公開鍵を使用する方法であり、特定個人に対する暗号化文書を、その特定個人が発行した公開鍵を用いて暗号化処理を行なう。公開鍵によって暗号化された文書は、その暗号化処理に使用された公開鍵に対応する秘密鍵によってのみ復号処理が可能となる。秘密鍵は、公開鍵を発行した個人のみが所有するので、その公開鍵によって暗号化された文書は秘密鍵を持つ個人のみが復号することができる。公開鍵暗号化方式の代表的なものにはRSA(Rivest-Shamir-Adleman)暗号がある。このような暗号化方式を利用することにより、暗号化コンテンツを正規ユーザに対してのみ復号可能とするシステムが可能となる。
【発明の開示】
【発明が解決しようとする課題】
【0011】
上記のようなコンテンツ配信システムでは、コンテンツを暗号化してユーザにネットワーク、あるいはDVD、CD等の記録媒体に格納して提供し、暗号化コンテンツを復号するコンテンツキーを正当なユーザにのみ提供する構成が多く採用されている。コンテンツキー自体の不正なコピー等を防ぐため、コンテンツキーを暗号化して正当なユーザに提供し、正当なユーザのみが有する復号キーを用いて暗号化コンテンツキーを復号してコンテンツキーを使用可能とする構成が提案されている。
【0012】
正当なユーザであるか否かの判定は、一般には、例えばコンテンツの送信者であるコンテンツプロバイダとユーザデバイス間において、コンテンツ、あるいはコンテンツキーの配信前に認証処理を実行することによって可能となる。一般的な認証処理においては、相手の確認を行なうとともに、その通信でのみ有効なセッションキーを生成して、認証が成立した場合に、生成したセッションキーを用いてデータ、例えばコンテンツあるいはコンテンツキーを暗号化して通信を行なう。認証方式には、共通鍵暗号方式を用いた相互認証と、公開鍵方式を使用した認証方式があるが、共通鍵を使った認証においては、システムワイドで共通な鍵が必要になり、更新処理等の際に不便である。また、公開鍵方式においては、計算負荷が大きくまた必要なメモリ量も大きくなり、各デバイスにこのような処理手段を設けることは望ましい構成とはいえない。
【0013】
本発明では、上述のようなデータの送信者、受信者間の相互認証処理に頼ることなく、正当なユーザに対してのみ、安全にデータを送信することを可能とするとともに、階層的鍵配信ツリーをカテゴリ単位としたサブツリー、すなわちカテゴリツリーを形成し、複数のカテゴリツリー内で適用(復号処理)可能な暗号化キーブロックを使用する構成を提案する。
【0014】
さらに、1以上の選択されたカテゴリツリーにおいて復号可能な暗号化鍵データブロックである有効化キーブロック(EKB)を生成して各カテゴリツリーに属するデバイスにおいて共通に使用可能とするとともに、どのカテゴリツリーで処理可能、すなわち復号可能であるかを示すEKBタイプ定義リストを使用することにより、EKB生成、管理処理の効率化を可能とした情報処理システム、および情報処理方法、並びにプログラム記録媒体を提供することを目的とする。
【0015】
さらに、有効化キーブロック(EKB)の生成要求において、ルートキーを自ら生成する構成と、ルートキーの生成をキー発行センターに依頼する構成を選択的に実行可能とすることにより、EKB生成要求者の負担軽減を可能とし、また、EKB発行センターにおけるEKB生成において、EKB生成要求時にサブEKBの生成をカテゴリ管理者であるカテゴリ・エンティテイに依頼する構成としてEKB生成、管理処理の効率化を可能とした情報処理システム、および情報処理方法、並びにプログラム記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明の第1の側面は、
複数のデバイスをリーフとして構成したツリーのルートからリーフまでのパス上のルート、ノード、およびリーフに各々キーを対応付けたキーツリーを構成し、該キーツリーを構成するパスを選択して選択パス上の下位キーによる上位キーの暗号化処理データを有し、前記選択パスに対応するノードキーセットを利用可能なデバイスにおいてのみ復号可能とした有効化キーブロック(EKB)をデバイスに提供する構成を持つ情報処理システムであり、
前記キーツリーは、カテゴリに基づいて区分され、カテゴリ・エンティテイによって管理されるサブツリーとしてのカテゴリツリーを複数有する構成であり、
有効化キーブロック(EKB)を生成するキー発行センター(KDC)は、
EKB生成の要求エンティテイであるEKBリクエスタの要求に基づく有効化キーブロック(EKB)の生成において、生成する有効化キーブロック(EKB)の復号可能なカテゴリツリーを管理する1以上のカテゴリ・エンティテイに各カテゴリツリーにおいて処理可能なサブEKBの生成要求を出力し、カテゴリ・エンティテイから受領したサブ有効化キーブロック(サブEKB)に基づいて1以上のカテゴリツリーにおいて処理可能なEKBを生成する構成を有することを特徴とする情報処理システムにある。
【0017】
さらに、本発明の情報処理システムの一実施態様において、前記キー発行センター(KDC)は、EKBタイプ識別子と、EKB処理可能なカテゴリツリーの識別データとを対応付けたEKBタイプ定義リストを有し、EKBの生成を要求するエンティテイであるEKBリクエスタから受領するEKB生成要求中に含まれるEKBタイプ識別子に基づくEKBタイプ定義リストの検索によりカテゴリツリーの識別データを抽出して、抽出されたカテゴリツリーの識別データに対応する1以上のカテゴリ・エンティテイの生成したサブEKBに基づいて、EKBタイプ定義リストに設定されたカテゴリツリーに共通に使用可能なEKBを生成して提供する構成であることを特徴とする。
【0018】
さらに、本発明の情報処理システムの一実施態様において、前記キー発行センター(KDC)からサブEKB生成要求を受領したカテゴリ・エンティテイは、自己の管理するカテゴリツリーに属するノードまたはリーフに対応付けられたキーに基づいて処理可能なEKBとしてのサブ有効化キーブロック(サブEKB)を生成する構成であることを特徴とする。
【0019】
さらに、本発明の情報処理システムの一実施態様において、前記キーツリーは、最上段に複数段のルートツリーが構成され、該ルートツリーに直結するトップレベル・カテゴリツリー、該トップレベル・カテゴリツリーの下段に連結されるサブカテゴリツリーによって構成され、前記カテゴリ・エンティテイは、前記トップレベル・カテゴリツリーの管理エンティテイとして該トップレベル・カテゴリツリーおよび該トップレベル・カテゴリツリーの下段に連なるサブカテゴリツリーの管理を行ない、前記カテゴリ・エンティテイは、自己の管理するトップレベル・カテゴリツリーおよび該トップレベル・カテゴリツリーの下段に連なるサブカテゴリツリーに属するノードまたはリーフに対応して設定されるキーに基づいて処理可能なEKBとしてのサブ有効化キーブロック(サブEKB)を生成する構成であることを特徴とする。
【0020】
さらに、本発明の第2の側面は、
複数のデバイスをリーフとして構成したツリーのルートからリーフまでのパス上のルート、ノード、およびリーフに各々キーを対応付けたキーツリーを構成し、該キーツリーを構成するパスを選択して選択パス上の下位キーによる上位キーの暗号化処理データを有し、前記選択パスに対応するノードキーセットを利用可能なデバイスにおいてのみ復号可能とした有効化キーブロック(EKB)をデバイスに提供する構成を持つシステムにおける情報処理方法であり、
前記キーツリーは、カテゴリに基づいて区分され、カテゴリ・エンティテイによって管理されるサブツリーとしてのカテゴリツリーを複数有する構成であり、
有効化キーブロック(EKB)を生成するキー発行センター(KDC)は、
EKB生成の要求エンティテイであるEKBリクエスタの要求に基づく有効化キーブロック(EKB)の生成において、生成する有効化キーブロック(EKB)の復号可能なカテゴリツリーを管理する1以上のカテゴリ・エンティテイに各カテゴリツリーにおいて処理可能なサブEKBの生成要求を出力し、カテゴリ・エンティテイから受領したサブ有効化キーブロック(サブEKB)に基づいて1以上のカテゴリツリーにおいて処理可能なEKBを生成することを特徴とする情報処理方法にある。
【0021】
さらに、本発明の情報処理方法の一実施態様において、前記キー発行センター(KDC)は、EKBタイプ識別子と、EKB処理可能なカテゴリツリーの識別データとを対応付けたEKBタイプ定義リストを有し、EKBの生成を要求するエンティテイであるEKBリクエスタから受領するEKB生成要求中に含まれるEKBタイプ識別子に基づくEKBタイプ定義リストの検索によりカテゴリツリーの識別データを抽出して、抽出されたカテゴリツリーの識別データに対応する1以上のカテゴリ・エンティテイの生成したサブEKBに基づいて、EKBタイプ定義リストに設定されたカテゴリツリーに共通に使用可能なEKBを生成して提供する構成であることを特徴とする。
【0022】
さらに、本発明の情報処理方法の一実施態様において、前記キー発行センター(KDC)からサブEKB生成要求を受領したカテゴリ・エンティテイは、自己の管理するカテゴリツリーに属するノードまたはリーフに対応付けられたキーに基づいて処理可能なEKBとしてのサブ有効化キーブロック(サブEKB)を生成することを特徴とする。
【0023】
さらに、本発明の情報処理方法の一実施態様において、前記キーツリーは、最上段に複数段のルートツリーが構成され、該ルートツリーに直結するトップレベル・カテゴリツリー、該トップレベル・カテゴリツリーの下段に連結されるサブカテゴリツリーによって構成され、前記カテゴリ・エンティテイは、前記トップレベル・カテゴリツリーの管理エンティテイとして該トップレベル・カテゴリツリーおよび該トップレベル・カテゴリツリーの下段に連なるサブカテゴリツリーの管理を行ない、前記カテゴリ・エンティテイは、自己の管理するトップレベル・カテゴリツリーおよび該トップレベル・カテゴリツリーの下段に連なるサブカテゴリツリーに属するノードまたはリーフに対応して設定されるキーに基づいて処理可能なEKBとしてのサブ有効化キーブロック(サブEKB)を生成することを特徴とする。
【0024】
さらに、本発明の第3の側面は、
複数のデバイスをリーフとして構成したツリーのルートからリーフまでのパス上のルート、ノード、およびリーフに各々キーを対応付けたキーツリーを構成し、該キーツリーを構成するパスを選択して選択パス上の下位キーによる上位キーの暗号化処理データを有し、前記選択パスに対応するノードキーセットを利用可能なデバイスにおいてのみ復号可能とした有効化キーブロック(EKB)をデバイスに提供する構成を持つシステムにおける情報処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを記録したプログラム記録媒体であって、前記コンピュータ・プログラムは、
EKB生成要求に含まれるEKBタイプ識別子に基づいて、EKBタイプ識別子と、EKB処理可能な1以上のカテゴリツリーの識別データとを対応付けたEKBタイプ定義リストからカテゴリツリーの識別データを抽出するステップと、
抽出されたカテゴリツリーの識別データに対応するカテゴリツリーを管理する1以上のカテゴリ・エンティテイに各カテゴリツリーにおいて処理可能なサブ有効化キーブロック(サブEKB)の生成要求を出力するステップと、
カテゴリ・エンティテイから受領したサブ有効化キーブロック(サブEKB)に基づいて1以上のカテゴリツリーにおいて処理可能なEKBを生成するステップと、
を有することを特徴とするプログラム記録媒体にある。
【0025】
なお、本発明のプログラム記録媒体は、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ・プログラムをコンピュータ可読な形式で提供する媒体である。媒体は、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの伝送媒体など、その形態は特に限定されない。
【0026】
このようなプログラム記録媒体は、コンピュータ・システム上で所定のコンピュータ・プログラムの機能を実現するための、コンピュータ・プログラムと記録媒体との構造上又は機能上の協働的関係を定義したものである。換言すれば、該記録媒体を介してコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の他の側面と同様の作用効果を得ることができるのである。
【0027】
なお、本発明の説明中におけるシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0028】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明の効果】
【0029】
本発明の構成においては、ツリー(木)構造の階層的構造の暗号化鍵配信構成を用い、各機器をn分木の各葉(リーフ)に配置した構成の鍵配信方法を用い、記録媒体もしくは通信回線を介して、例えばコンテンツデータの暗号鍵であるコンテンツキーもしくは認証処理に用いる認証キー、あるいはプログラムコード等を有効化キーブロックとともに配信する構成としている。
【0030】
さらに、有効化キーブロックを暗号化キーデータ部と、暗号化キーの位置を示すタグ部によって構成し、データ量を少なくし、デバイスにおける復号処理を用意かつ迅速に実行することを可能としている。本構成により、正当なデバイスのみが復号可能なデータを安全に配信することが可能となる。
【0031】
さらに、1以上の選択されたカテゴリツリーにおいて復号可能な暗号化鍵データブロックである有効化キーブロック(EKB)を生成して各カテゴリツリーに属するデバイスに共通に使用可能とするとともに、どのカテゴリツリーで処理可能、すなわち復号可能であるかを示すEKBタイプ定義リストを使用することにより、EKBの生成管理処理の効率化を可能としている。
【図面の簡単な説明】
【0032】
【図1】本発明の情報処理システムの構成例を説明する図である。
【図2】本発明の情報処理システムにおいて適用可能な記録再生装置の構成例を示すブロック図である。
【図3】本発明の情報処理システムにおける各種キー、データの暗号化処理について説明するツリー構成図である。
【図4】本発明の情報処理システムにおける各種キー、データの配布に使用される有効化キーブロック(EKB)の例を示す図である。
【図5】本発明の情報処理システムにおけるコンテンツキーの有効化キーブロック(EKB)を使用した配布例と復号処理例を示す図である。
【図6】本発明の情報処理システムにおける有効化キーブロック(EKB)のフォーマット例を示す図である。
【図7】本発明の情報処理システムにおける有効化キーブロック(EKB)のタグの構成を説明する図である。
【図8】本発明の情報処理システムにおける有効化キーブロック(EKB)と、コンテンツキー、コンテンツを併せて配信するデータ構成例を示す図である。
【図9】本発明の情報処理システムにおける有効化キーブロック(EKB)と、コンテンツキー、コンテンツを併せて配信した場合のデバイスでの処理例を示す図である。
【図10】本発明の情報処理システムにおける有効化キーブロック(EKB)とコンテンツを記録媒体に格納した場合の対応について説明する図である。
【図11】本発明の情報処理システムにおける有効化キーブロック(EKB)と、コンテンツキーを送付する処理を従来の送付処理と比較した図である。
【図12】本発明の情報処理システムにおいて適用可能な共通鍵暗号方式による認証処理シーケンスを示す図である。
【図13】本発明の情報処理システムにおける有効化キーブロック(EKB)と、認証キーを併せて配信するデータ構成と、デバイスでの処理例を示す図(その1)である。
【図14】本発明の情報処理システムにおける有効化キーブロック(EKB)と、認証キーを併せて配信するデータ構成と、デバイスでの処理例を示す図(その2)である。
【図15】本発明の情報処理システムにおいて適用可能な公開鍵暗号方式による認証処理シーケンスを示す図である。
【図16】本発明の情報処理システムにおいて公開鍵暗号方式による認証処理を用いて有効化キーブロック(EKB)と、コンテンツキーを併せて配信する処理を示す図である。
【図17】本発明の情報処理システムにおいて有効化キーブロック(EKB)と、暗号化プログラムデータを併せて配信する処理を示す図である。
【図18】本発明の情報処理システムにおいて適用可能なコンテンツ・インテグリティ・チェック値(ICV)の生成に使用するMAC値生成例を示す図である。
【図19】本発明の情報処理システムにおける有効化キーブロック(EKB)と、ICV生成キーを併せて配信するデータ構成と、デバイスでの処理例を示す図(その1)である。
【図20】本発明の情報処理システムにおける有効化キーブロック(EKB)と、ICV生成キーを併せて配信するデータ構成と、デバイスでの処理例を示す図(その2)である。
【図21】本発明の情報処理システムにおいて適用可能なコンテンツ・インテグリティ・チェック値(ICV)をメディアに格納した場合のコピー防止機能を説明する図である。
【図22】本発明の情報処理システムにおいて適用可能なコンテンツ・インテグリティ・チェック値(ICV)をコンテンツ格納媒体と別に管理する構成を説明する図である。
【図23】本発明の情報処理システムにおける階層ツリー構造のカテゴリ分類の例を説明する図である。
【図24】本発明の情報処理システムにおける簡略化有効化キーブロック(EKB)の生成過程を説明する図である。
【図25】本発明の情報処理システムにおける有効化キーブロック(EKB)の生成過程を説明する図である。
【図26】本発明の情報処理システムにおける簡略化有効化キーブロック(EKB)(例1)を説明する図である。
【図27】本発明の情報処理システムにおける簡略化有効化キーブロック(EKB)(例2)を説明する図である。
【図28】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成について説明する図である。
【図29】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成の詳細について説明する図である。
【図30】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成について説明する図である。
【図31】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成でのリザーブノードについて説明する図である。
【図32】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成での新規カテゴリツリー登録処理シーケンスについて説明する図である。
【図33】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成での新規カテゴリツリーと上位カテゴリツリーの関係について説明する図である。
【図34】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成で用いるサブEKBについて説明する図である。
【図35】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成でのデバイスリボーク処理について説明する図である。
【図36】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成でのデバイスリボーク処理シーケンスについて説明する図である。
【図37】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成でのデバイスリボーク時の更新サブEKBについて説明する図である。
【図38】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成でのカテゴリツリーリボーク処理について説明する図である。
【図39】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成でのカテゴリツリーリボーク処理シーケンスについて説明する図である。
【図40】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成でのリボークカテゴリツリーと上位カテゴリツリーの関係について説明する図である。
【図41】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成でのケイパビリテイ設定について説明する図である。
【図42】本発明の情報処理システムにおける階層ツリー構造のカテゴリツリー管理構成でのケイパビリテイ設定について説明する図である。
【図43】本発明の情報処理システムにおけるキー発行センター(KDC)の管理するケイパビリティ管理テーブル構成を説明する図である。
【図44】本発明の情報処理システムにおけるキー発行センター(KDC)の管理するケイパビリティ管理テーブルに基づくEKB生成処理フロー図である。
【図45】本発明の情報処理システムにおける新規カテゴリツリー登録時のケイパビリティ通知処理を説明する図である。
【図46】本発明の情報処理システムにおけるカテゴリツリーの構成を説明する図である。
【図47】本発明の情報処理システムにおけるEKBリクエスタ、キー発行センター、トップレベル・カテゴリ・エンティテイ(TLCE)との関係、処理例を説明する図である。
【図48】本発明の情報処理システムにおけるEKBリクエスタ、キー発行センター、トップレベル・カテゴリ・エンティテイ(TLCE)のハード構成例を説明する図である。
【図49】本発明の情報処理システムにおけるデバイスの保有するデバイスノードキー(DNK)について説明する図である。
【図50】本発明の情報処理システムにおけるEKBタイプ定義リストのデータ構成を説明する図である。
【図51】本発明の情報処理システムにおけるEKBタイプ登録処理フローを示す図である。
【図52】本発明の情報処理システムにおけるEKBタイプ無効化処理フローを示す図である。
【図53】本発明の情報処理システムにおけるツリー変更通知処理フローを示す図である。
【図54】本発明の情報処理システムにおけるEKBタイプリスト要求処理フローを示す図である。
【図55】本発明の情報処理システムにおけるサブEKBの生成処理を説明する図である。
【図56】本発明の情報処理システムにおけるサブEKBの生成処理を説明する図である。
【図57】本発明の情報処理システムにおけるサブEKBから合成したEKBを生成する処理を説明する図である。
【図58】本発明の情報処理システムにおけるリボークデバイスがある場合のサブEKBの生成処理を説明する図である。
【図59】本発明の情報処理システムにおけるリボークデバイスがある場合のサブEKBから合成したEKBを生成する処理を説明する図である。
【図60】本発明の情報処理システムにおけるサブEKBから合成したEKBのデータ構成を説明する図である。
【図61】本発明の情報処理システムにおけるサブEKBから合成したEKBのデータ構成を説明する図である。
【図62】本発明の情報処理システムにおけるリボークデバイスがある場合のサブEKBから合成したEKBのデータ構成を説明する図である。
【図63】本発明の情報処理システムにおけるデータ配信型のシステムにおけるリボーク処理を説明する図である。
【図64】本発明の情報処理システムにおける自己記録型のシステムにおけるリボーク処理を説明する図である。
【発明を実施するための形態】
【0033】
[システム概要]
図1に本発明の情報処理システムが適用可能なコンテンツ配信システム例を示す。コンテンツの配信側10は、コンテンツ受信側20の有する様々なコンテンツ再生可能な機器に対してコンテンツ、あるいはコンテンツキーを暗号化して送信する。受信側20における機器では、受信した暗号化コンテンツ、あるいは暗号化コンテンツキー等を復号してコンテンツあるいはコンテンツキーを取得して、画像データ、音声データの再生、あるいは各種プログラムの実行等を行なう。コンテンツの配信側10とコンテンツ受信側20との間のデータ交換は、インターネット等のネットワークを介して、あるいはDVD、CD等の流通可能な記憶媒体を介して実行される。
【0034】
コンテンツ配信側10のデータ配信手段としては、インターネット11、衛星放送12、電話回線13、DVD、CD等のメディア14等があり、一方、コンテンツ受信側20のデバイスとしては、パーソナルコンピュータ(PC)21、ポータブルデバイス(PD)22、携帯電話、PDA(Personal Digital Assistants)等の携帯機器23、DVD、CDプレーヤ等の記録再生器24、ゲーム端末等の再生専用器25等がある。これらコンテンツ受信側20の各デバイスは、コンテンツ配信側10から提供されたコンテンツをネットワーク等の通信手段あるいは、あるいはメディア30から取得する。
【0035】
[デバイス構成]
図2に、図1に示すコンテンツ受信側20のデバイスの一例として、記録再生装置100の構成ブロック図を示す。記録再生装置100は、入出力I/F(Interface)120、MPEG(Moving Picture Experts Group)コーデック130、A/D,D/Aコンバータ141を備えた入出力I/F(Interface)140、暗号処理手段150、ROM(Read Only Memory)160、CPU(Central Processing Unit)170、メモリ180、記録媒体195のドライブ190を有し、これらはバス110によって相互に接続されている。
【0036】
入出力I/F120は、外部から供給される画像、音声、プログラム等の各種コンテンツを構成するディジタル信号を受信し、バス110上に出力するとともに、バス110上のディジタル信号を受信し、外部に出力する。MPEGコーデック130は、バス110を介して供給されるMPEG符号化されたデータを、MPEGデコードし、入出力I/F140に出力するとともに、入出力I/F140から供給されるディジタル信号をMPEGエンコードしてバス110上に出力する。入出力I/F140は、A/D,D/Aコンバータ141を内蔵している。入出力I/F140は、外部から供給されるコンテンツとしてのアナログ信号を受信し、A/D,D/Aコンバータ141でA/D(Analog Digital)変換することで、ディジタル信号として、MPEGコーデック130に出力するとともに、MPEGコーデック130からのディジタル信号を、A/D,D/Aコンバータ141でD/A(Digital Analog)変換することで、アナログ信号として、外部に出力する。
【0037】
暗号処理手段150は、例えば、1チップのLSI(Large Scale Integrated Curcuit)で構成され、バス110を介して供給されるコンテンツとしてのディジタル信号の暗号化、復号処理、あるいは認証処理を実行し、暗号データ、復号データ等をバス110上に出力する構成を持つ。なお、暗号処理手段150は1チップLSIに限らず、各種のソフトウェアまたはハードウェアを組み合わせた構成によって実現することも可能である。ソフトウェア構成による処理手段としての構成については後段で説明する。
【0038】
ROM160は、記録再生装置によって処理されるプログラムデータを格納する。CPU170は、ROM160、メモリ180に記憶されたプログラムを実行することで、MPEGコーデック130や暗号処理手段150等を制御する。メモリ180は、例えば、不揮発性メモリで、CPU170が実行するプログラムや、CPU170の動作上必要なデータ、さらにデバイスによって実行される暗号処理に使用されるキーセットを記憶する。キーセットについては後段で説明する。ドライブ190は、デジタルデータを記録再生可能な記録媒体195を駆動することにより、記録媒体195からディジタルデータを読み出し(再生し)、バス110上に出力するとともに、バス110を介して供給されるディジタルデータを、記録媒体195に供給して記録させる。
【0039】
記録媒体195は、例えば、DVD、CD等の光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、あるいはRAM等の半導体メモリ等のディジタルデータの記憶可能な媒体であり、本実施の形態では、ドライブ190に対して着脱可能な構成であるとする。但し、記録媒体195は、記録再生装置100に内蔵する構成としてもよい。
【0040】
なお、図2に示す暗号処理手段150は、1つのワンチップLSIとして構成してもよく、また、ソフトウェア、ハードウェアを組み合わせた構成によって実現する構成としてもよい。
【0041】
[キー配信構成としてのツリー(木)構造について]
次に、図1に示すコンテンツ配信側10からコンテンツ受信側20の各デバイスに暗号データを配信する場合における各デバイスにおける暗号処理鍵の保有構成およびデータ配信構成を図3を用いて説明する。
【0042】
図3の最下段に示すナンバ0〜15がコンテンツ受信側20の個々のデバイスである。すなわち図3に示す階層ツリー(木)構造の各葉(リーフ:leaf)がそれぞれのデバイスに相当する。
【0043】
各デバイス0〜15は、製造時あるいは出荷時、あるいはその後において、図3に示す階層ツリー(木)構造における、自分のリーフからルートに至るまでのノードに割り当てられた鍵(ノードキー)および各リーフのリーフキーからなるキーセットをメモリに格納する。図3の最下段に示すK0000〜K1111が各デバイス0〜15にそれぞれ割り当てられたリーフキーであり、最上段のKR(ルートキー)から、最下段から2番目の節(ノード)に記載されたキー:KR〜K111をノードキーとする。
【0044】
図3に示すツリー構成において、例えばデバイス0はリーフキーK0000と、ノードキー:K000、K00、K0、KRを所有する。デバイス5はK0101、K010、K01、K0、KRを所有する。デバイス15は、K1111、K111、K11、K1、KRを所有する。なお、図3のツリーにはデバイスが0〜15の16個のみ記載され、ツリー構造も4段構成の均衡のとれた左右対称構成として示しているが、さらに多くのデバイスがツリー中に構成され、また、ツリーの各部において異なる段数構成を持つことが可能である。
【0045】
また、図3のツリー構造に含まれる各デバイスには、様々な記録媒体、例えば、デバイス埋め込み型あるいはデバイスに着脱自在に構成されたDVD、CD、MD、フラッシュメモリ等を使用する様々なタイプのデバイスが含まれている。さらに、様々なアプリケーションサービスが共存可能である。このような異なるデバイス、異なるアプリケーションの共存構成の上に図3に示すコンテンツあるいは鍵配布構成である階層ツリー構造が適用される。
【0046】
これらの様々なデバイス、アプリケーションが共存するシステムにおいて、例えば図3の点線で囲んだ部分、すなわちデバイス0,1,2,3を同一の記録媒体を用いる1つのグループとして設定する。例えば、この点線で囲んだグループ内に含まれるデバイスに対しては、まとめて、共通のコンテンツを暗号化してプロバイダから送付したり、各デバイス共通に使用するコンテンツキーを送付したり、あるいは各デバイスからプロバイダあるいは決済機関等にコンテンツ料金の支払データをやはり暗号化して出力するといった処理が実行される。コンテンツプロバイダ、あるいは決済処理機関等、各デバイスとのデータ送受信を行なう機関は、図3の点線で囲んだ部分、すなわちデバイス0,1,2,3を1つのグループとして一括してデータを送付する処理を実行する。このようなグループは、図3のツリー中に複数存在する。コンテンツプロバイダ、あるいは決済処理機関等、各デバイスとのデータ送受信を行なう機関は、メッセージデータ配信手段として機能する。
【0047】
なお、ノードキー、リーフキーは、ある1つの鍵管理センタによって統括して管理してもよいし、各グループに対する様々なデータ送受信を行なうプロバイダ、決済機関等のメッセージデータ配信手段によってグループごとに管理する構成としてもよい。これらのノードキー、リーフキーは例えばキーの漏洩等の場合に更新処理が実行され、この更新処理は鍵管理センタ、プロバイダ、決済機関等が実行する。
【0048】
このツリー構造において、図3から明らかなように、1つのグループに含まれる3つのデバイス0,1,2,3はノードキーとして共通のキーK00、K0、KRを保有する。このノードキー共有構成を利用することにより、例えば共通のコンテンツキーをデバイス0,1,2,3のみに提供することが可能となる。たとえば、共通に保有するノードキーK00自体をコンテンツキーとして設定すれば、新たな鍵送付を実行することなくデバイス0,1,2,3のみが共通のコンテンツキーの設定が可能である。また、新たなコンテンツキーKconをノードキーK00で暗号化した値Enc(K00,Kcon)を、ネットワークを介してあるいは記録媒体に格納してデバイス0,1,2,3に配布すれば、デバイス0,1,2,3のみが、それぞれのデバイスにおいて保有する共有ノードキーK00を用いて暗号Enc(K00,Kcon)を解いてコンテンツキー:Kconを得ることが可能となる。なお、Enc(Ka,Kb)はKbをKaによって暗号化したデータであることを示す。
【0049】
また、ある時点tにおいて、デバイス3の所有する鍵:K0011,K001,K00,K0,KRが攻撃者(ハッカー)により解析されて露呈したことが発覚した場合、それ以降、システム(デバイス0,1,2,3のグループ)で送受信されるデータを守るために、デバイス3をシステムから切り離す必要がある。そのためには、ノードキー:K001,K00,K0,KRをそれぞれ新たな鍵K(t)001,K(t)00,K(t)0,K(t)Rに更新し、デバイス0,1,2にその更新キーを伝える必要がある。ここで、K(t)aaaは、鍵Kaaaの世代(Generation):tの更新キーであることを示す。
【0050】
更新キーの配布処理ついて説明する。キーの更新は、例えば、図4(A)に示す有効化キーブロック(EKB:Enabling Key Block)と呼ばれるブロックデータによって構成されるテーブルをたとえばネットワーク、あるいは記録媒体に格納してデバイス0,1,2に供給することによって実行される。なお、有効化キーブロック(EKB)は、図3に示すようなツリー構造を構成する各リーフに対応するデバイスに新たに更新されたキーを配布するための暗号化キーによって構成される。有効化キーブロック(EKB)は、キー更新ブロック(KRB:Key Renewal Block)と呼ばれることもある。
【0051】
図4(A)に示す有効化キーブロック(EKB)には、ノードキーの更新の必要なデバイスのみが更新可能なデータ構成を持つブロックデータとして構成される。図4の例は、図3に示すツリー構造中のデバイス0,1,2において、世代tの更新ノードキーを配布することを目的として形成されたブロックデータである。図3から明らかなように、デバイス0,デバイス1は、更新ノードキーとしてK(t)00、K(t)0、K(t)Rが必要であり、デバイス2は、更新ノードキーとしてK(t)001、K(t)00、K(t)0、K(t)Rが必要である。
【0052】
図4(A)のEKBに示されるようにEKBには複数の暗号化キーが含まれる。最下段の暗号化キーは、Enc(K0010,K(t)001)である。これはデバイス2の持つリーフキーK0010によって暗号化された更新ノードキーK(t)001であり、デバイス2は、自身の持つリーフキーによってこの暗号化キーを復号し、K(t)001を得ることができる。また、復号により得たK(t)001を用いて、図4(A)の下から2段目の暗号化キーEnc(K(t)001,K(t)00)を復号可能となり、更新ノードキーK(t)00を得ることができる。以下順次、図4(A)の上から2段目の暗号化キーEnc(K(t)00,K(t)0)を復号し、更新ノードキーK(t)0、図4(A)の上から1段目の暗号化キーEnc(K(t)0,K(t)R)を復号しK(t)Rを得る。一方、デバイスK0000.K0001は、ノードキーK000は更新する対象に含まれておらず、更新ノードキーとして必要なのは、K(t)00、K(t)0、K(t)Rである。デバイスK0000.K0001は、図4(A)の上から3段目の暗号化キーEnc(K000,K(t)00)を復号しK(t)00、を取得し、以下、図4(A)の上から2段目の暗号化キーEnc(K(t)00,K(t)0)を復号し、更新ノードキーK(t)0、図4(A)の上から1段目の暗号化キーEnc(K(t)0,K(t)R)を復号しK(t)Rを得る。このようにして、デバイス0,1,2は更新した鍵K(t)Rを得ることができる。なお、図4(A)のインデックスは、復号キーとして使用するノードキー、リーフキーの絶対番地を示す。
【0053】
図3に示すツリー構造の上位段のノードキー:K(t)0,K(t)Rの更新が不要であり、ノードキーK00のみの更新処理が必要である場合には、図4(B)の有効化キーブロック(EKB)を用いることで、更新ノードキーK(t)00をデバイス0,1,2に配布することができる。
【0054】
図4(B)に示すEKBは、例えば特定のグループにおいて共有する新たなコンテンツキーを配布する場合に利用可能である。具体例として、図3に点線で示すグループ内のデバイス0,1,2,3がある記録媒体を用いており、新たな共通のコンテンツキーK(t)conが必要であるとする。このとき、デバイス0,1,2,3の共通のノードキーK00を更新したK(t)00を用いて新たな共通の更新コンテンツキー:K(t)conを暗号化したデータEnc(K(t),K(t)con)を図4(B)に示すEKBとともに配布する。この配布により、デバイス4など、その他のグループの機器においては復号されないデータとしての配布が可能となる。
【0055】
すなわち、デバイス0,1,2はEKBを処理して得たK(t)00を用いて上記暗号文を復号すれば、t時点でのコンテンツキーK(t)conを得ることが可能になる。
【0056】
[EKBを使用したコンテンツキーの配布]
図5に、t時点でのコンテンツキーK(t)conを得る処理例として、K(t)00を用いて新たな共通のコンテンツキーK(t)conを暗号化したデータEnc(K(t)00,K(t)con)と図4(B)に示すEKBとを記録媒体を介して受領したデバイス0の処理を示す。すなわちEKBによる暗号化メッセージデータをコンテンツキーK(t)conとした例である。
【0057】
図5に示すように、デバイス0は、記録媒体に格納されている世代:t時点のEKBと自分があらかじめ格納しているノードキーK000を用いて上述したと同様のEKB処理により、ノードキーK(t)00を生成する。さらに、復号した更新ノードキーK(t)00を用いて更新コンテンツキーK(t)conを復号して、後にそれを使用するために自分だけが持つリーフキーK0000で暗号化して格納する。
【0058】
[EKBのフォーマット]
図6に有効化キーブロック(EKB)のフォーマット例を示す。バージョン601は、有効化キーブロック(EKB)のバージョンを示す識別子である。なお、バージョンは最新のEKBを識別する機能とコンテンツとの対応関係を示す機能を持つ。デプスは、有効化キーブロック(EKB)の配布先のデバイスに対する階層ツリーの階層数を示す。データポインタ603は、有効化キーブロック(EKB)中のデータ部の位置を示すポインタであり、タグポインタ604はタグ部の位置、署名ポインタ605は署名の位置を示すポインタである。
【0059】
データ部606は、例えば更新するノードキーを暗号化したデータを格納する。例えば図5に示すような更新されたノードキーに関する各暗号化キー等を格納する。
【0060】
タグ部607は、データ部に格納された暗号化されたノードキー、リーフキーの位置関係を示すタグである。このタグの付与ルールを図7を用いて説明する。図7では、データとして先に図4(A)で説明した有効化キーブロック(EKB)を送付する例を示している。この時のデータは、図7の表(b)に示すようになる。このときの暗号化キーに含まれるトップノードのアドレスをトップノードアドレスとする。この場合は、ルートキーの更新キーK(t)Rが含まれているので、トップノードアドレスはKRとなる。このとき、例えば最上段のデータEnc(K(t)0,K(t)R)は、図7の(a)に示す階層ツリーに示す位置にある。ここで、次のデータは、Enc(K(t)00,K(t)0)であり、ツリー上では前のデータの左下の位置にある。データがある場合は、タグが0、ない場合は1が設定される。タグは{左(L)タグ,右(R)タグ}として設定される。最上段のデータEnc(K(t)0,K(t)R)の左にはデータがあるので、Lタグ=0、右にはデータがないので、Rタグ=1となる。以下、すべてのデータにタグが設定され、図7(c)に示すデータ列、およびタグ列が構成される。
【0061】
タグは、データEnc(Kxxx,Kyyy)がツリー構造のどこに位置しているのかを示すために設定されるものである。データ部に格納されるキーデータEnc(Kxxx,Kyyy)...は、単純に暗号化されたキーの羅列データに過ぎないので、上述したタグによってデータとして格納された暗号化キーのツリー上の位置を判別可能としたものである。上述したタグを用いずに、先の図4で説明した構成のように暗号化データに対応させたノード・インデックスを用いて、例えば、
0:Enc(K(t)0,K(t)root)
00:Enc(K(t)00,K(t)0)
000:Enc(K((t)000,K(T)00)
...のようなデータ構成とすることも可能であるが、このようなインデックスを用いた構成とすると冗長なデータとなりデータ量が増大し、ネットワークを介する配信等においては好ましくない。これに対し、上述したタグをキー位置を示す索引データとして用いることにより、少ないデータ量でキー位置の判別が可能となる。
【0062】
図6に戻って、EKBフォーマットについてさらに説明する。署名(Signature)は、有効化キーブロック(EKB)を発行した例えば鍵管理センタ、コンテンツロバイダ、決済機関等が実行する電子署名である。EKBを受領したデバイスは署名検証によって正当な有効化キーブロック(EKB)発行者が発行した有効化キーブロック(EKB)であることを確認する。
【0063】
[EKBを使用したコンテンツキーおよびコンテンツの配信]
上述の例では、コンテンツキーのみをEKBとともに送付する例について説明したが、コンテンツキーで暗号化したコンテンツと、コンテンツキー暗号キーで暗号化したコンテンツキーと、EKBによって暗号化したコンテンツキー暗号鍵を併せて送付する構成について以下説明する。
【0064】
図8にこのデータ構成を示す。図8(a)に示す構成において、Enc(Kcon,content)801は、コンテンツ(Content)をコンテンツキー(Kcon)で暗号化したデータであり、Enc(KEK,Kcon)802は、コンテンツキー(Kcon)をコンテンツキー暗号キー(KEK:Key Encryption Key)で暗号化したデータであり、Enc(EKB,KEK)803は、コンテンツキー暗号キーKEKを有効化キーブロック(EKB)によって暗号化したデータであることを示す。
【0065】
ここで、コンテンツキー暗号キーKEKは、図3で示すノードキー(K000,K00…)、あるいはルートキー(KR)自体であってもよく、またノードキー(K000,K00…)、あるいはルートキー(KR)によって暗号化されたキーであってもよい。
【0066】
図8(b)は、複数のコンテンツがメディアに記録され、それぞれが同じEnc(EKB,KEK)805を利用している場合の構成例を示す、このような構成においては、各データに同じEnc(EKB,KEK)を付加することなく、Enc(EKB,KEK)にリンクするリンク先を示すデータを各データに付加する構成とすることができる。
【0067】
図9にコンテンツキー暗号キーKEKを、図3に示すノードキーK00を更新した更新ノードキーK(t)00として構成した場合の例を示す。この場合、図3の点線枠で囲んだグループにおいてデバイス3が、例えば鍵の漏洩によりリボーク(排除)されているとして、他のグループのメンバ、すなわち、デバイス0,1,2に対して図9に示す(a)有効化キーブロック(EKB)と、(b)コンテンツキー(Kcon)をコンテンツキー暗号キー(KEK=K(t)00)で暗号化したデータと、(c)コンテンツ(content)をコンテンツキー(Kcon)で暗号化したデータとを配信することにより、デバイス0,1,2はコンテンツを得ることができる。
【0068】
図9の右側には、デバイス0における復号手順を示してある。デバイス0は、まず、受領した有効化キーブロックから自身の保有するリーフキーK000を用いた復号処理により、コンテンツキー暗号キー(KEK=K(t)00)を取得する。次に、K(t)00による復号によりコンテンツキーKconを取得し、さらにコンテンツキーKconによりコンテンツの復号を行なう。これらの処理により、デバイス0はコンテンツを利用可能となる。デバイス1,2においても各々異なる処理手順でEKBを処理することにより、コンテンツキー暗号キー(KEK=K(t)00)を取得することが可能となり、同様にコンテンツを利用することが可能となる。
【0069】
図3に示す他のグループのデバイス4,5,6…は、この同様のデータ(EKB)を受信したとしても、自身の保有するリーフキー、ノードキーを用いてコンテンツキー暗号キー(KEK=K(t)00)を取得することができない。同様にリボークされたデバイス3においても、自身の保有するリーフキー、ノードキーでは、コンテンツキー暗号キー(KEK=K(t)00)を取得することができず、正当な権利を有するデバイスのみがコンテンツを復号して利用することが可能となる。
【0070】
このように、EKBを利用したコンテンツキーの配送を用いれば、データ量を少なくして、かつ安全に正当権利者のみが復号可能とした暗号化コンテンツを配信することが可能となる。
【0071】
なお、有効化キーブロック(EKB)、コンテンツキー、暗号化コンテンツ等は、ネットワークを介して安全に配信することが可能な構成であるが、有効化キーブロック(EKB)、コンテンツキー、暗号化コンテンツをDVD、CD等の記録媒体に格納してユーザに提供することも可能である。この場合、記録媒体に格納された暗号化コンテンツの復号には、同一の記録媒体に格納された有効化キーブロック(EKB)の復号により得られるコンテンツキーを使用するように構成すれば、予め正当権利者のみが保有するリーフキー、ノードキーによってのみ利用可能な暗号化コンテンツの配布処理、すなわち利用可能なユーザデバイスを限定したコンテンツ配布が簡易な構成で実現可能となる。
【0072】
図10に記録媒体に暗号化コンテンツとともに有効化キーブロック(EKB)を格納した構成例を示す。図10に示す例においては、記録媒体にコンテンツC1〜C4が格納され、さらに各格納コンテンツに対応するの有効化キーブロック(EKB)を対応付けたデータが格納され、さらにバージョンMの有効化キーブロック(EKB_M)が格納されている。例えばEKB_1はコンテンツC1を暗号化したコンテンツキーKcon1を生成するのに使用され、例えばEKB_2はコンテンツC2を暗号化したコンテンツキーKcon2を生成するのに使用される。この例では、バージョンMの有効化キーブロック(EKB_M)が記録媒体に格納されており、コンテンツC3,C4は有効化キーブロック(EKB_M)に対応付けられているので、有効化キーブロック(EKB_M)の復号によりコンテンツC3,C4のコンテンツキーを取得することができる。EKB_1、EKB_2はディスクに格納されていないので、新たな提供手段、例えばネットワーク配信、あるいは記録媒体による配信によってそれぞれのコンテンツキーを復号するために必要なEKB_1,EKB_2を取得することが必要となる。
【0073】
図11に、複数のデバイス間でコンテンツキーが流通する場合のEKBを利用したコンテンツキーの配信と、従来のコンテンツキー配信処理の比較例を示す。上段(a)が従来構成であり、下段(b)が本発明の有効化キーブロック(EKB)を利用した例である。なお、図11においてKa(Kb)は、KbをKaで暗号化したデータであることを示す。
【0074】
(a)に示すように、従来は、データ送受信者の正当性を確認し、またデータ送信の暗号化処理に使用するセッションキーKsesを共有するために各デバイス間において、認証処理および鍵交換処理(AKE:Authentication and Key Exchange)を実行し、認証が成立したことを条件としてセッションキーKsesでコンテンツキーKconを暗号化して送信する処理を行なっていた。
【0075】
例えば図11(a)のPCにおいては、受信したセッションキーで暗号化したコンテンツキーKses(Kcon)をセッションキーで復号してKconを得ることが可能であり、さらに取得したKconをPC自体の保有する保存キーKstrで暗号化して自身のメモリに保存することが可能となる。
【0076】
図11(a)において、コンテンツプロバイダは、図11(a)の記録デバイス1101にのみデータを利用可能な形で配信したい場合でも、間にPC、再生装置が存在する場合は、図11(a)に示すように認証処理を実行し、それぞれのセッションキーでコンテンツキーを暗号化して配信するといった処理が必要となる。また、間に介在するPC、再生装置においても認証処理において生成し共有することになったセッションキーを用いることで暗号化コンテンツキーを復号してコンテンツキーを取得可能となる。
【0077】
一方、図11(b)の下段に示す有効化キーブロック(EKB)を利用した例においては、コンテンツプロバイダから有効化キーブロック(EKB)と、有効化キーブロック(EKB)の処理によって得られるノードキー、またはルートキーによってコンテンツキーKconを暗号化したデータ(図の例ではKroot(Kcon))を配信することにより、配信したEKBの処理が可能な機器においてのみコンテンツキーKconを復号して取得することが可能になる。
【0078】
従って、例えば図11(b)の右端にのみ利用可能な有効化キーブロック(EKB)を生成して、その有効化キーブロック(EKB)と、そのEKB処理によって得られるノードキー、またはルートキーによってコンテンツキーKconを暗号化したデータを併せて送ることにより、間に存在するPC、再生機器等は、自身の有するリーフキー、ノードキーによっては、EKBの処理を実行することができない。従って、データ送受信デバイス間での認証処理、セッションキーの生成、セッションキーによるコンテンツキーKconの暗号化処理といった処理を実行することなく、安全に正当なデバイスに対してのみ利用可能なコンテンツキーを配信することが可能となる。
【0079】
PC、記録再生器にも利用可能なコンテンツキーを配信したい場合は、それぞれにおいて処理可能な有効化キーブロック(EKB)を生成して、配信することにより、共通のコンテンツキーを取得することが可能となる。
【0080】
[有効化キーブロック(EKB)を使用した認証キーの配信(共通鍵方式)]
上述の有効化キーブロック(EKB)を使用したデータあるいはキーの配信において、デバイス間で転送される有効化キーブロック(EKB)およびコンテンツあるいはコンテンツキーは常に同じ暗号化形態を維持しているため、データ伝走路を盗み出して記録し、再度、後で転送する、いわゆるリプレイアタックにより、不正コピーが生成される可能性がある。これを防ぐ構成としては、データ転送デバイス間において、従来と同様の認証処理および鍵交換処理を実行することが有効な手段である。ここでは、この認証処理および鍵交換処理を実行する際に使用する認証キーKakeを上述の有効化キーブロック(EKB)を使用してデバイスに配信することにより、安全な秘密鍵として共有する認証キーを持ち、共通鍵方式に従った認証処理を実行する構成について説明する。すなわちEKBによる暗号化メッセージデータを認証キーとした例である。
【0081】
図12に、共通鍵暗号方式を用いた相互認証方法(ISO/IEC 9798-2)を示す。図12においては、共通鍵暗号方式としてDESを用いているが、共通鍵暗号方式であれば他の方式も可能である。図12において、まず、Bが64ビットの乱数Rbを生成し、Rbおよび自己のIDであるID(b)をAに送信する。これを受信したAは、新たに64ビットの乱数Raを生成し、Ra、Rb、ID(b)の順に、DESのCBCモードで鍵Kabを用いてデータを暗号化し、Bに返送する。なお、鍵Kabは、AおよびBに共通の秘密鍵としてそれぞれの記録素子内に格納する鍵である。DESのCBCモードを用いた鍵Kabによる暗号化処理は、例えばDESを用いた処理においては、初期値とRaとを排他的論理和し、DES暗号化部において、鍵Kabを用いて暗号化し、暗号文E1を生成し、続けて暗号文E1とRbとを排他的論理和し、DES暗号化部において、鍵Kabを用いて暗号化し、暗号文E2を生成し、さらに、暗号文E2とID(b)とを排他的論理和し、DES暗号化部において、鍵Kabを用いて暗号化して生成した暗号文E3とによって送信データ(Token-AB)を生成する。
【0082】
これを受信したBは、受信データを、やはり共通の秘密鍵としてそれぞれの記録素子内に格納する鍵Kab(認証キー)で復号化する。受信データの復号化方法は、まず、暗号文E1を認証キーKabで復号化し、乱数Raを得る。次に、暗号文E2を認証キーKabで復号化し、その結果とE1を排他的論理和し、Rbを得る。最後に、暗号文E3を認証キーKabで復号化し、その結果とE2を排他的論理和し、ID(b)を得る。こうして得られたRa、Rb、ID(b)のうち、RbおよびID(b)が、Bが送信したものと一致するか検証する。この検証に通った場合、BはAを正当なものとして認証する。
【0083】
次にBは、認証後に使用するセッションキー(Kses)を生成する(生成方法は、乱数を用いる)。そして、Rb、Ra、Ksesの順に、DESのCBCモードで認証キーKabを用いて暗号化し、Aに返送する。
【0084】
これを受信したAは、受信データを認証キーKabで復号化する。受信データの復号化方法は、Bの復号化処理と同様であるので、ここでは詳細を省略する。こうして得られたRb、Ra、Ksesの内、RbおよびRaが、Aが送信したものと一致するか検証する。この検証に通った場合、AはBを正当なものとして認証する。互いに相手を認証した後には、セッションキーKsesは、認証後の秘密通信のための共通鍵として利用される。
【0085】
なお、受信データの検証の際に、不正、不一致が見つかった場合には、相互認証が失敗したものとして処理を中断する。
【0086】
上述の認証処理においては、A,Bは共通の認証キーKabを共有する。この共通鍵Kabを上述の有効化キーブロック(EKB)を使用してデバイスに配信する。
【0087】
例えば、図12の例では、A,またはBのいずれかが他方が復号可能な有効化キーブロック(EKB)を生成して生成した有効化キーブロック(EKB)によって認証キーKabを暗号化して、他方に送信する構成としてもよいし、あるいは第3者がデバイスA,Bに対して双方が利用可能な有効化キーブロック(EKB)を生成してデバイスA,Bに対して生成した有効化キーブロック(EKB)によって認証キーKabを暗号化して配信する構成としてもよい。
【0088】
図13および図14に複数のデバイスに共通の認証キーKakeを有効化キーブロック(EKB)によって配信する構成例を示す。図13はデバイス0,1,2,3に対して復号可能な認証キーKakeを配信する例、図14はデバイス0,1,2,3中のデバイス3をリボーク(排除)してデバイス0,1,2に対してのみ復号可能な認証キーを配信する例を示す。
【0089】
図13の例では、更新ノードキーK(t)00によって、認証キーKakeを暗号化したデータ(b)とともに、デバイス0,1,2,3においてそれぞれの有するノードキー、リーフキーを用いて更新されたノードキーK(t)00を復号可能な有効化キーブロック(EKB)を生成して配信する。それぞれのデバイスは、図13の右側に示すようにまず、EKBを処理(復号)することにより、更新されたノードキーK(t)00を取得し、次に、取得したノードキーK(t)00を用いて暗号化された認証キー:Enc(K(t)00,Kake)を復号して認証キーKakeを得ることが可能となる。
【0090】
その他のデバイス4,5,6,7…は同一の有効化キーブロック(EKB)を受信しても自身の保有するノードキー、リーフキーでは、EKBを処理して更新されたノードキーK(t)00を取得することができないので、安全に正当なデバイスに対してのみ認証キーを送付することができる。
【0091】
一方、図14の例は、図3の点線枠で囲んだグループにおいてデバイス3が、例えば鍵の漏洩によりリボーク(排除)されているとして、他のグループのメンバ、すなわち、デバイス0,1,2,に対してのみ復号可能な有効化キーブロック(EKB)を生成して配信した例である。図14に示す(a)有効化キーブロック(EKB)と、(b)認証キー(Kake)をノードキー(K(t)00)で暗号化したデータを配信する。
【0092】
図14の右側には、復号手順を示してある。デバイス0,1,2は、まず、受領した有効化キーブロックから自身の保有するリーフキーまたはノードキーを用いた復号処理により、更新ノードキー(K(t)00)を取得する。次に、K(t)00による復号により認証キーKakeを取得する。
【0093】
図3に示す他のグループのデバイス4,5,6…は、この同様のデータ(EKB)を受信したとしても、自身の保有するリーフキー、ノードキーを用いて更新ノードキー(K(t)00)を取得することができない。同様にリボークされたデバイス3においても、自身の保有するリーフキー、ノードキーでは、更新ノードキー(K(t)00)を取得することができず、正当な権利を有するデバイスのみが認証キーを復号して利用することが可能となる。
【0094】
このように、EKBを利用した認証キーの配送を用いれば、データ量を少なくして、かつ安全に正当権利者のみが復号可能とした認証キーを配信することが可能となる。
【0095】
[公開鍵認証と有効化キーブロック(EKB)を使用したコンテンツキーの配信]
次に、公開鍵認証と有効化キーブロック(EKB)を使用したコンテンツキーの配信処理について説明する。まず、公開鍵暗号方式である160ビット長の楕円曲線暗号を用いた相互認証方法を、図15を用いて説明する。図15において、公開鍵暗号方式としてECCを用いているが、同様な公開鍵暗号方式であればいずれでもよい。また、鍵サイズも160ビットでなくてもよい。図15において、まずBが、64ビットの乱数Rbを生成し、Aに送信する。これを受信したAは、新たに64ビットの乱数Raおよび素数pより小さい乱数Akを生成する。そして、ベースポイントGをAk倍した点Av=Ak×Gを求め、Ra、Rb、Av(X座標とY座標)に対する電子署名A.Sigを生成し、Aの公開鍵証明書とともにBに返送する。ここで、RaおよびRbはそれぞれ64ビット、AvのX座標とY座標がそれぞれ160ビットであるので、合計448ビットに対する電子署名を生成する。
【0096】
Aの公開鍵証明書、Ra、Rb、Av、電子署名A.Sigを受信したBは、Aが送信してきたRbが、Bが生成したものと一致するか検証する。その結果、一致していた場合には、Aの公開鍵証明書内の電子署名を認証局の公開鍵で検証し、Aの公開鍵を取り出す。そして、取り出したAの公開鍵を用い電子署名A.Sigを検証する。
【0097】
次に、Bは、素数pより小さい乱数Bkを生成する。そして、ベースポイントGをBk倍した点Bv=Bk×Gを求め、Rb、Ra、Bv(X座標とY座標)に対する電子署名B.Sigを生成し、Bの公開鍵証明書とともにAに返送する。
【0098】
Bの公開鍵証明書、Rb、Ra、Av、電子署名B.Sigを受信したAは、Bが送信してきたRaが、Aが生成したものと一致するか検証する。その結果、一致していた場合には、Bの公開鍵証明書内の電子署名を認証局の公開鍵で検証し、Bの公開鍵を取り出す。そして、取り出したBの公開鍵を用い電子署名B.Sigを検証する。電子署名の検証に成功した後、AはBを正当なものとして認証する。
【0099】
両者が認証に成功した場合には、BはBk×Av(Bkは乱数だが、Avは楕円曲線上の点であるため、楕円曲線上の点のスカラー倍計算が必要)を計算し、AはAk×Bvを計算し、これら点のX座標の下位64ビットをセッションキーとして以降の通信に使用する(共通鍵暗号を64ビット鍵長の共通鍵暗号とした場合)。もちろん、Y座標からセッション鍵を生成してもよいし、下位64ビットでなくてもよい。なお、相互認証後の秘密通信においては、送信データはセッションキーで暗号化されるだけでなく、電子署名も付されることがある。
【0100】
電子署名の検証や受信データの検証の際に、不正、不一致が見つかった場合には、相互認証が失敗したものとして処理を中断する。
【0101】
図16に公開鍵認証と有効化キーブロック(EKB)を使用したコンテンツキーの配信処理例を示す。まずコンテンツプロバイダとPC間において図15で説明した公開鍵方式による認証処理が実行される。コンテンツプロバイダは、コンテンツキー配信先である再生装置、記録媒体の有するノードキー、リーフキーによって復号可能なEKBを生成して、更新ノードキーによる暗号化を実行したコンテンツキーE(Kcon)と、有効化キーブロック(EKB)とをPC間の認証処理において生成したセッションキーKsesで暗号化してPCに送信する。
【0102】
PCはセッションキーで暗号化された[更新ノードキーによる暗号化を実行したコンテンツキーE(Kcon)と、有効化キーブロック(EKB)]をセッションキーで復号した後、再生装置、記録媒体に送信する。
【0103】
再生装置、記録媒体は、自身の保有するノードキーまたはリーフキーによって[更新ノードキーによる暗号化を実行したコンテンツキーE(Kcon)と、有効化キーブロック(EKB)]を復号することによってコンテンツキーKconを取得する。
【0104】
この構成によれば、コンテンツプロバイダとPC間での認証を条件として[更新ノードキーによる暗号化を実行したコンテンツキーE(Kcon)と、有効化キーブロック(EKB)]が送信されるので、例えば、ノードキーの漏洩があった場合でも、確実な相手に対するデータ送信が可能となる。
【0105】
[プログラムコードの有効化キーブロック(EKB)を使用した配信]
上述した例では、コンテンツキー、認証キー等を有効化キーブロック(EKB)を用いて暗号化して配信する方法を説明したが、様々なプログラムコードを有効化キーブロック(EKB)を用いて配信する構成も可能である。すなわちEKBによる暗号化メッセージデータをプログラムコードとした例である。以下、この構成について説明する。
【0106】
図17にプログラムコードを有効化キーブロック(EKB)の例えば更新ノードキーによって暗号化してデバイス間で送信する例を示す。デバイス1701は、デバイス1702の有するノードキー、リーフキーによって復号可能な有効化キーブロック(EKB)と、有効化キーブロック(EKB)に含まれる更新ノードキーで暗号処理したプログラムコードをデバイス1702に送信する。デバイス1702は受信したEKBを処理して更新ノードキーを取得して、さらに取得した更新ノードキーによってプログラムコードの復号を実行して、プログラムコードを得る。
【0107】
図17に示す例では、さらに、デバイス1702において取得したプログラムコードによる処理を実行して、その結果をデバイス1701に返して、デバイス1701がその結果に基づいて、さらに処理を続行する例を示している。
【0108】
このように有効化キーブロック(EKB)と、有効化キーブロック(EKB)に含まれる更新ノードキーで暗号処理したプログラムコードを配信することにより、特定のデバイスにおいて解読可能なプログラムコードを前述の図3で示した特定のデバイス、あるいはグループに対して配信することが可能となる。
【0109】
[送信コンテンツに対するチェック値(ICV:Integrity Check Value)を対応させる構成]
次に、コンテンツの改竄を防止するためにコンテンツのインテグリティ・チェック値(ICV)を生成して、コンテンツに対応付けて、ICVの計算により、コンテンツ改竄の有無を判定する処理構成について説明する。
【0110】
コンテンツのインテグリティ・チェック値(ICV)は、例えばコンテンツに対するハッシュ関数を用いて計算され、ICV=hash(Kicv,C1,C2,…)によって計算される。KicvはICV生成キーである。C1,C2はコンテンツの情報であり、コンテンツの重要情報のメッセージ認証符号(MAC:Message authentication Code)が使用される。
【0111】
DES暗号処理構成を用いたMAC値生成例を図18に示す。図18の構成に示すように対象となるメッセージを8バイト単位に分割し、(以下、分割されたメッセージをM1、M2、・・・、MNとする)、まず、初期値(Initial Value(以下、IVとする))とM1を排他的論理和する(その結果をI1とする)。次に、I1をDES暗号化部に入れ、鍵(以下、K1とする)を用いて暗号化する(出力をE1とする)。続けて、E1およびM2を排他的論理和し、その出力I2をDES暗号化部へ入れ、鍵K1を用いて暗号化する(出力E2)。以下、これを繰り返し、全てのメッセージに対して暗号化処理を施す。最後に出てきたENがメッセージ認証符号(MAC(Message Authentication Code))となる。
【0112】
このようなコンテンツのMAC値とICV生成キーにハッシュ関数を適用して用いてコンテンツのインテグリティ・チェック値(ICV)が生成される。改竄のないことが保証された例えばコンテンツ生成時に生成したICVと、新たにコンテンツに基づいて生成したICVとを比較して同一のICVが得られればコンテンツに改竄のないことが保証され、ICVが異なれば、改竄があったと判定される。
【0113】
[チェック値(ICV)の生成キーKicvをEKBによって配布する構成]
次に、コンテンツのインテグリティ・チェック値(ICV)生成キーであるKicvを上述の有効化キーブロックによって送付する構成について説明する。すなわちEKBによる暗号化メッセージデータをコンテンツのインテグリティ・チェック値(ICV)生成キーとした例である。
【0114】
図19および図20に複数のデバイスに共通のコンテンツを送付した場合、それらのコンテンツの改竄の有無を検証するためのインテグリティ・チェック値生成キーKicvを有効化キーブロック(EKB)によって配信する構成例を示す。図19はデバイス0,1,2,3に対して復号可能なチェック値生成キーKicvを配信する例、図20はデバイス0,1,2,3中のデバイス3をリボーク(排除)してデバイス0,1,2に対してのみ復号可能なチェック値生成キーKicvを配信する例を示す。
【0115】
図19の例では、更新ノードキーK(t)00によって、チェック値生成キーKicvを暗号化したデータ(b)とともに、デバイス0,1,2,3においてそれぞれの有するノードキー、リーフキーを用いて更新されたノードキーK(t)00を復号可能な有効化キーブロック(EKB)を生成して配信する。それぞれのデバイスは、図19の右側に示すようにまず、EKBを処理(復号)することにより、更新されたノードキーK(t)00を取得し、次に、取得したノードキーK(t)00を用いて暗号化されたチェック値生成キー:Enc(K(t)00,Kicv)を復号してチェック値生成キーKicvを得ることが可能となる。
【0116】
その他のデバイス4,5,6,7…は同一の有効化キーブロック(EKB)を受信しても自身の保有するノードキー、リーフキーでは、EKBを処理して更新されたノードキーK(t)00を取得することができないので、安全に正当なデバイスに対してのみチェック値生成キーを送付することができる。
【0117】
一方、図20の例は、図3の点線枠で囲んだグループにおいてデバイス3が、例えば鍵の漏洩によりリボーク(排除)されているとして、他のグループのメンバ、すなわち、デバイス0,1,2,に対してのみ復号可能な有効化キーブロック(EKB)を生成して配信した例である。図20に示す(a)有効化キーブロック(EKB)と、(b)チェック値生成キー(Kicv)をノードキー(K(t)00)で暗号化したデータを配信する。
【0118】
図20の右側には、復号手順を示してある。デバイス0,1,2は、まず、受領した有効化キーブロックから自身の保有するリーフキーまたはノードキーを用いた復号処理により、更新ノードキー(K(t)00)を取得する。次に、K(t)00による復号によりチェック値生成キーKicvを取得する。
【0119】
図3に示す他のグループのデバイス4,5,6…は、この同様のデータ(EKB)を受信したとしても、自身の保有するリーフキー、ノードキーを用いて更新ノードキー(K(t)00)を取得することができない。同様にリボークされたデバイス3においても、自身の保有するリーフキー、ノードキーでは、更新ノードキー(K(t)00)を取得することができず、正当な権利を有するデバイスのみがチェック値生成キーを復号して利用することが可能となる。
【0120】
このように、EKBを利用したチェック値生成キーの配送を用いれば、データ量を少なくして、かつ安全に正当権利者のみが復号可能としたチェック値生成キーを配信することが可能となる。
【0121】
このようなコンテンツのインテグリティ・チェック値(ICV)を用いることにより、EKBと暗号化コンテンツの不正コピーを排除することができる。例えば図21に示すように、コンテンツC1とコンテンツC2とをそれぞれのコンテンツキーを取得可能な有効化キーブロック(EKB)とともに格納したメディア1があり、これをそのままメディア2にコピーした場合を想定する。EKBと暗号化コンテンツのコピーは可能であり、これをEKBを復号可能なデバイスでは利用できることになる。
【0122】
図21の(b)に示すように各メディアに正当に格納されたコンテンツに対応付けてインテグリティ・チェック値(ICV(C1,C2))を格納する構成とする。なお、(ICV(C1,C2))は、コンテンツC1とコンテンツC2にハッシュ関数を用いて計算されるコンテンツのインテグリティ・チェック値であるICV=hash(Kicv,C1,C2)を示している。図21の(b)の構成において、メディア1には正当にコンテンツ1とコンテンツ2が格納され、コンテンツC1とコンテンツC2に基づいて生成されたインテグリティ・チェック値(ICV(C1,C2))が格納される。また、メディア2には正当にコンテンツ1が格納され、コンテンツC1に基づいて生成されたインテグリティ・チェック値(ICV(C1))が格納される。この構成において、メディア1に格納された{EKB,コンテンツ2}をメディア2にコピーしたとすると、メディア2で、コンテンツチェック値を新たに生成するとICV(C1,C2)が生成されることになり、メディアに格納されているKicv(C1)と異なり、コンテンツの改竄あるいは不正なコピーによる新たなコンテンツの格納が実行されたことが明らかになる。メディアを再生するデバイスにおいて、再生ステップの前ステップにICVチェックを実行して、生成ICVと格納ICVの一致を判別し、一致しない場合は、再生を実行しない構成とすることにより、不正コピーのコンテンツの再生を防止することが可能となる。
【0123】
また、さらに、安全性を高めるため、コンテンツのインテグリティ・チェック値(ICV)を書き換えカウンタを含めたデータに基づいて生成する構成としてもよい。すなわちICV=hash(Kicv,counter+1,C1,C2,…)によって計算する構成とする。ここで、カウンタ(counter+1)は、ICVの書き換えごとに1つインクリメントされる値として設定する。なお、カウンタ値はセキュアなメモリに格納する構成とすることが必要である。
【0124】
さらに、コンテンツのインテグリティ・チェック値(ICV)をコンテンツと同一メディアに格納することができない構成においては、コンテンツのインテグリティ・チェック値(ICV)をコンテンツとは別のメディア上に格納する構成としてもよい。
【0125】
例えば、読み込み専用メディアや通常のMO等のコピー防止策のとられていないメディアにコンテンツを格納する場合、同一メディアにインテグリティ・チェック値(ICV)を格納するとICVの書き換えが不正なユーザによりなされる可能性があり、ICVの安全性が保てないおそれがある。この様な場合、ホストマシン上の安全なメディアにICVを格納して、コンテンツのコピーコントロール(例えばcheck-in/check-out、move)にICVを使用する構成とすることにより、ICVの安全な管理およびコンテンツの改竄チェックが可能となる。
【0126】
この構成例を図22に示す。図22では読み込み専用メディアや通常のMO等のコピー防止策のとられていないメディア2201にコンテンツが格納され、これらのコンテンツに関するインテグリティ・チェック値(ICV)を、ユーザが自由にアクセスすることの許可されないホストマシン上の安全なメディア2202に格納し、ユーザによる不正なインテグリティ・チェック値(ICV)の書き換えを防止した例である。このような構成として、例えばメディア2201を装着したデバイスがメディア2201の再生を実行する際にホストマシンであるPC、サーバにおいてICVのチェックを実行して再生の可否を判定する構成とすれば、不正なコピーコンテンツあるいは改竄コンテンツの再生を防止できる。
【0127】
[階層ツリー構造のカテゴリ分類]
暗号鍵をルートキー、ノードキー、リーフキー等、図3の階層ツリー構造として構成し、コンテンツキー、認証キー、ICV生成キー、あるいはプログラムコード、データ等を有効化キーブロック(EKB)とともに暗号化して配信する構成について説明してきたが、ノードキー等を定義している階層ツリー構造を各デバイスのカテゴリ毎に分類して効率的なキー更新処理、暗号化キー配信、データ配信を実行する構成について、以下説明する。
【0128】
図23に階層ツリー構造のカテゴリの分類の一例を示す。図23において、階層ツリー構造の最上段には、ルートキーKroot2301が設定され、以下の中間段にはノードキー2302が設定され、最下段には、リーフキー2303が設定される。各デバイスは個々のリーフキーと、リーフキーからルートキーに至る一連のノードキー、ルートキーを保有する。
【0129】
ここで、一例として最上段から第M段目のあるノードをカテゴリノード2304として設定する。すなわち第M段目のノードの各々を特定カテゴリのデバイス設定ノードとする。第M段の1つのノードを頂点として以下、M+1段以下のノード、リーフは、そのカテゴリに含まれるデバイスに関するノードおよびリーフとする。
【0130】
例えば図23の第M段目の1つのノード2305にはカテゴリ[メモリステッイク(商標)]が設定され、このノード以下に連なるノード、リーフはメモリステッイクを使用した様々なデバイスを含むカテゴリ専用のノードまたはリーフとして設定される。すなわち、ノード2305以下を、メモリスティックのカテゴリに定義されるデバイスの関連ノード、およびリーフの集合として定義する。
【0131】
さらに、M段から数段分下位の段をサブカテゴリノード2306として設定することができる。例えば図に示すようにカテゴリ[メモリスティック]ノード2305の2段下のノードに、メモリスティックを使用したデバイスのカテゴリに含まれるサブカテゴリノードとして、[再生専用器]のノードを設定する。さらに、サブカテゴリノードである再生専用器のノード2306以下に、再生専用器のカテゴリに含まれる音楽再生機能付き電話のノード2307が設定され、さらにその下位に、音楽再生機能付き電話のカテゴリに含まれる[PHS]ノード2308と[携帯電話]ノード2309を設定することができる。
【0132】
さらに、カテゴリ、サブカテゴリは、デバイスの種類のみならず、例えばあるメーカー、コンテンツプロバイダ、決済機関等が独自に管理するノード、すなわち処理単位、管轄単位、あるいは提供サービス単位等、任意の単位(これらを総称して以下、エンティティと呼ぶ)で設定することが可能である。例えば1つのカテゴリノードをゲーム機器メーカーの販売するゲーム機器XYZ専用の頂点ノードとして設定すれば、メーカーの販売するゲーム機器XYZにその頂点ノード以下の下段のノードキー、リーフキーを格納して販売することが可能となり、その後、暗号化コンテンツの配信、あるいは各種キーの配信、更新処理を、その頂点ノードキー以下のノードキー、リーフキーによって構成される有効化キーブロック(EKB)を生成して配信し、頂点ノード以下のデバイスに対してのみ利用可能なデータが配信可能となる。
【0133】
このように、1つのノードを頂点としして、以下のノードをその頂点ノードに定義されたカテゴリ、あるいはサブカテゴリの関連ノードとして設定する構成とすることにより、カテゴリ段、あるいはサブカテゴリ段の1つの頂点ノードを管理するメーカー、コンテンツプロバイダ等がそのノードを頂点とする有効化キーブロック(EKB)を独自に生成して、頂点ノード以下に属するデバイスに配信する構成が可能となり、頂点ノードに属さない他のカテゴリのノードに属するデバイスには全く影響を及ぼさずにキー更新を実行することができる。
【0134】
[簡略EKBによるキー配信構成(1)]
先に説明した例えば図3のツリー構成において、キー、例えばコンテンツキーを所定デバイス(リーフ)宛に送付する場合、キー配布先デバイスの所有しているリーフキー、ノードキーを用いて復号可能な有効化キーブロック(EKB)を生成して提供する。例えば図24(a)に示すツリー構成において、リーフを構成するデバイスa,g,jに対してキー、例えばコンテンツキーを送信する場合、a,g,jの各ノードにおいて復号可能な有効化キーブロック(EKB)を生成して配信する。
【0135】
例えば更新ルートキーK(t)rootでコンテンツキーK(t)conを暗号化処理し、EKBとともに配信する場合を考える。この場合、デバイスa,g,jは、それぞれが図24(b)に示すリーフおよびノードキーを用いて、EKBの処理を実行してK(t)rootを取得し、取得した更新ルートキーK(t)rootによってコンテンツキーK(t)conの復号処理を実行してコンテンツキーを得る。
【0136】
この場合に提供される有効化キーブロック(EKB)の構成は、図25に示すようになる。図25に示す有効化キーブロック(EKB)は、先の図6で説明した有効化キーブロック(EKB)のフォーマットにしたがって構成されたものであり、データ(暗号化キー)と対応するタグとを持つ。タグは、先に図7を用いて説明したように左(L)、右(R)、それぞれの方向にデータがあれば0、無ければ1を示している。
【0137】
有効化キーブロック(EKB)を受領したデバイスは、有効化キーブロック(EKB)の暗号化キーとタグに基づいて、順次暗号化キーの復号処理を実行して上位ノードの更新キーを取得していく。図25に示すように、有効化キーブロック(EKB)は、ルートからリーフまでの段数(デプス)が多いほど、そのデータ量は増加していく。段数(デプス)は、デバイス(リーフ)数に応じて増大するものであり、キーの配信先となるデバイス数が多い場合は、EKBのデータ量がさらに増大することになる。
【0138】
このような有効化キーブロック(EKB)のデータ量の削減を可能とした構成について説明する。図26は、有効化キーブロック(EKB)をキー配信デバイスに応じて簡略化して構成した例を示すものである。
【0139】
図25と同様、リーフを構成するデバイスa,g,jに対してキー、例えばコンテンツキーを送信する場合を想定する。図26の(a)に示すように、キー配信デバイスによってのみ構成されるツリーを構築する。この場合、図24(b)に示す構成に基づいて新たなツリー構成として図26(b)のツリー構成が構築される。KrootからKjまでは全く分岐がなく1つの枝のみが存在すればよく、KrootからKaおよびKgに至るためには、K0に分岐点を構成するのみで、2分岐構成の図26(a)のツリーが構築される。
【0140】
図26(a)に示すように、ノードとしてK0のみを持つ簡略化したツリーが生成される。更新キー配信のための有効化キーブロック(EKB)は、これらの簡略ツリーに基づいて生成する。図26(a)に示すツリーは、有効化キーブロック(EKB)を復号可能な末端ノードまたはリーフを最下段とした2分岐型ツリーを構成するパスを選択して不要ノードを省略することにより再構築される再構築階層ツリーである。更新キー配信のための有効化キーブロック(EKB)は、この再構築階層ツリーのノードまたはリーフに対応するキーのみに基づいて構成される。
【0141】
先の図25で説明した有効化キーブロック(EKB)は、各リーフa,g,jからKrootに至るまでのすべてのキーを暗号化したデータを格納していたが、簡略化EKBは、簡略化したツリーを構成するノードについてのみの暗号化データを格納する。図26(b)に示すようにタグは3ビット構成を有する。第2および第3ビットは、図25の例と、同様の意味を持ち、左(L)、右(R)、それぞれの方向にデータがあれば0、無ければ1を示す。第1番目のビットは、EKB内に暗号化キーが格納されているか否かを示すためのビットであり、データが格納されている場合は1、データが無い場合は、0として設定される。
【0142】
データ通信網、あるいは記憶媒体に格納されてデバイス(リーフ)に提供される有効化キーブロック(EKB)は、図26(b)に示すように、図25に示す構成に比較すると、データ量が大幅に削減されたものとなる。図26に示す有効化キーブロック(EKB)を受領した各デバイスは、タグの第1ビットに1が格納された部分のデータのみを順次復号することにより、所定の暗号化キーの復号を実現することができる。例えばデバイスaは、暗号化データEnc(Ka,K(t)0)をリーフキーKaで復号して、ノードキーK(t)0を取得して、ノードキーK(t)0によって暗号化データEnc(K(t)0,K(t)root)を復号してK(t)rootを取得する。デバイスjは、暗号化データEnc(Kj,K(t)root)をリーフキーKjで復号して、K(t)rootを取得する。
【0143】
このように、配信先のデバイスによってのみ構成される簡略化した新たなツリー構成を構築して、構築されたツリーを構成するリーフおよびノードのキーのみを用いて有効化キーブロック(EKB)を生成することにより、少ないデータ量の有効化キーブロック(EKB)を生成することが可能となり、有効化キーブロック(EKB)のデータ配信が効率的に実行可能となる。
【0144】
[簡略EKBによるキー配信構成(2)]
図26で示した簡略化したツリーに基づいて生成される有効化キーブロック(EKB)をさらに、簡略化してデータ量を削減し、効率的な処理を可能とした構成について説明する。
【0145】
図26を用いて説明した構成は、有効化キーブロック(EKB)を復号可能な末端ノードまたはリーフを最下段とした2分岐型ツリーを構成するパスを選択して不要ノードを省略することにより再構築される再構築階層ツリーであった。更新キー配信のための有効化キーブロック(EKB)は、この再構築階層ツリーのノードまたはリーフに対応するキーのみに基づいて構成される。
【0146】
図26(a)に示す再構築階層ツリーは、リーフa,g,jにおいて更新ルートキーK(t)rootを取得可能とするため、図26(b)に示す有効化キーブロック(EKB)を配信する。図26(b)の有効化キーブロック(EKB)の処理において、リーフjは、Enc(Kj,K(t)root)の1回の復号処理によりルートキー:K(t)rootを取得できる。しかし、リーフa,gは、Enc(Ka,K(t)0)または、Enc(Kg,K(t)0)の復号処理によりK(t)0を得た後、さらに、Enc(K(t)0,K(t)root)の復号処理を実行してルートキー:K(t)rootを取得する。すなわち、リーフa,gは、2回の復号処理を実行することが必要となる。
【0147】
図26の簡略化した再構築階層ツリーは、ノードK0がその下位リーフa,gの管理ノードとして独自の管理を実行している場合、例えば後述するサブルート・ノードとして、下位リーフの管理を実行している場合には、リーフa,gが更新キーを取得したことを確認する意味で有効であるが、ノードK0が下位リーフの管理を行なっていない場合、あるいは行なっていたとしても、上位ノードからの更新キー配信を許容している場合には、図26(a)に示す再構築階層ツリーをさらに簡略化して、ノードK0のキーを省略して有効化キーブロック(EKB)を生成して配信してもよい。
【0148】
図27に、このような有効化キーブロック(EKB)の構成を示す。図26と同様、リーフを構成するデバイスa,g,jに対してキー、例えばコンテンツキーを送信する場合を想定する。図27の(a)に示すように、ルートKrootと各リーフa,g,jを直接接続したツリーを構築する。
【0149】
図27(a)に示すように、図26(a)に示す再構築階層ツリーからノードK0が省かれた簡略化したツリーが生成される。更新キー配信のための有効化キーブロック(EKB)は、これらの簡略ツリーに基づいて生成する。図27(a)に示すツリーは、有効化キーブロック(EKB)を復号可能なリーフをとルートとを直接結ぶパスのみによって再構築される再構築階層ツリーである。更新キー配信のための有効化キーブロック(EKB)は、この再構築階層ツリーのリーフに対応するキーのみに基づいて構成される。
【0150】
なお、図27(a)の例は、末端をリーフとした構成例であるが、例えば最上位ノードか複数の中位、下位ノードに対してキーを配信する場合も、最上位ノードと中位、下位ノードとを直接接続した簡略化ツリーに基づいて有効化キーブロック(EKB)を生成してキー配信を実行することが可能である。このように、再構築階層ツリーは、簡略化したツリーを構成する頂点ノードと、簡略化したツリーを構成する末端ノードまたはリーフとを直接、接続した構成を持つ。この簡略化ツリーでは、頂点ノードからの分岐は2に限らず、配信ノードまたはリーフ数に応じて3以上の多分岐を持つツリーとして構成することが可能である。
【0151】
先の図25で説明した有効化キーブロック(EKB)は、各リーフa,g,jからKrootに至るまでのすべてのキーを暗号化したデータを格納し、図26で説明した有効化キーブロック(EKB)は、リーフa,g,jのリーフキー、a,gの共通ノードとしてのK0、さらに、ルートキーを格納した構成であったが、図27(a)に示す簡略化階層ツリーに基づく有効化キーブロック(EKB)は、ノードK0のキーを省略したので、図27(b)に示すように、さらにデータ量の少ない有効化キーブロック(EKB)となる。
【0152】
図27(b)の有効化キーブロック(EKB)は、図26(b)の有効化キーブロック(EKB)と同様、3ビット構成のタグを有する。第2および第3ビットは、図26で説明したと同様、左(L)、右(R)、それぞれの方向にデータがあれば0、無ければ1を示す。第1番目のビットは、EKB内に暗号化キーが格納されているか否かを示すためのビットであり、データが格納されている場合は1、データが無い場合は、0として設定される。
【0153】
図27(b)の有効化キーブロック(EKB)において、各リーフa,g,jは、Enc(Ka,K(t)root)、またはEnc(Kg,K(t)root)Enc(Kj,K(t)root)の1回の復号処理によりルートキー:K(t)rootを取得できる。
【0154】
このように簡略化された再構築ツリーの最上位ノードと、ツリーを構成する末端ノードまたはリーフとを直接、接続した構成を持つツリーに基づいて生成される有効化キーブロック(EKB)は、図27(b)に示すように、再構築階層ツリーの頂点ノードおよび末端ノードまたはリーフに対応するキーのみに基づいて構成される。
【0155】
図26または図27で説明した有効化キーブロック(EKB)のように、配信先のデバイスによってのみ構成される簡略化した新たなツリー構成を構築して、構築されたツリーを構成するリーフのみ、あるいはリーフと共通ノードのキーのみを用いて有効化キーブロック(EKB)を生成することにより、少ないデータ量の有効化キーブロック(EKB)を生成することが可能となり、有効化キーブロック(EKB)のデータ配信が効率的に実行可能となる。
【0156】
なお、簡略化した階層ツリー構成は、後段で説明するサブツリーとして設定されるカテゴリツリー単位のEKB管理構成において特に有効に活用可能である。カテゴリツリーは、キー配信構成としてのツリー構成を構成するノードあるいはリーフから選択した複数のノードあるいはリーフの集合体ブロックである。カテゴリツリーは、デバイスの種類に応じて設定される集合であったり、あるいはデバイス提供メーカー、コンテンツプロバイダ、決済機関等の管理単位等、ある共通点を持った処理単位、管轄単位、あるいは提供サービス単位等、様々な態様の集合として設定される。1つのカテゴリツリーには、ある共通のカテゴリに分類されるデバイスが集まっており、例えば複数のカテゴリツリーの頂点ノード(サブルート)によって上述したと同様の簡略化したツリーを再構築してEKBを生成することにより、選択されたカテゴリツリーに属するデバイスにおいて復号可能な簡略化された有効化キーブロック(EKB)の生成、配信が可能となる。カテゴリツリー単位の管理構成については後段で詳細に説明する。
【0157】
なお、このような有効化キーブロック(EKB)は、光ディスク、DVD等の情報記録媒体に格納した構成とすることが可能である。例えば、上述の暗号化キーデータによって構成されるデータ部と、暗号化キーデータの階層ツリー構造における位置識別データとしてのタグ部とを含む有効化キーブロック(EKB)にさらに、更新ノードキーによって暗号化したコンテンツ等のメッセージデータとを格納した情報記録媒体を各デバイスに提供する構成が可能である。デバイスは有効化キーブロック(EKB)に含まれる暗号化キーデータをタグ部の識別データにしたがって順次抽出して復号し、コンテンツの復号に必要なキーを取得してコンテンツの利用を行なうことが可能となる。もちろん、有効化キーブロック(EKB)をインターネット等のネットワークを介して配信する構成としてもよい。
【0158】
[カテゴリツリー単位のEKB管理構成]
次に、キー配信構成としてのツリー構成を構成するノードあるいはリーフを、複数のノードあるいはリーフの集合としてのブロックで管理する構成について説明する。なお、複数のノードあるいはリーフの集合としてのブロックを以下カテゴリツリーと呼ぶ。カテゴリツリーは、デバイスの種類に応じて設定される集合であったり、あるいはデバイス提供メーカー、コンテンツプロバイダ、決済機関等の管理単位等、ある共通点を持った処理単位、管轄単位、あるいは提供サービス単位等、様々な態様の集合として設定される。
【0159】
カテゴリツリーについて、図28を用いて説明する。図28(a)はツリーのカテゴリツリー単位での管理構成を説明する図である。1つのカテゴリツリーは図では、三角形として示し、例えば1カテゴリツリー2701内には、複数のノードが含まれる。1カテゴリツリー内のノード構成を示すのが(b)である。1つのカテゴリツリーは、1つのノードを頂点とした複数段の2分岐形ツリーによって構成される。以下、カテゴリツリーの頂点ノード2702をサブルートと呼ぶ。
【0160】
ツリーの末端は、(c)に示すようにリーフ、すなわちデバイスによって構成される。デバイスは、複数デバイスをリーフとし、サブルートである頂点ノード2702を持つツリーによって構成されるいずれかのカテゴリツリーに属する。
【0161】
図28(a)から理解されるように、カテゴリツリーは、階層構造を持つ。この階層構造について、図29を用いて説明する。
【0162】
図29(a)は、階層構造を簡略化して説明するための図であり、Krootから数段下の段にカテゴリツリーA01〜Annが構成され、カテゴリツリーA1〜Anの下位には、さらに、カテゴリツリーB01〜Bnk、さらに、その下位にカテゴリツリーC1〜Cnqが設定されている。各カテゴリツリーは、図29(b),(c)に示す如く、複数段のノード、リーフによって構成されるツリー形状を持つ。
【0163】
例えばカテゴリツリーBnkの構成は、(b)に示すように、サブルート2811を頂点ノードとして、末端ノード2812に至るまでの複数ノードを有する。このカテゴリツリーは識別子Bnkを持ち、カテゴリツリーBnk内のノードに対応するノードキー管理をカテゴリツリーBnk独自に実行することにより、末端ノード2812を頂点として設定される下位(子)カテゴリツリーの管理を実行する。また、一方、カテゴリツリーBnkは、サブルート2811を末端ノードとして持つ上位(親)カテゴリツリーAnnの管理下にある。
【0164】
カテゴリツリーCn3の構成は、(c)に示すように、サブルート2851を頂点ノードとして、各デバイスである末端ノード2852、この場合はリーフに至るまで複数ノード、リーフを有する。このカテゴリツリーは識別子Cn3を持ち、カテゴリツリーCn3内のノード、リーフに対応するノードキー、リーフキー管理をカテゴリツリーCn3独自に実行することにより、末端ノード2852に対応するリーフ(デバイス)の管理を実行する。また、一方、カテゴリツリーCn3は、サブルート2851を末端ノードとして持つ上位(親)カテゴリツリーBn2の管理下にある。各カテゴリツリーにおけるキー管理とは、例えばキー更新処理、リボーク処理等であるが、これらは後段で詳細に説明する。
【0165】
最下段カテゴリツリーのリーフであるデバイスには、デバイスの属するカテゴリツリーのリーフキーから、自己の属するカテゴリツリーの頂点ノードであるサブルートノードに至るパスに位置する各ノードのノードキーおよびリーフキーが格納される。例えば末端ノード2852のデバイスは、末端ノード(リーフ)2852から、サブルートノード2851までの各キーを格納する。
【0166】
図30を用いて、さらにカテゴリツリーの構成について説明する。カテゴリツリーは様々な段数によって構成されるツリー構造を持つことが可能である。段数、すなわちデプス(depth)は、カテゴリツリーで管理する末端ノードに対応する下位(子)カテゴリツリーの数、あるいはリーフとしてのデバイス数に応じて設定可能である。
【0167】
図30の(a)に示すような上下カテゴリツリー構成を具体化すると、(b)に示す態様となる。ルートツリーは、ルートキーを持つ最上段のツリーである。ルートツリーの末端ノードに複数の下位カテゴリツリーとしてカテゴリツリーA,B,Cが設定され、さらに、カテゴリツリーCの下位カテゴリツリーとしてカテゴリツリーDが設定される。カテゴリツリーC2901は、その末端ノードの1つ以上のノードをリザーブノード2950として保持し、自己の管理するカテゴリツリーを増加させる場合、さらに複数段のツリー構成を持つカテゴリツリーC'2902をリザーブノード2950を頂点ノードとして新設することにより、管理末端ノード2970を増加させて、管理末端ノードに増加した下位カテゴリツリーを追加することができる。
【0168】
リザーブノードについて、さらに図31を用いて説明する。カテゴリツリーA,3011は、管理する下位カテゴリツリーB,C,D…を持ち、1つのリザーブノード3021を持つ。カテゴリツリーは管理対象の下位カテゴリツリーをさらに増加させたい場合、リザーブノード3021に、自己管理の下位カテゴリツリーA',3012を設定し、下位カテゴリツリーA',3012の末端ノードにさらに管理対象の下位カテゴリツリーF,Gを設定することができる。自己管理の下位カテゴリツリーA',3012も、その末端ノードの少なくとも1つをリザーブノード3022として設定することにより、さらに下位カテゴリツリーA''3013を設定して、さらに管理カテゴリツリーを増加させることができる。下位カテゴリツリーA''3013の末端ノードにも1以上のリザーブノードを確保する。このようなリザーブノード保有構成をとることにより、あるカテゴリツリーの管理する下位カテゴリツリーは、際限なく増加させることが可能となる。なお、リザーブカテゴリツリーは、末端ノードの1つのみではなく、複数個設定する構成としてもよい。
【0169】
それぞれのカテゴリツリーでは、カテゴリツリー単位で有効化キーブロック(EKB)が構成され、カテゴリツリー単位でのキー更新、リボーク処理を実行することになる。図31のように複数のカテゴリツリーA,A',A''には各カテゴリツリー個々の有効化キーブロック(EKB)が設定されることになるが、これらは、カテゴリツリーA,A',A''を共通に管理する例えばあるデバイスメーカーが一括して管理することが可能である。
【0170】
[新規カテゴリツリーの登録処理]
次に、新規カテゴリツリーの登録処理について説明する。登録処理シーケンスを図32に示す。図32のシーケンスにしたがって説明する。新たにツリー構成中に追加される新規(子)カテゴリツリー(N−En)は、上位(親)カテゴリツリー(P−En)に対して新規登録要求を実行する。なお、各カテゴリツリーは、公開鍵暗号方式に従った公開鍵を保有し、新規カテゴリツリーは自己の公開鍵を登録要求に際して上位カテゴリツリー(P−En)に送付する。
【0171】
登録要求を受領した上位カテゴリツリー(P−En)は、受領した新規(子)カテゴリツリー(N−En)の公開鍵を証明書発行局(CA:Certificate Authority)に転送し、CAの署名を付加した新規(子)カテゴリツリー(N−En)の公開鍵を受領する。これらの手続きは、上位カテゴリツリー(P−En)と新規(子)カテゴリツリー(N−En)との相互認証の手続きとして行われる。
【0172】
これらの処理により、新規登録要求カテゴリツリーの認証が終了すると、上位カテゴリツリー(P−En)は、新規(子)カテゴリツリー(N−En)の登録を許可し、新規(子)カテゴリツリー(N−En)のノードキーを新規(子)カテゴリツリー(N−En)に送信する。このノードキーは、上位カテゴリツリー(P−En)の末端ノードの1つのノードキーであり、かつ、新規(子)カテゴリツリー(N−En)の頂点ノード、すなわちサブルートキーに対応する。
【0173】
このノードキー送信が終了すると、新規(子)カテゴリツリー(N−En)は、新規(子)カテゴリツリー(N−En)のツリー構成を構築し、構築したツリーの頂点に受信した頂点ノードのサブルートキーを設定し、各ノード、リーフのキーを設定して、カテゴリツリー内の有効化キーブロック(EKB)を生成する。1つのカテゴリツリー内の有効化キーブロック(EKB)をサブEKBと呼ぶ。
【0174】
一方、上位カテゴリツリー(P−En)は、新規(子)カテゴリツリー(N−En)の追加により、有効化する末端ノードを追加した上位カテゴリツリー(P−En)内のサブEKBを生成する。
【0175】
新規(子)カテゴリツリー(N−En)は、新規(子)カテゴリツリー(N−En)内のノードキー、リーフキーによって構成されるサブEKBを生成すると、これを上位カテゴリツリー(P−En)に送信する。
【0176】
新規(子)カテゴリツリー(N−En)からサブEKBを受信した上位カテゴリツリー(P−En)は、受信したサブEKBと、上位カテゴリツリー(P−En)の更新したサブEKBとをキー発行センター(KDC:Key Distribute Center)に送信する。
【0177】
キー発行センター(KDC)は、すべてのカテゴリツリーのサブEKBに基づいて、様々な態様のEKB、すなわち特定のカテゴリツリーあるいはデバイスのみが復号可能なEKBを生成することが可能となる。このように復号可能なカテゴリツリーあるいはデバイスを設定したEKBを例えばコンテンツプロバイダに提供し、コンテンツプロバイダがEKBに基づいてコンテンツキーを暗号化して、ネットワークを介して、あるいは記録媒体に格納して提供することにより、特定のデバイスでのみ利用可能なコンテンツを提供することが可能となる。
【0178】
なお、新規カテゴリツリーのサブEKBのキー発行センター(KDC)に対する登録処理は、サブEKBを上位カテゴリツリーを介してを順次転送して実行する方法に限るものではなく、上位カテゴリツリーを介さずに、新規登録カテゴリツリーから直接、キー発行センター(KDC)に登録する処理を実行する構成としてもよい。
【0179】
上位カテゴリツリーと、上位カテゴリツリーに新規追加する下位カテゴリツリーとの対応について図33を用いて説明する。上位カテゴリツリーの末端ノードの1つ3201を新規追加カテゴリツリーの頂点ノードとして、下位カテゴリツリーに提供することによって下位カテゴリツリーは、上位カテゴリツリーの管理下のカテゴリツリーとして追加される。上位カテゴリツリーの管理下のカテゴリツリーとは、後段で詳細に説明するが、下位カテゴリツリーのリボーク(排除)処理を上位カテゴリツリーが実行できる構成であるという意味を含むものである。
【0180】
図33に示すように、上位カテゴリツリーに新規カテゴリツリーが設定されると、上位カテゴリツリーのリーフである末端ノードの1つのノード3201と新規追加カテゴリツリーの頂点ノード3202とが等しいノードとして設定される。すなわち上位ノードの1つのリーフである1つの末端ノードが、新規追加カテゴリツリーのサブルートとして設定される。このように設定されることにより、新規追加カテゴリツリーが全体ツリー構成の下で有効化される。
【0181】
図34に新規追加カテゴリツリーを設定した際に上位カテゴリツリーが生成する更新EKBの例を示す。図34は、(a)に示す構成、すなわち既に有効に存在する末端ノード(node000)3301と末端ノード(node001)3302があり、ここに新規追加カテゴリツリーに新規カテゴリツリー追加末端ノード(node100)3303を付与した際に上位カテゴリツリーが生成するサブEKBの例を示したものである。
【0182】
サブEKBは、図34の(b)に示すようにな構成を持つ。それぞれ有効に存在する末端ノードキーにより暗号化された上位ノードキー、上位ノードキーで暗号化されたさらなる上位ノードキー、…さらに上位に進行してサブルートキーに至る構成となっている。この構成によりサブEKBが生成される。各カテゴリツリーは図34(b)に示すと同様、有効な末端ノード、あるいはリーフキーにより暗号化された上位ノードキー、上位ノードキーでさらに上位のノードキーを暗号化し、順次上位に深厚してサブルートに至る暗号化データによって構成されるEKBを有し、これを管理する。
【0183】
[カテゴリツリー管理下におけるリボーク処理]
次に、キー配信ツリー構成をカテゴリツリー単位として管理する構成におけるデバイスあるいはカテゴリツリーのリボーク(排除)処理について説明する。先の図3,4では、ツリー構成全体の中から特定のデバイスのみ復号可能で、リボークされたデバイスは復号不可能な有効化キーブロック(EKB)を配信する処理について説明した。図3,4で説明したリボーク処理は、ツリー全体の中から特定のリーフであるデバイスをリボークする処理であったが、ツリーのカテゴリツリー管理による構成では、カテゴリツリー毎にリボーク処理が実行可能となる。
【0184】
図35以下の図を用いてカテゴリツリー管理下のツリー構成におけるリボーク処理について説明する。図35は、ツリーを構成するカテゴリツリーのうち、最下段のカテゴリツリー、すなわち個々のデバイスを管理しているカテゴリツリーによるデバイスのリボーク処理を説明する図である。
【0185】
図35(a)は、カテゴリツリー管理によるキー配信ツリー構造を示している。ツリー最上位にはルートノードが設定され、その数段下にカテゴリツリーA01〜Ann、さらにその下位段にB01〜Bnkのカテゴリツリー、さらにその下位段にC1〜cnのカテゴリツリーが構成されている。最も下のカテゴリツリーは、末端ノード(リーフ)が個々のデバイス、例えば記録再生器、再生専用器等であるとする。
【0186】
ここで、リボーク処理は、各カテゴリツリーにおいて独自に実行される。例えば、最下段のカテゴリツリーC1〜Cnでは、リーフのデバイスのリボーク処理が実行される。図35(b)には、最下段のカテゴリツリーの1つであるカテゴリツリーCn,3430のツリー構成を示している。カテゴリツリーCn,3430は、頂点ノード3431を持ち、末端ノードであるリーフに複数のデバイスを持つ構成である。
【0187】
この末端ノードであるリーフ中に、リボーク対象となるデバイス、例えばデバイス3432があったとすると、カテゴリツリーCn,3430は、独自に更新したカテゴリツリーCn内のノードキー、リーフキーによって構成される有効化キーブロック(サブEKB)を生成する。この有効化キーブロックは、リボークデバイス3432においては復号できず、他のリーフを構成するデバイスにおいてのみ復号可能な暗号化キーにより構成されるキーブロックである。カテゴリツリーCnの管理者は、これを更新されたサブEKBとして生成する。具体的には、サブルートからリボークデバイス3432に連なるパスを構成する各ノード3431,3434,3435のノードキーを更新して、この更新ノードキーをリボークデバイス3432以外のリーフデバイスにおいてのみ復号可能な暗号化キーとして構成したブロックを更新サブEKBとする。この処理は、先の図3,4において説明したリボーク処理構成において、ルートキーを、カテゴリツリーの頂点キーであるサブルートキーに置き換えた処理に対応する。
【0188】
このようにカテゴリツリーCn,3430がリボーク処理によって更新した有効化キーブロック(サブEKB)は、上位カテゴリツリーに送信される。この場合、上位カテゴリツリーはカテゴリツリーBnk,3420であり、カテゴリツリーCn,3430の頂点ノード3431を末端ノードとして有するカテゴリツリーである。
【0189】
カテゴリツリーBnk,3420は、下位カテゴリツリーCn,3430から有効化キーブロック(サブEKB)を受領すると、そのキーブロックに含まれるカテゴリツリーCnk,3430の頂点ノード3431に対応するカテゴリツリーBnk,3420の末端ノード3431を、下位カテゴリツリーCn,3430において更新されたキーに設定して、自身のカテゴリツリーBnk,3420のサブEKBの更新処理を実行する。図35(c)にカテゴリツリーBnk,3420のツリー構成を示す。カテゴリツリーBnk,3420において、更新対象となるノードキーは、図35(c)のサブルート3421からリボークデバイスを含むカテゴリツリーを構成する末端ノード3431に至るパス上のノードキーである。すなわち、更新サブEKBを送信してきたカテゴリツリーのノード3431に連なるパスを構成する各ノード3421,3424,3425のノードキーが更新対象となる。これら各ノードのノードキーを更新してカテゴリツリーBnk,3420の新たな更新サブEKBを生成する。
【0190】
さらに、カテゴリツリーBnk,3420が更新した有効化キーブロック(サブEKB)は、上位カテゴリツリーに送信される。この場合、上位カテゴリツリーはカテゴリツリーAnn,3410であり、カテゴリツリーBnk,3420の頂点ノード3421を末端ノードとして有するカテゴリツリーである。
【0191】
カテゴリツリーAnn,3410は、下位カテゴリツリーBnk,3420から有効化キーブロック(サブEKB)を受領すると、そのキーブロックに含まれるカテゴリツリーBnk,3420の頂点ノード3421に対応するカテゴリツリーAnn,3410の末端ノード3421を、下位カテゴリツリーBnk,3420において更新されたキーに設定して、自身のカテゴリツリーAnn,3410のサブEKBの更新処理を実行する。図35(d)にカテゴリツリーAnn,3410のツリー構成を示す。カテゴリツリーAnn,3410において、更新対象となるノードキーは、図35(d)のサブルート3411から更新サブEKBを送信してきたカテゴリツリーのノード3421に連なるパスを構成する各ノード3411,3414,3415のノードキーである。これら各ノードのノードキーを更新してカテゴリツリーAnn,3410の新たな更新サブEKBを生成する。
【0192】
これらの処理を順次、上位のカテゴリツリーにおいて実行し、図30(b)で説明したルートカテゴリツリーまで実行する。この一連の処理により、デバイスのリボーク処理が完結する。なお、それぞれのカテゴリツリーにおいて更新されたサブEKBは、最終的にキー発行センター(KDC)に送信され、保管される。キー発行センター(KDC)は、すべてのカテゴリツリーの更新サブEKBに基づいて、様々なEKBを生成する。更新EKBは、リボークされたデバイスでの復号が不可能な暗号化キーブロックとなる。
【0193】
デバイスのリボーク処理のシーケンス図を図36に示す。処理手順を図36のシーケンス図に従って説明する。まず、ツリー構成の最下段にあるデバイス管理カテゴリツリー(D−En)は、デバイス管理カテゴリツリー(D−En)内のリボーク対象のリーフを排除するために必要なキー更新を行ない、デバイス管理カテゴリツリー(D−En)の新たなサブEKB(D)を生成する。更新サブEKB(D)は、上位カテゴリツリーに送付される。更新サブEKB(D)を受領した上位(親)カテゴリツリー(P1−En)は、更新サブEKB(D)の更新頂点ノードに対応した末端ノードキーの更新および、その末端ノードからサブルートに至るパス上のノードキーを更新した更新サブEKB(P1)を生成する。これらの処理を順次、上位カテゴリツリーにおいて実行して、最終的に更新されたすべてのサブEKBがキー発行センター(KDC)に格納され管理される。
【0194】
図37にデバイスのリボーク処理によって上位カテゴリツリーが更新処理を行なって生成する有効化キーブロック(EKB)の例を示す。
【0195】
図37は、(a)に示す構成において、リボークデバイスを含む下位カテゴリツリーから更新サブEKBを受信した上位カテゴリツリーにおいて生成するEKBの例を説明する図である。リボークデバイスを含む下位カテゴリツリーの頂点ノードは、上位カテゴリツリーの末端ノード(node100)3601に対応する。
【0196】
上位カテゴリツリーは、上位カテゴリツリーのサブルートから末端ノード(node100)3601までのパスに存在するノードキーを更新して新たな更新サブEKBを生成する。更新サブEKBは、図37(b)のようになる。更新されたキーは、下線および[']を付して示してある。このように更新された末端ノードからサブルートまでのパス上のノードキーを更新してそのカテゴリツリーにおける更新サブEKBとする。
【0197】
次に、リボークする対象をカテゴリツリーとした場合の処理、すなわちカテゴリツリーのリボーク処理について説明する。
【0198】
図38(a)は、カテゴリツリー管理によるキー配信ツリー構造を示している。ツリー最上位にはルートノードが設定され、その数段下にカテゴリツリーA01〜Ann、さらにその下位段にB01〜Bnkのカテゴリツリー、さらにその下位段にC1〜cnのカテゴリツリーが構成されている。最も下のカテゴリツリーは、末端ノード(リーフ)が個々のデバイス、例えば記録再生器、再生専用器等であるとする。
【0199】
ここで、リボーク処理を、カテゴリツリーCn,3730に対して実行する場合について説明する。最下段のカテゴリツリーCn,3730は、図38(b)に示すように頂点ノード3431を持ち、末端ノードであるリーフに複数のデバイスを持つ構成である。
【0200】
カテゴリツリーCn,3730をリボークすることにより、カテゴリツリーCn,3730に属するすべてのデバイスのツリー構造からの一括排除が可能となる。カテゴリツリーCn,3730のリボーク処理は、カテゴリツリーCn,3730の上位カテゴリツリーであるカテゴリツリーBnk,3720において実行される。カテゴリツリーBnk,3720は、カテゴリツリーCn,3730の頂点ノード3731を末端ノードとして有するカテゴリツリーである。
【0201】
カテゴリツリーBnk,3720は、下位カテゴリツリーCn,3730のリボークを実行する場合、カテゴリツリーCnk,3730の頂点ノード3731に対応するカテゴリツリーBnk,3720の末端ノード3731を更新し、さらに、そのリボークカテゴリツリー3730からカテゴリツリーBnk,3720のサブルートまでのパス上のノードキーの更新を行ない有効化キーブロックを生成して更新サブEKBを生成する。更新対象となるノードキーは、図38(c)のサブルート3721からリボークカテゴリツリーの頂点ノードを構成する末端ノード3731に至るパス上のノードキーである。すなわち、ノード3721,3724,3725,3731のノードキーが更新対象となる。これら各ノードのノードキーを更新してカテゴリツリーBnk,3720の新たな更新サブEKBを生成する。
【0202】
あるいは、カテゴリツリーBnk,3720は、下位カテゴリツリーCn,3730のリボークを実行する場合、カテゴリツリーCnk,3730の頂点ノード3731に対応するカテゴリツリーBnk,3720の末端ノード3731は更新せず、そのリボークカテゴリツリー3730からカテゴリツリーBnk,3720のサブルートまでのパス上の末端ノード3731を除くノードキーの更新を行ない有効化キーブロックを生成して更新サブEKBを生成してもよい。
【0203】
さらに、カテゴリツリーBnk,3720が更新した有効化キーブロック(サブEKB)は、上位カテゴリツリーに送信される。この場合、上位カテゴリツリーはカテゴリツリーAnn,3710であり、カテゴリツリーBnk,3720の頂点ノード3721を末端ノードとして有するカテゴリツリーである。
【0204】
カテゴリツリーAnn,3710は、下位カテゴリツリーBnk,3720から有効化キーブロック(サブEKB)を受領すると、そのキーブロックに含まれるカテゴリツリーBnk,3720の頂点ノード3721に対応するカテゴリツリーAnn,3710の末端ノード3721を、下位カテゴリツリーBnk,3720において更新されたキーに設定して、自身のカテゴリツリーAnn,3710のサブEKBの更新処理を実行する。図38(d)にカテゴリツリーAnn,3710のツリー構成を示す。カテゴリツリーAnn,3710において、更新対象となるノードキーは、図38(d)のサブルート3711から更新サブEKBを送信してきたカテゴリツリーのノード3721に連なるパスを構成する各ノード3711,3714,3715のノードキーである。これら各ノードのノードキーを更新してカテゴリツリーAnn,3710の新たな更新サブEKBを生成する。
【0205】
これらの処理を順次、上位のカテゴリツリーにおいて実行し、図30(b)で説明したルートカテゴリツリーまで実行する。この一連の処理により、カテゴリツリーのリボーク処理が完結する。なお、それぞれのカテゴリツリーにおいて更新されたサブEKBは、最終的にキー発行センター(KDC)に送信され、保管される。キー発行センター(KDC)は、すべてのカテゴリツリーの更新サブEKBに基づいて、様々なEKBを生成する。更新EKBは、リボークされたカテゴリツリーに属するデバイスでの復号が不可能な暗号化キーブロックとなる。
【0206】
カテゴリツリーのリボーク処理のシーケンス図を図39に示す。処理手順を図39のシーケンス図に従って説明する。まず、カテゴリツリーをリボークしようとするカテゴリツリー管理カテゴリツリー(E−En)は、カテゴリツリー管理カテゴリツリー(E−En)内のリボーク対象の末端ノードを排除するために必要なキー更新を行ない、カテゴリツリー管理カテゴリツリー(E−En)の新たなサブEKB(E)を生成する。更新サブEKB(E)は、上位カテゴリツリーに送付される。更新サブEKB(E)を受領した上位(親)カテゴリツリー(P1−En)は、更新サブEKB(E)の更新頂点ノードに対応した末端ノードキーの更新および、その末端ノードからサブルートに至るパス上のノードキーを更新した更新サブEKB(P1)を生成する。これらの処理を順次、上位カテゴリツリーにおいて実行して、最終的に更新されたすべてのサブEKBがキー発行センター(KDC)に格納され管理される。キー発行センター(KDC)は、すべてのカテゴリツリーの更新サブEKBに基づいて、様々なEKBを生成する。更新EKBは、リボークされたカテゴリツリーに属するデバイスでの復号が不可能な暗号化キーブロックとなる。
【0207】
図40にリボークされた下位カテゴリツリーと、リボークを行なった上位カテゴリツリーの対応を説明する図を示す。上位カテゴリツリーの末端ノード3901は、カテゴリツリーのリボークにより更新され、上位カテゴリツリーのツリーにおける末端ノード3901からサブルートまでのパスに存在するノードキーの更新により、新たなサブEKBが生成される。その結果、リボークされた下位カテゴリツリーの頂点ノード3902のノードキーと、上位カテゴリツリーの末端ノード3901のノードキーは不一致となる。カテゴリツリーのリボーク後にキー発行センター(KDC)によって生成されるEKBは、上位カテゴリツリーにおいて更新された末端ノード3901のキーに基づいて生成されることになるので、その更新キーを保有しない下位カテゴリツリーのリーフに対応するデバイスは、キー発行センター(KDC)によって生成されるEKBの復号ガ不可能になる。
【0208】
なお、上述の説明では、デバイスを管理する最下段のカテゴリツリーのリボーク処理について説明したが、ツリーの中段にあるカテゴリツリー管理カテゴリツリーをその上位カテゴリツリーがリボークする処理も上記と同様のプロセスによって可能である。中段のエンティティ管理カテゴリツリーをリボークすることにより、リボークされたカテゴリツリー管理カテゴリツリーの下位に属するすべての複数カテゴリツリーおよびデバイスを一括してリボーク可能となる。
【0209】
このように、カテゴリツリー単位でのリボークを実行することにより、1つ1つのデバイス単位で実行するリボーク処理に比較して簡易なプロセスでのリボーク処理が可能となる。
【0210】
[カテゴリツリーのケイパビリティ管理]
次に、カテゴリツリー単位でのキー配信ツリー構成において、各エンティティの許容するケイパビリティ(Capability)を管理して、ケイパビリティに応じたコンテンツ配信を行なう処理構成について説明する。ここでケイパビリティとは、例えば特定の圧縮音声データの復号が可能であるとか、特定の音声再生方式を許容するとか、あるいは特定の画像処理プログラムを処理できる等、デバイスがどのようなコンテンツ、あるいはプログラム等を処理できるデバイスであるか、すなわちデバイスのデータ処理能力の定義情報である。
【0211】
図41にケイパビリティを定義したカテゴリツリー構成例を示す。キー配信ツリー構成の最頂点ににルートノードが位置し、下層に複数のカテゴリツリーが接続されて各ノードが2分岐を持つツリー構成である。ここで、例えばカテゴリツリー4001は、音声再生方式A,B,Cのいずれかを許容するケイパビリティを持つカテゴリツリーとして定義される。具体的には、例えばある音声圧縮プログラム−A、B、またはC方式で圧縮した音楽データを配信した場合に、カテゴリツリー4001以下に構成されたカテゴリツリーに属するデバイスは圧縮データを伸長する処理が可能である。
【0212】
同様にカテゴリツリー4002は音声再生方式BまたはC、カテゴリツリー4003は音声再生方式AまたはB、カテゴリツリー4004は音声再生方式B、カテゴリツリー4005は音声再生方式Cを処理することが可能なケイパビリティを持つカテゴリツリーとして定義される。
【0213】
一方、カテゴリツリー4021は、画像再生方式p,q,rを許容するカテゴリツリーとして定義され、カテゴリツリー4022は方式p,qの画像再生方式、カテゴリツリー4023は方式pの画像再生が可能なケイパビリティを持つカテゴリツリーとして定義される。
【0214】
このような各カテゴリツリーのケイパビリティ情報は、キー発行センター(KDC)において管理される。キー発行センター(KDC)は、例えばあるコンテンツプロバイダが特定の圧縮プログラムで圧縮した音楽データを様々なデバイスに配信したい場合、その特定の圧縮プログラムを再生可能なデバイスに対してのみ復号可能な有効化キーブロック(EKB)を各カテゴリツリーのケイパビリティ情報に基づいて生成することができる。コンテンツを提供するコンテンツプロバイダは、ケイパビリティ情報に基づいて生成した有効化キーブロック(EKB)によって暗号化したコンテンツキーを配信し、そのコンテンツキーで暗号化した圧縮音声データを各デバイスに提供する。この構成により、データの処理が可能なデバイスに対してのみ特定の処理プログラムを確実に提供することが可能となる。
【0215】
なお、図41では全てのカテゴリツリーについてケイパビリティ情報を定義している構成であるが、図41の構成ようにすべてのカテゴリツリーにケイパビリティ情報を定義することは必ずしも必要ではなく、例えば図42に示すようにデバイスが属する最下段のカテゴリツリーについてのみケイパビリティを定義して、最下段のカテゴリツリーに属するデバイスのケイパビリティをキー発行センター(KDC)において管理して、コンテンツプロバイダが望む処理の可能なデバイスにのみ復号可能な有効化キーブロック(EKB)を最下段のカテゴリツリーに定義されたケイパビリティ情報に基づいて生成する構成としてもよい。図42では、末端ノードにデバイスが定義されたカテゴリツリー4101=4105におけるケイパビリテイが定義され、これらのカテゴリツリーについてのケイパビリティをキー発行センター(KDC)において管理する構成である。例えばカテゴリツリー4101には音声再生については方式B、画像再生については方式rの処理が可能なデバイスが属している。カテゴリツリー4102には音声再生については方式A、画像再生については方式qの処理が可能なデバイスが属している等である。
【0216】
図43にキー発行センター(KDC)において管理するケイパビリティ管理テーブルの構成例を示す。ケイパビリティ管理テーブルは、図43(a)のようなデータ構成を持つ。すなわち、各カテゴリツリーを識別する識別子としてのカテゴリツリーID、そのカテゴリツリーに定義されたケイパビリティを示すケイパビリティリスト、このケイパビリティリストは図43(b)に示すように、例えば音声データ再生処理方式(A)が処理可能であれば[1]、処理不可能であれは[0]、音声データ再生処理方式(B)が処理可能であれば[1]、処理不可能であれは[0]…等、様々な態様のデータ処理についての可否を1ビットづつ[1]または[0]を設定して構成されている。なお、このケイパビリティ情報の設定方法はこのような形式に限らず、カテゴリツリーの管理デバイスについてのケイパビリティを識別可能であれば他の構成でもよい。
【0217】
ケイパビリティ管理テーブルには、さらに、各カテゴリツリーのサブEKB、あるいはサブEKBが別のデータベースに格納されている場合は、サブEKBの識別情報が格納され、さらに、各カテゴリツリーのサブルートノード識別データが格納される。
【0218】
キー発行センター(KDC)は、ケイパビリティ管理テーブルに基づいて、例えば特定のコンテンツの再生可能なデバイスのみが復号可能な有効化キーブロック(EKB)を生成する。図44を用いて、ケイパビリティ情報に基づく有効化キーブロックの生成処理について説明する。
【0219】
まず、ステップS4301において、キー発行センター(KDC)は、ケイパビリティ管理テーブルから、指定されたケイパビリティを持つカテゴリツリーを選択する。具体的には、例えばコンテンツプロバイダが音声データ再生処理方式Aに基づく再生可能なデータを配信したい場合は、図43(a)のケイパビリティリストから、例えば音声データ再生処理(方式A)の項目が[1]に設定されたカテゴリツリーを選択する。
【0220】
次に、ステップS4302において、選択されたカテゴリツリーによって構成される選択カテゴリツリーIDのリストを生成する。次に、ステップS4303で、選択カテゴリツリーIDによって構成されるツリーに必要なパス(キー配信ツリー構成のパス)を選択する。ステップS4304では、選択カテゴリツリーIDのリストに含まれる全てのパス選択が完了したか否かを判定し、完了するまで、ステップS4303においてパスを生成する。これは、複数のカテゴリツリーが選択された場合に、それぞれのパスを順次選択する処理を意味している。
【0221】
選択カテゴリツリーIDのリストに含まれる全てのパス選択が完了すると、ステップS4305に進み、選択したパスと、選択カテゴリツリーによってのみ構成されるキー配信ツリー構造を構築する。
【0222】
次に、ステップS4306において、ステップS4305で生成したツリー構造のノードキーの更新処理を行ない、更新ノードキーを生成する。さらに、ツリーを構成する選択カテゴリツリーのサブEKBをケイパビリティ管理テーブルから取り出し、サブEKBと、ステップS4306で生成した更新ノードキーとに基づいて選択カテゴリツリーのデバイスにおいてのみ復号可能な有効化キーブロック(EKB)を生成する。このようにして生成した有効化キーブロック(EKB)は、特定のケイパビリティを持つデバイスにおいてのみ利用、すなわち復号可能な有効化キーブロック(EKB)となる。この有効化キーブロック(EKB)で例えばコンテンツキーを暗号化して、そのコンテンツキーで特定プログラムに基づいて圧縮したコンテンツを暗号化してデバイスに提供することで、キー発行センター(KDC)によって選択された特定の処理可能なデバイスにおいてのみコンテンツが利用される。
【0223】
このようにキー発行センター(KDC)は、ケイパビリティ管理テーブルに基づいて、例えば特定のコンテンツの再生可能なデバイスのみが復号可能な有効化キーブロック(EKB)を生成する。従って、新たなカテゴリツリーが登録される場合には、その新規登録カテゴリツリーのケイパビリティを予め取得することが必要となる。このカテゴリツリー新規登録に伴うケイパビリティ通知処理について図45を用いて説明する。
【0224】
図45は、新規カテゴリツリーがキー配信ツリー構成に参加する場合のケイパビリティ通知処理シーケンスを示した図である。
【0225】
新たにツリー構成中に追加される新規(子)カテゴリツリー(N−En)は、上位(親)カテゴリツリー(P−En)に対して新規登録要求を実行する。なお、各カテゴリツリーは、公開鍵暗号方式に従った公開鍵を保有し、新規カテゴリツリーは自己の公開鍵を登録要求に際して上位カテゴリツリー(P−En)に送付する。
【0226】
登録要求を受領した上位カテゴリツリー(P−En)は、受領した新規(子)カテゴリツリー(N−En)の公開鍵を証明書発行局(CA:Certificate Authority)に転送し、CAの署名を付加した新規(子)カテゴリツリー(N−En)の公開鍵を受領する。これらの手続きは、上位カテゴリツリー(P−En)と新規(子)カテゴリツリー(N−En)との相互認証の手続きとして行われる。
【0227】
これらの処理により、新規登録要求カテゴリツリーの認証が終了すると、上位カテゴリツリー(P−En)は、新規(子)カテゴリツリー(N−En)の登録を許可し、新規(子)カテゴリツリー(N−En)のノードキーを新規(子)カテゴリツリー(N−En)に送信する。このノードキーは、上位カテゴリツリー(P−En)の末端ノードの1つのノードキーであり、かつ、新規(子)カテゴリツリー(N−En)の頂点ノード、すなわちサブルートキーに対応する。
【0228】
このノードキー送信が終了すると、新規(子)カテゴリツリー(N−En)は、新規(子)カテゴリツリー(N−En)のツリー構成を構築し、構築したツリーの頂点に受信した頂点ノードのサブルートキーを設定し、各ノード、リーフのキーを設定して、カテゴリツリー内の有効化キーブロック(サブEKB)を生成する。一方、上位カテゴリツリー(P−En)も、新規(子)カテゴリツリー(N−En)の追加により、有効化する末端ノードを追加した上位カテゴリツリー(P−En)内のサブEKBを生成する。
【0229】
新規(子)カテゴリツリー(N−En)は、新規(子)カテゴリツリー(N−En)内のノードキー、リーフキーによって構成されるサブEKBを生成すると、これを上位カテゴリツリー(P−En)に送信し、さらに、自己のカテゴリツリーで管理するデバイスについてのケイパビリティ情報を上位カテゴリツリーに通知する。
【0230】
新規(子)カテゴリツリー(N−En)からサブEKBおよびケイパビリティ情報を受信した上位カテゴリツリー(P−En)は、受信したサブEKBとケイパビリティ情報と、上位カテゴリツリー(P−En)の更新したサブEKBとをキー発行センター(KDC:Key Distribute Center)に送信する。
【0231】
キー発行センター(KDC)は、受領したカテゴリツリーのサブEKBおよびケイパビリティ情報とを図43で説明したケイパビリティ管理テーブルに登録し、ケイパビリティ管理テーブルを更新する。キー発行センター(KDC)は、更新したケイパビリティ管理テーブルに基づいて、様々な態様のEKB、すなわち特定のケイパビリティを持つカテゴリツリーあるいはデバイスのみが復号可能なEKBを生成することが可能となる。
【0232】
[EKBタイプ定義リストを使用したEKB管理構成]
次に、1以上の選択されたカテゴリツリーにおいて復号可能なEKBを生成して各カテゴリツリーに属するデバイスに共通に使用可能なEKBを提供する構成において、どのカテゴリツリーで処理可能、すなわち復号可能であるかを示すEKBタイプ定義リストを使用した構成について説明する。
【0233】
本構成においては、キー発行センター(KDC)は、コンテンツプロバイダなどのEKBの使用、発行処理を望むEKBリクエスタからEKB発行要求を受領する。EKB発行要求にはEKBタイプ定義リストに定義されたEKBタイプを示すEKBタイプ識別ナンバーが含まれ、キー発行センター(KDC)は、EKBタイプ識別ナンバーに従って1または複数のカテゴリツリーにおいて処理(復号)可能なEKBを生成する。
【0234】
EKBの生成に際しては、キー発行センター(KDC)は、EKBタイプ定義リストのEKBタイプ識別ナンバーに対応して設定された各カテゴリツリーのトップノード識別子に基づき、カテゴリツリー管理者としてのトップレベル・カテゴリ・エンティテイ(TLCE:Top Level Category Entity)にサブEKBの生成を要求し、各TLCEの生成したサブEKBを受領し、複数のサブEKBの合成処理を実行して複数のカテゴリツリーにおいて処理可能なEKBを生成する。
【0235】
本構成においては、コンテンツプロバイダ(CP)などのEKBの発行要求者は、EKBタイプ定義リストに基づいて特定のカテゴリツリーの選択を実行することが可能となる。コンテンツプロバイダ(CP)などのEKBの発行要求者は、EKBタイプ定義リストを参照して特定カテゴリツリーにおいて処理可能なEKBの発行をキー発行センター(KDC)に依頼する。キー発行センター(KDC)は、EKB発行要求に基づいて、選択されたカテゴリツリーの管理エンティテイに対してサブEKB発行要求を行ない、各選択されたカテゴリツリーの管理エンティテイは、管理エンティテイのリボークされていない正当なデバイスにおいてのみ処理可能なサブEKBを生成してキー発行センター(KDC)に送信する。キー発行センター(KDC)は、1以上のサブEKBを組み合わせてEKBの発行要求者の要求した選択カテゴリツリーにのみ処理可能なEKBを生成してEKB発行要求者に提供する。EKB発行要求者は、キー発行センター(KDC)からEKBを受領し、EKBの処理によって取得可能なキーでのみ復号可能な暗号化キー、または暗号化コンテンツの配信を実行する。
【0236】
まず、以下の説明における構成エンティテイについて簡単に説明する。
キー発行センター(KDC:Key Distribution Center)
有効化キーブロック(EKB)を発行し、発行したEKBに関するEKBタイプ定義リストを管理する。
【0237】
トップレベル・カテゴリ・エンティテイ(TLCE:Top Level Category Entity)
あるカテゴリツリーを管理するエンティテイ。たとえば記録デバイスのフォーマットホルダー。カテゴリツリーを管理し、管理下のカテゴリツリー内のデバイスにおいて処理(復号)可能なEKBであるサブEKBを生成し、キー発行センター(KDC)に提出する。
【0238】
EKB・リクエスタ(EKB requester)
たとえば、電子コンテンツ提供(ECD:Electronic Content Distribution)サービスを実行するコンテンツプロバイダ(CP)など、画像、音声、プログラムなど様々のコンテンツをユーザデバイスに対して提供するエンティテイ、あるいは記録メディアのフォーマットホルダーであり、提供コンテンツの暗号化キーなどにEKB処理によって取得可能なキーを用いる設定としてコンテンツ、メディアを提供する。この際に用いるEKBの発行要求をキー発行センター(KDC)に対して要求する。
【0239】
例えば、コンテンツプロバイダ(CP)は、キー発行センター(KDC)の生成したEKBのルートキー(Root Key)を用いて自分のコンテンツを暗号化して配信する。記録メディアのフォーマットホルダーは、EKBを記録メディアの製造時に書きこんで配布し、記録されるコンテンツがそのEKBのルートキー(Root Key)を用いて暗号化されるようにする。
【0240】
(TLCEとカテゴリベースのツリー管理)
カテゴリベースのツリー管理については、前述したが、トップレベル・カテゴリ・エンティテイ(TLCE)とカテゴリツリーの関係について、図46を用いて説明する。
【0241】
まず、カテゴリは、前述したように同じ性質を持ったデバイスの集合であり、具体的には、同じメーカー製のデバイス、あるいは同じエンコードフォーマットを扱えるデバイス等である。図46において、A、B、C、Dはそれぞれカテゴリツリーを示す。
【0242】
図46において、最上段のルートツリーは、例えば8段構成(ノード段数)であり、ルートツリーの最下段にカテゴリツリーのトップノードが設定される。カテゴリツリーは、複数が上位、下位の関係になることが可能であり、図46において、カテゴリツリーCは、カテゴリツリーDの上位に対応する。
【0243】
最上段のルートツリーに直接連なるカテゴリツリーをトップレベルカテゴリツリーと呼び、トップレベルカテゴリツリーを管理するエンティテイをトップレベル・カテゴリ・エンティテイ(TLCE)と呼ぶ。図46では、A、B、Cがトップレベルカテゴリであり、これらを管理するエンティテイがトップレベル・カテゴリ・エンティテイ(TLCE)である。トップレベル・カテゴリ・エンティテイ(TLCE)は、基本的に、自己のツリー以下全体を管理する責任がある。つまり、図46のツリーCを管理するTLCEは、ツリーCと同様ツリーDについての管理も実行する。D以下にさらに下層のカテゴリツリーが存在すればその下層カテゴリツリー管理も行なう。ただし、例えば下層のカテゴリツリーDを管理するカテゴリエンティティ(Sub Category Entity)を置いて、その責任と権利を委譲することも可能である。
【0244】
コンテンツの利用を行なう記録再生装置などの各デバイスは、トップレベル・カテゴリ・エンティテイ(TLCE)により、あるツリーのリーフにアサインされ、そのリーフからルートに至るパスの間のいくつかのノードの鍵を所有する。1つのデバイスが持つノードキーの組をデバイス・ノード・キー(DNK:Device Node Key)と呼ぶ。各デバイスが、何個の鍵を持つか(DNKに何個の鍵が含まれるか)はトップレベル・カテゴリ・エンティテイ(TLCE)が決定する。
【0245】
図47にキー発行センター(KDC)、トップレベル・カテゴリ・エンティテイ(TLCE)、EKB・リクエスタ各エンティテイの対応、処理の概要を説明する図を示す。
【0246】
キー発行センター(KDC)4511は、ツリー構成を用いたEKB配信システムの管理エンティテイ4510として位置づけられる。管理エンティテイ4510には、さらに、EKBに対する署名処理を実行する認証局(CA)4512がある。
【0247】
キー発行センター(KDC)4511は、トップレベルカテゴリツリーなどのサブツリーのキー管理を行ない、後述するEKBタイプ定義リストの管理、EKBの生成を実行する。認証局(CA)4512は、キー発行センター(KDC)の生成したEKBに署名を実行するともに、署名を施した秘密鍵に対応する公開鍵を署名検証用の鍵として発行する。
【0248】
キー発行センター(KDC)4511に対してEKBの発行要求を行なうのがEKBリクエスタ4520である。EKBリクエスタは、例えばコンテンツを格納したCD、DVDなどのメディアを提供するコンテンツ格納メディアに関するコンテンツプロバイダ(CP)、電子コンテンツの配信を実行するコンテンツプロバイダ(CP)、フラッシュメモリなどのストレージシステムのフオーマットについてのライセンスを提供するストレージシステムライセンサなどである。
【0249】
これらのEKBリクエスタ4520は、それぞれの提供するメデイア、コンテンツ、ライセンスの使用に際し、必要となるキーをEKB処理によって得られるキーとして設定したEKBをコンテンツ、メディア、ライセンスフォーマットなどに対応付けて提供する。EKBは、EKBリクエスタ4520からキー発行センター(KDC)4511に対するEKB発行要求に従ってキー発行センター(KDC)4511が生成する。
【0250】
EKBリクエスタ4520は、キー発行センター(KDC)4511に対する発行要求の結果として受領したEKBをメディア製造者4540、デバイス製造者4550に対して提供し、EKBを格納したメディア、またはデバイスをユーザに対して供給する処理が可能である。これらのEKBは、例えば1つまたは複数のカテゴリツリーにおいて処理可能なEKBとして生成される。
【0251】
本システムでは、複数、例えば2つあるいは3以上のカテゴリツリーにおいて共通に処理可能なEKBや、唯一のカテゴリツリーにおいてのみ処理可能なEKBなど、様々なタイプのEKBが生成され、使用される状況になる。このような様々なタイプのEKBについてリスト化したのがEKBタイプ定義リストである。EKBタイプ定義リストはキー発行センター(KDC)が管理する。EKBタイプ定義リストについては、後段で詳細に説明する。EKBリクエスタ4520は、EKBタイプ定義リストの要求をキー発行センター(KDC)4511に要求してリストを取得可能であり、また、リストのデータ変更があった場合は、キー発行センター(KDC)4511からEKBリクエスタ4520に対して通知される。
【0252】
トップレベル・カテゴリ・エンティテイ(TLCE)4530は、前述したようにルートツリーに連なるカテゴリツリーの管理エンティテイであり、サブツリーのキー管理、管理デバイスIDと各デバイスに格納されるEKB処理のためのノードキー・セットであるデバイス・ノード・キー(DNK)との対応リストを管理する。さらに管理下のデバイスに対応するデバイスを製造するデバイス製造者4550に対して、デバイス格納用のデバイス・ノード・キー(DNK)の生成、提供処理を実行する。
【0253】
キー発行センター(KDC)4511がEKBリクエスタ4520からEKB発行要求を受信すると、キー発行センター(KDC)4511は、発行要求に従ったEKBを生成する。生成するEKBが例えば2つのトップレベル・カテゴリツリーにおいて処理可能なEKBであった場合は、その2つのトップレベル・カテゴリ・エンティテイ(TLCE)4530に対してサブEKBの発行要求を送信し、サブEKBの発行要求を受信したトップレベル・カテゴリ・エンティテイ(TLCE)4530はそれぞれのカテゴリツリー内の正当デバイスがルートキー取得可能なサブEKBを生成してキー発行センター(KDC)4511に送信する。キー発行センター(KDC)4511は、TLCEから受信した1つまたは複数のサブEKBに基づいてEKBを生成する。サブEKBに基づくEKB生成処理については後段でさらに説明する。
【0254】
トップレベル・カテゴリ・エンティテイ(TLCE)4530は、EKBリクエスタ4520と同様、EKBタイプ定義リストの要求をキー発行センター(KDC)4511に要求してリストを取得可能である。
【0255】
トップレベル・カテゴリ・エンティテイ(TLCE)4530は、さらに、EKBタイプ定義リストの自己のツリーに関して定義されたタイプの削除要求をキー発行センター(KDC)4511に要求することができる。例えば他のカテゴリツリーと共有のEKBとして定義されたEKBタイプをリストから削除する要求である。トップレベル・カテゴリ・エンティテイ(TLCE)4530は、さらに、自己の管理するツリーに関する変更があった場合には、変更情報をキー発行センター(KDC)4511に通知する。これらの処理についてはフローを用いて後段で説明する。
【0256】
デバイス製造者4550は、2つの種類のデバイス製造者に区分される。1つは、製造するデバイスにデバイスノードキー(DNK)と、EKBの両データを格納したデバイスを製造するDNKEデバイス製造者4551であり、他方は、デバイスにデバイスノードキー(DNK)のみを格納したデバイスを製造するDNKデバイス製造者4552である。
【0257】
図48に図47に示すキー発行センター(KDC)、EKBリクエスタ、トップレベル・カテゴリ・エンティテイ(TLCE)それぞれの構成例をブロック図として示す。キー発行センター(KDC)はEKB発行情報処理装置、EKBリクエスタはEKB要求情報処理装置、トップレベル・カテゴリ・エンティテイ(TLCE)はカテゴリツリー管理情報処理装置として、基本的に暗号通信可能なデータ処理装置として構成される。
【0258】
各エンティテイを構成する情報処理装置は、それぞれ他エンティテイとの相互認証、データ通信時における暗号処理全般を司る暗号処理部を有する。暗号処理部内の制御部は、認証処理、暗号化/復号化処理等の暗号処理全般に関する制御を実行する制御部である。内部メモリは、相互認証処理、暗号化、復号化処理等、各種処理において必要となる鍵データ、識別データ等を格納する。識別データは、例えば他エンティテイとの相互認証処理等において用いられる。
【0259】
暗号/復号化部は、内部メモリに格納された鍵データ等を使用したデータ転送時の認証処理、暗号化処理、復号化処理、データの検証、乱数の発生などの処理を実行する。
【0260】
ただし、EKBリクエスタとしての情報処理装置においては、鍵の生成処理を自装置内では実行しない構成も可能である。この場合には、鍵の生成に必要な構成要素、例えば乱数発生装置などを省略可能となる。具体的には、EKBに含ませるルートキーを自ら生成して生成したルートキーを含むEKBの生成をキー発行センターに要求するEKBリクエスタとしての情報処理装置はルートキーを生成するための手段が必要となるが、EKBに含ませるルートキーを自ら生成せず、キー発行センターにルートキーの生成処理を要求し、キー発行センター(KDC)において生成したルートキーを含むEKB生成をキー発行センターに要求するEKBリクエスタとしての情報処理装置は乱数発生装置などの鍵生成処理に伴う構成要素が省略可能である。
【0261】
暗号処理部の内部メモリは、暗号鍵などの重要な情報を保持しているため、外部から不正に読み出しにくい構造にしておく必要がある。従って、暗号処理部は、外部からアクセスしにくい構造を持った例えば半導体チップで構成された耐タンパメモリとして構成される。
【0262】
各エンティテイは、これらの暗号処理機能の他に、中央演算処理装置(CPU:Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、入力部、表示部、データベースI/F、データベースを備えている。
【0263】
中央演算処理装置(CPU:Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)は、各エンティテイ本体の制御系として機能する構成部である。RAMは、CPUにおける各種処理用の主記憶メモリとして使用され、CPUによる処理のための作業領域として使用される。ROMは、CPUでの起動プログラム等が格納される。
【0264】
各エンティテイを構成する情報処理装置のデータベースまたはその他の記憶手段には、それぞれ各エンティテイの管理するデータ、例えばキー発行センター(KDC)であれば、発行したEKBに関する管理データ、さらにEKBタイプ定義リストなどが格納され、また、トップレベル・カテゴリ・エンティテイ(TLCE)のデータベースには、管理デバイスとデバイスノードキー(DNK)の対応など、カテゴリツリーに属するデバイスの管理データが格納され、EKBリクエスタのデータベースには、提供コンテンツとコンテンツに対して使用されているEKBとの関係を対応付けた管理データ、コンテンツの提供先デバイスについての管理データなどが格納される。なお、EKBタイプ定義リストは、EKBリクエスタ、トップレベル・カテゴリ・エンティテイ(TLCE)を構成する情報処理装置中にも格納し参照可能な状態とする構成が好ましい。あるいは、EKBリクエスタ、トップレベル・カテゴリ・エンティテイ(TLCE)のアクセス可能なキー発行センター(KDC)の管理するウェブ(Web)サイトに置く構成としてもよい。
【0265】
前述したように、デバイスは、EKB処理(復号)のためにデバイス・ノード・キー(DNK:Device Node Key)を使用する。1つのデバイスが持つデバイス・ノード・キー(DNK)について図49を用いて説明する。図49に示すツリーは1つのカテゴリツリーを示し、最下段がデバイスが対応付けられたリーフであり、例えばトップレベル・カテゴリ・エンティテイ(TLCE)の管理ツリーに相当する。さらに上段にはルートツリー(ex.8段構成)が連なっている。ここでデバイスは、図49に示すようにデバイスから上段に至るパス上のノードキーを有する。これらのキーセットをデバイス・ノード・キー(DNK)として保有し、デバイス・ノード・キー(DNK)を用いてEKBの復号を行なう。
【0266】
基本的に、1つのデバイスが1つのリーフに重ならないようにアサインされる。例外として、たとえばPCソフトなどのソフトウェアをリーフに対応付ける場合は、1つのバージョンのソフトウェア・パッケージがすべて1つのリーフにアサインされる場合もある。これもTLCEが決める。つまり、デバイスをどのようにリーフにアサインし、どのノードキーを持たせるかはTLCEが決める。
【0267】
トップレベル・カテゴリ・エンティテイ(TLCE)は、デバイス自体の提供業者(メーカー)である場合もあり、製造デバイスに対して予めデバイス・ノード・キー(DNK)を格納してユーザに提供(販売)することが可能である。すなわち、記録再生装置などのデバイスに対して予め、ある特定のカテゴリツリーのノードキーのセットをデバイス・ノード・キー(DNK)としてメモリに格納してユーザに提供(販売)することが可能である。
【0268】
(EKBタイプ定義リスト)
カテゴリ単位でのEKB配信については、すでに説明した通りであるが、複数のカテゴリに共通のEKB、すなわち異なるカテゴリツリーに属するデバイスにおいて処理可能なEKBを生成して発行した場合には、いくつかの問題点が発生する場合がある。
【0269】
例えば、ある再書き込み可能なメディア(記録媒体)例えば、携帯型フラッシュメモリのフォーマットのライセンシー(ライセンス受領者)として、A社とB社の異なる2社が存在し、メディア(携帯型フラッシュメモリ)のライセンサー(ライセンス許諾者)であるメーカーがトップレベルカテゴリとして存在し、その下にA社の管理するカテゴリツリーとB社の管理するカテゴリツリーがある構成において、A社とB社は相互のデバイスに互換性を持たせ、様々な配布コンテンツを共通に利用することを可能とするため、A社のカテゴリツリーとB社のカテゴリツリーの2つのカテゴリツリーの所属デバイスにおいて処理(復号)可能なEKBをキー発行センター(KDC)において生成し発行する。
【0270】
このような状況でA社の管理するカテゴリツリーに属する1つのデバイスのデバイス・ノード・キー(DNK)が漏洩してしまうと、そのデバイスノードキー(DNK)を利用してA社、B社の相互のデバイスにおいて利用可能とした配布コンテンツがすべて不正に利用されてしまう可能性が発生することになる。利用を排除するためには、リボーク処理としてのEKB更新処理が必要となるが、この場合、A社のカテゴリツリーに関するリボーク処理ではなく、A社およびB社の2つのカテゴリツリーに共通のEKBが存在するため、EKB更新処理はA社およびB社の2つのカテゴリツリーに関して実行することが必要となる。
【0271】
このように、複数のカテゴリツリーに共通のEKBを生成して提供した場合、1つのカテゴリツリー内でのリボーク処理、EKB更新処理のみではなく、共通するEKBを使用するすべての他のカテゴリツリーにおいてリボークに伴うEKB更新処理を実行することが必要となる。これはB社にとっては、自己の管理するデバイスと異なる他の管理カテゴリツリーの影響を受けることになり、処理負荷が高まることになってしまう。
【0272】
このような状況を解決するため、複数のカテゴリにおいて共通に使用可能なEKBの発行の許可権限を、それぞれのカテゴリを管理するカテゴリ・エンティテイが有する構成とする。つまり、互換性をとるために、相手のカテゴリに属するデバイスの不具合によって引き起こされる自分のカテゴリ内デバイスへのリスクを許容できる場合にのみ、互換性をとるEKBの発行を認め、リスクが許容できない場合は、共通に使用可能なEKBの発行、または使用を認めないものとする。
【0273】
このような処理を行なおうとすると、複数、例えば2つあるいは3以上のカテゴリツリーにおいて共通に処理可能なEKBや、唯一のカテゴリツリーにおいてのみ処理可能なEKBなど、様々なタイプのEKBが生成され、使用される状況になる。このような様々なタイプのEKBについてリスト化したのがEKBタイプ定義リストである。図50にEKBタイプ定義リストの例を示す。EKBタイプ定義リストはキー発行センター(KDC)が記録媒体に記録して管理する。また、EKBリクエスタ、TLCEに対しても必要に応じて提供または閲覧可能な状態におかれる。
【0274】
図50に示すように、EKBタイプ定義リストは、「EKBタイプ識別ナンバー」、「ノード」、「説明」の各フィールドを有し、「EKBタイプ識別ナンバー」は、EKBタイプ定義リストにリストアップされた様々な態様のEKBを識別するナンバーであり、識別ナンバーが異なれば、そのEKBを処理可能なカテゴリツリーまたはその組み合わせが異なる構成となっている。
【0275】
「ノード」フィールドは、EKBを適用可能なカテゴリツリーのトップノードIDを記録するフィールドである。例えばEKBタイプ識別ナンバー:1のEKBは、MS(MemoryStick:メモリスティック)のカテゴリツリーのトップノードIDが記録される。また、EKBタイプ識別ナンバー:3のEKBは、MS(MemoryStick:メモリスティック)のカテゴリツリーのトップノードIDとPHSのカテゴリツリーのトップノードIDが記録される。
【0276】
「説明」フィールドは、EKBタイプ定義リストにリストアップされた様々な態様のEKBの説明を記録するフィールドであり、例えばEKBタイプ識別ナンバー:1のEKBは、MS(MemoryStick:メモリスティック)用のEKBであることを示している。また、EKBタイプ識別ナンバー:3のEKBは、MS(MemoryStick:メモリスティック)とPHSのカテゴリツリーのデバイスに共通に使用可能なEKBであることを示している。
【0277】
図50に示すEKBタイプ定義リストはキー発行センター(KDC)が管理する。また、EKBの処理により取得可能なキーによって暗号化した暗号化キーまたは暗号化コンテンツ等の暗号化データ配信を行なおうとするエンティテイ、例えばコンテンツプロバイダは、図50に示すEKBタイプ定義リストを参照して、コンテンツの提供対象となるデバイスを含むカテゴリツリーによって処理可能なEKBタイプを選択し、そのEKBタイプ識別ナンバーを指定して、キー発行センター(KDC)にEKB生成処理を依頼する。
【0278】
ただし、EKBタイプ定義リストに対する様々なタイプのEKB登録処理においては、登録対象となるカテゴリツリーのトップレベル・カテゴリ・エンティテイ(TLCE)の承認が必要となる。例えばカテゴリツリーAのTLCE−Aが他のカテゴリと共有するEKBの発行を拒否すれば、カテゴリツリーAと他のカテゴリツリーの共有となるEKBのタイプはEKBタイプ定義リストに登録されない。
【0279】
例えばカテゴリツリーAのTLCE−A、カテゴリツリーBのTLCE−B、カテゴリツリーCのTLCE−Cの各々が共有のEKBの発行を承認すれば、これら3つのカテゴリツリーにおいて処理可能な共通のEKBのタイプがEKBタイプ定義リストに登録され、例えばコンテンツプロバイダがその登録タイプを示すEKBタイプ識別ナンバーを指定してキー発行センター(KDC)にEKB生成処理を依頼することが可能となる。
【0280】
つまり、EKBタイプ定義リストに新たなEKBタイプを登録し、そのEKBタイプに対応するEKBタイプ識別ナンバーを定義するためには、下記の処理が必要となる。
(1)定義しようとするEKBタイプ識別ナンバーに対応するEKBの適用対象となるカテゴリを管理するすべてのTLCEがEKBタイプ登録リクエストをキー発行センター(KDC)に送る。
(2)キー発行センター(KDC)は要求にある登録対象となるEKBを処理可能な1以上のカテゴリツリーのトップレベル・カテゴリ・エンティテイ(TLCE)のすべてが上記のEKBタイプ登録リクエストを送ってきたことを確認した後に、新たなEKBタイプ識別ナンバーを定義し、EKBタイプ定義リストに加える。
(3)キー発行センター(KDC)はEKBタイプ定義リストに変更があったことを知らせるため、EKBタイプ定義リスト変更通知を全TLCEおよびEKBリクエスタに送る。
【0281】
なお、EKBタイプ定義リストは、全TLCEおよびEKBリクエスタに送られ、またウェブ(Web)サイトに置かれるなどして全TLCEおよびEKBリクエスタに公開される。従って、TLCEおよびEKBリクエスタは、常に最新のEKBタイプ定義リストに登録されたEKBタイプ情報を取得することが可能となる。
【0282】
(EKBタイプ登録処理)
EKBタイプ定義リストに新たなEKBタイプを登録する際に、キー発行センター(KDC)の実行する処理を説明する処理フローを図51に示す。まず、キー発行センター(KDC)は、新たなEKBタイプの登録要求を行なうTLCEからのEKBタイプ登録リクエストを受信(S101)する。TLCEからのEKBタイプ登録リクエストには、登録要求EKBが共通に使用可能とするカテゴリ数が含まれる。キー発行センター(KDC)は、要求内のカテゴリ数に一致する数のカテゴリに対応するTLCEから同様のEKBタイプ登録リクエストを受領したか否かを判定(S102)し、要求内のカテゴリ数に一致する数のカテゴリに対応するTLCEからの要求を受理したことを条件として、EKBタイプ定義リストに対して要求に従った新たなEKBタイプを登録し、リストの更新処理、リストの更新通知処理(S103)を行なう。更新通知処理は、TLCEおよびEKBリクエスタに対して行われる。
【0283】
このように、キー発行センター(KDC)は、EKBタイプ定義リストに対するEKBタイプ識別子の新規登録処理において、登録予定のEKBタイプの処理可能なカテゴリツリーとして選択された1以上のカテゴリツリーを管理するすべてのカテゴリ・エンティテイの承認を条件として登録を行なう。
【0284】
なお、これらの処理において、キー発行センター(KDC)とTLCE、EKBリクエスタ間の通信においては必要に応じて相互認証処理、送信データの暗号化処理が行われる。また、その他のメッセージ暗号化処理、デジタル署名生成、検証処理を行なう構成としてもよい。なお、公開鍵暗号方式に基づく認証あるいは暗号通信を実行する場合は、各エンティテイ間において予め公開鍵を保有し合う手続きを行なっておく。
【0285】
(EKBタイプ無効化処理)
たとえば、あるカテゴリに属するすべての機器をリボークしなければならないときには、トップレベル・カテゴリ・エンティテイ(TLCE)はそのカテゴリが要素となっているEKBタイプを無効化する要求をキー配信センター(KDC)に出す必要がある。また、トップレベル・カテゴリ・エンティテイ(TLCE)は、たとえばあるサービスを停止するなどの理由で、現在登録されているEKBタイプを無効化する要求をKDCに出すことができる。
【0286】
このEKBタイプ無効化処理の流れを図52の処理フローに従って説明する。キー発行センター(KDC)は、EKBタイプの無効化要求を行なうTLCEからのEKBタイプ無効化リクエストを受信(S201)する。TLCEからのEKBタイプ無効化リクエストを受信すると、キー発行センター(KDC)は、そのリクエストにより無効化されるEKBタイプの要素となっているカテゴリを管理するTLCEがそのリクエストの発信者であることを確認した上で、EKBタイプ定義リスト内の無効化リクエストにおいて指定されたタイプに対応するEKBタイプ識別ナンバーを無効化してEKBタイプ定義リストを更新し、リストの更新通知処理(S202)を行なう。更新通知処理は、TLCEおよびEKBリクエスタに対して行われる。
【0287】
このように、キー発行センター(KDC)は、EKBタイプ定義リストに登録されたEKBタイプ識別子の無効化処理において、無効化予定のEKBタイプの処理可能なカテゴリツリーとして選択された1以上のカテゴリツリーを管理する少なくとも1つのカテゴリ・エンティテイの無効化要求を条件として無効化処理を行なう。この場合、他のカテゴリ・エンティテイの承認は必要としない。
【0288】
なお、これらの処理において、キー発行センター(KDC)とTLCE、EKBリクエスタ間の通信においては必要に応じて相互認証処理、送信データの暗号化処理が行われる。また、その他のメッセージ暗号化処理、デジタル署名生成、検証処理を行なう構成としてもよい。なお、公開鍵暗号方式に基づく認証あるいは暗号通信を実行する場合は、各エンティテイ間において予め公開鍵を保有し合う手続きを行なっておく。
【0289】
(EKBタイプ定義リスト変更通知処理)
たとえばあるカテゴリツリー内において、デバイスリボケーション(デバイス排除)や、あるデバイスが格納したDNKを新しいものに交換するデバイスノードキー(DNK)の更新などのツリー内の状態を変化させる処理をそのカテゴリツリーを管理するTLCEが行った場合、それらのデバイスを対象とするEKBを使用しているEKBリクエスタまたは関連TLCEに対して、これらの処理が起こったことを知らせる必要がある。
【0290】
なぜならば、デバイスリボケーションが起こったのにそれを知らせず、コンテンツプロバイダ(CP)が古いEKBを使いつづけてコンテンツを暗号化して配信したとすると、古いEKBでは、リボークされたデバイスにおいてもEKB処理(復号)が可能であり、コンテンツの不正利用が続けられる可能性があるからである。また、デバイスノードキー(DNK)の更新を行なった場合、通常は置きかえられた古いDNKは捨てられ、デバイスは新しいDNKを持つことになるが、この新しいDNKに対応したEKBをコンテンツプロバイダが使用しなければ、新しいDNKを持つデバイスはEKBを処理(復号)することができなくなり、コンテンツにアクセスできなくなってしまうからである。
【0291】
このような弊害を避けるため、
*デバイスリボケーションなどの結果として、EKBのタグパートに変更が生じた場合、
*デバイスノードキー(DNK)の更新などの結果として少なくともひとつの機器が持つDNKの値に変更が生じた場合、
これらの場合には、TLCEは、ツリー変更通知(Tree Change Notification)をキー発行センター(KDC)に送る必要がある。ツリー変更通知(Tree Change Notification)には、変更を要するEKBタイプ定義リストに登録済みのEKBタイプ識別ナンバー、EKBタイプ識別ナンバーに対応して登録されているどのカテゴリで起こったかを示す情報と、リボケーション、DNK更新の何が起こったかという情報が含まれる。
【0292】
EKBタイプ定義リスト変更通知処理の流れを図53の処理フローに従って説明する。キー発行センター(KDC)は、TLCEからツリー変更通知を受信(S301)する。TLCEからのツリー変更通知を受信すると、キー発行センター(KDC)は、EKBタイプ定義リストから、そのカテゴリを要素に持つEKBタイプ識別ナンバーを抽出し、どのEKBタイプ識別ナンバーに、どのような変化(ex.リボケーションか、DNK更新(リプレイスメント)か)が起こったかの情報を持つEKBタイプ定義リスト変更通知をすべてのTLCEおよびEKBリクエスタに対して行なう。なお、これらの処理において、キー発行センター(KDC)とTLCE、EKBリクエスタ間の通信においては必要に応じて相互認証処理、送信データの暗号化処理が行われる。また、その他のメッセージ暗号化処理、デジタル署名生成、検証処理を行なう構成としてもよい。なお、公開鍵暗号方式に基づく認証あるいは暗号通信を実行する場合は、各エンティテイ間において予め公開鍵を保有し合う手続きを行なっておく。
【0293】
(EKBタイプ定義リスト要求)
トップレベル・カテゴリ・エンティテイ(TLCE)やTLCE以外のサブカテゴリ・エンティテイ(SCE)、あるいはコンテンツプロバイダ等のEKBリクエスタは、最新版のEKBタイプ定義リストを知るために、EKBタイプ定義リストの送付をキー発行センター(KDC)に要求することができる。キー発行センター(KDC)はこの要求に対して、最新版のEKBタイプ定義リストを要求者に送り返す。
【0294】
EKBタイプ定義リスト要求処理の流れを図54の処理フローに従って説明する。キー発行センター(KDC)は、TLCE、サブカテゴリ・エンティテイ、またはEKBリクエスタのいずれかからEKBタイプ定義リスト要求を受信(S401)する。EKBタイプ定義リスト要求を受信すると、キー発行センター(KDC)は、最新のEKBタイプ定義リストを抽出し、要求処理を行なったエンティテイに対して最新のEKBタイプ定義リストを送信(S402)する。なお、これらの処理において、キー発行センター(KDC)とTLCE、サブカテゴリ・エンティテイ、EKBリクエスタ間の通信においては必要に応じて相互認証処理、送信データの暗号化処理が行われる。また、その他のメッセージ暗号化処理、デジタル署名生成、検証処理を行なう構成としてもよい。なお、公開鍵暗号方式に基づく認証あるいは暗号通信を実行する場合は、各エンティテイ間において予め公開鍵を保有し合う手続きを行なっておく。
【0295】
(EKB発行処理)
EKBの発行処理は、EKBリクエスタによるEKB発行要求に基づいて行われる。EKBリクエスタは、
[a]CD、DVDなどの、コンテンツ格納メディアを提供するコンテンツプロバイダ(CP)。
[b]電子情報配信(ECD:Electronic Content Distribution)サービスを提供するコンテンツプロバイダ。
[c]記録システムのフォーマットホルダー。
など、EKBの復号によって取得されるキーを用いてコンテンツの利用、フォーマットの使用を可能とするサービス、メディア、デバイスを提供するエンティテイである。
【0296】
上記の[c]記録システムのフォーマットホルダーには、
[c1]たとえば製造時に記録媒体にEKBを格納するようなフォーマットにおいて、記録媒体の製造業社に取得したEKBを与えるフォーマットホルダー。
[c2]たとえば製造時に記録デバイスにEKBを格納するようなフォーマットにおいて、記録デバイスの製造業社に取得したEKBを与えるフォーマットホルダー。
の2種類のフォーマットホルダーがある。
【0297】
EKB発行処理の手順について、以下説明する。
【0298】
(1)コンテンツキーの作成
まず、コンテンツプロバイダなどのEKBリクエスタは、自己の提供するコンテンツ、デバイス、メディアに対応して使用されるコンテンツキーを生成する。
例えばEKBリクエスタが、
[a]CD、DVDなどの、コンテンツ格納メディアを提供するコンテンツプロバイダ(CP)。
[b]電子情報配信(ECD:Electronic Content Distribution)サービスを提供するコンテンツプロバイダ。
である場合、
生成するコンテンツキーは、メディア上や電子情報配信(ECD)サービスにおいて、コンテンツを守る(暗号化する)鍵として使用される。
【0299】
また、EKBリクエスタが、
[c1]製造時に記録媒体にEKBを格納するようなフォーマットにおいて、記録媒体の製造業社に取得したEKBを与えるフォーマットホルダー。
である場合、コンテンツキーは、その記録媒体上に記録されるコンテンツを守る(暗号化する)鍵として使用される。
さらに、EKBリクエスタが、
[c2]製造時に記録デバイスにEKBを格納するようなフォーマットにおいて、記録デバイスの製造業社に取得したEKBを与えるフォーマットホルダー。
である場合、コンテンツキーは、その記録デバイスを用いて記録されるコンテンツを守る(暗号化する)鍵として使用される。
【0300】
なお、コンテンツキーを用いてコンテンツを保護するための暗号アルゴリズムなどのメカニズムは、各フォーマットごとに任意に決めることができる。
【0301】
(2)ルートキーの生成
EKBリクエスタはEKBの復号処理によって取得可能としたルートキーを生成する。なお、EKBリクエスタは自らはルートキーを生成せず、キー発行センター(KDC)に生成を依頼してもよい。ルートキーはコンテンツキーを保護する(暗号化する)ために使用される。なおルートキーを用いてコンテンツキーを保護するための暗号アルゴリズムなどのメカニズムは、各フォーマットごとに任意に決めることができる。
【0302】
(3)EKB発行要求
EKBリクエスタはEKBの発行要求をキー発行センター(KDC)に送る。
このリクエストには上記のルートキーおよび、EKBによりルートキーをどのカテゴリの機器に送るかという、EKBタイプ定義リストに登録されているEKBタイプ識別ナンバーのひとつが含まれる。EKBリクエスタは、自装置の記憶手段に格納したEKBタイプ定義リスト、あるいはネットワーク上の閲覧可能サイトから取得したEKBタイプ定義リストに基づいてコンテンツ提供などのサービスを提供する対象となるデバイスを含むカテゴリからなるEKBタイプを選択して、選択したEKBタイプを示すEKBタイプ識別ナンバーをEKB発行要求中に含ませてキー発行センター(KDC)に送信する。
【0303】
(4)EKB発行処理
キー発行センター(KDC)はEKBリクエスタからのEKB発行要求に基づき、EKB発行要求中にルートキーが含まれてい場合は、そのルートキーを含むEKBの生成を行ない、EKB発行要求中にルートキーが含まれず、ルートキー生成処理依頼がなされた場合は、KDCがルートキーを生成し、生成ルートキーを含むEKBを生成してEKBリクエスタに送信する。
【0304】
キー発行センターの生成するEKBは、単一のカテゴリツリーにおいて処理可能なEKBである場合と、複数のカテゴリツリーにおいて共通に処理可能なEKBである場合がある。キー発行センター(KDC)はEKB発行要求に含まれるEKBタイプ識別ナンバーに基づいて、そのEKBタイプ識別ナンバーの構成要素となっているカテゴリ、すなわちEKBタイプ定義リストにおいて、指定されたEKBタイプ識別ナンバーのノードフィールドに記録されたノードを抽出する。ノードフィールドにはカテゴリツリーのトップノードIDが記録されている。これは、そのカテゴリツリーの管理エンティテイに対応するノードIDである。このノードIDに基づいて、カテゴリツリーの管理エンティテイであるトップレベル・カテゴリ・エンティテイ(TLCE)に対し、サブEKBの発行要求を出す。サブEKBの発行要求にはルートキーと、各カテゴリを表す情報が含まれる。
【0305】
キー発行センター(KDC)からサブEKB発行要求を受け取ったTLCEは、指定された1つ以上のカテゴリ内の(リボークされていない)各機器から、最終的にルートキーを得られる構成を持つサブEKBを生成してキー発行センター(KDC)に送信する。
【0306】
トップレベル・カテゴリ・エンティテイ(TLCE)の生成するサブEKBは、バージョン番号やその検証用の情報(Version Check Value)を持たないほかは、通常のEKB(図6参照)と同様の構造を持つ情報の組である。ここで、サブEKBにおけるリーフキーやノードキーを用いて上位のノードキーやルートキーを暗号化するアルゴリズムや鍵長、モードは、サブEKBを生成する各TLCE(フォーマットホルダー)ごとに任意に決めることができる。これにより、他のフォーマットとは別個に独自のセキュリティ方式を用いることができる。また、デフォルトとしてたとえば 暗号アルゴリズムを FIPS46-2 のトリプルDES(Triple-DES)と決めておき、これに異存のないTLCEはトリプルDESアルゴリズムを適用する構成としてもよい。TLCEが任意に暗号アルゴリズムや鍵長を決める場合でも、別のTLCEが作ったサブEKBと合成されたEKBを、他のTLCEの支配下にある機器でも処理できるように、ひとつひとつの(暗号化された)鍵は、所定長、たとえば16バイト(16Byte)のデータで表すと決める。このように複数のカテゴリツリーで共通のEKBを生成する場合に所定のルールに従って、データを設定することにより、異なるカテゴリツリーの各機器は、EKBのタグを辿って、自分が何番目の鍵データが必要か判断可能となる。すなわちEKB内に含まれる鍵データの各々が16バイトであれば、自デバイスで処理可能な鍵データを順次抽出して処理することが可能となり、最終的にルートキーを取得することが可能となる。
【0307】
すなわち、サブEKBに基づいて生成される合成EKBは、複数のキー・データの各々が固定長のデータフィールド内に格納された構成を有する。従って、各々独自のアルゴリズム、独自のキー・データ長を持つサブ有効化キーブロック(サブEKB)に基づいて生成される合成EKBは、サブEKB内の複数の暗号化キーデータを、キーツリーにおけるノードまたはリーフ位置に応じて再配列して生成されても、EKBのタグを辿って必要なキー・データを順次取得可能となる。このような合成EKBは、ネットワークを介してあるいは様々な記録媒体に格納して、ユーザ(デバイス)に対して配信または提供される。
【0308】
キー発行センター(KDC)は、TLCEから送られてきたサブEKBを、必要に応じて組替え、合成し、バージョン番号と、その検証用の情報を付加して合成した合成EKBを完成させてEKBリクエスタに送信する。ただし公開鍵暗号技術を用いたデジタル署名は、キー発行センター(KDC)とは別の認証局(CA:Certificate Authority)に依頼する場合もある。
【0309】
サブEKBの生成、サブEKBから合成EKBの生成について、図を参照して説明する。図55は、カテゴリツリーA,5100とカテゴリツリーB,5200に共通の合成EKBを生成する処理において、カテゴリツリーA,5100のTLCEの生成するサブEKB−(A)の構成を説明する図である。サブEKB−(A)は、カテゴリツリーA,5100の各デバイスがルートキーを取得可能なEKBとして生成される。なお、図においてルートツリー領域5300は上述の説明では8段構成として説明してきたが、ここでは説明を簡略化するため2段構成としてある。
【0310】
図55において、ツリー構成内に記載されたアンダーラインを付加した3桁の数値[XXX]はEKB内のタグ(e,l,r)を示し、前述(図26,図27参照)したように、e=1はデータあり、e=0はデータなしを示し、l=1は左に枝なし、l=0は左に枝ありを示し、r=1は右に枝なし、r=0は右に枝ありを示している。
【0311】
図55のカテゴリツリーA,5100の各デバイス(リーフ)がルートキーを取得するためには、各リーフが共通に格納しているノードキーによってルートキーを暗号化したデータを格納したEKBを生成すればよい。各デバイスは、図55のカテゴリツリーA,5100のデバイスノードキー(DNK)領域5120のツリーの各パスのノードキーを保有しているので、DNK領域5120の最上段のノードキーでルートキーを暗号化したEKBを生成すればよい。
【0312】
従って、カテゴリツリーA,5100のTLCEの生成するサブEKB−(A)は、タグパート:101,010,000,111,111、キーパート:Enc(K010,Kroot),Enc(K011,Kroot)となるサブEKB−(A)となる。カテゴリツリーA,5100のTLCEは、このサブEKB−(A)をキー発行センター(KDC)に送信する。
【0313】
次に、カテゴリツリーB,5200の生成するサブEKB−(B)について図56を用いて説明する。カテゴリツリーB,5200の各デバイス(リーフ)がルートキーを取得するためには、各リーフが共通に格納しているノードキーによってルートキーを暗号化したデータを格納したEKBを生成すればよい。各デバイスは、図56のカテゴリツリーB5200のデバイスノードキー(DNK)領域5220のツリーの各パスのノードキーを保有しているので、DNK領域5220の最上段のノードキーでルートキーを暗号化したEKBを生成すればよい。
【0314】
従って、カテゴリツリーB,5200のTLCEの生成するサブEKB−(B)は、タグパート:110,010,000,111,111、キーパート:Enc(K110,Kroot),Enc(K111,Kroot)となるサブEKB−(B)となる。カテゴリツリーB,5200のTLCEは、このサブEKB−(B)をキー発行センター(KDC)に送信する。
【0315】
キー発行センターは、各TLCEの生成したサブEKB−(A)とサブEKB−(B)とから合成EKBを生成する。合成EKBの生成について図57を用いて説明する。合成EKBは、カテゴリツリーA,5100、およびカテゴリツリーB,5200の各ツリーに属するデバイスがルートキーを取得可能としたEKBとして構成される。基本的には、受領した複数のサブEKBの鍵データ配列を混合してツリー上段から揃える作業によって合成EKBが生成される。なお、同一段では左側を先とするデータ配列を行なう。
【0316】
この結果、合成EKBは、タグパート:100,010,010,000,000,111,111,111,111、キーパート:Enc(K010,Kroot),Enc(K011,Kroot),Enc(K110,Kroot),Enc(K111,Kroot)を持つEKBとして生成される。各キーパートの鍵データは前述したように各々例えば16バイトとして設定することにより、各カテゴリツリー内のデバイスは自デバイスで処理可能な鍵データ位置を検出可能であるので、合成EKBからルートキーを取得することが可能となる。
【0317】
以上は、いずれのカテゴリツリーにもリボークされたデバイスがない場合のサブEKBの生成および合成EKBの生成処理構成であるが、次に、リボークデバイスがある場合のサブEKBの生成および合成EKBの生成について説明する。
【0318】
図58は、カテゴリツリーA,5100にリボークデバイス(01101)5150が存在する場合のサブEKBの生成について説明する図である。この場合のサブEKBは、リボークデバイス(01101)5150のみが処理できないサブEKB−(A')として生成される。
【0319】
この場合、図の太線で示すパスを接続した鍵データ構成を持つサブEKBを生成することになる。従って、カテゴリツリーA,5100のTLCEの生成するサブEKB−(A')は、タグパート:101,010,000,111,000,001,111,111、キーパート:Enc(K010,Kroot),Enc(K0111,Kroot),Enc(K01100,Kroot)となるサブEKB−(A')となる。カテゴリツリーA,5100のTLCEは、このサブEKB−(A')をキー発行センター(KDC)に送信する。
【0320】
キー発行センターは、各TLCEの生成したサブEKB−(A')と、リボークデバイスのないカテゴリツリーB,5200のTLCEから受領したサブEKB−(B)(図56参照)とから合成EKBを生成する。合成EKBの生成について図59を用いて説明する。合成EKBは、カテゴリツリーA,5100のリボークデバイス(01101)5150を除くデバイス、およびカテゴリツリーB,5200のツリーに属するデバイスがルートキーを取得可能としたEKBとして構成される。基本的には、受領した複数のサブEKBの鍵データ配列を混合してツリー上段から揃える作業によって合成EKBが生成される。なお、同一段では左側を先とするデータ配列を行なう。
【0321】
この結果、合成EKBは、タグパート:100,010,010,000,000,111,000,111,111,001,111,111、キーパート:Enc(K010,Kroot),Enc(K110,Kroot),Enc(K111,Kroot),Enc(K0111,Kroot),Enc(K01100,Kroot)を持つEKBとして生成される。この合成EKBは、カテゴリツリーA,5100のリボークデバイス(01101)5150を除くデバイス、およびカテゴリツリーB,5200のツリーに属するデバイスがルートキーを取得可能なEKBである。
【0322】
(5)EKBの利用
上述のような処理によってキー発行センター(KDC)の生成したEKBは、EKBリクエスタに送信される。
例えばEKBリクエスタが、
[a]CD、DVDなどの、コンテンツ格納メディアを提供するコンテンツプロバイダ(CP)。
[b]電子情報配信(ECD:Electronic Content Distribution)サービスを提供するコンテンツプロバイダ。
である場合、
EKBによって取得可能なルートキーでコンテンツキーを暗号化し、コンテンツキーでユーザデバイスに提供するコンテンツを暗号化してコンテンツを流通させることになる。この構成により、EKBの処理可能な特定のカテゴリツリーに属するデバイスのみがコンテンツの利用が可能となる。
【0323】
また、EKBリクエスタが、
[c1]製造時に記録媒体にEKBを格納するようなフォーマットにおいて、記録媒体の製造業社に取得したEKBを与えるフォーマットホルダー。
である場合、生成したEKB、ルートキーで暗号化したコンテンツキーを記録媒体製造業者に提供して、EKBおよびルートキーで暗号化したコンテンツキーを格納した記録媒体を製造、あるいは自ら記録媒体を製造して流通させる。この構成により、EKBの処理可能な特定のカテゴリツリーに属するデバイスのみが記録媒体のEKBを利用したコンテンツ記録再生時の暗号化処理、復号処理が可能となる。
【0324】
さらに、EKBリクエスタが、
[c2]製造時に記録デバイスにEKBを格納するようなフォーマットにおいて、記録デバイスの製造業社に取得したEKBを与えるフォーマットホルダー。
である場合、生成したEKB、ルートキーで暗号化したコンテンツキーを記録デバイス製造業者に提供して、EKBおよびルートキーで暗号化したコンテンツキーを格納した記録デバイスを製造、あるいは自ら記録デバイスを製造して流通させる。この構成により、EKBの処理可能な特定のカテゴリツリーに属するデバイスのみがEKBを利用したコンテンツ記録再生時の暗号化処理、復号処理が可能となる。
【0325】
以上のような処理によってEKBが発行されることになる。なお、EKB発行処理プロセスにおける各エンティテイ、EKBリクエスタ、キー発行センター(KDC)、TLCE間の通信においては必要に応じて相互認証処理、送信データの暗号化処理が行われる。また、その他のメッセージ暗号化処理、デジタル署名生成、検証処理を行なう構成としてもよい。なお、公開鍵暗号方式に基づく認証あるいは暗号通信を実行する場合は、各エンティテイ間において予め公開鍵を保有し合う手続きを行なっておく。
【0326】
(サブEKBの単純集合を合成EKBとする構成例)
上述したサブEKBから合成EKBを生成する処理においては、個々のサブEKBに含まれる暗号化鍵データの配列を全体ツリーの上段から下段に至るように並び替える処理を行なっていた。次に、このような並び替え処理を実行することなく、各カテゴリツリーのTLCEの生成したサブEKBをそのまま合成EKBに順次格納して合成EKBを生成する構成について説明する。
【0327】
図60は、複数のカテゴリツリーのTLCEの生成したサブEKBをそのままの形で複数格納した合成EKB6000の例を示した図である。
【0328】
EKBの発行処理において、キー発行センター(KDC)は、EKBリクエスタによって指定されたEKBタイプ識別ナンバーに対応してEKBタイプ定義リストに記録されたカテゴリツリーの管理エンティテイであるTLCEに対してサブEKBの生成要求を発行し、各TLCEから提出されたサブEKB6110,6120…を単に集めて合成EKB内に格納する。ただし各カテゴリに属する機器がその合成EKB中からその機器が処理可能な自デバイスの属するカテゴリに対応するサブEKBを選択できるように、各サブEKB部分の大きさ(ex.データレングス)6111、そのサブEKBがどのカテゴリ用のものかを表すデータ(ex.ノードID)6112を付加する。
【0329】
すなわち、格納対象として選択されたサブEKBの各々には、サブEKB格納領域のデータ長を示すレングス、およびサブEKB識別データとしての各サブEKBの対応カテゴリツリーのノード識別子としてのノードIDが対応付けられて格納される。また合成EKBに含まれるサブEKBの数がヘッダ情報6200として付加される。合成EKBの全データに基づいて署名(ex.認証局(CA)の署名)6300が生成されて付加される。
【0330】
本方式に従って、前述の図57を用いた説明に対応する合成EKBを生成すると、図61に示すような合成EKBが生成されることになる。サブEKB6110の格納EKBは、図55で説明したカテゴリツリーAのTLCEの生成したサブEKB−(A)そのものであり、タグパート:101,010,000,111,111、キーパート:Enc(K010,Kroot),Enc(K011,Kroot)となる。また、サブEKB6120の格納EKBは、図56で説明したカテゴリツリーBのTLCEの生成したサブEKB−(B)そのものであり、タグパート:110,010,000,111,111、キーパート:Enc(K110,Kroot),Enc(K111,Kroot)となる。
【0331】
また、前述の図58、図59を用いて説明したリボークデバイスがある場合の合成EKBは、図62に示すデータ構成となる。サブEKB6110の格納EKBは、図58で説明したカテゴリツリーAのTLCEの生成したサブEKB−(A')そのものであり、サブEKB−(A')は、タグパート:101,010,000,111,000,001,111,111、キーパート:Enc(K010,Kroot),Enc(K0111,Kroot),Enc(K01100,Kroot)となる。また、リボークデバイスの発生していないサブEKB6120の格納EKBは、図56で説明したカテゴリツリーBのTLCEの生成したサブEKB−(B)そのものであり、タグパート:110,010,000,111,111、キーパート:Enc(K110,Kroot),Enc(K111,Kroot)となる。
【0332】
このような構成をとることにより、各カテゴリに属するデバイスは自己のデバイスが属するカテゴリに対応するサブEKBを選択して処理(復号)することが可能となる。従って、各カテゴリ(TLCE)ごとに、完全に任意の暗号アルゴリズムや鍵長を用いて、サブEKBを生成することができる。すなわち、他のカテゴリに左右されず、TLCEが暗号アルゴリズムや鍵長を決めることができる。
【0333】
キー発行センター(KDC)にとっては、各TLCEから集めたサブEKBのタグ、および鍵データ部分を分解、組み直ししなくてよくなり、負荷が軽くなる。
【0334】
この方式に従ったEKBを入手した機器は、自分が属するカテゴリのサブEKBを見つけ、それを、自デバイスを管理するTLCEが定める独自の方法で処理することによりルートキーを得ることができる。他のサブEKBを処理するための、他のカテゴリのTLCEが定めた方法は知る必要がなく、またサブEKBにおいて個々の鍵を固定長で表すなどの工夫が不要なため、理論的にはどの大きさの鍵でも用いることができるようになる。
【0335】
(リボケーション処理−(1))
複数カテゴリにおいて共通に使用可能なEKBを利用した処理におけるリボークの発生に際して実行される処理について、以下説明する。暗号化コンテンツをネットワークまたはメデイアによって外部から受領してEKBによって取得したキーを用いてコンテンツキーを取得してコンテンツ利用を行なう場合のリボーク処理についてまず説明する。
【0336】
図63を参照しながら説明する。カテゴリツリーA,7100とカテゴリツリーB,7200において共通に使用されるEKB7000が利用されている状況を想定する。また、カテゴリツリーA,7100とカテゴリツリーB,7200において共通に使用されるEKB7000はEKBタイプ定義リストでは、EKBタイプ識別ナンバーが#1に定義されているものとする。
【0337】
このような状況において、コンテンツプロバイダは、ネットワークまたはメデイアによってコンテンツキーで暗号化したコンテンツを提供し、カテゴリツリーA,7100とカテゴリツリーB,7200に属するデバイスは、EKB7000を用いてルートキーの取得、ルートキーによる復号処理によるコンテンツキーの取得、コンテンツキーによる暗号化コンテンツの取得を実行してコンテンツを利用している。
【0338】
この状況でカテゴリツリーA,7100に属するデバイスA1,7120の鍵データの漏洩など不正処理可能な状況が発覚し、デバイスA1,7120のリボークを行なうとする。
【0339】
この場合、カテゴリツリーA,7100のTLCEは、キー発行センター(KDC)に対してツリー変更通知(図53参照)を実行し、キー発行センター(KDC)は、受信したツリー変更通知に基づいて管理下の各TLCE、EKBリクエスタに対して通知する。この時点の通知は、ツリー変更通知を受領したことを知らせるのみであり、EKBタイプ定義リストの更新処理は実行されない。
【0340】
なお、リボーク発生に基づくツリー変更通知は、リボークの発生したカテゴリツリーにおいて処理可能なEKBを利用しているエンティテイとしてのEKBリクエスタに対してのみ、あるいはさらに、リボークの発生したカテゴリツリーと共有のEKBが適用されている他のカテゴリツリーを管理するカテゴリ・エンティテイに対してのみ実行する構成としてもよい。この処理を行なうため、キー発行センター(KDC)は、発行済みEKBの利用者リストとして、EKBタイプ識別ナンバーとそのEKBタイプを利用しているEKBリクエスタとを対応付けたリストを保有する。
【0341】
リボーク処理を実行したカテゴリツリーのデバイスを対象としてコンテンツの配信を実行しているEKBリクエスタとしてのコンテンツプロバイダは、リボーク処理対象以外のデバイスにおいてのみ処理可能な更新されたEKBを生成するようにキー発行センター(KDC)に対してEKB発行要求を行なう。この場合、EKBリクエスタとしてのコンテンツプロバイダは、カテゴリツリーA,7100とカテゴリツリーB,7200において共通に使用されるEKBのタイプとして定義されているEKBタイプ識別ナンバー#1を指定する。また、新たなルートキーをEKBリクエスタ自ら生成してKDCに送付するか、あるいは新たなルートキーの生成をKDCに依頼する。
【0342】
キー発行センター(KDC)は、指定されたEKBタイプ識別ナンバー#1に基づいて、EKBタイプ定義リストを参照し、対応するカテゴリツリーのノードに基づいてカテゴリツリーA,7100とカテゴリツリーB,7200のTLCEに対して新たなルートキーを正当なデバイスにおいて取得可能なサブEKBの生成を依頼する。
【0343】
カテゴリツリーA,7100とカテゴリツリーB,7200のTLCEの各々は、依頼に基づいてサブEKBを生成する。この場合、カテゴリツリーA,7100においてはリボークされたデバイスA1,7120を排除した他のデバイスにおいてのみ新規のルートキーを取得可能なサブEKB−(A)が生成される。カテゴリツリーB,7200ではリボークされたデバイスが存在しなければ、カテゴリに属するすべてのデバイスにおいて新規のルートキーを取得可能なサブEKB−(B)を生成してキー発行センター(KDC)に対して送信する。
【0344】
キー発行センター(KDC)は各TLCEから受信したサブEKBに基づいて合成EKBを前述した方法に従って生成し、生成したEKBをEKBリクエスタ(ex.コンテンツプロバイダ)に送信する。
【0345】
EKBリクエスタ(ex.コンテンツプロバイダ)はキー発行センター(KDC)から受領した新たなEKBを適用してコンテンツ配信を行なう。具体的にはコンテンツキーで暗号化したコンテンツを提供し、EKBの復号によって得られるルートキーでコンテンツキーを暗号化して提供する。カテゴリツリーA,7100とカテゴリツリーB,7200に属するデバイスは、EKBを用いてルートキーの取得、ルートキーによる復号処理によるコンテンツキーの取得、コンテンツキーによる暗号化コンテンツの取得を実行してコンテンツが利用可能である。ただし、カテゴリツリーA,7100のリボークデバイスA1,7120は更新されたEKBを処理できないのでコンテンツの利用ができなくなる。
【0346】
なお、上述の説明においては、キー発行センター(KDC)はTLCEからのツリー変更通知を受領した場合、その時点では、EKBタイプ定義リストの更新処理を実行しない例を説明したが、KDCがツリー変更通知を受領した時点で、キー発行センター(KDC)がツリー変更情報に基づいて、EKBタイプ定義リストの更新処理、EKB更新処理を実行し、各EKBリクエスタ、TLCEに更新されたEKBタイプ定義リストを送付する構成としてもよい。
【0347】
(リボケーション処理−(2))
次に、例えば記録デバイスあるいは記録媒体にEKBを格納した構成で、記録媒体に対してユーザが様々なコンテンツを暗号化して記録し暗号化処理、復号処理に必要となるキーを記録デバイスあるいは記録媒体に格納したEKBから取得されるルートキーを用いたものとするいわゆる自己記録型の形態におけるリボーク処理に伴う処理について説明する。
【0348】
図64を参照しながら説明する。カテゴリツリーA,8100とカテゴリツリーB,8200において共通に使用されるEKB8000が利用されている状況を想定する。すなわちカテゴリツリーA,8100とカテゴリツリーB,8200において共通に使用される記録デバイスあるいは記録媒体には、共通のEKBが格納され、ユーザは、EKBを利用したコンテンツ暗号化、復号処理によるコンテンツ記録再生を行なっているものとする。なお、カテゴリツリーA,8100とカテゴリツリーB,8200において共通に使用されるEKB8000はEKBタイプ定義リストでは、EKBタイプ識別ナンバーが#1に定義されているものとする。
【0349】
この状況でカテゴリツリーA,8100に属するデバイスA1,8120の鍵データの漏洩など不正処理可能な状況が発覚し、デバイスA1,8120のリボークを行なうとする。
【0350】
この場合、カテゴリツリーA,8100のTLCEは、キー発行センター(KDC)に対してツリー変更通知(図53参照)を実行し、キー発行センター(KDC)は、受信したツリー変更通知に基づいて管理下の各TLCE、関連EKBリクエスタに対して通知する。この時点の通知は、ツリー変更通知を受領したことを知らせるのみであり、EKBタイプ定義リストの更新処理は実行されない。
【0351】
リボーク処理を実行したカテゴリツリーのTLCEは、リボークデバイスA1,8120における将来におけるEKBを利用した新たなコンテンツ処理を停止させるため、自らEKBリクエスタとして、リボーク処理対象以外のデバイスにおいてのみ処理可能な更新されたEKBを生成するようにキー発行センター(KDC)に対してEKB発行要求を行なう。この場合、EKBリクエスタとしてのTLCEは、カテゴリツリーA,8100とカテゴリツリーB,8200において共通に使用されるEKBのタイプとして定義されているEKBタイプ識別ナンバー#1を指定する。また、新たなルートキーをEKBリクエスタ自ら生成してKDCに送付するか、あるいは新たなルートキーの生成をKDCに依頼する。
【0352】
キー発行センター(KDC)は、指定されたEKBタイプ識別ナンバー#1に基づいて、EKBタイプ定義リストを参照し、対応するカテゴリツリーのノードに基づいてカテゴリツリーA,8100とカテゴリツリーB,8200のTLCEに対して新たなルートキーを正当なデバイスにおいて取得可能なサブEKBの生成を依頼する。
【0353】
カテゴリツリーA,8100とカテゴリツリーB,8200のTLCEの各々は、依頼に基づいてサブEKBを生成する。この場合、カテゴリツリーA,8100においてはリボークされたデバイスA1,8120を排除した他のデバイスにおいてのみ新規のルートキーを取得可能なサブEKB−(A)が生成される。カテゴリツリーB,8200ではリボークされたデバイスが存在しなければ、カテゴリに属するすべてのデバイスにおいて新規のルートキーを取得可能なサブEKB−(B)を生成してキー発行センター(KDC)に対して送信する。
【0354】
キー発行センター(KDC)は各TLCEから受信したサブEKBに基づいて合成EKBを前述した方法に従って生成し、生成したEKBを各TLCE(ex.フォーマットホルダー)に送信する。
【0355】
各TLCE(ex.フォーマットホルダー)はキー発行センター(KDC)から受領した新たなEKBを各デバイスに配信して、EKBの更新を実行させる。カテゴリツリーA,8100とカテゴリツリーB,8200に属するデバイスは、新たなコンテンツの記録デバイスに対する記録を更新したEKBを用いて取得したルートキーを適用した暗号化処理として実行する。新たなEKBを用いて暗号化記録されたコンテンツは対応するEKBを適用した場合にのみ復号可能となるので、リボークされたデバイスにおいては利用不可能となる。
【0356】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【産業上の利用可能性】
【0357】
以上、説明したように、本発明の情報処理システムおよび方法によれば、カテゴリに基づいて区分され、カテゴリ・エンティテイによって管理されるサブツリーを複数有するキーツリーを構成し、キーツリーを構成するパスを選択して選択パス上の下位キーによる上位キーの暗号化処理データからなるEKBを生成してデバイスに提供する構成において、EKBタイプ識別子と、EKB処理可能な1以上のカテゴリツリーの識別データとを対応付けたEKBタイプ定義リストに基づいてEKBの発行管理を実行するように構成したので、EKB生成要求者としてのEKBリクエスタが容易に適用対象となるカテゴリを選択できる。
【0358】
また、本発明の情報処理システムおよび方法によれば、有効化キーブロック(EKB)の生成要求において、ルートキーを自ら生成する構成と、ルートキーの生成をキー発行センターに依頼する構成を選択的に実行可能としたので、EKB生成要求者の負担軽減が実現され、また、EKB発行センターにおけるEKB生成において、EKB生成要求時にサブEKBの生成をカテゴリ管理者であるカテゴリ・エンティテイに依頼する構成としたのでEKB生成、管理処理の効率化が可能となる。
【符号の説明】
【0359】
10 コンテンツ配信側
11 インターネット
12 衛星放送
13 電話回線
14 メディア
20 コンテンツ受信側
21 パーソナルコンピュータ(PC)
22 ポータブルデバイス(PD)
23 携帯電話、PDA
24 記録再生器
25 再生専用器
30 メディア
100 記録再生装置
110 バス
120 入出力I/F
130 MPEGコーデック
140 入出力I/F
141 A/D,D/Aコンバータ
150 暗号処理手段
160 ROM
170 CPU
180 メモリ
190 ドライブ
195 記録媒体
601 バージョン
602 デプス
603 データポインタ
604 タグポインタ
605 署名ポインタ
606 データ部
607 タグ部
608 署名
1101 記録デバイス
2301 ルートキー
2302 ノードキー
2303 リーフキー
2304 カテゴリノード
2306 サブカテゴリノード
2701 カテゴリツリー
2702 サブルート
2811,2851 サブルート
2812,2852 カテゴリツリー末端ノード
2901,2902 カテゴリツリー
2950 リザーブノード
2970 管理末端ノード
3011,3012,3013 カテゴリツリー
3021,3022,3023 リザーブノード
3201 末端ノード
3202 頂点ノード
3301,3302 末端ノード
3303 新規カテゴリツリー追加末端ノード
3410,3420,3430 カテゴリツリー
3411,3421,3431 サブルート
3432 リボークデバイスノード
3601 末端ノード
3710,3720,3730 カテゴリツリー
3711,3721,3731 サブルート
3901 末端ノード
3902 頂点ノード(サブルートノード)
4001〜4005 カテゴリツリー
4021,4022,4023 カテゴリツリー
4101〜4105 カテゴリツリー
4510 管理エンティテイ
4511 キー発行センター(KDC)
4520 EKBリクエスタ
4530 トップレベル・カテゴリ・エンティテイ(TLCE)
4540 メディア製造者
4550 デバイス製造者
4551 DNKEデバイス製造者
4552 DNKデバイス製造者
5100 カテゴリツリーA
5120 デバイスノードキー領域
5150 リボークデバイス
5200 カテゴリツリーB
5220 デバイスノードキー領域
5300 ルートツリー
6000 EKB
6110,6120 サブEKB
6111,6121 レングスデータ
6112,6122 カテゴリ識別データ
6200 ヘッダ情報
6300 署名データ
7000 EKB
7100 カテゴリツリーA
7120 リボークデバイス
7200 カテゴリツリーB
8000 EKB
8100 カテゴリツリーA
8120 リボークデバイス
8200 カテゴリツリーB

【特許請求の範囲】
【請求項1】
複数のデバイスをリーフとして構成したツリーのルートからリーフまでのパス上のルート、ノード、およびリーフに各々キーを対応付けたキーツリーを構成し、該キーツリーを構成するパスを選択して選択パス上の下位キーによる上位キーの暗号化処理データを有し、前記選択パスに対応するノードキーセットを利用可能なデバイスにおいてのみ復号可能とした有効化キーブロック(EKB)をデバイスに提供する構成を持つ情報処理システムであり、
前記キーツリーは、カテゴリに基づいて区分され、カテゴリ・エンティテイによって管理されるサブツリーとしてのカテゴリツリーを複数有する構成であり、
有効化キーブロック(EKB)を生成するキー発行センター(KDC)は、
EKB生成の要求エンティテイであるEKBリクエスタの要求に基づく有効化キーブロック(EKB)の生成において、生成する有効化キーブロック(EKB)の復号可能なカテゴリツリーを管理する1以上のカテゴリ・エンティテイに各カテゴリツリーにおいて処理可能なサブEKBの生成要求を出力し、カテゴリ・エンティテイから受領したサブ有効化キーブロック(サブEKB)に基づいて1以上のカテゴリツリーにおいて処理可能なEKBを生成する構成を有することを特徴とする情報処理システム。
【請求項2】
前記キー発行センター(KDC)は、
EKBタイプ識別子と、EKB処理可能なカテゴリツリーの識別データとを対応付けたEKBタイプ定義リストを有し、EKBの生成を要求するエンティテイであるEKBリクエスタから受領するEKB生成要求中に含まれるEKBタイプ識別子に基づくEKBタイプ定義リストの検索によりカテゴリツリーの識別データを抽出して、抽出されたカテゴリツリーの識別データに対応する1以上のカテゴリ・エンティテイの生成したサブEKBに基づいて、EKBタイプ定義リストに設定されたカテゴリツリーに共通に使用可能なEKBを生成して提供する構成であることを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記キー発行センター(KDC)からサブEKB生成要求を受領したカテゴリ・エンティテイは、自己の管理するカテゴリツリーに属するノードまたはリーフに対応付けられたキーに基づいて処理可能なEKBとしてのサブ有効化キーブロック(サブEKB)を生成する構成であることを特徴とする請求項1に記載の情報処理システム。
【請求項4】
前記キーツリーは、最上段に複数段のルートツリーが構成され、該ルートツリーに直結するトップレベル・カテゴリツリー、該トップレベル・カテゴリツリーの下段に連結されるサブカテゴリツリーによって構成され、
前記カテゴリ・エンティテイは、前記トップレベル・カテゴリツリーの管理エンティテイとして該トップレベル・カテゴリツリーおよび該トップレベル・カテゴリツリーの下段に連なるサブカテゴリツリーの管理を行ない、
前記カテゴリ・エンティテイは、自己の管理するトップレベル・カテゴリツリーおよび該トップレベル・カテゴリツリーの下段に連なるサブカテゴリツリーに属するノードまたはリーフに対応して設定されるキーに基づいて処理可能なEKBとしてのサブ有効化キーブロック(サブEKB)を生成する構成であることを特徴とする請求項1に記載の情報処理システム。
【請求項5】
複数のデバイスをリーフとして構成したツリーのルートからリーフまでのパス上のルート、ノード、およびリーフに各々キーを対応付けたキーツリーを構成し、該キーツリーを構成するパスを選択して選択パス上の下位キーによる上位キーの暗号化処理データを有し、前記選択パスに対応するノードキーセットを利用可能なデバイスにおいてのみ復号可能とした有効化キーブロック(EKB)をデバイスに提供する構成を持つシステムにおける情報処理方法であり、
前記キーツリーは、カテゴリに基づいて区分され、カテゴリ・エンティテイによって管理されるサブツリーとしてのカテゴリツリーを複数有する構成であり、
有効化キーブロック(EKB)を生成するキー発行センター(KDC)は、
EKB生成の要求エンティテイであるEKBリクエスタの要求に基づく有効化キーブロック(EKB)の生成において、生成する有効化キーブロック(EKB)の復号可能なカテゴリツリーを管理する1以上のカテゴリ・エンティテイに各カテゴリツリーにおいて処理可能なサブEKBの生成要求を出力し、カテゴリ・エンティテイから受領したサブ有効化キーブロック(サブEKB)に基づいて1以上のカテゴリツリーにおいて処理可能なEKBを生成することを特徴とする情報処理方法。
【請求項6】
前記キー発行センター(KDC)は、
EKBタイプ識別子と、EKB処理可能なカテゴリツリーの識別データとを対応付けたEKBタイプ定義リストを有し、EKBの生成を要求するエンティテイであるEKBリクエスタから受領するEKB生成要求中に含まれるEKBタイプ識別子に基づくEKBタイプ定義リストの検索によりカテゴリツリーの識別データを抽出して、抽出されたカテゴリツリーの識別データに対応する1以上のカテゴリ・エンティテイの生成したサブEKBに基づいて、EKBタイプ定義リストに設定されたカテゴリツリーに共通に使用可能なEKBを生成して提供する構成であることを特徴とする請求項5に記載の情報処理方法。
【請求項7】
前記キー発行センター(KDC)からサブEKB生成要求を受領したカテゴリ・エンティテイは、自己の管理するカテゴリツリーに属するノードまたはリーフに対応付けられたキーに基づいて処理可能なEKBとしてのサブ有効化キーブロック(サブEKB)を生成することを特徴とする請求項5に記載の情報処理方法。
【請求項8】
前記キーツリーは、最上段に複数段のルートツリーが構成され、該ルートツリーに直結するトップレベル・カテゴリツリー、該トップレベル・カテゴリツリーの下段に連結されるサブカテゴリツリーによって構成され、
前記カテゴリ・エンティテイは、前記トップレベル・カテゴリツリーの管理エンティテイとして該トップレベル・カテゴリツリーおよび該トップレベル・カテゴリツリーの下段に連なるサブカテゴリツリーの管理を行ない、
前記カテゴリ・エンティテイは、自己の管理するトップレベル・カテゴリツリーおよび該トップレベル・カテゴリツリーの下段に連なるサブカテゴリツリーに属するノードまたはリーフに対応して設定されるキーに基づいて処理可能なEKBとしてのサブ有効化キーブロック(サブEKB)を生成することを特徴とする請求項5に記載の情報処理方法。
【請求項9】
複数のデバイスをリーフとして構成したツリーのルートからリーフまでのパス上のルート、ノード、およびリーフに各々キーを対応付けたキーツリーを構成し、該キーツリーを構成するパスを選択して選択パス上の下位キーによる上位キーの暗号化処理データを有し、前記選択パスに対応するノードキーセットを利用可能なデバイスにおいてのみ復号可能とした有効化キーブロック(EKB)をデバイスに提供する構成を持つシステムにおける情報処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを記録したプログラム記録媒体であって、前記コンピュータ・プログラムは、
EKB生成要求に含まれるEKBタイプ識別子に基づいて、EKBタイプ識別子と、EKB処理可能な1以上のカテゴリツリーの識別データとを対応付けたEKBタイプ定義リストからカテゴリツリーの識別データを抽出するステップと、
抽出されたカテゴリツリーの識別データに対応するカテゴリツリーを管理する1以上のカテゴリ・エンティテイに各カテゴリツリーにおいて処理可能なサブ有効化キーブロック(サブEKB)の生成要求を出力するステップと、
カテゴリ・エンティテイから受領したサブ有効化キーブロック(サブEKB)に基づいて1以上のカテゴリツリーにおいて処理可能なEKBを生成するステップと、
を有することを特徴とするプログラム記録媒体。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図36】
image rotate

【図39】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図1】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図37】
image rotate

【図38】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図49】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate

【図58】
image rotate

【図59】
image rotate

【図60】
image rotate

【図61】
image rotate

【図62】
image rotate

【図63】
image rotate

【図64】
image rotate


【公開番号】特開2010−288291(P2010−288291A)
【公開日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願番号】特願2010−159592(P2010−159592)
【出願日】平成22年7月14日(2010.7.14)
【分割の表示】特願2000−395844(P2000−395844)の分割
【原出願日】平成12年12月26日(2000.12.26)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】