(57)【要約】【課題】  木構造を適用した暗号文提供構成において、様々な分割サブセットを設定して暗号文を生成し提供可能とする。【解決手段】  分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が、暗号文ブロック中に含むか否かのサブセット分割識別情報（パーティションビット）を、鍵指定コードの構成データである鍵指定情報中に含める構成とした。本構成により、分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することが可能となり、暗号文および鍵指定コードを受領した情報処理装置側においては、受領した暗号文が、分割サブセットに対応するサブセットキーを適用した暗号文であるか否かを判別して、鍵指定コードに基づいて、自己の復号対象の暗号文を選択することが可能となる。【選択図】  図１０
2005086747.tif 000002
【特許請求の範囲】
【請求項１】
暗号文生成処理を実行する情報処理装置であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成する処理を実行する構成を有し、
前記鍵指定コードは、前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、該鍵指定情報は、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を含む構成であることを特徴とする情報処理装置。
【請求項２】
前記鍵指定情報は、
前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを含む構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記多分木は３分木構成であり、
前記サブセット分割識別情報は、
前記鍵指定木の構成ノードに対応して設定される１ビット情報であり、
前記サブセット分割識別ビット情報０または１によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを示す構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記鍵指定情報は、さらに、
前記分割サブセットの分割態様を示す分割法指定情報を含む構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記多分木は３分木構成であり、
前記分割法指定情報は、
前記鍵指定木の構成ノードに対応して設定される２ビット情報であり、
前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様として、
ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを示す情報として設定する構成であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記鍵指定情報は、
ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、
上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記多分木は３分木構成であり、
前記鍵指定情報は、
３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データとして構成した情報であることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記鍵指定情報は、
前記鍵指定木の構成ノードがリーフに対応するか否かを示す１ビットのリーフビットと、
前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データと、
から構成される５ビットの情報であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成を有することを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
前記符号化データは、
前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報として設定した構成であることを特徴とする請求項６に記載の情報処理装置。
【請求項１１】
前記情報処理装置は、
前記暗号文ブロックと、前記鍵指定コードと、さらに、
前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を情報処理装置に対する提供情報として生成する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項１２】
暗号文復号処理を実行する情報処理装置であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力し、
前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得し、
該取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする情報処理装置。
【請求項１３】
前記鍵指定情報は、
前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロック中に含まれるか否かのサブセット分割識別情報としてのパーティションビットとを含み、
前記リーフビット、前記鍵指定ビット、および前記パーティションビットに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記多分木は３分木構成であり、
前記サブセット分割識別情報は、
前記鍵指定木の構成ノードに対応して設定される１ビット情報であり、
前記情報処理装置は、
前記サブセット分割識別ビット情報が０であるか１であるかによって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを判定する構成であることを特徴とする請求項１２に記載の情報処理装置。
【請求項１５】
前記情報処理装置は、
前記鍵指定情報の情報態様と各態様に対応する暗号文態様とを対応付けたテーブルを有し、該テーブルおよび前記取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項１２に記載の情報処理装置。
【請求項１６】
前記鍵指定情報は、さらに、
前記分割サブセットの分割態様を示す分割法指定情報を含み、
前記情報処理装置は、
前記分割法指定情報に基づいて、分割サブセットの分割態様を判別し、該判別情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項１２に記載の情報処理装置
【請求項１７】
前記多分木は３分木構成であり、
前記分割法指定情報は、
前記鍵指定木の構成ノードに対応して設定される２ビット情報であり、
前記情報処理装置は、
前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様が、ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを識別する処理を実行する構成であることを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
前記鍵指定情報は、
ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、
上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であり、
前記情報処理装置は、
前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項１２に記載の情報処理装置。
【請求項１９】
前記情報処理装置は、
前記符号化データのデータ態様と各態様に対応する暗号文態様とを対応付けたテーブルを有し、該テーブルおよび前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項１８に記載の情報処理装置。
【請求項２０】
前記多分木は３分木構成であり、
前記鍵指定情報は、
３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットに基づく符号化データを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データであり、
前記情報処理装置は、
前記４ビット符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項１８に記載の情報処理装置。
【請求項２１】
前記情報処理装置は、
前記暗号文ブロックと、前記鍵指定コードと、さらに、
前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を入力し、
前記鍵指定情報エンコード方法識別情報に基づいて、前記鍵指定コードのエンコード方法を識別し、該識別結果に基づく鍵指定コードの解析により、前記暗号文ブロックに含まれる暗号文から復号処理対象としての暗号文の選択処理を実行する構成を有することを特徴とする請求項１２に記載の情報処理装置。
【請求項２２】
情報記録媒体であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックと、
前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードと、
を格納し、
前記鍵指定コードは、前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、該鍵指定情報は、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を含む構成であることを特徴とする情報記録媒体。
【請求項２３】
前記鍵指定情報は、
前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを含む構成であることを特徴とする請求項２２に記載の情報記録媒体。
【請求項２４】
前記多分木は３分木構成であり、
前記サブセット分割識別情報は、
前記鍵指定木の構成ノードに対応して設定される１ビット情報であり、
前記サブセット分割識別ビット情報０または１によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを示す構成であることを特徴とする請求項２２に記載の情報記録媒体。
【請求項２５】
前記鍵指定情報は、さらに、
前記分割サブセットの分割態様を示す分割法指定情報を含む構成であることを特徴とする請求項２２に記載の情報記録媒体。
【請求項２６】
前記多分木は３分木構成であり、
前記分割法指定情報は、
前記鍵指定木の構成ノードに対応して設定される２ビット情報であり、
前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様として、
ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを示す情報であることを特徴とする請求項２５に記載の情報記録媒体。
【請求項２７】
前記鍵指定情報は、
ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、
上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データであることを特徴とする請求項２２に記載の情報記録媒体。
【請求項２８】
前記多分木は３分木構成であり、
前記鍵指定情報は、
３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データであることを特徴とする請求項２７に記載の情報記録媒体。
【請求項２９】
前記鍵指定情報は、
前記鍵指定木の構成ノードがリーフに対応するか否かを示す１ビットのリーフビットと、
前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データと、
から構成される５ビットの情報であることを特徴とする請求項２８に記載の情報記録媒体。
【請求項３０】
前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成を有することを特徴とする請求項２７に記載の情報記録媒体。
【請求項３１】
前記符号化データは、
前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報であることを特徴とする請求項２７に記載の情報記録媒体。
【請求項３２】
前記情報記録媒体は、
前記暗号文ブロックと、前記鍵指定コードと、さらに、
前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を格納した構成であることを特徴とする請求項２２に記載の情報記録媒体。
【請求項３３】
暗号文生成処理を実行する情報処理方法であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックの生成ステップと、
前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを生成する鍵指定コード生成ステップとを有し、
前記鍵指定コード生成ステップは、
前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報として、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を設定するサブセット分割識別情報設定ステップを含むことを特徴とする情報処理方法。
【請求項３４】
前記鍵指定コード生成ステップは、
前記鍵指定情報として、
前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを設定するステップを含むことを特徴とする請求項３３に記載の情報処理方法。
【請求項３５】
前記多分木は３分木構成であり、
前記鍵指定コード生成ステップは、
前記鍵指定情報に設定する前記サブセット分割識別情報を、
前記鍵指定木の構成ノードに対応して設定される１ビット情報として設定し、
前記サブセット分割識別ビット情報０または１によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを示す情報ビットとして設定することを特徴とする請求項３３に記載の情報処理方法。
【請求項３６】
前記鍵指定コード生成ステップは、
前記鍵指定情報として、さらに、
前記分割サブセットの分割態様を示す分割法指定情報を設定するステップを含むことを特徴とする請求項３３に記載の情報処理方法。
【請求項３７】
前記多分木は３分木構成であり、
前記鍵指定コード生成ステップは、
前記鍵指定情報に設定する前記分割法指定情報として、
前記鍵指定木の構成ノードに対応して設定される２ビット情報として設定し、
前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様として、
ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを示す情報として設定することを特徴とする請求項３６に記載の情報処理方法。
【請求項３８】
前記鍵指定コード生成ステップは、
ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、
上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データを前記鍵指定情報として生成する処理を含むことを特徴とする請求項３３に記載の情報処理方法。
【請求項３９】
前記多分木は３分木構成であり、
前記鍵指定コード生成ステップは、
３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データとして前記鍵指定情報を生成するステップを含むことを特徴とする請求項３８に記載の情報処理方法。
【請求項４０】
前記鍵指定コード生成ステップは、
前記鍵指定木の構成ノードがリーフに対応するか否かを示す１ビットのリーフビットと、
前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データと、
から構成される５ビットの情報を生成するステップを含むことを特徴とする請求項３９に記載の情報処理方法。
【請求項４１】
前記鍵指定コード生成ステップにおいて、
前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成として設定することを特徴とする請求項３８に記載の情報処理方法。
【請求項４２】
前記鍵指定コード生成ステップにおいて、
前記符号化データは、
前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報として設定することを特徴とする請求項３８に記載の情報処理方法。
【請求項４３】
前記情報処理方法は、
前記暗号文ブロックと、前記鍵指定コードと、さらに、
前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を情報処理装置に対する提供情報として生成するステップを有することを特徴とする請求項３３に記載の情報処理方法。
【請求項４４】
暗号文復号処理を実行する情報処理方法であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力するステップと、
前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得する鍵指定コード解析ステップと、
前記鍵指定コード解析ステップにおいて取得した取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行するステップと、
を有することを特徴とする情報処理方法。
【請求項４５】
前記鍵指定情報は、
前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロック中に含まれるか否かのサブセット分割識別情報としてのパーティションビットとを含み、
前記鍵指定コード解析ステップは、
前記リーフビット、前記鍵指定ビット、および前記パーティションビットに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報の取得処理を実行するステップであることを特徴とする請求項４４に記載の情報処理方法。
【請求項４６】
前記多分木は３分木構成であり、
前記サブセット分割識別情報は、
前記鍵指定木の構成ノードに対応して設定される１ビット情報であり、
前記鍵指定コード解析ステップは、
前記サブセット分割識別ビット情報が０であるか１であるかによって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを判定するステップを含むことを特徴とする請求項４４に記載の情報処理方法。
【請求項４７】
前記鍵指定コード解析ステップは、
前記鍵指定情報の情報態様と各態様に対応する暗号文態様とを対応付けたテーブルに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする請求項４４に記載の情報処理方法。
【請求項４８】
前記鍵指定情報は、さらに、
前記分割サブセットの分割態様を示す分割法指定情報を含み、
前記鍵指定コード解析ステップは、
前記分割法指定情報に基づいて、分割サブセットの分割態様を判別し、該判別情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする請求項４４に記載の情報処理方法。
【請求項４９】
前記多分木は３分木構成であり、
前記分割法指定情報は、
前記鍵指定木の構成ノードに対応して設定される２ビット情報であり、
前記鍵指定コード解析ステップは、
前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様が、ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを識別する処理を実行するステップを含むことを特徴とする請求項４８に記載の情報処理方法。
【請求項５０】
前記鍵指定情報は、
ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、
上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であり、
前記鍵指定コード解析ステップは、
前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする請求項４４に記載の情報処理方法。
【請求項５１】
前記鍵指定コード解析ステップは、
前記符号化データのデータ態様と各態様に対応する暗号文態様とを対応付けたテーブルに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする請求項５０に記載の情報処理方法。
【請求項５２】
前記多分木は３分木構成であり、
前記鍵指定情報は、
３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットに基づく符号化データを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データであり、
前記鍵指定コード解析ステップは、
前記４ビットデータに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項５０に記載の情報処理方法。
【請求項５３】
前記情報処理方法は、さらに、
前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を入力するステップと、
前記鍵指定情報エンコード方法識別情報に基づいて、前記鍵指定コードのエンコード方法を識別し、該識別結果に基づいて前記鍵指定コードの解析を実行するステップと、
を含むことを特徴とする請求項４４に記載の情報処理方法。
【請求項５４】
暗号文生成処理を実行するコンピュータ・プログラムであり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックの生成ステップと、
前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを生成する鍵指定コード生成ステップとを有し、
前記鍵指定コード生成ステップは、
前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報として、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を設定するサブセット分割識別情報設定ステップを含むことを特徴とするコンピュータ・プログラム。
【請求項５５】
暗号文復号処理を実行するコンピュータ・プログラムであり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力するステップと、
前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得する鍵指定コード解析ステップと、
前記鍵指定コード解析ステップにおいて取得した取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、木構造を適用した情報配信構成において、様々なサブセット、すなわち、ユーザデバイスとしての情報処理装置の集合を規定した様々なタイプのサブセットを設定した情報配信を可能とするとともに、情報処理装置側で効率的に自己の複合可能な暗号文を選択することを可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
昨今、音楽等のオーディオデータ、映画等の画像データ、ゲームプログラム、各種アプリケーションプログラム等、様々なソフトウエアデータ（以下、これらをコンテンツ（Content）と呼ぶ）が、インターネット等のネットワークを介して、あるいはＣＤ(Compact Disc)、ＤＶＤ(Digital Versatile Disk)、ＭＤ(Mini Disk)等の情報記録媒体（メディア）を介して流通している。これらの流通コンテンツは、ユーザの所有するＰＣ（Personal Computer）、ＣＤプレーヤ、ＤＶＤプレーヤ、ＭＤプレーヤ等の再生装置、あるいはゲーム機器等の様々な情報処理装置において再生され利用される。
【０００３】
音楽データ、画像データ等、多くのコンテンツは、一般的にその作成者あるいは販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。
【０００４】
特に、近年においては、情報をデジタル的に記録する記録装置や記憶媒体が普及しつつある。このようなデジタル記録装置および記憶媒体によれば、例えば画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーコンテンツのインターネットを介した配信や、ＣＤ−Ｒ等の記録媒体に対する不正コピーという問題が発生している。
【０００５】
このようなコンテンツの不正利用を防止する１つの方式として、コンテンツあるいは暗号化コンテンツを復号するための鍵を暗号化して配布し、特定の正規ユーザまたは正規デバイスのみが、配布データの復号を可能としたシステムがある。例えばブロードキャストエンクリプション（Broadcast Encryption）方式の一態様である階層型木構造を適用した構成が知られている。
【０００６】
階層型木構造を適用した暗号鍵等の暗号データ提供処理について、図を参照して説明する。
【０００７】
図１に示す階層型木構造は２分木を用いており、その最下層が葉（リーフ）と呼ばれ、頂点、各分岐部およびリーフを含む部分をノードと称する。なお、頂点をルート、あるいはルートノードと呼ぶ。図１に示す２分木階層型木構造において、リーフは８〜１５、ノードは１〜１５、ルートは１である。
【０００８】
この２分木階層型木構造におけるリーフ８〜１５にコンテンツの利用機器としての再生機、受信機等の情報処理装置を１つずつ割り当てる。
【０００９】
また、木の各ノード（リーフを含む）１〜１５にそれぞれノードキーを１つずつ割り当てる。リーフ８〜１５に割り当てるノードキーはリーフキーと呼ばれる場合もある。
【００１０】
リーフに対応する各情報処理装置には、対応するリーフからルートまでの経路にあるノードに割り当てられたノードキーが与えられる。図１の構成では、リーフ８から１５までに割り当てられた８台の情報処理装置があり、ノード１から１５までにそれぞれノードキーが割り当てられており、リーフ８に対応する情報処理装置１０１には、ノード１，２，４，８に割り当てられた４個のノードキーが与えられる。また、リーフ１２に対応する情報処理装置１０２には、ノード１，３，６，１２に割り当てられた４個のノードキーが与えられる。各情報処理装置は、これらのノードキーを安全に保管する。
【００１１】
このノードキーの配布処理を伴うセッティングを用いて、選択した情報処理装置のみが取得可能な情報を送信する方法を図２を参照して説明する。たとえば、特定の音楽、画像データ等のコンテンツを暗号化した暗号化コンテンツをブロードキャスト配信、あるいはＤＶＤ等の記録媒体に格納して誰でも取得可能な状態で流通させ、その暗号化コンテンツを復号するための鍵（コンテンツキーＫｃ）を特定のユーザ、すなわち正規なコンテンツ利用権を持つユーザまたは情報処理装置にのみ提供する構成を想定する。
【００１２】
図２に示すリーフ１４に割り当てられた情報処理装置を不正な機器として、排除（リボーク）し、それ以外の情報処理装置が正規な情報処理装置であるとする。この場合、リーフ１４に割り当てられた情報処理装置ではコンテンツキーＫｃを取得できないが、他の情報処理装置ではコンテンツキーＫｃを取得できる暗号文を生成して、その暗号文をネットワークを介してあるいは記録媒体に格納して配布する。
【００１３】
この場合、リボーク（排除）される情報処理装置が持つノードキー（図２では×印で表現）以外のノードキーのうち、できるだけ多数の情報処理装置に共有されているもの、すなわち木の上部にあるものをいくつか用いて、コンテンツキーを暗号化して送信すればよい。
【００１４】
図２に示す例では、ノード２，６，１５のノードキーを用いて、コンテンツキーＫｃを暗号化した暗号文のセットを生成して提供する。すなわち、
Ｅ（ＮＫ２，Ｋｃ），Ｅ（ＮＫ６，Ｋｃ），Ｅ（ＮＫ１５，Ｋｃ）
の暗号文を生成して、ネットワーク配信あるいは記録媒体に格納して提供する。なお、Ｅ（Ａ，Ｂ）はデータＢを鍵Ａで暗号化したデータを意味する。またＮＫｎは、図に示す第ｎ番のノードキーを意味する。従って、上記式は、
コンテンツキーＫｃをノードキーＮＫ２で暗号化した暗号化データＥ（ＮＫ２，Ｋｃ）と、コンテンツキーＫｃをノードキーＮＫ６で暗号化した暗号化データＥ（ＮＫ６，Ｋｃ）と、コンテンツキーＫｃをノードキーＮＫ１５で暗号化した暗号化データＥ（ＮＫ１５，Ｋｃ）と、を含む３つの暗号文のセットであることを意味している。
【００１５】
上記３つの暗号文を作り、例えば同報通信路を用いて全情報処理装置に送信すれば、リボーク対象でない情報処理装置（図２示すリーフ８〜１３および１５に対応する情報処理装置）はいずれかの暗号文を自分が持つノードキーで復号することが可能であり、コンテンツキーＫｃを得ることができる。しかし、リボーク（排除）されたリーフ１４に対応する情報処理装置は、上記の３つの暗号文に適用された３つのノードキーＮＫ２、ＮＫ６、ＮＫ１５のいずれも保有していないので、この暗号文を受領しても、復号処理を行うことができずコンテンツキーＫｃを得ることはできない。
【００１６】
ところで、上述した処理において、３つの暗号文Ｅ（ＮＫ２，Ｋｃ），Ｅ（ＮＫ６，Ｋｃ），Ｅ（ＮＫ１５，Ｋｃ）が各情報処理装置に提供されることになるが、リボークされていない各情報処理装置は、自分がどの暗号文を復号できるのかを調べ、その復号可能な暗号文を選択して復号処理を行う得ことが必要となる。上述の例では３つの暗号文の設定であるが、実際には、情報処理装置の数は膨大な数となり、情報処理装置に提供される暗号文の数も大量となる。従って、暗号文の先頭から順次、復号処理を繰り返し実行してみるといった処理は負担が大きくなる。
【００１７】
このため、暗号文の提供時に、各情報処理装置が選択すべき暗号文を知ることが可能な鍵指定コードを暗号文とともに各情報処理装置に提供する構成が提案されている。この構成については、例えば特許文献１に詳細が記述されている。
【００１８】
鍵指定コードを暗号文とともに各情報処理装置に提供する構成について、図３を参照して説明する。図３に示すように、暗号化に用いられたノードキーを木構造を用いて表し、その構造をコード化して鍵指定コードを作り、これを暗号文ブロックとともに同報送信する。情報処理装置は鍵指定コードを受領し、受領した鍵指定コードを解析することで自分がどの暗号文をどのノードキーを用いて復号すればよいかを知り、効率的に復号処理を行うことが可能となる。
【００１９】
鍵指定コードについて、説明する。図３は、先の図２と同様、リボーク（排除）機器をリーフ１４に対応する情報処理装置として、３つの暗号文、
Ｅ（ＮＫ２，Ｋｃ），Ｅ（ＮＫ６，Ｋｃ），Ｅ（ＮＫ１５，Ｋｃ）
を送信する場合の例を示している。
【００２０】
まず、図３において、太線で示した部分木は、暗号化に用いられたノードキーが割り当てられたすべてのノード１２１，１２２，１２３をリーフとし、もとの木構造のルート１２０をルートとする木であり、これを鍵指定木と呼ぶ。
【００２１】
鍵指定木の構造をデータで示すため、各ノードから、左右に枝が出ているかどうかを表す情報を設定する。
【００２２】
１つのノードにつき２ビットの情報（鍵指定情報）［００］［０１］［１０］［１１］のいずれかを用いて表現する。すなわち、あるノードにつけられた鍵指定情報の最初（左側）のビットが［１］ならばそのノードから左に枝が出ている（鍵指定木に左側の子ノードが存在する）ことを示し、［０］ならばそのノードから左に枝は出ていない（左側の子ノードは存在しない）ことを示す。鍵指定情報の最後（右側）は、同様に右側の枝の情報を表す。
【００２３】
すなわち、あるノードの鍵指定情報ビットが［１１］であればそのノードから両側に枝が出ていることを示し、［０１］であれば左側のみに、［１０］であれば右側のみに枝が出ていることを示す。また［００］は枝はいずれも出ておらず、そのノードが鍵指定木のリーフであることを示す。
【００２４】
すなわち、各ノードにおいて、左右に鍵指定木の枝があるか否かを２ビットの情報で示し、枝がある場合を［１］ない場合を［０］として、
左右とも枝ありの場合：［１１］
左にのみ枝ありの場合：［１０］
右にのみ枝ありの場合：［０１］
左右に枝なしの場合  ：［００］
として鍵指定情報ビットを設定する。
【００２５】
この鍵指定情報ビットを鍵指定木の上位層から順に、かつ同層については左から順に並べて、鍵指定コードを設定する。図３に示す構成の場合、鍵指定木は、ノードＮｏ．１，２，３，６，７，１５によって構成されているので、これらの各ノードの鍵指定情報ビットを順に並べたデータ、すなわち、
［１１００１１０００１００］
が、鍵指定コードとして設定される。
【００２６】
上述した例は、２分木ツリー構成における例であるが、３分木等、任意の分木数（ａ）を持つａ分木ツリーなどの多分木構成の場合についても、同様の鍵指定コードの設定が行われる。
【００２７】
図４にａ分木ツリーの構成例として３分木構成を示す。３分木のリーフに受信機、再生機、ＰＣなどのコンテンツ利用機器としての情報処理装置を１つずつ割り当てる。図４に示す例は、分木数ａ＝３、総情報処理装置数Ｎ＝２７の例である。
【００２８】
各情報処理装置は、それが割り当てられたリーフ番号ｊを用いて、ｕｊとして表現する。ただしｊ＝１４，１５，・・・４０である。また、木の各内部ノード（リーフ以外のノード）ｋについて、以下の２ａ−２個のサブセットを定める。
【数１】
2005086747.tif 000003
以下、簡潔に説明するため、ｂ１ｂ２・・・ｂａをＢと表す。
【００２９】
ａ＝３の例では、２ａ−２＝６であり、各内部ノードｋについて、
Ｓｋ，１００，Ｓｋ，０１０，Ｓｋ，００１，Ｓｋ，１１０，Ｓｋ，１０１，Ｓｋ，００１
の６個のサブセットを定める。
さらにルート（ノード１）についてのみ、サブセットＳ１，１１１を定める。
【００３０】
各サブセット
【数２】
2005086747.tif 000004
は、ノードｋの子ノードのうち左からｉ番目のものの子孫である情報処理装置を構成要素とする集合である。たとえば図４の例では、ノード１に規定される７つのサブセットＳ１，１１１，Ｓ１，１００，Ｓ１，０１０，Ｓ１，００１，Ｓ１，１１０，Ｓ１，１０１，Ｓ１，００１中、の２つを例とすると、
Ｓ１，１１１＝｛ｕ１４，ｕ１５，・・・ｕ４０｝
Ｓ１，１００＝｛ｕ１４，ｕ１５，・・・ｕ２２｝
である。
すなわち、Ｓ１，１１１は、すべてのリーフを含む集合である。
Ｓ１，１００は、ルートノードの左端の枝に属するリーフを含む集合である。
【００３１】
また、ノード５に規定される６つのサブセットＳ５，１００，Ｓ５，０１０，Ｓ５，００１，Ｓ５，１１０，Ｓ５，１０１，Ｓ５，００１中、の１つを例とすると、
Ｓ５，１０１＝｛ｕ１４，ｕ１６｝
である。
すなわち、Ｓ５，１０１は、ノード５の左端および右端の枝に属するリーフを含む集合である。
【００３２】
それぞれのサブセットＳｋ，Ｂに対して、サブセットキー［ＳＫｋ，Ｂ］がひとつずつ割り当てられ、各情報処理装置は自分が所属するサブセットのサブセットキーを与えられ、秘密に保管する。
【００３３】
たとえば、図４の例において、情報処理装置ｕ１４は、Ｓ１，１００，Ｓ１，１１０，Ｓ１，１０１，Ｓ１，１１１，Ｓ２，１００，Ｓ２，１１０，Ｓ２，１０１，Ｓ５，１００，Ｓ５，１１０，Ｓ５，１０１の１０個のサブセットに所属するので、それぞれのサブセットキーを与えられる。
【００３４】
すなわち、１０個のサブセットＳ１，１００，Ｓ１，１１０，Ｓ１，１０１，Ｓ１，１１１，Ｓ２，１００，Ｓ２，１１０，Ｓ２，１０１，Ｓ５，１００，Ｓ５，１１０，Ｓ５，１０１に対応する１０個のサブセットキーＳＫ１，１００，ＳＫ１，１１０，ＳＫ１，１０１，ＳＫ１，１１１，ＳＫ２，１００，ＳＫ２，１１０，ＳＫ２，１０１，ＳＫ５，１００，ＳＫ５，１１０，ＳＫ５，１０１を情報処理装置にセキュアに格納している。
【００３５】
このサブセットキーの情報処理装置に対する配布を伴うセッティングの後、例えばコンテンツ管理者等が選択した情報処理装置のみが取得可能な情報、例えばコンテンツキーを提供する方法を図５を参照して説明する。
【００３６】
いま、情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図５中の×印）をリボークし、それ以外の情報処理装置に情報（たとえば、コンテンツキーＫｃ）を送信するものとする。この場合、リボークされる情報処理装置が割り当てられたリーフからルートへの枝をすべて消すと、１つ以上の、それぞれ分離した部分木（図で太線で示す）が残る。それぞれの部分木には、その部分木のルートにおいて定義された１つのサブセットが対応しており、そのサブセットに対応するサブセットキーを用いてコンテンツキーを暗号化して暗号文ブロックを構成し同報送信する。
【００３７】
図５の構成を持つ部分木は、図に示すように、部分木１３１，１３２，１３３，１３４，１３５の５つの部分木であり、これら５つの部分木のルートは、ノード（１，３，９，１１，１２）である。従って、図５の例では、コンテンツキーの提供者としての送信者は、これらの部分木のルートにおいて定義された各部分木に対応する１つのサブセットに対応するサブセットキーを適用して暗号文ブロックを生成する。
【００３８】
すなわち、図５の例では、コンテンツキーの提供者としての送信者は、
Ｅ（ＳＫ１，１００，Ｋｃ），Ｅ（ＳＫ３，１０１，Ｋｃ），Ｅ（ＳＫ９，１００，Ｋｃ），Ｅ（ＳＫ１１，１０１，Ｋｃ），Ｅ（ＳＫ１２，１００，Ｋｃ）
の５つの暗号文をノードの番号順に並べたものを暗号文ブロックとし、送信する。この５つの暗号文の暗号化に適用したサブセットキー、すなわち、
ＳＫ１，１００，ＳＫ３，１０１，ＳＫ９，１００，ＳＫ１１，１０１，ＳＫ１２，１００，のいずれかを保有する情報処理装置のみが、暗号文を復号してコンテンツキーＫｃを取得できることになる。
【００３９】
図５に示す例では、部分木１３１，１３２，１３３，１３４，１３５の５つの部分木に属する情報処理装置の各々は、サブセットキーＳＫ１，１００，ＳＫ３，１０１，ＳＫ９，１００，ＳＫ１１，１０１，ＳＫ１２，１００，のいずれかを保持しており、コンテンツキーＫｃを取得することができる。
【００４０】
すなわち、
（１）部分木１３１に属するｕ１４〜ｕ２２は、サブセットキーＳＫ１，１００を有しており、暗号文Ｅ（ＳＫ１，１００，Ｋｃ）を復号してコンテンツキーＫｃを取得できる。
（２）部分木１３２に属するｕ２３〜ｕ２５、ｕ２９〜ｕ３１はサブセットキーＳＫ３，１０１を有しており、暗号文Ｅ（ＳＫ３，１０１，Ｋｃ）を復号してコンテンツキーＫｃを取得できる。
（３）部分木１３３に属するｕ２６は、サブセットキーＳＫ９，１００を有しており、暗号文Ｅ（ＳＫ９，１００，Ｋｃ）を復号してコンテンツキーＫｃを取得できる。
（４）部分木１３４に属するｕ３２、ｕ３４は、サブセットキーＳＫ１１，１０１を有しており、暗号文Ｅ（ＳＫ１１，１０１，Ｋｃ）を復号してコンテンツキーＫｃを取得できる。
（５）部分木１３５に属するｕ３５は、サブセットキーＳＫ１２，１００を有しており、暗号文Ｅ（ＳＫ１２，１００，Ｋｃ）を復号してコンテンツキーＫｃを取得できる。
【００４１】
一方、リボークされた情報処理装置ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図５中の×印）は、サブセットキーＳＫ１，１００，ＳＫ３，１０１，ＳＫ９，１００，ＳＫ１１，１０１，ＳＫ１２，１００，のいずれも保持しておらず、コンテンツキーＫｃを取得できない。
【００４２】
ところで、上述の処理においても、リボークされていない情報処理装置は、自分がどの暗号文を復号すべきかを知る必要があり、前述の２分木構成と同様の鍵指定コードを作り、これを暗号文ブロックとともに同報送信する。情報処理装置は鍵指定コードを受信し、それを解析することで自分がどの暗号文をどのノードキーを用いて復号すればよいかを知り、復号処理を行う。
【００４３】
３分木構成における鍵指定コードについて、図６を参照して説明する。図６において、太線で示された木は、鍵指定木であり、暗号化に用いられたサブセットキーに対応するサブセットが定義されたすべてのノード（１，３，９，１１，１２）を接続し、もとの木構造のルート（１）をルートとして設定し、これが鍵指定木となる。
【００４４】
鍵指定木の構造を、そのルートから、左からｉ番目の子に対して枝が出ているかどうかを表す１つのノードにつき３ビットの情報（チャイルドビット：Ｃｈｉｌｄ  ｂｉｔ）と、そのノードで定義されたサブセットキーが暗号化に用いられている場合にその種類を示す３ビットの情報（鍵指定ビット：Ｋｅｙ Ｓｐｅｃｉｆｙ Ｂｉｔ）から成る、合計６ビットの鍵指定情報を用いて表現する。
【００４５】
あるノードにつけられた鍵指定情報の最初の３ビット（チャイルドビット）は、
［１］ならばそのノードからそのビットの位置に対応する子ノードに対して枝が出ている（鍵指定木に対応する子ノードが存在する）ことを示し、
［０］ならばそのノードから対応する子ノードに対して枝は出ていない（対応する子ノードは存在しない）ことを示す。
例えば、あるノードの情報が、
［１１１］であれば、すべての子ノードに対して枝が出ている。
［１００］であれば、一番左側の子ノードにのみ枝が出ている。
［１１０］であれば、一番左と中央の子ノードに枝が出ている。
［０００］であれば、枝はいずれも出ておらず、そのノードが鍵指定木のリーフ（葉）であることを示す。
【００４６】
また、鍵指定情報の最後の３ビット（鍵指定ビット）は、そのノードに定義されたどのサブセットに対応するサブセットキーが、上記の暗号文ブロック中の暗号文を作るために用いられているかを示す。
【００４７】
すなわち、あるノードｋの鍵指定ビット情報が、
［１００］であればサブセットキーＳＫｋ，１００が適用された暗号文が含まれている。
［１１０］であればサブセットキーＳＫｋ，１１０が適用された暗号文が含まれている。
［０００］であれば、そのノードに対して定義されたサブセットに対応するサブセットキーは使用されていないことを示す。
【００４８】
図６に示すように、鍵指定木の各ノードにつけられた６ビットの鍵指定情報を、ノードの番号順に並べたものが鍵指定コードとなる。
【００４９】
図６の構成では、鍵指定木は、ノードＮｏ．１，３，４，９，１１，１２によって構成されているので、これらの各ノードの鍵指定情報ビットを順に並べたデータ、すなわち、
［０１１１０００１０１０１１１０００００００１０００００１０１０００１００］
が、鍵指定コードとして設定される。
【００５０】
しかし、このような鍵指定コードは、構成ビットが長くなるという欠点を有する。上述の構成では、鍵指定木は、ノードＮｏ．１，３，４，９，１１，１２の６ノードによって構成され、各ノード毎に６ビットの情報を持つので、鍵指定コードは６×６＝３６ビットとなる。鍵指定コードは、リーフ数の増加や、鍵指定木の構成の複雑化に伴い、さらに多くのビット数が必要になる。
【００５１】
そこで、鍵指定コードの情報量を削減する構成が提案された。図７を参照してその構成について説明する。図７に示す処理は、上述した６ビットの鍵指定コード中、前半の３ビットのチャイルドビットを１ビットのリーフビットｃとして置き換えたものである。
【００５２】
図７に示す鍵指定木の各ノード（１，３，４，９，１１，１２，１３）には、３ビットのチャイルドビットの代わりに１ビットのリーフビットｃが設定される。
【００５３】
リーフビットは、
［１］であるとき、鍵指定木のリーフであることを示す。
［０］であるとき、リーフ以外のノードであることを示す。
【００５４】
図７に示す例において鍵指定木中のリーフノードはノード（９，１１，１２，１３）であり、これらのノードのリーフビットは、［１］に設定される。それ以外のノード（１，３，４）のノードのリーフビットは、［０］に設定される。
【００５５】
リーフビットｃ＝１の場合には、そのノードは、部分木のリーフであり、そのノードから鍵指定木の枝は出ていない、また、リーフビットｃ＝０の場合には、そのノードは、部分木のリーフではなく、そのノードから鍵指定木の枝が出ている。どの枝が出ているかは、後半３ビットの鍵指定ビット情報によって判定される。すなわち、鍵指定ビット情報［ｄ，ｄ，ｄ］中、ｄ＝０として設定されたビットに対応する子ノードに枝がでている。
【００５６】
リーフビット＝ｃ、鍵指定ビット＝ｄｄｄとしたとき、例えばあるノードｋの鍵指定情報が、
ｃ，ｄｄｄ＝０，００１であれば、そのノードｋから左と中央の子ノードに対して枝が出ており、また、サブセットキーＳＫｋ，００１が暗号化に適用されていることを示す。
ｃ，ｄｄｄ＝０，１１０であれば、そのノードｋから右の子ノードに対して枝が出ており、また、サブセットキーＳＫｋ，１１０が暗号化に適用されていることを示す。
リーフビットｃ＝１の場合には、そのノードｋから枝が出ていないことを示す。暗号化に適用されているサブセットキーについての意味は同様であり、サブセットキーＳＫｋ，ｄｄｄが暗号化に適用されていることを示す。
【００５７】
図７に示す例、すなわち情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図７中の×印）をリボークし、それ以外の情報処理装置に情報（たとえば、コンテンツキーＫｃ）を送信するものとする。
【００５８】
この場合、図７に示すように、サブセットが定義されるノード、すなわち、ノード１，３，９，１１，１２，および，そのノードがルートとなる部分木に属する葉がすべてリボークされているノードのうち、他の同様の部分木の中間ノードになっていないノード、すなわち、ノード１３を連結した鍵指定木が設定され、設定された鍵指定木を構成する各ノード（１，３，４，９，１１，１２，１３）にリーフビット＝ｃ、鍵指定ビット＝ｄｄｄが以下のように設定される。
ノード１：（０，１００）
ノード３：（０，１０１）
ノード４：（０，０００）
ノード９：（１，１００）
ノード１１：（１，１０１）
ノード１２：（１，１００）
ノード１３：（１，０００）
【００５９】
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
［０１０００１０１００００１１００１１０１１１００１０００］
となり、２８ビット情報となる。
【００６０】
このように、リーフビットを適用することにより、先に図６を参照して説明した３ビットのチャイルドビットを適用した例では３６ビットの情報量となっていた鍵指定コードを２８ビットまで削減することができる。
【００６１】
なお、リボークする情報処理装置がない場合、全情報処理装置が保有するサブセットキーＳＫ１，１１１が用いられた暗号文が提供されるが、これを表現するためにはルートの鍵指定情報を１，１１１とすればよい。
【００６２】
ところで、このブロードキャストエンクリプションシステムに対する攻撃を考えてみる。たとえば、攻撃者が、ある情報処理装置をリバースエンジニアリングして、その情報処理装置が持つサブセットキーを取り出し、また情報処理装置の複製を製造して、取り出したサブセットキーをその複製情報処理装置において使うという状況がある。複製情報処理装置は、当然ながら海賊版業者などが作ったライセンス対象外の情報処理装置であり、ライセンス機器であれば行わない不正コピーや再生コンテンツのインターネットへの再配信などを行う可能性がある。そして、この複製情報処理装置がブラックマーケットで売買されるような状況を考える。また、そのサブセットキーを用いて攻撃者が受信ソフトウェアを作成し、インターネット上で配布するような状況も考えられる。
【００６３】
複製情報処理装置を入手できた場合、リバースエンジニアリングか、または非特許文献１に記載の方法を用いて、その複製情報処理装置で用いられているサブセットキーを特定することができる。
【００６４】
ここで、複製情報処理装置でリーフを１つだけ含むサブセットに対するサブセットキーが用いられていれば、そのサブセットキーを持つ正当な情報処理装置は１台しかないので、それ以降においてその情報処理装置をリボークすればよい。
【００６５】
しかし、複製情報処理装置が、そのようなサブセットキーを持たず、複数のリーフ（葉）を構成要素とするサブセットに対応するサブセットキー（たとえば、木の上位のノードに対して定義されたサブセットのサブセットキー）のみを格納し、そのサブセットキーを適用した処理を行っているとすると、そのサブセットキーは複数のリーフ（葉）に対応する複数の情報処理装置に共通に格納されているサブセットキーであるため、どの情報処理装置からサブセットキーが盗まれたかを特定することができない。
【００６６】
たとえば、図７の例、すなわち、情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図７中の×印）がリボークされている状態において、現在はリボークされていない情報処理装置ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１のいずれかが攻撃者によりリバースエンジニアリングされ、その情報処理装置が持つサブセットキーが露呈したが、攻撃者はそのうちのノード３において定義されたサブセットＳ３，１０１に対応するサブセットキーＳＫ３，１０１のみを使って複製情報処理装置を製造したとする。
【００６７】
この場合、ノード３において定義されたサブセットＳ３，１０１に対応するサブセットキーＳＫ３，１０１は、情報処理装置ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１のいずれにも共通に格納されたサブセットキーであるため、これらの情報処理装置中、どの情報処理装置が攻撃、すなわち不正に利用されたのか特定できないという問題が発生し、不正な情報処理装置を特定したリボーク処理ができなくなるという問題がある。
【特許文献１】特開２００１−３５２３２２号公報
【非特許文献１】Ｄ．Ｎａｏｒ，Ｍ．Ｎａｏｒ  ａｎｄ  Ｊ．Ｌｏｔｓｐｉｅｃｈ著，"Ｒｅｖｏｃａｔｉｏｎ  ａｎｄ  Ｔｒａｃｉｎｇ  Ｓｃｈｅｍｅｓ  ｆｏｒ  Ｓｔａｔｅｌｅｓｓ  Ｒｅｃｅｉｖｅｒｓ，"Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ−Ｃｒｙｐｔｏ  ２００１，Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  ２１３９，Ｓｐｒｉｎｇｅｒ，ｐｐ．４１−６２，２００１
【発明の開示】
【発明が解決しようとする課題】
【００６８】
本発明は、このような状況に鑑みてなされたものであり、木構造を用いた情報配信方式を適用した暗号文送信構成において、攻撃者による様々な攻撃が行なわれた場合、効率的にリボーク対象としてのリーフに対応する情報処理装置の特定を可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００６９】
より、具体的には鍵指定コードの構成情報として新たな情報を付加することで、様々なサブセットを設定した暗号文の提供を可能とし、暗号文を受領するユーザデバイスとしての情報処理装置において、本発明に従った鍵指定情報からなる鍵指定コードに基づいて、自己の保有するサブセットキーによって復号可能な暗号文を効率的に選択することを可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００７０】
本発明の第１の側面は、
暗号文生成処理を実行する情報処理装置であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成する処理を実行する構成を有し、
前記鍵指定コードは、前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、該鍵指定情報は、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を含む構成であることを特徴とする情報処理装置にある。
【００７１】
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを含む構成であることを特徴とする。
【００７２】
さらに、本発明の情報処理装置の一実施態様において、前記多分木は３分木構成であり、前記サブセット分割識別情報は、前記鍵指定木の構成ノードに対応して設定される１ビット情報であり、前記サブセット分割識別ビット情報０または１によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを示す構成であることを特徴とする。
【００７３】
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、さらに、前記分割サブセットの分割態様を示す分割法指定情報を含む構成であることを特徴とする。
【００７４】
さらに、本発明の情報処理装置の一実施態様において、前記多分木は３分木構成であり、前記分割法指定情報は、前記鍵指定木の構成ノードに対応して設定される２ビット情報であり、前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様として、ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを示す情報として設定する構成であることを特徴とする。
【００７５】
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であることを特徴とする。
【００７６】
さらに、本発明の情報処理装置の一実施態様において、前記多分木は３分木構成であり、前記鍵指定情報は、３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データとして構成した情報であることを特徴とする。
【００７７】
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示す１ビットのリーフビットと、前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データと、から構成される５ビットの情報であることを特徴とする。
【００７８】
さらに、本発明の情報処理装置の一実施態様において、前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成を有することを特徴とする。
【００７９】
さらに、本発明の情報処理装置の一実施態様において、前記符号化データは、前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報として設定した構成であることを特徴とする。
【００８０】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記暗号文ブロックと、前記鍵指定コードと、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を情報処理装置に対する提供情報として生成する処理を実行する構成であることを特徴とする。
【００８１】
さらに、本発明の第２の側面は、
暗号文復号処理を実行する情報処理装置であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力し、
前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得し、
該取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする情報処理装置にある。
【００８２】
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロック中に含まれるか否かのサブセット分割識別情報としてのパーティションビットとを含み、前記リーフビット、前記鍵指定ビット、および前記パーティションビットに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
【００８３】
さらに、本発明の情報処理装置の一実施態様において、前記多分木は３分木構成であり、前記サブセット分割識別情報は、前記鍵指定木の構成ノードに対応して設定される１ビット情報であり、前記情報処理装置は、前記サブセット分割識別ビット情報が０であるか１であるかによって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを判定する構成であることを特徴とする。
【００８４】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記鍵指定情報の情報態様と各態様に対応する暗号文態様とを対応付けたテーブルを有し、該テーブルおよび前記取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
【００８５】
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、さらに、前記分割サブセットの分割態様を示す分割法指定情報を含み、前記情報処理装置は、前記分割法指定情報に基づいて、分割サブセットの分割態様を判別し、該判別情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
【００８６】
さらに、本発明の情報処理装置の一実施態様において、前記多分木は３分木構成であり、前記分割法指定情報は、前記鍵指定木の構成ノードに対応して設定される２ビット情報であり、前記情報処理装置は、前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様が、ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを識別する処理を実行する構成であることを特徴とする。
【００８７】
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であり、前記情報処理装置は、
前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
【００８８】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記符号化データのデータ態様と各態様に対応する暗号文態様とを対応付けたテーブルを有し、該テーブルおよび前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
【００８９】
さらに、本発明の情報処理装置の一実施態様において、前記多分木は３分木構成であり、前記鍵指定情報は、３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットに基づく符号化データを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データであり、前記情報処理装置は、前記４ビット符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
【００９０】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記暗号文ブロックと、前記鍵指定コードと、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を入力し、前記鍵指定情報エンコード方法識別情報に基づいて、前記鍵指定コードのエンコード方法を識別し、該識別結果に基づく鍵指定コードの解析により、前記暗号文ブロックに含まれる暗号文から復号処理対象としての暗号文の選択処理を実行する構成を有することを特徴とする。
【００９１】
さらに、本発明の第３の側面は、
情報記録媒体であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックと、
前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードと、
を格納し、
前記鍵指定コードは、前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、該鍵指定情報は、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を含む構成であることを特徴とする情報記録媒体にある。
【００９２】
さらに、本発明の情報記録媒体の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを含む構成であることを特徴とする。
【００９３】
さらに、本発明の情報記録媒体の一実施態様において、前記多分木は３分木構成であり、前記サブセット分割識別情報は、前記鍵指定木の構成ノードに対応して設定される１ビット情報であり、前記サブセット分割識別ビット情報０または１によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを示す構成であることを特徴とする。
【００９４】
さらに、本発明の情報記録媒体の一実施態様において、前記鍵指定情報は、さらに、前記分割サブセットの分割態様を示す分割法指定情報を含む構成であることを特徴とする。
【００９５】
さらに、本発明の情報記録媒体の一実施態様において、前記多分木は３分木構成であり、前記分割法指定情報は、前記鍵指定木の構成ノードに対応して設定される２ビット情報であり、前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様として、ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを示す情報であることを特徴とする。
【００９６】
さらに、本発明の情報記録媒体の一実施態様において、前記鍵指定情報は、ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データであることを特徴とする。
【００９７】
さらに、本発明の情報記録媒体の一実施態様において、前記多分木は３分木構成であり、前記鍵指定情報は、３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データであることを特徴とする。
【００９８】
さらに、本発明の情報記録媒体の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示す１ビットのリーフビットと、前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データと、から構成される５ビットの情報であることを特徴とする。
【００９９】
さらに、本発明の情報記録媒体の一実施態様において、前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成を有することを特徴とする。
【０１００】
さらに、本発明の情報記録媒体の一実施態様において、前記符号化データは、前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報であることを特徴とする。
【０１０１】
さらに、本発明の情報記録媒体の一実施態様において、前記情報記録媒体は、前記暗号文ブロックと、前記鍵指定コードと、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を格納した構成であることを特徴とする。
【０１０２】
さらに、本発明の第４の側面は、
暗号文生成処理を実行する情報処理方法であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックの生成ステップと、
前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを生成する鍵指定コード生成ステップとを有し、
前記鍵指定コード生成ステップは、
前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報として、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を設定するサブセット分割識別情報設定ステップを含むことを特徴とする情報処理方法にある。
【０１０３】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップは、前記鍵指定情報として、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを設定するステップを含むことを特徴とする。
【０１０４】
さらに、本発明の情報処理方法の一実施態様において、前記多分木は３分木構成であり、前記鍵指定コード生成ステップは、前記鍵指定情報に設定する前記サブセット分割識別情報を、前記鍵指定木の構成ノードに対応して設定される１ビット情報として設定し、前記サブセット分割識別ビット情報０または１によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを示す情報ビットとして設定することを特徴とする。
【０１０５】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップは、前記鍵指定情報として、さらに、前記分割サブセットの分割態様を示す分割法指定情報を設定するステップを含むことを特徴とする。
【０１０６】
さらに、本発明の情報処理方法の一実施態様において、前記多分木は３分木構成であり、前記鍵指定コード生成ステップは、前記鍵指定情報に設定する前記分割法指定情報として、前記鍵指定木の構成ノードに対応して設定される２ビット情報として設定し、前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様として、ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを示す情報として設定することを特徴とする。
【０１０７】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップは、ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データを前記鍵指定情報として生成する処理を含むことを特徴とする。
【０１０８】
さらに、本発明の情報処理方法の一実施態様において、前記多分木は３分木構成であり、前記鍵指定コード生成ステップは、３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データとして前記鍵指定情報を生成するステップを含むことを特徴とする。
【０１０９】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップは、前記鍵指定木の構成ノードがリーフに対応するか否かを示す１ビットのリーフビットと、前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データと、から構成される５ビットの情報を生成するステップを含むことを特徴とする。
【０１１０】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップにおいて、前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成として設定することを特徴とする。
【０１１１】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップにおいて、前記符号化データは、前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報として設定することを特徴とする。
【０１１２】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、前記暗号文ブロックと、前記鍵指定コードと、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を情報処理装置に対する提供情報として生成するステップを有することを特徴とする。
【０１１３】
さらに、本発明の第５の側面は、
暗号文復号処理を実行する情報処理方法であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力するステップと、
前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得する鍵指定コード解析ステップと、
前記鍵指定コード解析ステップにおいて取得した取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行するステップと、
を有することを特徴とする情報処理方法にある。
【０１１４】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロック中に含まれるか否かのサブセット分割識別情報としてのパーティションビットとを含み、前記鍵指定コード解析ステップは、前記リーフビット、前記鍵指定ビット、および前記パーティションビットに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報の取得処理を実行するステップであることを特徴とする。
【０１１５】
さらに、本発明の情報処理方法の一実施態様において、前記多分木は３分木構成であり、前記サブセット分割識別情報は、前記鍵指定木の構成ノードに対応して設定される１ビット情報であり、前記鍵指定コード解析ステップは、前記サブセット分割識別ビット情報が０であるか１であるかによって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する１つのサブセットキーを適用した暗号文を持つかを判定するステップを含むことを特徴とする。
【０１１６】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード解析ステップは、前記鍵指定情報の情報態様と各態様に対応する暗号文態様とを対応付けたテーブルに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする。
【０１１７】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定情報は、さらに、前記分割サブセットの分割態様を示す分割法指定情報を含み、前記鍵指定コード解析ステップは、前記分割法指定情報に基づいて、分割サブセットの分割態様を判別し、該判別情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする。
【０１１８】
さらに、本発明の情報処理方法の一実施態様において、前記多分木は３分木構成であり、前記分割法指定情報は、前記鍵指定木の構成ノードに対応して設定される２ビット情報であり、前記鍵指定コード解析ステップは、前記分割法指定情報としてのビット情報００〜１１によって、前記ノードに設定された枝ａ，ｂ，ｃの分割態様が、ａｂとｃ、ａｃとｂ、ａとｂｃ、またはａとｂとｃのいずれの分割態様であるかを識別する処理を実行するステップを含むことを特徴とする。
【０１１９】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定情報は、ａ．前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、ｂ．該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、ｃ．前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、ａ．鍵指定ビット、ｂ．パーティションビット、ｃ．分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であり、前記鍵指定コード解析ステップは、前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする。
【０１２０】
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード解析ステップは、前記符号化データのデータ態様と各態様に対応する暗号文態様とを対応付けたテーブルに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする。
【０１２１】
さらに、本発明の情報処理方法の一実施態様において、前記多分木は３分木構成であり、前記鍵指定情報は、３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットに基づく符号化データを含み、
前記分割法指定情報は、３ビットの鍵指定ビットと、１ビットのパーティションビットと、２ビットの分割法指定情報ビットの計６ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な４ビットの符号化データであり、前記鍵指定コード解析ステップは、前記４ビットデータに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
【０１２２】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を入力するステップと、前記鍵指定情報エンコード方法識別情報に基づいて、前記鍵指定コードのエンコード方法を識別し、該識別結果に基づいて前記鍵指定コードの解析を実行するステップと、を含むことを特徴とする。
【０１２３】
さらに、本発明の第６の側面は、
暗号文生成処理を実行するコンピュータ・プログラムであり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックの生成ステップと、
前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを生成する鍵指定コード生成ステップとを有し、
前記鍵指定コード生成ステップは、
前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報として、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を設定するサブセット分割識別情報設定ステップを含むことを特徴とするコンピュータ・プログラムにある。
【０１２４】
さらに、本発明の第７の側面は、
暗号文復号処理を実行するコンピュータ・プログラムであり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力するステップと、
前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得する鍵指定コード解析ステップと、
前記鍵指定コード解析ステップにおいて取得した取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【０１２５】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【０１２６】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【０１２７】
本発明の構成によれば、多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成し、鍵指定コードの構成データである鍵指定木ノード毎の鍵指定情報中に、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報（パーティションビット）を含める構成としたので、分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することが可能となり、暗号文および鍵指定コードを受領した情報処理装置側においては、受領した暗号文が、分割サブセットに対応するサブセットキーを適用した暗号文であるか否かを判別して、鍵指定コードに基づいて、自己の復号対象の暗号文を選択することが可能となる。
【０１２８】
本発明の構成によれば、木構造を用いた情報配信方式を適用した暗号文送信構成において、様々な分割サブセットを設定した暗号文の提供が可能となるので、攻撃者による様々な攻撃が行なわれた場合、効率的にリボーク対象としてのリーフに対応する情報処理装置の特定が可能となる。
【０１２９】
さらに、本発明の構成によれば、分割態様が複数あるサブセットにおいても、分割態様を示す分割法指定ビットを設定した構成としたので、例えば３分木構成において２つの枝と１つの枝の様々な組み合わせや３つの枝毎の分割サブセットの設定など任意の分割態様の設定が可能となる。暗号文ブロックからの暗号文選択および復号処理を行う情報処理装置では、鍵指定コードに含まれる鍵指定情報に含まれる分割法指定ビットを解析することにより、復号対象の暗号文を選択することができる。
【０１３０】
さらに、本発明の構成において、鍵指定ビット、パーティションビット、分割法指定ビットのビット情報を符号化した構成によれば、鍵指定コードの情報量を削減することが可能となる。
【発明を実施するための最良の形態】
【０１３１】
以下、図面を参照しながら本発明の情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【実施例１】
【０１３２】
背景技術の欄において説明したように、多分木構成を用いて、特定の情報処理装置においてのみ取得可能な情報としての暗号文を設定し、かつ、各情報処理装置において、どの暗号文を選択すべきかを示す鍵指定コードを暗号文と併せて送付することにより、暗号文を受信した情報処理装置側では、鍵指定コードに基づいて、自装置において復号可能な暗号文を選択して、効率的に復号することが可能となる。
【０１３３】
前述したように、鍵指定コードは、鍵指定木の構成情報と、どのノードのキーが適用されているかを示す情報によって構成される。先に図７を参照して説明した多分木構成においては、リーフビットを適用することで、鍵指定コードの情報量を削減する構成としている。
【０１３４】
しかし、図７に示す構成において、情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図７中の×印）がリボークされている状態において、現在はリボークされていない情報処理装置ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１のいずれかが攻撃者によりリバースエンジニアリングされ、その情報処理装置が持つサブセットキーが露呈し、攻撃者が情報処理装置ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１に共通に格納されたサブセットキー、すなわち、ノード３において定義されたサブセットＳ３，１０１に対応するサブセットキーＳＫ３，１０１を、多数の機器にコピーして、不正機器を大量に製造したと想定する。
【０１３５】
この様な場合、システム管理者が、不正機器を入手し、不正に利用されているサブセットキーが、サブセットキーＳＫ３，１０１であることを解明しても、サブセットキーＳＫ３，１０１は、情報処理装置ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１の全てに共通に格納されたキーであり、情報処理装置ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１のいずれが不正に利用されたかを特定することができない。
【０１３６】
その結果、情報処理装置ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１のいずれかを選択的にリボーク（排除）することができないということになる。サブセットキーＳＫ３，１０１を使った暗号文の提供を停止すると、情報処理装置ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１のすべてをまとめてリボーク（排除）することになってしまい、正当な機器も排除されてしまうという問題が発生する。
【０１３７】
このような場合、図８に示す部分木中のノード３，２０１において定義されたサブセットＳ３，１０１に対応するサブセットキーＳＫ３，１０１の適用をやめて、ノード３，２０１において定義された他のサブセットＳ３，１００に対応するサブセットキーＳＫ３，１００と、サブセットＳ３，００１に対応するサブセットキーＳＫ３，００１とを用いるようにすれば、上記のような、サブセットキーＳＫ３，１０１のみを格納した不正機器では、暗号文の復号ができず、不正機器によるコンテンツ利用等を排除することができる。
【０１３８】
すなわち、図９に示すように、部分木を分割して複数の部分木として再設定する。図９（１）に示す部分木２１１はサブセットＳ３，１０１によって定義される部分木であり、対応するサブセットキーＳＫ３，１０１を適用した暗号文とした場合、すなわち、
Ｅ（ＳＫ３，１０１，Ｋｃ）を設定した場合、サブセットＳ３，１０１に属する情報処理装置、ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１の全てが共通に有するサブセットキーＳＫ３，１０１を適用して共通に復号可能な暗号文となる。
【０１３９】
これを図９（２）に示す部分木２１１Ａと２１１Ｂに分割する。部分木２１１ＡはサブセットＳ３，１００によって定義される部分木であり、部分木２１１ＢはサブセットＳ３，００１によって定義される部分木であり、それぞれ対応するサブセットキーＳＫ３，１００、ＳＫ３，００１を適用した暗号文を構成する。すなわち、
Ｅ（ＳＫ３，１００，Ｋｃ）と、
Ｅ（ＳＫ３，００１，Ｋｃ）と、
を設定する。サブセットＳ３，１００に属する情報処理装置ｕ２３，ｕ２４，ｕ２５は、暗号文Ｅ（ＳＫ３，１００，Ｋｃ）を選択して復号しコンテンツキーを取得し、サブセットＳ３，００１に属する情報処理装置ｕ２９，ｕ３０，ｕ３１は、暗号文Ｅ（ＳＫ３，００１，Ｋｃ）を選択して復号しコンテンツキーを取得することが必要となる。
【０１４０】
このように、情報処理装置に提供する暗号文ブロックを下記（１）から（２）に変更する。
（１）暗号文ブロック＝Ｅ（ＳＫ１，１００，Ｋｃ），Ｅ（ＳＫ３，１０１，Ｋｃ），Ｅ（ＳＫ９，１００，Ｋｃ），Ｅ（ＳＫ１１，１０１，Ｋｃ），Ｅ（ＳＫ１２，１００，Ｋｃ）
（２）暗号文ブロック＝Ｅ（ＳＫ１，１００，Ｋｃ），Ｅ（ＳＫ３，１００，Ｋｃ），Ｅ（ＳＫ３，００１，Ｋｃ），Ｅ（ＳＫ９，１００，Ｋｃ），Ｅ（ＳＫ１１，１０１，Ｋｃ），Ｅ（ＳＫ１２，１００，Ｋｃ）
【０１４１】
このような処理により、サブセットキーＳＫ３，１０１のみを格納した不正機器では、暗号文の復号ができず、サブセットキーＳＫ３，１０１のみを格納した不正機器によるコンテンツの不正利用を排除することができる。
【０１４２】
攻撃者は、さらに、情報処理装置ｕ２３，ｕ２４，ｕ２５，ｕ２９，ｕ３０，ｕ３１のいずれかから取得したサブセットＳ３，１００に対応するサブセットキーＳＫ３，１００と、サブセットＳ３，００１に対応するサブセットキーＳＫ３，００１とを格納した不正機器を製造することも可能であるが、その不正機器を入手し解析することにより、適用している新たなサブセットキーが判明する。この処理を繰り返すことにより最終的には攻撃された、すなわち不正な鍵情報取得処理の対象となった唯一の情報処理装置を特定することが可能となる。
【０１４３】
このように唯一の情報処理装置が特定されれば、その情報処理装置のみを対象としたリボーク処理が可能となり、鍵情報の漏洩していない他の情報処理装置に対する影響を及ぼすことなく、１つの情報処理装置のリボークのみで、全ての不正機器、すなわちリボークされた情報処理装置に格納された鍵情報のコピー情報を持つ不正機器による配信情報（コンテンツキーＫｃなど）の不正取得を排除できる。
【０１４４】
このような情報処理装置の特定処理を行う場合、例えば図８に示すノード３，２０１に対して、複数の枝２０２，２０３に対応するサブセットＳ３，１０１が選択された場合に、
ａ．許容サブセット（複数の枝に対応するサブセット）全体に対応するサブセットキーを用いて暗号文を作るか、すなわち、
Ｅ（ＳＫ３，１０１，Ｋｃ）
それとも、
ｂ．許容サブセット（複数の枝に対応するサブセット）を分割した複数のサブセットに対応する複数のサブセットキーを用いて複数の暗号文を作るか、すなわち、
Ｅ（ＳＫ３，１００，Ｋｃ），Ｅ（ＳＫ３，００１，Ｋｃ）
とするか、
いずれをも選択的に実行できるようにすることが必要である。
【０１４５】
また、上記のような処理を行う場合、従来の鍵指定コード、すなわち、背景技術の欄で説明した１ビットのリーフビットと、３ビットの鍵指定ビット構成では、上記、ａ，ｂのいずれの態様を持つ暗号文が含まれているかを判別することはできない。
【０１４６】
以下、本実施例の構成として、特定のノードに対して、複数の枝に対応するサブセットが選択された場合に、
ａ．許容サブセット（複数の枝に対応するサブセット）全体に対応するサブセットキーを用いた暗号文を有するか、
それとも、
ｂ．許容サブセット（複数の枝に対応するサブセット）を分割した複数のサブセットに対応する複数のサブセットキーを用いた複数の暗号文を有するか、
ａ、ｂいずれの情報を持つ暗号文であるかを識別するための情報ビット（パーティションビット）を、鍵指定コード中に付加した構成とした実施例を説明する。
【０１４７】
図１０以下を参照して、本実施例に係る鍵指定コードの構成、処理例の詳細について説明する。
【０１４８】
図１０には、情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図１０中の×印）がリボークされている状態における鍵指定木３０１を太線で示している。
【０１４９】
図１０に示すように、鍵指定木３０１を構成する各ノード（１，３，４，９，１１，１２，１３）には鍵指定情報が設定される。鍵指定情報は、
リーフビットｃ：１ビット
鍵指定ビットｄ：３ビット
パーティションビットｅ：１ビット
のビット構成を持つ（ｃ，ｄｄｄ，ｅ）の計５ビットの鍵指定情報として設定される。
【０１５０】
なお、リーフビットｃは、
［１］であるとき、鍵指定木のリーフであることを示し、
［０］であるとき、リーフ以外のノードであることを示す。
【０１５１】
鍵指定ビット、３ビットｄｄｄは、そのノードに定義されたどのサブセットに対応するサブセットキーが、上記の暗号文ブロック中の暗号文を作るために用いられているかを示す。すなわち、あるノードｋの鍵指定ビット情報が、
［１００］であればサブセットキーＳＫｋ，１００が適用された暗号文が含まれている。
［１１０］であればサブセットキーＳＫｋ，１１０が適用された暗号文が含まれている、ただし、これは、後述するように、パーティションビットｅ＝０の場合であり、パーティションビットｅ＝１の場合には、サブセットキーＳＫｋ，１００が適用された暗号文と、サブセットキーＳＫｋ，０１０が適用された暗号文の２つの分割された暗号文が含まれている。
［０００］であれば、そのノードに対して定義されたサブセットに対応するサブセットキーは使用されていないことを示す。
【０１５２】
リーフビットｃ、鍵指定ビット３ビットｄｄｄは、パーティションビットｅ＝０の場合は、従来のルールと同様であるが、パーティションビットｅ＝１として設定されている場合は、リーフビットｃの意味は変化しないが、鍵指定ビット３ビットｄｄｄはその意味が変化する場合がある。
【０１５３】
パーティションビットｅは、鍵指定ビットｄｄｄの重みが２以上、すなわちビットの（ｄｄｄ）中、１であるビットの個数が２以上であるときにのみ有効である。鍵指定ビットｄｄｄの重みとは、ビットｄｄｄの３つのビット中の１の数を言う。パーティションビットｅは、鍵指定ビットｄｄｄの重みが２以上の場合にのみ有効となる。具体的には、鍵指定ビットｄｄｄ＝（０１１）、（１０１）、（１１０）、（１１１）の場合にのみ有効である。
【０１５４】
それ以外の場合はｅ＝０でもｅ＝１でも構わないが、簡潔のためデフォルトをｅ＝０とする。すなわち、パーティションビットｅ＝０の場合は、パーティションビットが存在しない従来技術と同様、リーフビットと、鍵指定ビット情報のみからなる鍵指定コードとして解釈される。
【０１５５】
パーティションビットｅ＝１の場合は、そのノードｋに定義されたサブセットに対応する複数のサブセットキーが個別に適用された暗号文を持つことを意味する。
【０１５６】
ノードｋに定義されるサブセットは、Ｓｋ，１００，Ｓｋ，０１０，Ｓｋ，００１，Ｓｋ，１１０，Ｓｋ，１０１，Ｓｋ，００１の６個のサブセットである。ただし、ルート（ノード１）についてのみ、サブセットＳ１，１１１が含まれる。これらの複数のサブセットに対応するサブセットキーは、ＳＫｋ，１００，ＳＫｋ，０１０，ＳＫｋ，００１，ＳＫｋ，１１０，ＳＫｋ，１０１，ＳＫｋ，００１であり、ルート（ノード１）のみ、サブセットキーＳＫ１，１１１を含む。
【０１５７】
例えば、ノードｋにおいて、
鍵指定ビットｄｄｄ＝（１１０）であり、かつ、
パーティションビットｅ＝１の場合には、
サブセットキーＳＫｋ，１００と、ＳＫｋ，０１０を用いた２つの暗号文が存在していることを意味する。
パーティションビットｅ＝０の場合には、
サブセットキーＳＫｋ，１１０を用いた１つの暗号文が存在していることを意味する。
【０１５８】
また、ノードｋにおいて、
鍵指定ビットｄｄｄ＝（１１１）であり、かつ、
パーティションビットｅ＝１の場合には、
サブセットキーＳＫｋ，１００と、ＳＫｋ，０１０と、ＳＫｋ，００１を用いた３つの暗号文が存在していることを意味する。
パーティションビットｅ＝０の場合には、
サブセットキーＳＫｋ，１１１を用いた１つの暗号文が存在していることを意味する。
【０１５９】
リボークする受信機がない場合、サブセットキーＳＫ１，１１１を用いるのであればルートの鍵指定情報は、パーティションビットｅ＝０として、
（ｃ，ｄｄｄ，ｅ）＝（１，１１１，０）
とすればよい。これは、従来のリーフビットｃ：１ビット、鍵指定ビットｄ：３ビットの鍵指定情報と同様の情報である。
【０１６０】
一方、サブセットキーＳＫ１，１１１を用いずに、個別に３つのサブセットキーＳＫｋ，１００と、ＳＫｋ，０１０と、ＳＫｋ，００１を用いる場合には、ルートの鍵指定情報は、パーティションビットｅ＝１として、
（ｃ，ｄｄｄ，ｅ）＝（１，１１１，１）
とすればよい。
【０１６１】
図１０に示す例は、情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図１０中の×印）がリボークされている状態における鍵指定木を太線で示した図である。情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図１０中の×印）をリボークし、それ以外の情報処理装置に情報（たとえば、コンテンツキーＫｃ）を送信するものとする。
【０１６２】
この場合、鍵指定木は、ノード（１，３，４，９，１１，１２，１３）を構成ノードとして、リーフノードをノード（９，１１，１２，１３）として設定される。この構成を持つ鍵指定木構成ノードにリーフビット＝ｃ、鍵指定ビット＝ｄｄｄ、パーティションビットｅが、図に示すように、以下の如く設定される。
ノード１：（０，１００，０）
ノード３：（０，１０１，１）
ノード４：（０，０００，０）
ノード９：（１，１００，０）
ノード１１：（１，１０１，０）
ノード１２：（１，１００，０）
ノード１３：（１，０００，０）
【０１６３】
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
［０１００００１０１１０００００１１０００１１０１０１１０００１００００］
となる。
【０１６４】
上記設定において、ノード３の鍵指定情報が、
（ｃ，ｄｄｄ，ｅ）＝（０，１０１，１）
であり、パーティションビットｅ＝１である。
鍵指定ビットは、ｄｄｄ＝（１０１）であるので、これは、上述の鍵指定コードに対応して設定される暗号文ブロックには、
サブセットキーＳＫ３，１００と、ＳＫ３，００１を用いた２つの暗号文が存在していることを意味する。すなわち、
暗号文ブロック＝・・・Ｅ（ＳＫ３，１００，Ｋｃ），Ｅ（ＳＫ３，００１，Ｋｃ）・・・
として構成されていることを意味する。
【０１６５】
もし、ノード３の鍵指定情報が、
（ｃ，ｄｄｄ，ｅ）＝（０，１０１，０）
であり、パーティションビットｅ＝０の場合は、
サブセットキーＳＫ３，１０１のみを用いた暗号文が存在していることを意味する。すなわち、
暗号文ブロック＝・・・Ｅ（ＳＫ３，１０１，Ｋｃ）・・・
として構成されていることを意味する。
【０１６６】
任意のノードｉにおいて、鍵指定ビット（ｄｄｄ）と、パーティションビット（ｅ）の組み合わせ（ｄｄｄ，ｅ）が取りうる値と、そのときに暗号文ブロックに含まれる暗号文の対応を示した対応テーブルを図１１に示す。
【０１６７】
この対応テーブルを用いて、各情報処理装置は、鍵指定コードから、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを知ることができる。なお、暗号文ブロックにおいて暗号文が並べられる順番であるが、まずその暗号化に用いられたサブセットキーに対応するサブセットが定義されるノード番号の若い順が一番プライオリティが高く（すなわち、サブセットキーＳＫ２，ｘｘｘとＳＫ３，ｙｙｙを用いた暗号文では必ず前者が先に置かれる）、ノード番号が同一のものの間では、ＳＫｋ，ｚｚｚのｚｚｚを２進数で表された数として見たときに、大きい順で置かれる（すなわち、サブセットキーＳＫｋ，１０１とＳＫｋ，０１０を用いた暗号文では必ず前者が先に置かれる）、というようにルールを決めておけば、暗号文の順番は一意に定まり、暗号文および鍵指定コードを受領する情報処理装置はどの暗号文を復号すればよいかを求めることができる。
【０１６８】
暗号文ブロックと、鍵指定コードを受領する各情報処理装置は、図１１に示す対応テーブルを記憶部に格納するか、あるいは、対応テーブルに対応する鍵指定コードの解釈アルゴリズムを実行するプログラムを記憶部に格納し、対応テーブルを参照して、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムに従って、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを判定する。なお、対応テーブル、または鍵指定コードの解釈アルゴリズムを実行するプログラムは、暗号文ブロックや鍵指定コードの提供時に各情報処理装置に提供する構成としてもよい。
【０１６９】
このように、本実施例において、鍵指定コードは、選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、鍵指定情報は、鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットを含むコードとして設定される。
【０１７０】
暗号文ブロックと、鍵指定コードを受領したユーザデバスとしての情報処理装置は、鍵指定コードの解析を実行し、鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が、暗号文ブロック中に含まれるか否かを判定して、その判定に基づいて、暗号文ブロックから、自装置に格納されたサブセットキーを適用して復号することが可能な暗号文を選択する。
【０１７１】
図１２は、図８で示した例に加えて、さらに、サブセットキーＳＫ１，１００をサブセットキーＳＫ２，１００、ＳＫ２，０１０、ＳＫ２，００１の３つに分割した部分木の構成を示している。
【０１７２】
前述したように、ルートノード（ノードＮｏ．１）以外のノードｋは、サブセットＳｋ，１１１を有していない。すなわち、あるノードの子ノードを全指定するサブセットは、そのノードの上位ノードによって指定可能であるからである。従って、図１２に示す情報処理装置ｕ１４〜ｕ２２を指定するサブセットは、Ｓ２，１１１ではなく、Ｓ１，１００によって指定される。
【０１７３】
この場合、サブセットＳ１，１００に対応するサブセットキーＳＫ１，１００による暗号文は、
Ｅ（ＳＫ１，１００，Ｋｃ）となるが、これを、
情報処理装置｛ｕ１４，ｕ１５，ｕ１６｝を含むサブセットＳ２，１００と、
情報処理装置｛ｕ１７，ｕ１８，ｕ１９｝を含むサブセットＳ２，０１０と、
情報処理装置｛ｕ２０，ｕ２１，ｕ２２｝を含むサブセットＳ２，００１と、
の３つのサブセットに分割して、それぞれのサブセット毎に取得可能な暗号文を設定する場合、サブセットキーＳＫ１，１００を、サブセットキーＳＫ２，１００、ＳＫ２，０１０、ＳＫ２，００１の３つに分割し、暗号文として、
Ｅ（ＳＫ２，１００，ＫＣ）
Ｅ（ＳＫ２，０１０，ＫＣ）
Ｅ（ＳＫ２，００１，ＫＣ）
の３つを設定する。
【０１７４】
これは、すなわち、図１３に示すように、部分木を分割して複数の部分木として再設定する処理である。図１３（１）に示す部分木３１１はサブセットＳ１，１００によって定義される部分木であり、対応するサブセットキーＳＫ１，１００を適用した暗号文とした場合、すなわち、
Ｅ（ＳＫ１，１００，Ｋｃ）を設定した場合、サブセットＳ１，１００に属する情報処理装置、ｕ１４，〜ｕ２２の全てが共通に有するサブセットキーＳＫ１，１００を適用して共通に復号可能な暗号文となる。
【０１７５】
これを図１３（２）に示す部分木３１１Ａと３１１Ｂと３１１Ｃに分割する。部分木３１１ＡはサブセットＳ２，１００によって定義される部分木、部分木３１１ＢはサブセットＳ２，０１０によって定義される部分木、部分木３１１ＣはサブセットＳ２，００１によって定義される部分木となる。
【０１７６】
それぞれ対応するサブセットキーＳＫ２，１００、Ｓ２，０１０、ＳＫ２，００１を適用した暗号文を構成する。すなわち、
Ｅ（ＳＫ２，１００，ＫＣ）
Ｅ（ＳＫ２，０１０，ＫＣ）
Ｅ（ＳＫ２，００１，ＫＣ）
の３つを設定する。
サブセットＳ２，１００に属する情報処理装置ｕ１４，ｕ１５，ｕ１６は、暗号文Ｅ（ＳＫ２，１００，Ｋｃ）を選択して復号しコンテンツキーを取得し、サブセットＳ２，０１０に属する情報処理装置ｕ１７，ｕ１８，ｕ１９は、暗号文Ｅ（ＳＫ２，０１０，Ｋｃ）を選択して復号しコンテンツキーを取得し、サブセットＳ２，００１に属する情報処理装置ｕ２０，ｕ２１，ｕ２２は、暗号文Ｅ（ＳＫ２，００１，Ｋｃ）を選択して復号しコンテンツキーを取得することが必要となる。
【０１７７】
上記の設定とした場合の鍵指定木の各ノードにおける鍵指定情報（ｃ，ｄｄｄ，ｅ）は図１４に示すとおりとなる。
【０１７８】
図１４は、情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図１４中の×印）がリボークされている状態における鍵指定木３２１を太線で示した図である。情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図１４中の×印）をリボークし、それ以外の情報処理装置に情報（たとえば、コンテンツキーＫｃ）を送信するものとする。
【０１７９】
この場合、鍵指定木は、ノード（１，２，３，４，９，１１，１２，１３）を構成ノードとして、リーフノードをノード（２，９，１１，１２，１３）として設定される。この構成を持つ鍵指定木構成ノードにリーフビット＝ｃ、鍵指定ビット＝ｄｄｄ、パーティションビットｅが、例えば以下のように設定される。
ノード１：（０，０００，０）
ノード２：（１，１１１，１）
ノード３：（０，１０１，１）
ノード４：（０，０００，０）
ノード９：（１，１００，０）
ノード１１：（１，１０１，０）
ノード１２：（１，１００，０）
ノード１３：（１，０００，０）
【０１８０】
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
［０００００１１１１１０１０１１０００００１１０００１１０１０１１０００１００００］
となる。
【０１８１】
上記設定において、ノード２の鍵指定情報が、
（ｃ，ｄｄｄ，ｅ）＝（１，１１１，１）
であり、パーティションビットｅ＝１である。
鍵指定ビットは、ｄｄｄ＝（１１１）であるので、上述の鍵指定コードに対応して設定される暗号文ブロックには、
サブセットキーＳＫ２，１００と、ＳＫ２，０１０と、ＳＫ２，００１を用いた３つの暗号文が存在していることを意味する。すなわち、
暗号文ブロック＝・・・Ｅ（ＳＫ２，１００，Ｋｃ），Ｅ（ＳＫ２，０１０，Ｋｃ），Ｅ（ＳＫ３，００１，Ｋｃ）・・・
として構成されていることを意味する。
【０１８２】
上述のように、本実施例によれば、任意のノードにおいて、１つのサブセットで定義可能な集合を複数の分割サブセットに区別して、設定し、それぞれの分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することができるとともに、パーティションビットを設定した鍵指定情報を設定した鍵指定コードを生成し提供する構成とした。
【０１８３】
従って、暗号文および鍵指定コードを受領した情報処理装置は、受領した暗号文が、分割サブセットを設定し、分割サブセットに対応するサブセットキーを適用した暗号文である場合も、分割サブセットを用いない構成である場合も、鍵指定コードに基づいて、自己の復号対象の暗号文を選択することが可能となる。
【実施例２】
【０１８４】
上述した実施例においては、例えば、サブセットキーＳＫ３，１０１を、
ＳＫ３，１００，ＳＫ３，００１に分割したり、あるいは、
サブセットキーＳＫ１，１００を、
ＳＫ２，１００，ＳＫ２，０１０，ＳＫ２，００１に分割する例を説明した。すなわち、あるサブセットキーを分割する場合には、必ずただひとつの方法で、サブセットキーをＳＫｘ，ｙｙｙと表したときのｙｙｙ部分の重み（１であるビットの個数）が１になるように分割していた。
【０１８５】
しかし、分木数が３以上の場合には、分割態様は、様々な態様が可能となる。たとえば図１５に示すように、ノード１に対応して設定されるサブセットＳ１，１００を、ノード２に対応して設定される２つのサブセットＳ２，１０１と、Ｓ２，０１０の２つに分割し、２つのサブセットＳ２，１０１と、Ｓ２，０１０の対応サブセットキーＳＫ２，１０１と、ＳＫ２，０１０を適用した暗号文を送付したいという場合がある。
【０１８６】
各ノードに設定される鍵指定情報のうち、鍵指定ビットｄｄｄの重みが２ビット（１の数が２）のときは分割する方法は１通りであり、重みが３ビットの場合（ｄｄｄ＝１１１のとき）は、４通りの分割方法がある。すなわち、
（１）（１００），（０１０），（００１）
（２）（１００），（０１１）
（３）（０１０），（１０１）
（４）（００１），（１１０）
の４通りである。
【０１８７】
このような多種類の分割態様がある場合、これらの分割態様のどの態様で分割が実行されたかを判別する情報が必要となる。この情報を分割法指定ビット（Partition Specify Bit ）と呼ぶ。
【０１８８】
この分割法指定ビットを鍵指定木の鍵指定情報の構成ビットとして２ビット（ｆｆ）を新たに付加する。３分木構成の場合、分割態様は最大で、上記４通りであるので、鍵指定情報の構成ビットとして２ビット（ｆｆ）を新たに付加する。
【０１８９】
図１６に、鍵指定木を構成するノードｉに設定される鍵指定情報中の、鍵指定ビットｄｄｄ、パーティションビットｅ、分割法指定ビットｆｆのパターンについて示す。分割法指定ビットｆｆは、鍵指定ビットｄｄｄ、パーティションビットｅが、（ｄｄｄ，ｅ）＝（１１１，１）のときのみ有効である。その他の場合は、分割法指定ビットｆｆ＝００として設定され、上述の実施例１に従った解釈がなされる。
【０１９０】
図１６に示す４つのエントリのみが、鍵指定ビットｄｄｄ、パーティションビットｅが、（ｄｄｄ，ｅ）＝（１１１，１）であり、これらの場合、分割法指定ビットｆｆに基づいて、暗号文の解釈が行われることになる。
【０１９１】
（１）（ｄｄｄ，ｅ，ｆｆ）＝（１１１，１，００）の場合、
３つのサブセットキー：ＳＫｉ，１００、ＳＫｉ，０１０、ＳＫｉ，００１を適用して、
３つの暗号文：Ｅ（ＳＫｉ，１００，Ｋｃ），Ｅ（ＳＫｉ，０１０，Ｋｃ），Ｅ（ＳＫｉ，００１，Ｋｃ）を設定することを示す。
（２）（ｄｄｄ，ｅ，ｆｆ）＝（１１１，１，０１）の場合、
２つのサブセットキー：ＳＫｉ，１００、ＳＫｉ，０１１を適用して、
２つの暗号文：Ｅ（ＳＫｉ，１００，Ｋｃ），Ｅ（ＳＫｉ，０１１，Ｋｃ）を設定することを示す。
（３）（ｄｄｄ，ｅ，ｆｆ）＝（１１１，１，１０）の場合、
２つのサブセットキー：ＳＫｉ，１０１、ＳＫｉ，０１０を適用して、
２つの暗号文：Ｅ（ＳＫｉ，１０１，Ｋｃ），Ｅ（ＳＫｉ，０１０，Ｋｃ）を設定することを示す。
（４）（ｄｄｄ，ｅ，ｆｆ）＝（１１１，１，１１）の場合、
２つのサブセットキー：ＳＫｉ，１１０、ＳＫｉ，００１を適用して、
２つの暗号文：Ｅ（ＳＫｉ，１１０，Ｋｃ），Ｅ（ＳＫｉ，００１，Ｋｃ）を設定することを示す。
【０１９２】
各情報処理装置は、図１６に示す対応テーブルを用いて、鍵指定コードから、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを知ることができる。
【０１９３】
暗号文ブロックと、鍵指定コードを受領する各情報処理装置は、図１６に示す対応テーブルを記憶部に格納するか、あるいは、対応テーブルに対応する鍵指定コードの解釈アルゴリズムを実行するプログラムを記憶部に格納し、対応テーブルを参照して、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムに従って、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを判定する。なお、対応テーブル、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムは、暗号文ブロックや鍵指定コードの提供時に各情報処理装置に提供する構成としてもよい。
【０１９４】
なお、暗号文ブロックにおいて暗号文が並べられる順番であるが、まずその暗号化に用いられたサブセットキーに対応するサブセットが定義されるノード番号の若い順が一番プライオリティが高く（すなわち、サブセットキーＳＫ２，ｘｘｘとＳＫ３，ｙｙｙを用いた暗号文では必ず前者が先に置かれる）、ノード番号が同一のものの間では、ＳＫｋ，ｚｚｚのｚｚｚを２進数で表された数として見たときに、大きい順で置かれる（すなわち、サブセットキーＳＫｋ，１０１とＳＫｋ，０１０を用いた暗号文では必ず前者が先に置かれる）、というようにルールを決めておけば、暗号文の順番は一意に定まり、暗号文および鍵指定コードを受領する情報処理装置はどの暗号文を復号すればよいかを求めることができる。
【０１９５】
分割法指定ビットｆｆを含む鍵指定情報、すなわち、
リーフビット：ｃ
鍵指定ビット：ｄｄｄ
パーティションビット：ｅ
分割法指定ビット：ｆｆ
からなる（ｃ，ｄｄｄ，ｅ，ｆｆ）の計７ビット構成を持つ鍵指定情報を鍵指定木の各構成ノードに設定した例を図１７に示す。
【０１９６】
図１７は、情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図１７中の×印）がリボークされている状態における鍵指定木４０１を太線で示した図である。情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図１７中の×印）をリボークし、それ以外の情報処理装置に情報（たとえば、コンテンツキーＫｃ）を送信するものとする。
【０１９７】
この場合、鍵指定木は、ノード（１，２，３，４，９，１１，１２，１３）を構成ノードとして、リーフノードをノード（２，９，１１，１２，１３）として設定される。この構成を持つ鍵指定木構成ノードにリーフビット＝ｃ、鍵指定ビット＝ｄｄｄ、パーティションビットｅ、分割法指定ビットｆｆが、例えば以下のように設定される。
ノード１：（０，０００，０，００）
ノード２：（１，１１１，１，１０）
ノード３：（０，１０１，０，００）
ノード４：（０，０００，０，００）
ノード９：（１，１００，０，００）
ノード１１：（１，１０１，０，００）
ノード１２：（１，１００，０，００）
ノード１３：（１，０００，０，００）
【０１９８】
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
［０００００００１１１１１１００１０１００００００００００１１０００００１１０１０００１１０００００１００００００］
となる。
【０１９９】
上記設定において、ノード２の鍵指定情報が、
（ｃ，ｄｄｄ，ｅ，ｆｆ）＝（１，１１１，１，１０）
であり、鍵指定情報、パーティションビット（ｄｄｄ，ｅ）＝（１１１，１）である。
分割法指定ビット（ｆｆ）＝（１０）であるので、
これは、上述の鍵指定コードに対応して設定される暗号文ブロックには、
サブセットキーＳＫ２，１０１と、ＳＫ２，０１０とを用いた２つの暗号文が存在していることを意味する。すなわち、
暗号文ブロック＝・・・Ｅ（ＳＫ２，１０１，Ｋｃ），Ｅ（ＳＫ２，０１０，Ｋｃ）・・・
として構成されていることを意味する。
【０２００】
図１７の例において、リボークする受信機がなく、全受信機を構成要素とするサブセットＳ１，１１１に対応するサブセットキーで暗号化した暗号文１つだけを送信する場合には、ルートの鍵指定情報を（ｃ，ｄｄｄ，ｅ，ｆｆ）＝（１，１１１，０，００）として鍵指定コードを構成すればよい。この指定情報は、リーフビットｃと鍵指定ビットｄｄｄのみの情報構成の場合と同様の解釈となる。
【０２０１】
上述のように、本実施例によれば、任意のノードにおいて、１つのサブセットで定義可能な集合を複数の分割サブセットに区別して、設定し、それぞれの分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することができるとともに、パーティションビットを設定し、かつ分割法指定ビットを設定したことにより、様々な分割態様を区別した分割サブセットの設定が可能となり、様々な分割態様を区別した分割サブセットに対応するサブセットキーを適用した暗号文の生成が可能となる。
【０２０２】
暗号文および鍵指定コードを受領した情報処理装置は、受領した暗号文が、分割サブセットを設定し、分割サブセットに対応するサブセットキーを適用した暗号文である場合、分割法指定ビットに基づいて、分割態様を判別することが可能となり、自己の復号対象の暗号文を選択することが可能となる。
【実施例３】
【０２０３】
先に、図１６を参照して説明した鍵指定情報（ｄｄｄ，ｅ，ｆｆ）、すなわち、
鍵指定ビット；ｄｄｄ
パーティションビット：ｅ
分割法指定ビット：ｆｆ
の（ｄｄｄ，ｅ，ｆｆ）の５ビットからなる情報に対応して設定される暗号文ブロックに含まれる暗号文のパターンは、図１６に示すように、「暗号文なし」も含めて全部で１５通りである。
【０２０４】
実施例２では、（ｄｄｄ，ｅ，ｆｆ）の６ビットを用いてこの１５通りのデータを表しているが、１５通りのデータは４ビットで表現することが可能であるので、図１８に示すように、（ｄｄｄ，ｅ，ｆｆ）の６ビットの値を符号化（エンコード）した４ビットの値（ｇｇｇｇ）または（ｈｈｈｈ）を用いることにより、鍵指定情報に必要なビット数を減らすことが可能である。
【０２０５】
図１８の（ｇｇｇｇ）は、テーブルの上から１２段目までの（１）〜（１２）のデータエントリは、（ｇｇｇｇ）＝（ｄｄｄ，ｅ）とし、一番下の３段の（１３）〜（１５）のエントリは、（ｄｄｄ，ｅ）の組み合わせに残りのビット構成を割り当てた構成となっている。
【０２０６】
このため、エンコードされた（ｇｇｇｇ）とエンコード前の（ｄｄｄ，ｅ）との対応を求めるのが容易になっている。
【０２０７】
（ｄｄｄ，ｅ，ｆｆ）のかわりにエンコードビット（ｇｇｇｇ）の４ビットを用いて、鍵指定情報を、
リーフビット：ｃ
エンコードビット：ｇｇｇｇ
の（ｃ，ｇｇｇｇ）５ビット構成とした場合の鍵指定木と各ノードに設定される鍵指定情報、および鍵指定コードの構成を図１９に示す。
【０２０８】
図１９は、情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図１９中の×印）がリボークされている状態における鍵指定木４２１を太線で示した図である。情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図１９中の×印）をリボークし、それ以外の情報処理装置に情報（たとえば、コンテンツキーＫｃ）を送信するものとする。
【０２０９】
この場合、鍵指定木は、ノード（１，２，３，４，９，１１，１２，１３）を構成ノードとして、リーフノードをノード（２，９，１１，１２，１３）として設定される。この構成を持つ鍵指定木構成ノードにリーフビット＝ｃ、鍵指定ビット＝ｄｄｄ、パーティションビットｅ、分割法指定ビットｆｆの設定と、リーフビット＝ｃと、エンコードビット＝ｇｇｇｇの（ｃ，ｇｇｇｇ）５ビットとした設定の対応を以下に示す。
ノード１：（０，０００，０，００）→（０，００００）
ノード２：（１，１１１，１，１０）→（１，０１０１）
ノード３：（０，１０１，０，００）→（０，１０１０）
ノード４：（０，０００，０，００）→（０，００００）
ノード９：（１，１００，０，００）→（１，１０００）
ノード１１：（１，１０１，０，００）→（１，１０１０）
ノード１２：（１，１００，０，００）→（１，１０００）
ノード１３：（１，０００，０，００）→（１，００００）
【０２１０】
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
［０００００１０１０１０１０１００００００１１０００１１０１０１１０００１００００］
となる。
【０２１１】
リーフビット＝ｃ、鍵指定ビット＝ｄｄｄ、パーティションビットｅ、分割法指定ビットｆｆの設定の７ビットの鍵指定情報を各ノードに設定した場合、上述のように鍵指定木の構成ノードが８つの場合８×７＝５６ビットとなるが、リーフビット＝ｃと、エンコードビット＝ｇｇｇｇの（ｃ，ｇｇｇｇ）５ビットとした場合、８×５＝４０ビットとなリ情報量が５／７に削減される。
【０２１２】
なお、図１９の例において、リボークする受信機がなく、全受信機を構成要素とするサブセットＳ１，１１１に対応するサブセットキーで暗号化した暗号文１つだけを送信する場合には、ルートの鍵指定情報を（ｃ，ｇｇｇｇ）＝（１，１１１０）として鍵指定コードを構成すればよい。この指定情報は、リーフビット＝ｃ、鍵指定ビット＝ｄｄｄ、パーティションビットｅ、分割法指定ビットｆｆの設定の７ビットの鍵指定情報にデコードすると、
（ｃ，ｄｄｄ，ｅ，ｆｆ）＝（１，１１１，０，００）
となり、リーフビットｃと鍵指定ビットｄｄｄのみの情報構成の場合と同様の解釈となる。
【０２１３】
図１８に示すエンコードビット（ｈｈｈｈ）の４ビットは、（ｇｇｇｇ）の４ビットのうちの上位３ビットの重みが２（すなわち、１１０または１０１または０１１）であるものの最下位ビットをビット反転させたものとなっている。このコード化方法のメリットは、コードｈｈｈｈの重みを調べることにより、そのノードに対し何個の暗号文が暗号文ブロックに存在するかを調べるのが容易であるということである。
【０２１４】
すなわち、図１８（Ｂ）に示すように、ｈｈｈｈの重みが０であれば暗号文はなく、重みが１か３であれば暗号文は１つだけ存在し、重み２であれば２つの暗号文が、重み４であれば３つの暗号文が存在するようになっている。ある受信機は、自分が復号すべき暗号文に用いられたサブセットキーに対応するサブセットが定義されたノード以外のノードのサブセットキーを用いて作られた暗号文の並びの詳細を知る必要はなく、自分が復号すべき暗号文を得るためにはそれぞれのノードで何個の暗号文があり、自分が復号すべき暗号文が全体で何番目に存在するかを知ればよいので、エンコードビット（ｈｈｈｈ）の重みを調べることで暗号文ブロックに含まれる個数が簡単にわかることは、受信機の処理の負荷の軽減につながる。
【０２１５】
（ｄｄｄ，ｅ，ｆｆ）のかわりにエンコードビット（ｈｈｈｈ）の４ビットを用いて、鍵指定情報を、
リーフビット：ｃ
エンコードビット：ｈｈｈｈ
の（ｃ，ｈｈｈｈ）５ビット構成とした場合の鍵指定木と各ノードに設定される鍵指定情報、および鍵指定コードの構成を図２０に示す。
【０２１６】
図２０は、情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図２０中の×印）がリボークされている状態における鍵指定木４３１を太線で示した図である。情報処理装置ｕ１４〜ｕ４０の中から、ｕ２７，ｕ２８，ｕ３３，ｕ３６，ｕ３７，ｕ３８，ｕ３９，ｕ４０（図２０中の×印）をリボークし、それ以外の情報処理装置に情報（たとえば、コンテンツキーＫｃ）を送信するものとする。
【０２１７】
この場合、鍵指定木は、ノード（１，２，３，４，９，１１，１２，１３）を構成ノードとして、リーフノードをノード（２，９，１１，１２，１３）として設定される。この構成を持つ鍵指定木構成ノードにリーフビット＝ｃ、鍵指定ビット＝ｄｄｄ、パーティションビットｅ、分割法指定ビットｆｆの設定と、リーフビット＝ｃと、エンコードビット＝ｈｈｈｈの（ｃ，ｈｈｈｈ）５ビットとした設定の対応を以下に示す。
ノード１：（０，０００，０，００）→（０，００００）
ノード２：（１，１１１，１，１０）→（１，０１０１）
ノード３：（０，１０１，０，００）→（０，１０１１）
ノード４：（０，０００，０，００）→（０，００００）
ノード９：（１，１００，０，００）→（１，１０００）
ノード１１：（１，１０１，０，００）→（１，１０１１）
ノード１２：（１，１００，０，００）→（１，１０００）
ノード１３：（１，０００，０，００）→（１，００００）
【０２１８】
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
［０００００１０１０１０１０１１０００００１１０００１１０１１１１０００１００００］
となる。
【０２１９】
リーフビット＝ｃ、鍵指定ビット＝ｄｄｄ、パーティションビットｅ、分割法指定ビットｆｆの設定の７ビットの鍵指定情報を各ノードに設定した場合、上述のように鍵指定木の構成ノードが８つの場合８×７＝５６ビットとなるが、リーフビット＝ｃと、エンコードビット＝ｈｈｈｈの（ｃ，ｈｈｈｈ）５ビットとした場合、８×５＝４０ビットとなリ情報量が５／７に削減される。
【０２２０】
なお、図２０の例において、リボークする受信機がなく、全受信機を構成要素とするサブセットＳ１，１１１に対応するサブセットキーで暗号化した暗号文１つだけを送信する場合には、ルートの鍵指定情報を（ｃ，ｈｈｈｈ）＝（１，１１１０）として鍵指定コードを構成すればよい。この指定情報は、リーフビット＝ｃ、鍵指定ビット＝ｄｄｄ、パーティションビットｅ、分割法指定ビットｆｆの設定の７ビットの鍵指定情報にデコードすると、
（ｃ，ｄｄｄ，ｅ，ｆｆ）＝（１，１１１，０，００）
となり、リーフビットｃと鍵指定ビットｄｄｄのみの情報構成の場合と同様の解釈となる。
【０２２１】
なお、各情報処理装置は、図１８に示す対応テーブルを用いて、鍵指定コードから、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを知ることができる。
【０２２２】
暗号文ブロックと、鍵指定コードを受領する各情報処理装置は、図１８に示す対応テーブルを記憶部に格納するか、あるいは、対応テーブルに対応する鍵指定コードの解釈アルゴリズムを実行するプログラムを記憶部に格納し、対応テーブルを参照して、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムに従って、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを判定する。なお、対応テーブル、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムは、暗号文ブロックや鍵指定コードの提供時に各情報処理装置に提供する構成としてもよい。
【０２２３】
上述のように、本実施例によれば、情報量を大幅に削減した鍵指定コードの生成、提供が可能となる。ところで、図１９および２０で説明した実施例３では、鍵指定情報（ｃ，ｄｄｄ，ｅ，ｆｆ）のうちｃ以外の６ビットを４ビットのｇｇｇｇまたはｈｈｈｈにエンコードする方法を示したが、ｃも含めた７ビットをエンコードして５ビットの鍵指定情報にする構成としてもよい。たとえば、ｃとｇｇｇｇあるいはｃとｈｈｈｈを連結した５ビットを新たな鍵指定情報とすることも可能である。
【０２２４】
次に、上述した各実施例を実行する情報処理装置、すなわち暗号文、鍵指定コードを生成し提供する送信装置等の情報処理装置、暗号文、鍵指定コードを受領して、暗号文を選択し復号してコンテンツキー等の情報取得を行なう受信装置等の情報処理装置（木構造のリーフに設定される機器）の構成例について図２１を参照して説明する。なお、本方式においてディスクなどの記録媒体に暗号文、鍵指定コードを格納して提供する場合は、送信装置はディスク書き込み装置もしくはディスク製造装置、受信機はディスク再生装置などの情報処理装置によって構成される。図２１中、点線で囲った部分はオプションであり、必ずしも具備されない。たとえば通信路が記録媒体でない場合には、必ずしもメディアインタフェースは必要ではない。
【０２２５】
一例としての情報処理装置は、図２１に示すように、コントローラ５０１、演算ユニット５０２、入出力インタフェース５０３、セキュア記憶部５０４、メイン記憶部５０５、ディスプレイ装置５０６、メディアインタフェース５０７を備える。
【０２２６】
コントローラ５０１は、例えばコンピュータ・プログラムに従ったデータ処理を実行する制御部としての機能を有するＣＰＵによって構成される。演算ユニット５０２は、例えば暗号鍵の生成、乱数生成、及び暗号処理のための専用の演算機能を提供する。入出力インタフェース５０３は、キーボード、マウス等の入力手段からのデータ入力や、外部出力装置に対するデータ出力、ネットワークを介したデータ送受信処理に対応するインタフェースである。
【０２２７】
セキュア記憶部５０４は、例えば暗号鍵としてのノードキー、各種ＩＤ、前述した対応テーブルなど、安全にまたは秘密に保持すべきデータを保存する記憶部である。メイン記憶部５０５は、例えばコントローラ５０１において実行するデータ処理プログラム、その他、一時記憶処理パラメータ、プログラム実行のためのワーク領域等に使用されるメモリ領域である。セキュア記憶部５０４及びメイン記憶部５０５は、例えばＲＡＭ、ＲＯＭ等によって構成されるメモリである。ディスカプレイは復号コンテンツの出力等に利用される。メディアインタフェース５０７は、ＣＤ、ＤＶＤ、ＭＤ等のメディアに対する読出／書込機能を提供する。
【０２２８】
図２２に、ＤＶＤ等の記録媒体に暗号化コンテンツを格納し、さらに、暗号化コンテンツの暗号鍵であるコンテンツキーＫｃを複数のサブセットキーで暗号化した暗号文ブロックと、鍵指定コードを格納した情報記録媒体の構成例を示す。
【０２２９】
情報記録媒体６００には、コンテンツキーＫｃを用いて暗号化された暗号化コンテンツ６２０のほかに、正当なコンテンツ利用権を有するデバイス（リーフ設定情報処理装置）がコンテンツキーを取得するための暗号鍵ブロック情報としてのＥＫＢ（Ｅｎａｂｌｉｎｇ Ｋｅｙ Ｂｌｏｃｋ）６１０が記録されている。
【０２３０】
暗号鍵ブロック情報としてのＥＫＢ（Ｅｎａｂｌｉｎｇ Ｋｅｙ Ｂｌｏｃｋ）６１０には、前述のように鍵指定木の構成ノードにおいて設定される様々なサブセットキーによってコンテンツキーを暗号化した１つ以上の暗号文を含む暗号文ブロック６１２と鍵指定コード６１１から構成される。
【０２３１】
また、暗号鍵ブロック情報としてのＥＫＢ（Ｅｎａｂｌｉｎｇ Ｋｅｙ Ｂｌｏｃｋ）６１０には、一例として、そのＥＫＢの新旧を表すバージョン番号や、ＥＫＢに含まれる情報が正当なエンティティにより作られ、改ざんされていないことを証明するためのデジタル署名等の認証コードなどを構成要素としてもよい。
【０２３２】
図２３に、ユーザデバイスとしての情報処理装置に提供する暗号文ブロックと鍵指定コードから構成される暗号鍵ブロック情報としてのＥＫＢを生成する情報処理装置におけるＥＫＢを生成処理フローを示す。
【０２３３】
暗号文生成処理を実行する情報処理装置は、多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成する処理を実行する。
【０２３４】
生成する鍵指定コードは、前述した実施例において説明したように、選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含むデータである。
【０２３５】
鍵指定情報は、鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、分割サブセットの分割態様を示す分割法指定情報ビット等を含む情報として設定される。
【０２３６】
なお、図２３の処理フローにおいては、コンテンツキーで暗号化されたコンテンツが既に準備されているということを前提としている。まず、ステップＳ１０１において、リボーク対象となる受信機、再生機等、リーフに設定されるリボーク情報処理装置を決定する。
【０２３７】
このリボーク機器決定結果に基づいて、ステップＳ１０２では、先の実施例で説明した、部分木、鍵指定木が設定され、鍵指定木に従って暗号化に用いるサブセットキーを決定する。
【０２３８】
ステップＳ１０３では、どのタイプの鍵指定情報のエンコード処理を実行するかを判定する。すなわち、
（１）従来技術として説明した鍵指定コード、すなわち、
リーフビット：ｃ
鍵指定ビット：ｄｄｄ
の（ｃ，ｄｄｄ）のビット構成とする方法。
（２）実施例１で説明した鍵指定コード、すなわち、
リーフビット：ｃ
鍵指定ビット：ｄｄｄ
パーティションビット：ｅ
の（ｃ，ｄｄｄ，ｅ）のビット構成とする方法。
（３）実施例２で説明した鍵指定コード、すなわち、
リーフビット：ｃ
鍵指定ビット：ｄｄｄ
パーティションビット：ｅ
分割法指定ビット：ｆｆ
の（ｃ，ｄｄｄ，ｅ，ｆｆ）のビット構成とする方法。
（４）実施例３で説明した鍵指定コード、すなわち、
リーフビット：ｃ
エンコードビット：ｇｇｇｇ
の（ｃ，ｇｇｇｇ）のビット構成とする方法。
（５）実施例３で説明した鍵指定コード、すなわち、
リーフビット：ｃ
エンコードビット：ｈｈｈｈ
の（ｃ，ｈｈｈｈ）のビット構成とする方法。
これらの各エンコード方法のどの方法を適用するかを決定する。
【０２３９】
エンコード処理方法が決定すると、ステップＳ１０４において鍵指定木の構成ノードの鍵指定情報を決定方法に従ってエンコードを実行する。なお、どのエンコード方法を適用するかは、設定した鍵指定木の構成に基づいて判断する、あるいは実際に各エンコードを実行して、ビット長を比較して、より短いビット長となるエンコードを行なうとするなどの判定を行なって決定してもよい。
【０２４０】
次に、ステップＳ１０５では、鍵指定情報を連結した鍵指定コードを生成する。
【０２４１】
次に、ステップＳ１０６において、暗号文ブロックを生成する。これは、ステップＳ１０２において決定したサブセットキーを適用して送信情報、例えばコンテンツキーＫｃを暗号化する処理である。なお、暗号文ブロックは、サブセットキーのノード番号順に並べ、かつ、同一ノードに対する複数の暗号文がある場合には前述のルール、すなわち、ＳＫｋ，ｚｚｚのＺＺＺを２進数で表現した正数とみた場合に、大きい順に並べる。
【０２４２】
ステップＳ１０７では、ステップＳ１０５で生成した鍵指定コードと、ステップＳ１０６で生成した暗号文ブロックをパッケージとした暗号鍵ブロック（ＥＫＢ）を生成する。
【０２４３】
ステップＳ１０８では、暗号鍵ブロック（ＥＫＢ）とコンテンツキーＫｃで暗号化した暗号化コンテンツをネットワークを介して送信、あるいは情報記録媒体に格納する。なお、ステップＳ１０３で決定したエンコード方法についての識別情報も併せてネットワークを介して送信、あるいは情報記録媒体に格納する構成としてもよい。具体例については後述する。
【０２４４】
次に、図２４を参照して、暗号文ブロックと鍵指定コードから構成される暗号鍵ブロック情報としてのＥＫＢと暗号化コンテンツを受領し、コンテンツ再生処理を行うユーザデバイスとしての情報処理装置における処理手順について説明する。
【０２４５】
暗号文復号処理を実行する情報処理装置は、多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力して、鍵指定コードから選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、鍵指定情報から各種の情報取得を行い、暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する。また、エンコード方法についての識別情報も入力する構成としてもよい。
【０２４６】
鍵指定情報には、前述の実施例において説明したように、鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、分割サブセットの分割態様を示す分割法指定情報ビット等を含んでおり、これらの鍵指定情報に基づいて、暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する。
【０２４７】
ステップＳ２０１において、エンコード方法識別情報を入力する。暗号鍵ブロックとしてのＥＫＢには、図２５に示すように、鍵指定コードのエンコード態様を示す情報が格納される。
【０２４８】
図２５に示す例は、情報記録媒体７００に暗号鍵ブロックとしてのＥＫＢ７１０を格納した例である。
【０２４９】
情報記録媒体７００には、コンテンツキーＫｃを用いて暗号化された暗号化コンテンツのほかに、正当なコンテンツ利用権を有するデバイス（リーフ設定情報処理装置）がコンテンツキーを取得するための暗号鍵ブロック情報としてのＥＫＢ（Ｅｎａｂｌｉｎｇ Ｋｅｙ Ｂｌｏｃｋ）７１０が記録され、ＥＫＢ（Ｅｎａｂｌｉｎｇ Ｋｅｙ Ｂｌｏｃｋ）７１０には、前述のように鍵指定木の構成ノードにおいて設定される様々なサブセットキーによってコンテンツキーを暗号化した１つ以上の暗号文を含む暗号文ブロック７１３と鍵指定コード７１２、さらに、鍵指定コードのエンコード態様を示す情報としての鍵指定情報エンコード方法識別値７１１が格納されている。鍵指定情報エンコード方法識別値７１１の具体例については後述する。
【０２５０】
なお、ネットワーク配信によりＥＫＢを送信する場合にも同様の情報が送信される。
【０２５１】
図２４に戻り、ユーザデバイスとしての情報処理装置における処理についての説明を続ける。ステップＳ２０２では、ステップＳ２０１で入力したエンコード方法識別情に基づいてエンコード方法を判別する。
【０２５２】
ステップＳ２０３では、鍵指定コードを入力する。なお、エンコード方法識別情報、鍵指定コードは、ネットワークを介して受信する場合、情報記録媒体から読み取る場合がある。
【０２５３】
ステップＳ２０４において、エンコード情報に基づく鍵指定コード解釈を実行する。
【０２５４】
次に、ステップＳ２０５において、リボークされているか否かを判定する。これは、鍵指定コードに基づいて、自装置が復号可能な暗号文が選択できれば、リボークされていないことになり、選択できなければリボークされていると判定する。鍵指定コードを用いて鍵指定木の全部または一部を再構築して判定することができる。
【０２５５】
リボークされている場合は、暗号文ブロック中に含まれるどの暗号文も自装置に格納したサブセットキーを適用して復号できないので、コンテンツ復号、再生を実行することなく処理を終了する。
【０２５６】
リボークされていない場合は、ステップＳ２０６において、自己のサブセットキーで復号できる暗号文を暗号文ブロックから選択する。選択処理は、鍵指定コードに基づいて選択する。
【０２５７】
暗号文ブロックには、すべての鍵指定情報で指定された暗号文がノード番号順、さらに１つのノードに対し複数の暗号文が存在するときには前述の順に並んでいるので、復号すべき暗号文も一意に決定できる。たとえば図１７の例で、情報処理装置ｕ１７は、リーフ１７からルートへのパス上にあるノード２を見つけ、その鍵指定情報が、
（ｃ，ｄｄｄ，ｅ，ｆｆ）＝（１，１１１，１，１０）なので、このノードにおいて定義されている、情報処理装置ｕ１７を構成要素とするサブセットＳ２，０１０に対応するサブセットキーＳＫ２，０１０を用いた暗号文が暗号文ブロックに存在することがわかる。
【０２５８】
そして、この暗号文は、ノード２において定義されたサブセットのサブセットキーを用いて作られた暗号文の２つめに置かれていることもわかる。さらにそれ以外のノードの鍵指定情報も見てみると、ノード２より番号が若いノードで対応するサブセットキーが用いられているものはないから、サブセットキーＳＫ２，０１０を用いた暗号文は暗号文ブロック全体の２番目の暗号文であることがわかるので、これを上記のサブセットキーを用いて復号すべきであることがわかる。
【０２５９】
いま、図１７の例について説明したが、他の例でも同様に、リボークされていない受信機は復号すべき暗号文および復号に使用するサブセットキーを一意に特定できる。
【０２６０】
ステップＳ２０７では、選択した暗号文を入力し、自己の保有するサブセットキーを適用して復号処理を実行してコンテンツキーＫｃを取得する。
【０２６１】
ステップＳ２０８において、取得したコンテンツツキーＫｃを適用して暗号化コンテンツを復号しコンテンツを取得し、再生処理を行なう。
【０２６２】
図２５を参照して説明したように、暗号文と鍵指定コードを格納した暗号鍵ブロック（ＥＫＢ）には鍵指定情報エンコード方法識別値７１１が識別情報として格納されている。
【０２６３】
鍵指定情報エンコード方法識別値７１１の具体例について説明する。上述した実施例１〜３において説明したように鍵指定コードの設定態様は様々な態様があり、このどのコードを適用するかは鍵指定コードの生成側が決定できる。
【０２６４】
例えば、
（１）従来技術として説明した鍵指定コード、すなわち、
リーフビット：ｃ
鍵指定ビット：ｄｄｄ
の（ｃ，ｄｄｄ）のビット構成とする方法。
（２）実施例１で説明した鍵指定コード、すなわち、
リーフビット：ｃ
鍵指定ビット：ｄｄｄ
パーティションビット：ｅ
の（ｃ，ｄｄｄ，ｅ）のビット構成とする方法。
（３）実施例２で説明した鍵指定コード、すなわち、
リーフビット：ｃ
鍵指定ビット：ｄｄｄ
パーティションビット：ｅ
分割法指定ビット：ｆｆ
の（ｃ，ｄｄｄ，ｅ，ｆｆ）のビット構成とする方法。
（４）実施例３で説明した鍵指定コード、すなわち、
リーフビット：ｃ
エンコードビット：ｇｇｇｇ
の（ｃ，ｇｇｇｇ）のビット構成とする方法。
（５）実施例３で説明した鍵指定コード、すなわち、
リーフビット：ｃ
エンコードビット：ｈｈｈｈ
の（ｃ，ｈｈｈｈ）のビット構成とする方法。
これらの各エンコード方法のどの方法が適用されたかを鍵指定情報エンコード方法７１１に識別情報として設定する。
【０２６５】
例えば、
（１）の方法：０００
（２）の方法：００１
（３）の方法：０１０
（４）の方法：０１１
（５）の方法：１００
などのように、予め情報コードを定め、コンテンツ再生を行なう情報処理装置は、これらの鍵指定情報エンコード方法識別値７１１に設定された識別情報に基づいて、鍵指定コードがどの種類のものであるかを判別する。
【０２６６】
このように、鍵指定情報エンコード方法識別値を設けることで、複数の技術のうち効率のよい方法を選択して用いることが可能となる。用いられる可能性のある鍵指定情報のルール（エンコード方法）がこれ以上ある場合でも、同様の「鍵指定情報エンコード方法」の値により指定するようにすれば対応可能である。
【０２６７】
さて、上記の実施例では、コンテンツの利用を行う情報処理装置、たとえば図１７に示すリーフｕ１４に対応する情報処理装置は、ノード１において定義されたサブセットのうち、Ｓ１，１００，Ｓ１，１１０，Ｓ１，１０１，Ｓ１，１１１の４つのサブセットに対応する４つのサブセットキーを持つことになる。他の情報処理装置でも、組み合わせは変わるが４つのサブセットキーを持つことは同様である。
【０２６８】
ここで、システムで使用するサブセットキーＳｘ，ｙｙｙのうちｙｙｙの部分の重み（１であるビットの個数）をたとえば、最大で２とし、それ以下のもののみ使用する、ということにすれば、情報処理装置は、サブセットキーＳＫ１，１１１を持たなくてよくなる。もしリボークする機器がなく、通常はＳＫ１，１１１を暗号化に用いたい場合には、上記のいずれかの手法によりこれを分割して、たとえばＳＫ１，１００、ＳＫ１，０１１の２つのサブセットキーを用いた２つの暗号文を暗号化ブロックにて送信する。
【０２６９】
このようにすることにより、暗号文ブロックのサイズは増加する可能性があるが、コンテンツ利用側の情報処理装置の持つ鍵数を減らせるというメリットがある。
【０２７０】
これは、上記の３分木の例よりも、４分木、もしくはそれ以上の多分木を用いた場合に大きな効果が期待される。
【０２７１】
なお、上述した実施例においては、３分木を中心として説明してきたが、本発明の構成は、４分木、もしくはそれ以上の他分木においても適用できる技術である。
【０２７２】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０２７３】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０２７４】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０２７５】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２７６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０２７７】
以上、説明したように、本発明の構成によれば、多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成し、鍵指定コードの構成データである鍵指定木ノード毎の鍵指定情報中に、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報（パーティションビット）を含める構成としたので、分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することが可能となり、暗号文および鍵指定コードを受領した情報処理装置側においては、受領した暗号文が、分割サブセットに対応するサブセットキーを適用した暗号文であるか否かを判別して、鍵指定コードに基づいて、自己の復号対象の暗号文を選択することが可能となり、本発明は、木構造を適用した暗号文の提供構成において利用可能である。具体的には、暗号文生成、提供、送信を実行する情報処理装置、暗号文の復号、再生を実行するユーザデバイスとしての情報処理装置、暗号化コンテンツ等を格納した情報記録媒体において適用可能である。
【０２７８】
本発明の構成によれば、木構造を用いた情報配信方式を適用した暗号文送信構成において、様々な分割サブセットを設定した暗号文の提供が可能となるので、攻撃者による様々な攻撃が行なわれた場合、効率的にリボーク対象としてのリーフに対応する情報処理装置の特定が可能となるので、リボーク対象の特定処理の必要な、木構造を適用した暗号文の提供構成において利用可能である。具体的には、暗号文生成、提供、送信を実行する情報処理装置、暗号文の復号、再生を実行するユーザデバイスとしての情報処理装置、暗号化コンテンツ等を格納した情報記録媒体において適用可能である。
【０２７９】
さらに、本発明の構成によれば、分割態様が複数あるサブセットにおいても、分割態様を示す分割法指定ビットを設定した構成としたので、例えば３分木構成において２つの枝と１つの枝の様々な組み合わせや３つの枝毎の分割サブセットの設定など任意の分割態様の設定が可能となる。暗号文ブロックからの暗号文選択および復号処理を行う情報処理装置では、鍵指定コードに含まれる鍵指定情報に含まれる分割法指定ビットを解析することにより、復号対象の暗号文を選択することができる。さらに、本発明の構成において、鍵指定ビット、パーティションビット、分割法指定ビットのビット情報を符号化した構成によれば、鍵指定コードの情報量を削減することが可能となる。従って、本発明は、木構造を適用した暗号文の提供構成において利用可能である。具体的には、暗号文生成、提供、送信を実行する情報処理装置、暗号文の復号、再生を実行するユーザデバイスとしての情報処理装置、暗号化コンテンツ等を格納した情報記録媒体において適用可能である。
【図面の簡単な説明】
【０２８０】
【図１】２分木階層型木構造について説明する図である。
【図２】２分木階層型木構造において、選択した情報処理装置のみが取得可能な情報を送信する方法を説明する図である。
【図３】鍵指定コードを暗号文とともに各情報処理装置に提供する構成について説明する図である。
【図４】ａ分木ツリーの構成例として３分木構成を示す図である。
【図５】３分木構成において、例えばコンテンツ管理者等が選択した情報処理装置のみが取得可能な情報、例えばコンテンツキーを提供する方法を説明する図である。
【図６】３分木構成における鍵指定コードについて説明する図である。
【図７】リーフビットにより鍵指定コードの情報量を削減した構成について説明する図である。
【図８】サブセットの分割構成について説明する図である。
【図９】サブセットの分割構成について説明する図である。
【図１０】実施例１に係る鍵指定コードの構成、処理例の詳細について説明する鍵指定木を示した図である。
【図１１】実施例１に係る構成において、任意のノードｉにおいて、鍵指定ビット（ｄｄｄ）と、パーティションビット（ｅ）の組み合わせ（ｄｄｄ，ｅ）が取りうる値と、そのときに暗号文ブロックに含まれる暗号文の対応を示した対応テーブルを示した図である。
【図１２】図８で示した例に加えて、さらに、サブセットキーＳＫ１，１００をサブセットキーＳＫ２，１００、ＳＫ２，０１０、ＳＫ２，００１の３つに分割した部分木の構成を示した図である。
【図１３】部分木を分割して複数の部分木として再設定する処理を説明する図である。
【図１４】実施例１における鍵指定木の各ノードにおける鍵指定情報（ｃ，ｄｄｄ，ｅ）を示す図である。
【図１５】分木数が３以上の場合の分割態様について説明する図である。
【図１６】実施例２における鍵指定木を構成するノードｉに設定される鍵指定情報中の、鍵指定ビットｄｄｄ、パーティションビットｅ、分割法指定ビットｆｆのパターンについて示す図である。
【図１７】実施例２に係る鍵指定情報（ｃ，ｄｄｄ，ｅ，ｆｆ）の計７ビット構成を持つ鍵指定情報を鍵指定木の各構成ノードに設定した例を示す図である。
【図１８】（ｄｄｄ，ｅ，ｆｆ）の５ビットの値を符号化（エンコード）した４ビットの値（ｇｇｇｇ）または（ｈｈｈｈ）として設定した例を説明する図である。
【図１９】（ｃ，ｇｇｇｇ）５ビット構成とした場合の鍵指定木と各ノードに設定される鍵指定情報、および鍵指定コードの構成を示した図である。
【図２０】（ｃ，ｈｈｈｈ）５ビット構成とした場合の鍵指定木と各ノードに設定される鍵指定情報、および鍵指定コードの構成を示した図である。
【図２１】暗号文、鍵指定コードを生成し提供する送信装置等の情報処理装置、暗号文、鍵指定コードを受領して、暗号文を選択し復号してコンテンツキー等の情報取得を行なう受信装置等の情報処理装置の構成例を示す図である。
【図２２】ＤＶＤ等の記録媒体に暗号化コンテンツを格納し、さらに、暗号化コンテンツの暗号鍵であるコンテンツキーＫｃを複数のサブセットキーで暗号化した暗号文ブロックと、鍵指定コードを格納した情報記録媒体の構成例を示す図である。
【図２３】ユーザデバイスとしての情報処理装置に提供する暗号文ブロックと鍵指定コードから構成される暗号鍵ブロック情報としてのＥＫＢを生成する情報処理装置におけるＥＫＢを生成処理フローを示す図である。
【図２４】暗号文ブロックと鍵指定コードから構成される暗号鍵ブロック情報としてのＥＫＢと暗号化コンテンツを受領し、コンテンツ再生処理を行うユーザデバイスとしての情報処理装置における処理手順について説明する図である。
【図２５】鍵指定コードのエンコード態様を示す情報が格納した鍵情報ブロック（ＥＫＢ）構成を説明する図である。
【符号の説明】
【０２８１】
１０１  情報処理装置
１２０  ルートノード
１２１，１２２，１２３  ノード
１３１，１３２，１３３，１３４，１３５  部分木
２０１  ノード
２１１  部分木
３０１  鍵指定木
３１１  部分木
３２１  鍵指定木
３５１，３５２  部分木
４０１  鍵指定木
４２１  鍵指定木
４３１  鍵指定木
５００  情報処理装置
５０１  コントローラ
５０２  演算ユニット
５０３  入出力インタフェース
５０４  セキュア記憶部
５０５  メイン記憶部
５０６  ディスプレイ装置
５０７  メディアインタフェース
６００  情報記録媒体
６１０  暗号鍵ブロック情報（ＥＫＢ）
６１１  鍵指定コード
６１２  暗号文ブロック
６２０  暗号化コンテンツ
７００  情報記録媒体
７１０  暗号鍵ブロック情報（ＥＫＢ）
７１１  鍵指定情報エンコード方法識別値
７１２  鍵指定コード
７１３  暗号文ブロック
【図１】
2005086747.tif 000005
【図２】
2005086747.tif 000006
【図３】
2005086747.tif 000007
【図４】
2005086747.tif 000008
【図５】
2005086747.tif 000009
【図６】
2005086747.tif 000010
【図７】
2005086747.tif 000011
【図８】
2005086747.tif 000012
【図９】
2005086747.tif 000013
【図１０】
2005086747.tif 000014
【図１１】
2005086747.tif 000015
【図１２】
2005086747.tif 000016
【図１３】
2005086747.tif 000017
【図１４】
2005086747.tif 000018
【図１５】
2005086747.tif 000019
【図１６】
2005086747.tif 000020
【図１７】
2005086747.tif 000021
【図１８】
2005086747.tif 000022
【図１９】
2005086747.tif 000023
【図２０】
2005086747.tif 000024
【図２１】
2005086747.tif 000025
【図２２】
2005086747.tif 000026
【図２３】
2005086747.tif 000027
【図２４】
2005086747.tif 000028
【図２５】
2005086747.tif 000029