(57)【要約】【課題】ＣＲＬのサイズを小さく抑えることができる無効化リスト生成装置及び無効判定装置を提供する。【解決手段】木構造のリーフは、公開鍵証明書に対応する。リーフ識別子は、公開鍵証明書を識別する。無効化された公開鍵証明書に対応するリーフからルートまでのノードは無効化されている。無効化リスト生成装置は、リーフを除く無効化された各ノードについて、下位のノードが無効化されているか否かを示す無効化情報を生成し、配列順序により配列された複数の無効化情報を含む無効化リストを生成する。前記無効判定装置は、前記無効化リスト内の前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断する。【選択図】　　図１
2004032707.tif 000002
【特許請求の範囲】
【請求項１】
無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置と、取得した公開鍵証明書が無効か否かを無効化リストを用いて判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置とから構成される認証システムであって、
前記無効化リスト生成装置は、
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段と、
生成した無効化リストを出力する出力手段とを含み、
前記無効判定装置は、
前記木構造の１個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、
前記無効化リストを取得するリスト取得手段と、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定手段とを含む
ことを特徴とする認証システム。
【請求項２】
無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置であって、
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段と、
生成した無効化リストを出力する出力手段と
を備えることを特徴とする無効化リスト生成装置。
【請求項３】
前記木構造は、複数のレイヤから構成され、
前記無効化リスト生成手段は、得られた複数の無効化情報を、
ルートを起点とし、
ルート側のレイヤからリーフ側のレイヤへの順序
である前記配列順序に従って配列する
ことを特徴とする請求項２に記載の無効化リスト生成装置。
【請求項４】
前記無効化リスト生成手段は、得られた複数の無効化情報を、
ルートを起点とし、
ルートから各リーフへ至る経路上に配されるノードの順序であって、
重複して配列されない
前記配列順序に従って配列する
ことを特徴とする請求項２に記載の無効化リスト生成装置。
【請求項５】
前記無効化リスト生成手段は、リーフを除き、無効化された全てのノードについて、無効化情報を生成する
ことを特徴とする請求項２に記載の無効化リスト生成装置。
【請求項６】
前記無効化リスト生成手段は、
リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す特別無効化情報を生成し、
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、
リーフを除く他の無効化されたノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成する
ことを特徴とする請求項２に記載の無効化リスト生成装置。
【請求項７】
前記木構造は、ｎ分木であり、ｎは、２以上の整数であり、
前記無効化リスト生成手段は、
リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す第１付加情報と、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の情報とから構成される特別無効化情報を生成し、
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、
リーフを除く他の無効化されたノードについて、下位側に接続する全てのノードが無効化されていない旨を示す第２付加情報と、下位のｎ個のノードのそれぞれが無効化されているか否かを示すｎ桁の情報とから構成される無効化情報を生成する
ことを特徴とする請求項６に記載の無効化リスト生成装置。
【請求項８】
前記木構造は、ｎ分木であり、ｎは、２以上の整数であり、
前記無効化リスト生成手段は、
リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の特別値から構成される特別無効化情報を生成し、
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、
リーフを除く他の無効化されたノードについて、下位のｎ個のノードのそれぞれが無効化されているか否かを示すｎ桁の無効化情報を生成する
ことを特徴とする請求項６に記載の無効化リスト生成装置。
【請求項９】
前記木構造記憶手段が有する全てのノードが無効化されており、
前記木構造は、さらに、当該木構造を構成するリーフの下位に、木構造の拡張に係る拡張規則に従って、１個以上の拡張ノードを有し、前記拡張ノードのうち最下位ノードである１個以上の拡張リーフは、それぞれ別の拡張公開鍵証明書に対応し、各拡張リーフを示す拡張リーフ識別子は、各拡張公開鍵証明書を識別する、前記拡張公開鍵証明書のうち少なくとも１個の拡張公開鍵証明書が無効化されており、無効化された拡張公開鍵証明書を識別する拡張リーフ識別子により示される拡張リーフからルートに至るまでの全てのノードは無効化されており、
前記無効化リスト生成手段は、さらに、拡張リーフを除く無効化された各拡張ノードについて、下位の拡張ノードのそれぞれが無効化されているか否かを示す拡張無効化情報を生成し、その結果複数の拡張無効化情報が得られ、得られた複数の拡張無効化情報を、前記木構造の拡張に係る拡張規則に従って配列して前記無効化リストに付加し、
前記出力手段は、拡張無効化情報が付加された前記無効化リストを出力する
ことを特徴とする請求項２に記載の無効化リスト生成装置。
【請求項１０】
無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置であって、
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、前記木構造を構成する複数のノードを有する木構造記憶手段と、
木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成する無効化リスト生成手段と、
生成した無効化リストを出力する出力手段と
を備えることを特徴とする無効化リスト生成装置。
【請求項１１】
無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを用いて、取得した公開鍵証明書が無効か否かを判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置であって、
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定装置は、
前記木構造の１個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、
前記無効化リストを取得するリスト取得手段と、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定手段と
を備えることを特徴とする無効判定装置。
【請求項１２】
前記木構造は、複数のレイヤから構成され、
前記無効化情報は、
ルートを起点とし、
ルート側のレイヤからリーフ側のレイヤへの順序
である前記配列順序に従って配列され、
前記判定手段は、前記配列順序に従って配列された前記複数の無効化情報を用いて、前記経路を構築し、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項１１に記載の無効判定装置。
【請求項１３】
前記無効化情報は、
ルートを起点とし、
ルートから各リーフへ至る経路上に配されるノードの順序であって、
重複して配列されない
前記配列順序に従って配列され、
前記判定手段は、前記配列順序に従って配列された前記複数の無効化情報を用いて、前記経路を構築し、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項１１に記載の無効判定装置。
【請求項１４】
リーフを除き、無効化された全てのノードについて、無効化情報が生成され、
前記判定手段は、前記複数の無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項１１に記載の無効判定装置。
【請求項１５】
リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す特別無効化情報が生成され、
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、
リーフを除く他の無効化されたノードについて、下位のｎ個のノードのそれぞれが無効化されているか否かを示す無効化情報が生成され、
前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項１１に記載の無効判定装置。
【請求項１６】
リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す第１付加情報と、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の情報とから構成される特別無効化情報が生成され、
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、
リーフを除く他の無効化されたノードについて、下位側に接続する全てのノードが無効化されていない旨を示す第２付加情報と、下位のｎ個のノードのそれぞれが無効化されているか否かを示すｎ桁の情報とから構成される無効化情報が生成され、
前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項１５に記載の無効判定装置。
【請求項１７】
リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の特別値から構成される特別無効化情報が生成され、
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、
リーフを除く他の無効化されたノードについて、下位のｎ個のノードのそれぞれが無効化されているか否かを示すｎ桁の無効化情報が生成され、
前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項１５に記載の無効判定装置。
【請求項１８】
前記無効化リスト生成装置が有する全てのノードが無効化されており、前記木構造は、さらに、当該木構造を構成するリーフの下位に、木構造の拡張に係る拡張規則に従って、１個以上の拡張ノードを有する、前記拡張ノードのうち最下位ノードである１個以上の拡張リーフは、それぞれ別の拡張公開鍵証明書に対応し、各拡張リーフを示す拡張リーフ識別子は、各拡張公開鍵証明書を識別する、前記拡張公開鍵証明書のうち少なくとも１個の拡張公開鍵証明書が無効化されており、無効化された拡張公開鍵証明書を識別する拡張リーフ識別子により示される拡張リーフからルートに至るまでの全てのノードは無効化されており、前記無効化リスト生成装置は、さらに、拡張リーフを除く無効化された各拡張ノードについて、下位の拡張ノードのそれぞれが無効化されているか否かを示す拡張無効化情報を生成し、その結果複数の拡張無効化情報が得られ、得られた複数の拡張無効化情報を、前記木構造の拡張に係る拡張規則に従って配列して前記無効化リストに付加し、拡張無効化情報が付加された前記無効化リストを出力し、
前記証明書取得手段は、さらに、前記木構造の１個の拡張リーフを示す拡張リーフ識別子により識別される拡張公開鍵証明書を取得し、
前記リスト取得手段は、拡張無効化情報が付加された前記無効化リストを取得し、
前記判定手段は、さらに、取得した前記無効化リスト内に配列されている前記拡張無効化情報を用いて、ルートから前記拡張リーフに至る経路の構築を試み、構築された経路内に前記拡張リーフが含まれる場合に、取得した前記拡張公開鍵証明書が無効であると判断し、前記拡張リーフが含まれない場合に、取得した前記拡張公開鍵証明書が有効であると判断する
ことを特徴とする請求項１１に記載の無効判定装置。
【請求項１９】
無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを用いて、取得した公開鍵証明書が無効か否かを判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置であって、
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定装置は、
前記木構造の１個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、
前記無効化リストを取得するリスト取得手段と、
取得した前記無効化リストを用いて、公開鍵証明書が無効化されていないと判断する判定手段と
を備えることを特徴とする無効判定装置。
【請求項２０】
無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置で用いられる無効化リスト生成方法であって、
前記無効化リスト生成装置は、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化され、前記木構造を構成する複数のノードを有する木構造記憶手段を備え、
前記無効化リスト生成方法は、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成ステップと、
生成した無効化リストを出力する出力ステップと
を含むことを特徴とする無効化リスト生成方法。
【請求項２１】
無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置で用いられる無効化リスト生成プログラムであって、
前記無効化リスト生成装置は、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段を備え、
前記無効化リスト生成プログラムは、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成ステップと、
生成した無効化リストを出力する出力ステップと
を含むことを特徴とする無効化リスト生成プログラム。
【請求項２２】
無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置で用いられる無効化リスト生成プログラムを記録しているコンピュータ読取り可能な記録媒体であって、
前記無効化リスト生成装置は、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段を備え、
前記無効化リスト生成プログラムは、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成ステップと、
生成した無効化リストを出力する出力ステップとを含む
ことを特徴とする記録媒体。
【請求項２３】
無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを用いて、取得した公開鍵証明書が無効か否かを判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置で用いられる無効判定方法であって、
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定方法は、
前記木構造の１個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得ステップと、
前記無効化リストを取得するリスト取得ステップと、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定ステップと
を含むことを特徴とする無効判定方法。
【請求項２４】
無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを用いて、取得した公開鍵証明書が無効か否かを判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置で用いられる無効判定プログラムであって、
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定プログラムは、
前記木構造の１個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得ステップと、
前記無効化リストを取得するリスト取得ステップと、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定ステップと
を含むことを特徴とする無効判定プログラム。
【請求項２５】
無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを用いて、取得した公開鍵証明書が無効か否かを判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置で用いられる無効判定プログラムを記録しているコンピュータ読取り可能な記録媒体であって、
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定プログラムは、
前記木構造の１個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得ステップと、
前記無効化リストを取得するリスト取得ステップと、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定ステップとを含む
ことを特徴とする記録媒体。
【請求項２６】
無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを記録しているコンピュータ読取り可能な記録媒体であって、
前記無効化リスト生成装置は、
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段とを備え、
前記記録媒体は、生成された前記無効化リストを記録している
ことを特徴とする記録媒体。
【請求項２７】
無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを記録しているコンピュータ読取り可能な記録媒体であって、
前記無効化リスト生成装置は、
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、前記木構造を構成する複数のノードを有する木構造記憶手段と、
木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成する無効化リスト生成手段とを備え、
前記記録媒体は、生成された前記無効化リストを記録している
ことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、公開鍵暗号技術を利用する認証技術に関し、特に無効化された公開鍵の証明書を特定する技術に関する。
【０００２】
【従来の技術】
近年、インターネットの利用の急速な広がりにより、インターネットを通信の基盤とするシステムが増加している。例えば、インターネットを介して物品の売買を行う電子商取引がその１つである。
このような、インターネットを通信の基盤とするシステムにおいては、通信相手がシステムの正当な参加者であることを確認することが必須の条件となる。このような確認を認証という。通信相手が人間により操作される機器である場合や、通信相手が決められた手順で処理を行なう機器である場合があるが、以下ではこの両者を含めて機器という。そして通信相手を認証することを機器認証という。なお、機器自身が正当性を有すること、すなわち自分がシステムの正当な参加者であることを示すことを「証明する」といい、相手の正当性を確認することを「検証する」という。認証とは、証明及び検証の両方を含む概念である。
【０００３】
機器認証においては、通常、暗号技術が用いられる。すなわち、証明者は、自身がシステムの正当な参加者であることを示すデータを秘密に有し，検証者に対してその秘密のデータを有することを示すことにより、自身の正当性を証明する。一方、検証者は、証明者が秘密のデータを有することを確認することにより、証明者の正当性を検証する。インターネットのような誰でもが通信データを入手できる通信路において，上記認証のための秘密のデータ（認証データ）は、認証に関連しない第三者にもれるものであってはならない。もしも、第三者に秘密のデータがもれてしまえば、その秘密のデータを入手した機器が、本来の機器になりすますことができるからである。そのために認証データは、暗号化されて検証者だけに伝送される。
【０００４】
暗号技術には共通鍵暗号技術と公開鍵暗号技術とがある。共通鍵暗号技術では、暗号化のための鍵と復号のための鍵とは、同じ値を有する。一方、公開鍵暗号技術では、暗号化のための鍵と復号のための鍵とは、異なる値を有する。
共通鍵暗号技術を用いる認証においては，検証者は証明者と同じ秘密を持つので、検証者が証明者になりすます危険性がある。いわゆるパスワード方式はこれに該当する。一方、公開鍵暗号技術を用いる認証においては，証明者は公開鍵暗号技術の秘密鍵を用いて証明し、検証者はその秘密鍵に対応する公開鍵を用いて検証するのであり、公開鍵から秘密鍵は作成できないようになっているので、認証が終わった後で、検証者が証明者になりすますことができない。このため、上記の認証を行うには公開鍵暗号技術を用いる方が望ましい。
【０００５】
なお、公開鍵暗号技術を用いる認証において、秘密鍵を用いて処理を行うことを署名するといい、秘密鍵に対応する公開鍵を用いてその署名の正当性を確認することを検証するという。
公開鍵暗号技術を用いる相手認証処理の１例は、次の通りである。すなわち、第１の機器は、第２の機器にチャレンジデータとして乱数データを送信し、続いて、第２の機器は、受信した乱数データに対して自分の秘密鍵で署名を行って署名文を生成して第１の機器にレスポンスデータとして返信し、最後に、第１の機器は、返信されてきた署名文に対して、第２の機器の公開鍵を用いて検証する。
【０００６】
上述したような公開鍵暗号技術を用いる認証においては、公開鍵そのものが当該システム内で有効なものであることが前提となる。
このために、当該システムにおいて認証局と呼ばれる機関から、公開鍵が、各機器に対応する正当なものであることを示す「公開鍵証明書」（公開鍵に対する「お墨付き」となる）が発行されることが一般的である。公開鍵証明書は、機器の識別名、有効期限及び公開鍵などを結合したデータに認証局の電子署名が付加されたものであり、公開鍵証明書を受け取った機器は、そのデータに対する認証局の電子署名の正しさを確認し、さらに相手機器の識別名や現在の時間からその公開鍵証明書の記載内容を確認した上で、公開鍵の正しさを確認する。
【０００７】
さらに、過去に発行された公開鍵証明書のうち、システムから排除され、正当ではないとされる機器の公開鍵証明書については、それらが無効化されていることを他の機器に知らせるために、無効化された公開鍵証明書を特定する情報の一覧に対して認証局の電子署名が付与された公開鍵証明書無効化リスト（Ｃｅｒｔｉｆｉｃａｔｅ　Ｒｅｖｏｃａｔｉｏｎ　Ｌｉｓｔ：以下、ＣＲＬ）が発行される。
【０００８】
このように、相手機器の公開鍵を用いてその相手機器を認証する際には、その相手機器の公開鍵証明書を入手し、入手した公開鍵証明書がＣＲＬに登録されたものでないこと、つまり無効化されたものでないことを確認した上で、上述の認証処理を行うことで、不正な相手機器との取引を回避することができる。
なお、ＣＲＬの形式、実現例等については、公知の技術であるので、その詳細についてはここでは言及しない。その一例として、非特許文献１に、ＩＳＯ／ＩＥＣ／ＩＴＵにより定められたＸ．５０９標準で定義されるＣＲＬ形式（データ構造）が開示されている。
【０００９】
また、非特許文献２及び非特許文献３には、無効化すべき多数の公開鍵証明書ＩＤを格納するデータ形式の一つとして利用できる木構造型データ格納方式について、木構造を１次元で表現する表現方法が開示されている。この方法では、木構造の各ノードをある規則に従って並べることで、木構造を１次元で表現している。例えば、非特許文献３のｐ．１３６には、水準順の並べ方が示されている。この並べ方によると、水準（木構造における階層に相当する）については、小さい順に並べられ、それぞれの水準内については、その水準のノードの順に、左から右に並べられる。
【００１０】
このような、特定の規則に基づく並べ方を利用することにより、機器では、１次元に並べた情報から木構造を構築することが可能となる。
上記に説明したように、機器は、相手機器の公開鍵を用いてその相手機器を認証するに先立って、ＣＲＬを取得し、取得したＣＲＬを内部のメモリに記憶し、メモリに記憶しているＣＲＬの中に、相手機器の公開鍵証明書ＩＤが存在するか否かを確認し、存在しない場合に、前記認証を行う。このため、機器は、ＣＲＬを記憶するのに十分な容量のメモリを確保しておかなければならない。
【００１１】
【非特許文献１】
「ディジタル署名と暗号技術」（山田慎一郎訳、ピアソン・エデュケーション発行、２０００年）
【００１２】
【非特許文献２】
「Ｍａｎｉｐｕｌａｔｉｏｎ　ｏｆ　Ｔｒｅｅｓ　ｉｎ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｒｅｔｒｉｅｖａｌ」（Ｇ．　Ｓａｌｔｏｎ著、Ｃｏｍｍｕｎｉｃａｔｉｏｎ　ｏｆ　ｔｈｅ　ＡＣＭ　５、１９６２年）
【００１３】
【非特許文献３】
「基本算法／情報構造」（米田、筧訳、サイエンス社、昭和５３年）
【００１４】
【発明が解決しようとする課題】
しかしながら、従来のＣＲＬは、全ての無効化する公開鍵証明書のＩＤを含んでおり、そのサイズは、無効化する公開鍵証明書の数に比例するため、無効化する公開鍵証明書が増加すると、それに伴いＣＲＬのサイズが大きくなる。
このため、最大サイズのＣＲＬを想定して、機器がＣＲＬを格納するために十分な容量のメモリを確保することは、現実的ではないという問題点がある。
【００１５】
例えば、システム全体の公開鍵証明書の総数を２３０（約１０億個）とし、無効化された証明書の数をその０．０１％の１０万個とし、ＩＤのサイズを３０ビットと仮定する。このとき、従来のＣＲＬでは、全てのＩＤを含むので、そのＣＲＬのサイズは３０ビット×１０万＝約３７５［ＫＢ］となる。従って、機器は、ＣＲＬを記憶するために、約３７５［ＫＢ］のメモリを確保すればよい。しかし、無効化された証明書の数が、０．０２％の２０万個であるなら、そのＣＲＬのサイズは３０ビット×２０万＝約７５０［ＫＢ］となり、機器は、約７５０［ＫＢ］のメモリを確保しなければならない。さらに、無効化された証明書の数が増えるならば、機器は、さらに多くの容量のメモリを確保しなければならない。
【００１６】
【課題を解決するための手段】
上記の問題点を解決するために、本発明は、無効化すべき公開鍵証明書の数が増加してもＣＲＬのサイズを小さく抑えることができる無効化リスト生成装置、無効判定装置、認証システム、無効リスト生成方法、プログラム、記録媒体、無効判定方法、プログラム及び記録媒体を提供することを目的とする。
【００１７】
前記目的を達成するために、本発明は、公開鍵暗号を利用する認証システムであって、公開鍵暗号アルゴリズムにおける秘密鍵と公開鍵を有し、この秘密鍵を用いて通信相手に対して自己の正当性を証明する端末装置と、少なくとも前記端末装置の公開鍵からなるデータに対して公開鍵証明書を発行し配布する公開鍵証明書発行装置と、無効化される前記端末装置に対して前記公開鍵証明書発行装置が発行した前記公開鍵証明書を特定する公開鍵証明書無効化リストを発行し配布する無効化リスト生成装置と、検証する相手端末装置の公開鍵証明書と前記公開鍵証明書無効化リストを受け取り、前記公開鍵証明書が前記公開鍵証明書無効化リストに登録されているか否かを判定する無効化リスト利用装置と、前記無効化リスト利用装置により有効と判断された公開鍵を用いて通信相手の行う自己正当性証明を検証する検証装置とから構成される。
【００１８】
前記無効化リスト生成装置は、複数の階層からなる木構造を構築して保管し、前記各端末装置の公開鍵証明書を識別する固有値を前記木構造のリーフに割り当て、さらに、前記保管している木構造に対して、あるノードの子孫であるリーフの少なくとも一つに無効化すべき公開鍵証明書の固有値が対応付けられている場合、そのノードを無効化ノードとし、さらに、子ノードの少なくとも１つが無効化ノードであるノードに対して、各子ノードが無効化ノードであるか否かを識別する識別子で示し、それら識別子を全子ノード分を連結したものをそのノードのノード無効化パターンとして割り当て、さらに、全木構造のノード無効化パターンを木構造のすべてのノードをたどるある所定の規則に基づいて並べて前記公開鍵証明書無効化リストを生成する。
【００１９】
前記無効化リスト利用装置は、前記ノード無効化パターンを並べた公開鍵証明書無効化リストを前記所定の規則に基づいて解析して、前記検証すべき相手端末の公開鍵証明書が前記無効化リストに登録されているか否かを判定する。
また、本発明は、端末装置の公開鍵からなるデータに対して公開鍵証明書を発行し配布する公開鍵証明書発行装置と、無効化される前記端末装置に対して前記公開鍵証明書発行装置が発行した前記公開鍵証明書を特定する公開鍵証明書無効化リストを発行し配布する無効化リスト生成装置である。
【００２０】
前記無効化リスト生成装置は、複数の階層からなる木構造を構築して保管し、前記各端末装置の公開鍵証明書を識別する固有値を前記木構造のリーフに割り当て、さらに、前記保管している木構造に対して、あるノードの子孫であるリーフの少なくとも一つに無効化すべき公開鍵証明書の固有値が対応付けられている場合、そのノードを無効化ノードとし、さらに、子ノードの少なくとも１つが無効化ノードであるノードに対して、各子ノードが無効化ノードであるか否かを識別する識別子で示し、それら識別子を全子ノード分を連結したものをそのノードのノード無効化パターンとして割り当て、さらに、全木構造のノード無効化パターンを木構造のすべてのノードをたどるある所定の規則に基づいて並べて前記公開鍵証明書無効化リストを生成する。
【００２１】
【発明の実施の形態】
１．第１の実施の形態
本発明に係る１の実施の形態としての著作物保護システム１０について説明する。
１．１　著作物保護システム１０の構成
著作物保護システム１０は、図１に示すように、鍵管理装置１００、鍵情報記録装置２００、記録装置３００ａ、３００ｂ、３００ｃ、・・・及び再生装置４００ａ、４００ｂ、４００ｃ、・・・から構成されている。
【００２２】
鍵管理装置１００は、鍵情報記録装置２００により、ＤＶＤ−ＲＡＭ等のレコーダブルメディアであって、今だ何らの情報も記録されていない記録媒体５００ａに鍵情報を記録して、鍵情報が記録された記録媒体５００ｂを予め生成しておく。また、鍵管理装置１００は、記録装置３００ａ、３００ｂ、３００ｃ、・・・及び再生装置４００ａ、４００ｂ、４００ｃ、・・・のそれぞれに対して鍵情報を復号するためのデバイス鍵を割り当て、割り当てられたデバイス鍵と、デバイス鍵を識別するデバイス鍵識別情報と、記録装置３００ａ、３００ｂ、３００ｃ、・・・及び再生装置４００ａ、４００ｂ、４００ｃ、・・・を識別するＩＤ情報とを、記録装置３００ａ、３００ｂ、３００ｃ、・・・及び再生装置４００ａ、４００ｂ、４００ｃ、・・・のそれぞれに予め配布しておく。
【００２３】
記録装置３００ａは、それぞれ、デジタル化されたコンテンツを暗号化して、暗号化コンテンツを生成し、生成した暗号化コンテンツを記録媒体５００ｂに記録して、記録媒体５００ｃを生成する。再生装置４００ａは、記録媒体５００ｃから暗号化コンテンツを取り出し、取り出した暗号化コンテンツを復号して、元のコンテンツを得る。記録装置３００ｂ、３００ｃ、・・・は、記録装置３００ａと同様に動作し、再生装置４００ｂ、４００ｃ、・・・は、再生装置４００ａと同様に動作する。
【００２４】
なお、以下において、記録装置３００ｂ、３００ｃ、・・・及び再生装置４００ｂ、４００ｃ、・・・をユーザ装置と呼ぶことがある。
１．１．１　鍵管理装置１００
鍵管理装置１００は、図２に示すように、木構造構築部１０１、木構造格納部１０２、デバイス鍵割当部１０３、無効化装置指定部１０４、木構造更新部１０５、鍵情報ヘッダ生成部１０６及び鍵情報生成部１０７から構成されている。
【００２５】
鍵管理装置１００は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、鍵管理装置１００は、その機能を達成する。
【００２６】
（１）木構造格納部１０２
木構造格納部１０２は、具体的にはハードディスクユニットから構成されており、図３に一例として示すように、木構造テーブルＤ１００を有している。
木構造テーブルＤ１００は、図４に一例として示す木構造Ｔ１００に対応しており、木構造Ｔ１００を表現するためのデータ構造を示す。後述するように、木構造構築部１０１により木構造Ｔ１００を表現するためのデータ構造が、木構造テーブルＤ１００として生成され、木構造格納部１０２に書き込まれる。
【００２７】
（木構造Ｔ１００）
木構造Ｔ１００は、図４に示すように、レイヤ０からレイヤ４までの５階層からなる２分木である。木構造Ｔ１００は、２分木であるので、木構造Ｔ１００が有する各ノード（リーフを除く）は、２本の経路を介して下位側の２個のノードにそれぞれ接続されている。レイヤ０にはルートである１個のノードが含まれ、レイヤ１には２個のノードが含まれ、レイヤ２には４個のノードが含まれ、レイヤ３には８個のノードが含まれ、レイヤ４にはリーフである１６個のノードが含まれている。なお、木構造において下位側とはリーフ側を示し、上位側とはルート側を示している。
【００２８】
木構造Ｔ１００が有する各ノード（リーフを除く）と、下位側のノードとを接続する２本の経路のうち、一方である左の経路には、「０」の番号が割り当てられており、他方である右の経路には「１」の番号が割り当てられている。ここで、図４の紙面において、各ノードを中心として当該ノードから左側下方に接続されている経路を左の経路と称し、当該ノードから右側下方に接続されている経路を右の経路と称している。
【００２９】
各ノードには、ノード名が付されている。ルートであるノードのノード名は、「ルート」である。また、レイヤ１を含め、レイヤ１より下位にあるレイヤに属するノードに対しては、レイヤ数が示す値と同じ文字数からなる文字列がノード名として付されている。この文字列は、ルートから当該ノードに至るまでの経路に割り当てられた番号を、上位から順に並べて生成されたものである。例えば、レイヤ１に属する２個のノードのノード名は、それぞれ「０」及び「１」である。また、レイヤ２に属する４個のノードのノード名は、それぞれ「００」、「０１」、「１０」及び「１１」である。また、レイヤ３に属する８個のノードのノード名は、それぞれ「０００」、「００１」、「０１０」、「０１１」、・・・、「１０１」、「１１０」及び「１１１」である。また、レイヤ４に属する１６個のノードのノード名は、それぞれ「００００」、「０００１」、「００１０」、「００１１」、・・・、「１１００」、「１１０１」、「１１１０」及び「１１１１」である。
【００３０】
（木構造テーブルＤ１００）
木構造テーブルＤ１００は、木構造Ｔ１００に含まれるノードと同じ数のノード情報を含んで構成されており、各ノード情報は、木構造Ｔ１００を構成する各ノードにそれぞれ対応している。
各ノード情報は、ノード名、デバイス鍵及び無効化フラグを含む。
【００３１】
ノード名は、当該ノード情報に対応するノードを識別するための名称である。デバイス鍵は、当該ノード情報に対応するノードに対して割り当てられた鍵である。
また、無効化フラグは、当該ノード情報に対応するデバイス鍵が無効化されているか否かを示すフラグであり、無効化フラグが「０」である場合には、無効化されていないことを示し、無効化フラグが「１」である場合には、無効化されていることを示す。
【００３２】
木構造テーブルＤ１００内には、次に示す順序規則１に従った順序により各ノード情報が記憶される。ここに示す順序規則１は、記録装置３００ａ、３００ｂ、３００ｃ、・・・、再生装置４００ａ、４００ｂ、４００ｃ、・・・により、木構造テーブルＤ１００から各ノード情報がシーケンシャルに読み出される場合においても適用される。
【００３３】
（ａ）木構造テーブルＤ１００内には、木構造Ｔ１００のレイヤ数の昇順に、各レイヤに属するノードに対応するノード情報が記憶される。具体的には、木構造テーブルＤ１００内には、最初にレイヤ０に属する１個のルートに対応する１個のノード情報が記憶され、次に、レイヤ１に属する２個のノードに対応する２個のノード情報が記憶され、次に、レイヤ２に属する４個のノードに対応する４個のノード情報が記憶される。以下同様である。
【００３４】
（ｂ）各レイヤに属するノードについては、各ノードを識別するノード名の昇順により、対応するノード情報が記憶される。
具体的には、図３に示す木構造テーブルＤ１００内には、次に示す順序により各ノード情報が記憶される。
「ルート」、「０」、「１」、「００」、「０１」、「１０」、「１１」、「０００」、「００１」、「０１０」、「０１１」、・・・、「１０１」、「１１０」、「１１１」、「００００」、「０００１」、「００１０」、「００１１」、・・・、「１１００」、「１１０１」、「１１１０」、「１１１１」
ここでは、各ノード情報に含まれるノード名により、各ノード情報が記憶されている順序を示している。
【００３５】
（２）木構造構築部１０１
木構造構築部１０１は、以下に示すようにして、デバイス鍵を管理するためのｎ分木のデータ構造を構築し、木構造格納部１０２に構築した木構造を格納する。ここで、ｎは２以上の整数であり、一例として、ｎ＝２である。
木構造構築部１０１は、最初に、ノード名として「ルート」を含むノード情報を生成し、木構造格納部１０２が有している木構造テーブルへ書き込む。
【００３６】
次に、木構造構築部１０１は、レイヤ１について、２個のノードを識別するノード名「０」及び「１」を生成し、生成したノード名「０」及び「１」をそれぞれ含む２個のノード情報を生成し、生成した２個のノード情報をこの順序で、木構造格納部１０２が有している木構造テーブルへ追加して書き込む。
次に、木構造構築部１０１は、レイヤ２について、４個のノードを識別するノード名「００」、「０１」、「１０」及び「１１」を生成し、生成したノード名「００」、「０１」、「１０」及び「１１」をそれぞれ含む４個のノード情報を生成し、生成した４個のノード情報をこの順序で、木構造格納部１０２が有している木構造テーブルへ追加して書き込む。
【００３７】
以降、木構造構築部１０１は、レイヤ３及びレイヤ４について、この順序で、上記と同様にして、ノード情報の生成と、木構造テーブルへの書き込みとを行う。
木構造構築部１０１は、次に、木構造のノード毎に乱数を用いてデバイス鍵を生成し、生成したデバイス鍵を各ノードに対応付けて木構造テーブル内に書き込む。
【００３８】
（３）デバイス鍵割当部１０３
デバイス鍵割当部１０３は、以下に示すようにして、木構造格納部１０２に格納されている木構造から、ユーザ装置が割り当てられていないリーフと、デバイス鍵を与えるべきユーザ装置を対応付けて適当なデバイス鍵を選択し、選択したデバイス鍵をユーザ装置へ出力する。
【００３９】
デバイス鍵割当部１０３は、４ビット長の変数ＩＤを有している。
デバイス鍵割当部１０３は、以下に示す処理（ａ）〜（ｆ）を１６回繰り返す。１６回の繰り返しのそれぞれにおいて、変数ＩＤは、「００００」、「０００１」、「００１０」、・・・、「１１１０」、「１１１１」の値を保持する。１６回の繰り返しにより、デバイス鍵割当部１０３は、１６台のユーザ装置のそれぞれにＩＤ情報と５個のデバイス鍵とを割り当てる。
【００４０】
（ａ）デバイス鍵割当部１０３は、木構造格納部１０２が有する木構造テーブルから、「ルート」のノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。抽出したデバイス鍵が、ルートに割り当てられたデバイス鍵である。
（ｂ）デバイス鍵割当部１０３は、木構造格納部１０２が有する木構造テーブルから、変数ＩＤの先頭１ビットからなるノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。ここで、抽出したデバイス鍵をデバイス鍵Ａとする。
【００４１】
（ｃ）デバイス鍵割当部１０３は、木構造格納部１０２が有する木構造テーブルから、変数ＩＤの先頭２ビットからなるノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。ここで、抽出したデバイス鍵をデバイス鍵Ｂとする。
（ｄ）デバイス鍵割当部１０３は、木構造格納部１０２が有する木構造テーブルから、変数ＩＤの先頭３ビットからなるノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。ここで、抽出したデバイス鍵をデバイス鍵Ｃとする。
【００４２】
（ｅ）デバイス鍵割当部１０３は、木構造格納部１０２が有する木構造テーブルから、変数ＩＤの先頭４ビットからなるノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。ここで、抽出したデバイス鍵をデバイス鍵Ｄとする。
（ｆ）デバイス鍵割当部１０３は、ＩＤ情報としての変数ＩＤ、ルートに割り当てられたデバイス鍵、各ノードに割り当てられたデバイス鍵Ａ、Ｂ、Ｃ、Ｄ、、及び前記５個のデバイス鍵をそれぞれ識別する５個のデバイス鍵識別情報を、ユーザ装置が有する鍵情報記憶部へ書き込む。
【００４３】
こうして、各ユーザ装置の鍵情報記憶部は、図８に一例として示すように、ＩＤ情報、５個のデバイス鍵識別情報及び５個のデバイス鍵を記憶する。ここで、５個のデバイス鍵識別情報と５個のデバイス鍵とは、それぞれ対応付けられている。各デバイス鍵識別情報は、対応するデバイス鍵が割り当てられているノードが属するレイアの数（レイア数）である。
【００４４】
以上のようにして、１６台のユーザ装置のそれぞれに、ＩＤ情報及び５個のデバイス鍵が割り当てられる。
一例として、図４に示す木構造Ｔ１００は、上述したように、レイヤ数５の２分木であり、１６個のリーフを含んでいる。ここで、ユーザ装置は、１６台あるものとし、１６台のユーザ装置は、各々１６個のリーフに対応している。各ユーザ装置には、木構造Ｔ１００において、対応するリーフからルートに至るまでの経路上に位置するノードに割り当てられたデバイス鍵がそれぞれ与えられる。例えば、ユーザ装置１には、ＩＫ１、ＫｅｙＨ、ＫｅｙＤ、ＫｅｙＢ、ＫｅｙＡの５つのデバイス鍵が与えられる。また、例えば、ユーザ装置１には、ＩＤ情報「００００」が与えられ、ユーザ装置１４には、ＩＤ情報「１１０１」が与えられる。
【００４５】
（４）無効化装置指定部１０４
無効化装置指定部１０４は、鍵管理装置１００の運営管理者から、無効化する１台以上のユーザ装置をそれぞれ識別する１個以上のＩＤ情報を受け付け、受け付けたＩＤ情報を木構造更新部１０５へ出力する。
（５）木構造更新部１０５
木構造更新部１０５は、無効化装置指定部１０４から１個以上のＩＤ情報を受け取る。ＩＤ情報を受け取ると、受け取った１個以上のＩＤ情報のそれぞれについて、次に示す処理（ａ）〜（ｄ）を繰り返す。
【００４６】
（ａ）木構造更新部１０５は、受け取ったＩＤ情報をノード名として含むノード情報を木構造格納部１０２が有する木構造テーブルから取得し、取得したノード情報に無効化フラグ「１」を付加し、無効化フラグ「１」が付加されたノード情報を、木構造テーブル上において、取得した前記ノード情報が記憶されていた位置に上書きする。
【００４７】
（ｂ）木構造更新部１０５は、受け取ったＩＤ情報の先頭３ビットをノード名として含むノード情報を木構造格納部１０２が有する木構造テーブルから取得し、上記と同様にして、取得したノード情報に無効化フラグ「１」を付加して木構造テーブルに上書きする。
（ｃ）木構造更新部１０５は、受け取ったＩＤ情報の先頭２ビットをノード名として含むノード情報を木構造格納部１０２が有する木構造テーブルから取得し、上記と同様にして、取得したノード情報に無効化フラグ「１」を付加して木構造テーブルに上書きする。
【００４８】
（ｄ）木構造更新部１０５は、「ルート」をノード名として含むノード情報を木構造格納部１０２が有する木構造テーブルから取得し、上記と同様にして、取得したノード情報に無効化フラグ「１」を付加して木構造テーブルに上書きする。
以上説明したように、木構造更新部１０５は、無効化装置指定部１０４から受け取ったＩＤ情報に基づいて、木構造において、受け取ったＩＤ情報が示すリーフから、ノードまでの経路上に存在する全てのノードを無効化する。
【００４９】
図４に示す木構造Ｔ１００において、ＩＤ情報「００００」、「１０１０」及び「１０１１」により示されるユーザ装置が無効化されると想定する場合、上記のようにしてノードが無効化された木構造Ｔ２００を図５に示す。
また、木構造テーブルＤ１００は、木構造Ｔ２００に対応して無効化フラグが付加されたものである。
【００５０】
木構造Ｔ２００において、ＩＤ情報「００００」により示されるユーザ装置１に対応するリーフからルートまでの経路に存在する全てのノード、ＩＤ情報「１０１０」により示されるユーザ装置１１に対応するリーフからルートまでの経路に存在する全てのノード、及びＩＤ情報「１０１１」により示されるユーザ装置１２に対応するリーフからルートまでの経路に存在する全てのノードに、×印が付されているが、これらのノードは、無効化されたノードを示している。
【００５１】
木構造テーブルＤ１００において、上記の無効化されたノードに対応するノード情報には、無効化フラグが付加されている。
（６）鍵情報ヘッダ生成部１０６
鍵情報ヘッダ生成部１０６は、レイヤ数を示す変数ｉ及びレイヤに含まれるノード名を示す変数ｊを有している。
【００５２】
鍵情報ヘッダ生成部１０６は、次に示す処理（ａ）を、木構造に含まれるレイヤ数分、繰り返す。レイヤ数分の繰り返しのそれぞれにおいて、レイヤ数を示す変数ｉは、「０」、「１」、「２」、「３」の値を保持する。
（ａ）鍵情報ヘッダ生成部１０６は、変数ｉによりレイヤ数が示されるレイヤに含まれる全てのノードの数だけ、ノード毎に次に示す処理（ａ−１）〜（ａ−３）を繰り返す。ここで、処理（ａ−１）〜（ａ−３）の対象となる対象ノード名を変数ｊにより示す。
【００５３】
（ａ−１）鍵情報ヘッダ生成部１０６は、木構造格納部１０２が有する木構造テーブルから、変数ｊに「０」を結合して得られるノード名を含むノード情報を取得し、変数ｊに「１」を結合して得られるノード名を含むノード情報を取得する。
このようにして得られた２個のノード情報は、それぞれ、変数ｊにより示される対象ノードの直下に接続されている２個の下位ノードに対応している。
【００５４】
（ａ−２）鍵情報ヘッダ生成部１０６は、取得した２個の前記ノード情報のそれぞれに含まれている無効化フラグの両方が「０」であるか、否かを調べ、両方が「０」でない場合に、取得した２個の前記ノード情報のそれぞれに含まれている２個の無効化フラグを、２個の前記ノード情報が木構造テーブルに格納されている順序で並べて、ノード無効化パターン（Ｎｏｄｅ　Ｒｅｖｏｃａｔｉｏｎ
Ｐａｔｔｅｒｎ、以下、ＮＲＰと呼ぶ。）を生成する。
【００５５】
具体的には、取得した２個の前記ノード情報のそれぞれに含まれている無効化フラグが「０」及び「０」である場合には、ノード無効化パターンを生成しない。
また、取得した２個の前記ノード情報のそれぞれに含まれている無効化フラグが「１」及び「０」である場合には、ＮＲＰ｛１０｝を生成する。
【００５６】
取得した２個の前記ノード情報のそれぞれに含まれている無効化フラグが「０」及び「１」である場合には、ＮＲＰ｛０１｝を生成する。
取得した２個の前記ノード情報のそれぞれに含まれている無効化フラグが「１」及び「１」である場合には、ＮＲＰ｛１１｝を生成する。
（ａ−３）鍵情報ヘッダ生成部１０６は、生成したＮＲＰを鍵情報記録装置２００へ出力する。
【００５７】
以上説明したように、鍵情報ヘッダ生成部１０６は、木構造のレイヤ内のノード毎に、当該ノードの下位側に直接接続されている２個の下位ノードが無効化されているか否かを調べ、２個の下位ノードのいずれか一方が無効化されている場合には、上記に示すようにしてＮＲＰを生成する。図５に示す木構造Ｔ２００において、×印が付されたノードの近辺に、当該ノードに対応して生成したＮＲＰを示している。
【００５８】
また、鍵情報ヘッダ生成部１０６は、上記に示すような繰り返しにおいて、ＮＲＰを出力するので、図５に示す場合には、図６に一例として示す複数個のＮＲＰが生成されて出力される。鍵情報ヘッダ生成部１０６は、これらの複数個のＮＲＰをヘッダ情報として出力する。
図５に示す木構造Ｔ２００において、ユーザ装置１、ユーザ装置１１及びユーザ装置１２がそれぞれ無効化されている。ここで、無効化されるべき各ユーザ装置に対応するリーフから、ルートに至るまでの経路上に存在するノード（図５において、×印が付されたノード）を無効化ノードと称する。また、１個のノードの子ノードが無効化ノードである場合を「１」、そうでない場合を「０」で表現し、それら子ノードの状態を左から順に連結したものが、そのノードのＮＲＰである。ＮＲＰは、ｎ分木の場合、ｎビットの情報である。図５における木構造Ｔ２００のルートＴ２０１について、２つの子ノードが共に無効化ノードであるため、ＮＲＰは、｛１１｝と表現される。また、ノードＴ２０２に付されたＮＲＰは、｛１０｝と表現される。また、ノードＴ２０３は、無効化ノードであるが、子ノードが存在しないリーフであるため、ＮＲＰは付加されない。
【００５９】
図６に一例として示すように、ヘッダ情報Ｄ２００は、ＮＲＰ｛１１｝、｛１０｝、｛１０｝、｛１０｝、｛０１｝、｛１０｝、｛１１｝から構成され、各ＮＲＰをこの順序で含んでいる。
なお、これらの複数個のＮＲＰのそれぞれは、ヘッダ情報Ｄ２００内において格納される位置が定められている。この位置は、上記の繰り返しにより定まるものである。図６に示すように、ヘッダ情報Ｄ２００内に「０」、「１」、「２」、「３」、「４」、「５」及び「６」により定まる位置において、それぞれ、ＮＲＰ｛１１｝、｛１０｝、｛１０｝、｛１０｝、｛０１｝、｛１０｝、｛１１｝が配置されている。
【００６０】
以上説明したように、鍵情報ヘッダ生成部１０６は、無効化ノードの１以上のＮＲＰを抽出し、抽出したＮＲＰを鍵情報のヘッダ情報として、鍵情報記録装置２００へ出力する。このとき、鍵情報ヘッダ生成部１０６は、複数のＮＲＰを水準順に並べる。すなわち、複数のＮＲＰを上位レイヤから下位レイヤの順に並べ、レイヤが同じＮＲＰついては、左から右への順に並べる。なお、ＮＲＰの並べ方はある規則に基づいていればよく、例えば、レイヤが同じ場合に右から左の順に並べるとしてもよい。
【００６１】
（７）鍵情報生成部１０７
鍵情報生成部１０７は、鍵情報ヘッダ生成部１０６と同様に、レイヤ数を示す変数ｉ及びレイヤに含まれるノード名を示す変数ｊを有している。
鍵情報生成部１０７は、次に示す処理（ａ）を、木構造に含まれ、レイヤ０を除くレイヤ数分、繰り返す。レイヤ数分の繰り返しのそれぞれにおいて、レイヤ数を示す変数ｉは、「１」、「２」、「３」の値を保持する。
【００６２】
（ａ）鍵情報生成部１０７は、変数ｉによりレイヤ数が示されるレイヤに含まれる全てのノードの数だけ、ノード毎に次に示す処理（ａ−１）〜（ａ−３）を繰り返す。ここで、処理（ａ−１）〜（ａ−３）の対象となる対象ノード名を変数ｊにより示す。
（ａ−１）鍵情報生成部１０７は、木構造格納部１０２が有する木構造テーブルから、変数ｊをノード名として含むノード情報を取得し、取得したノード情報に含まれる無効化フラグが「１」であるか又は「０」であるかを判断する。
【００６３】
（ａ−２）無効化フラグが「０」である場合に、鍵情報生成部１０７は、さらに、対象ノードの上位に接続されている上位ノードに対応するデバイス鍵による暗号化がされているか否かを判断する。
（ａ−３）暗号化がされていない場合に、鍵情報生成部１０７は、取得したノード情報に含まれるデバイス鍵を抽出し、暗号化アルゴリズムＥ１を適用して、抽出したデバイス鍵を用いて、生成されたメディア鍵を暗号化して、暗号化メディア鍵を生成する。
【００６４】
暗号化メディア鍵＝Ｅ１（デバイス鍵、メディア鍵）
ここで、Ｅ（Ａ、Ｂ）は、暗号化アルゴリズムＥを適用して、鍵Ａを用いて、データＢを暗号化することを示している。
また、暗号化アルゴリズムＥ１は、一例として、ＤＥＳ（Ｄａｔａ　Ｅｎｃｒｙｐｔｉｏｎ　Ｓｔａｎｄａｒｄ）である。
【００６５】
次に、鍵情報生成部１０７は、生成した暗号化メディア鍵を鍵情報記録装置２００へ出力する。
なお、無効化フラグ「１」が付されている場合、又は暗号化がされている場合には、処理（ａ−３）は、行われない。
以上説明したように、鍵情報生成部１０７は、上記に示すような繰り返しにおいて、暗号化メディア鍵を出力するので、図５に示す場合には、図７に一例として示す複数個の暗号化メディア鍵が生成されて出力される。鍵情報生成部１０７は、これらの複数個の暗号化メディア鍵を鍵情報Ｄ３００として出力する。
【００６６】
なお、これらの複数個の暗号化メディア鍵のそれぞれは、鍵情報Ｄ３００内において格納されている位置が定められている。この位置は、上記の繰り返しにより定まるものである。図７に示すように、鍵情報Ｄ３００内に「０」、「１」、「２」、「３」及び「４」により定まる位置において、それぞれ、暗号化メディア鍵Ｅ１（ＫｅｙＥ、メディア鍵）、Ｅ１（ＫｅｙＧ、メディア鍵）、Ｅ１（ＫｅｙＩ、メディア鍵）、Ｅ１（ＫｅｙＬ、メディア鍵）、Ｅ１（ＩＫ２、メディア鍵）が配置されている。
【００６７】
１．１．２　鍵情報記録装置２００
鍵情報記録装置２００は、鍵情報ヘッダ生成部１０６からヘッダ情報を受け取り、鍵情報生成部１０７から鍵情報を受け取り、受け取ったヘッダ情報と鍵情報とを記録媒体５００ａに書き込む。
１．１．３　記録媒体５００ａ、ｂ、ｃ
記録媒体５００ａは、ＤＶＤ−ＲＡＭ等のレコーダブルメディアであって、今だ何らの情報も記録されていないものである。
【００６８】
記録媒体５００ｂは、記録媒体５００ａに、鍵管理装置１００及び鍵情報記録装置２００により、上記に述べたようにして、ヘッダ情報が付加された鍵情報が書き込まれたものである。
記録媒体５００ｃは、記録媒体５００ｂに、記録装置３００ａ、３００ｂ、３００ｃ、・・・の何れかにより、上記に述べたようにして、暗号化コンテンツがが書き込まれたものである。
【００６９】
図８に示すように、記録媒体５００ｃは、ヘッダ情報が付加された鍵情報と暗号化コンテンツとを記録している。
１．１．４　記録装置３００ａ、３００ｂ、３００ｃ、・・・
記録装置３００ａは、図８に示すように、鍵情報記憶部３０１、復号部３０２、特定部３０３、暗号部３０４及びコンテンツ記憶部３０５から構成されている。なお、記録装置３００ｂ、３００ｃ、・・・は、記録装置３００ａと同様の構成を有しているので、これらについて説明を省略する。
【００７０】
記録装置３００ａは、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成され、前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、記録装置３００ａは、その機能を達成する。
記録装置３００ａには、記録媒体５００ｂが装着される。記録装置３００ａは、自らが記憶しているＩＤ情報を元に記録媒体５００ｂに記憶されているヘッダ情報の解析を行って、復号すべき暗号化メディア鍵の位置と、使用すべきデバイス鍵を特定し、特定したデバイス鍵を用いて復号してメディア鍵を獲得する。次に、獲得したメディア鍵を用いて、デジタル化されたコンテンツを暗号化し、暗号化コンテンツを記録媒体５００ｂに記録する。
【００７１】
（１）鍵情報記憶部３０１
鍵情報記憶部３０１は、ＩＤ情報と、５個のデバイス鍵と、５個のデバイス鍵をそれぞれ識別するための５個のデバイス鍵識別情報とを記憶するための領域を備えている。
（２）特定部３０３
特定部３０３は、鍵管理装置１００が有する鍵情報ヘッダ生成部１０６が、鍵情報のヘッダ情報を上述した順序規則１に従って生成したものと想定して動作する。
【００７２】
特定部３０３は、鍵情報記憶部３０１からＩＤ情報を読み出す。また、記録媒体５００ｂからヘッダ情報及び鍵情報を読み出す。次に、特定部３０３は、読み出したＩＤ情報及び読み出したヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から１個の暗号化メディア鍵が存在する位置Ｘと、前記暗号化メディア鍵の復号に使用するデバイス鍵を識別するためのデータ鍵識別情報とを特定する。なお、暗号化メディア鍵が存在する位置Ｘ及びデバイス鍵識別情報を特定する場合の詳細の動作については、後述する。
【００７３】
次に、特定部３０３は、特定した１個の暗号化メディア鍵及び決定した１個のデバイス鍵識別情報を復号部３０２へ出力する。
（３）復号部３０２
復号部３０２は、特定部３０３から１個の暗号化メディア鍵及び１個のデバイス鍵識別情報を受け取る。１個の暗号化メディア鍵及び１個のデバイス鍵識別情報を受け取ると、受け取ったデバイス鍵識別情報により識別されるデバイス鍵を鍵情報記憶部３０１から読み出し、復号アルゴリズムＤ１を適用して、読み出したデバイス鍵を用いて、受け取った暗号化メディア鍵を復号して、メディア鍵を生成する。
【００７４】
メディア鍵＝Ｄ１（デバイス鍵、暗号化メディア鍵）
ここで、Ｄ（Ａ、Ｂ）は、復号アルゴリズムＤを適用して、鍵Ａを用いて、暗号化データＢを復号して元のデータを生成することを意味する。
また、復号アルゴリズムＤ１は、暗号化アルゴリズムＥ１に対応するものであり、暗号化アルゴリズムＥ１を適用して暗号化されたデータを復号するためのアルゴリズムである。
【００７５】
次に、復号部３０２は、生成したメディア鍵を暗号部３０４へ出力する。
なお、図８に記載されている各ブロックは、接続線により他のブロックと接続されている。ただし、一部の接続線を省略している。ここで、各接続線は、信号や情報が伝達される経路を示している。また、復号部３０２を示すブロックに接続している複数の接続線のうち、接続線上に鍵マークが付されているものは、復号部３０２へ鍵としての情報が伝達される経路を示している。暗号部３０４を示すブロックについても同様である。また、他の図面についても同様である。
【００７６】
（４）コンテンツ記憶部３０５
コンテンツ記憶部３０５は、デジタル化された音楽などの著作物であるコンテンツを記憶している。
（５）暗号部３０４
暗号部３０４は、復号部３０２からメディア鍵を受け取り、コンテンツ記憶部３０５からコンテンツを読み出す。次に、暗号部３０４は、暗号化アルゴリズムＥ２を適用して、受け取ったメディア鍵を用いて、読み出したコンテンツを暗号化して暗号化コンテンツを生成する。
【００７７】
暗号化コンテンツ＝Ｅ２（メディア鍵、コンテンツ）
ここで、暗号化アルゴリズムＥ２は、一例として、ＤＥＳによる暗号化アルゴリズムである。
次に、暗号部３０４は、生成した暗号化コンテンツを記録媒体５００ｂへ書き込む。このようにして、暗号化コンテンツが書き込まれた記録媒体５００ｃが生成される。
【００７８】
１．１．５　再生装置４００ａ、４００ｂ、４００ｃ、・・・
再生装置４００ａは、図９に示すように、鍵情報記憶部４０１、特定部４０２、復号部４０３、復号部４０４及び再生部４０５から構成されている。なお、再生装置４００ｂ、４００ｃ、・・・は、再生装置４００ａと同様の構成を有しているので、これらについて説明を省略する。
【００７９】
再生装置４００ａは、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成され、前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、再生装置４００ａは、その機能を達成する。
ここで、鍵情報記憶部４０１、特定部４０２及び復号部４０３は、それぞれ、記録装置３００ａが有している鍵情報記憶部３０１、特定部３０３及び復号部３０２と同様の構成を有しているので、説明を省略する。
【００８０】
再生装置４００ａに記録媒体５００ｃが装着される。再生装置４００ａは、自ら記憶しているＩＤ情報を元に、記録媒体５００ｃに記憶されているヘッダ情報の解析を行って、復号すべき暗号化メディア鍵の位置と、使用すべきデバイス鍵を特定し、特定したデバイス鍵を用いて復号してメディア鍵を獲得する。次に、再生装置４００ａは、獲得したメディア鍵を用いて、記録媒体５００ｃに記録されている暗号化コンテンツを復号してコンテンツを再生する
（１）復号部４０４
復号部４０４は、復号部４０３からメディア鍵を受け取り、記録媒体５００ｃから暗号化コンテンツを読み出し、復号アルゴリズムＤ２を適用して、受け取ったメディア鍵を用いて、読み出した前記暗号化コンテンツを復号して、コンテンツを生成し、生成したコンテンツを再生部４０５へ出力する。
【００８１】
コンテンツ＝Ｄ２（メディア鍵、暗号化コンテンツ）
ここで、復号アルゴリズムＤ２は、暗号化アルゴリズムＥ２に対応するものであり、暗号化アルゴリズムＥ２を適用して暗号化されたデータを復号するためのアルゴリズムである。
（２）再生部４０５
再生部４０５は、復号部４０４からコンテンツを受け取り、受け取ったコンテンツを再生する。例えば、コンテンツが音楽の場合には、再生部４０５は、コンテンツを音声に変換して出力する。
【００８２】
１．２．著作物保護システム１０の動作
著作物保護システム１０の動作について説明する。
１．２．１　デバイス鍵の割り当て、記録媒体の生成及びコンテンツの暗号化又は復号の動作
ここでは、ユーザ装置へデバイス鍵を割り当てる動作、鍵情報の生成と記録媒体への書き込みの動作及びユーザ装置によるコンテンツの暗号化又は復号の動作について、図１０に示すフローチャートを用いて説明する。特に、デバイス鍵が不正な第三者により暴露されるまでの、各装置の動作について説明する。
【００８３】
鍵管理装置１００の木構造構築部１０１は、木構造を表す木構造テーブルを生成し、生成した木構造テーブルを木構造格納部１０２へ書き込み（ステップＳ１０１）、次に、木構造のノード毎にデバイス鍵を生成し、生成したデバイス鍵を各ノードに対応付けて木構造テーブル内に書き込む（ステップＳ１０２）。次に、デバイス鍵割当部１０３は、デバイス鍵、デバイス鍵識別情報及びＩＤ情報を対応するユーザ装置へ出力する（ステップＳ１０３〜Ｓ１０４）。ユーザ装置が有する鍵情報記憶部は、デバイス鍵、デバイス鍵識別情報及びＩＤ情報を受け取り（ステップＳ１０４）、受け取ったデバイス鍵、デバイス鍵識別情報及びＩＤ情報を記録する（ステップＳ１１１）。
【００８４】
このようにして、デバイス鍵、デバイス鍵識別情報及びＩＤ情報を記録しているユーザ装置が生産され、生産されたユーザ装置がユーザに対して販売される。
次に、鍵情報生成部１０７は、メディア鍵を生成し（ステップＳ１０５）、鍵情報を生成し（ステップＳ１０６）、生成した鍵情報を鍵情報記録装置２００を介して記録媒体５００ａに出力し（ステップＳ１０７〜Ｓ１０８）、記録媒体５００ａは、鍵情報を記録する（ステップＳ１２１）。
【００８５】
このようにして、鍵情報が記録された記録媒体５００ｂが生成され、生成された記録媒体５００ｂが販売などされることにより、利用者に配布される。
次に、鍵情報が記録された記録媒体が、ユーザ装置に装着され、ユーザ装置は、記録媒体から鍵情報を読み出し（ステップＳ１３１）、読み出した鍵情報を用いて、当該ユーザ装置自身に割り当てられた暗号化メディア鍵を特定し（ステップＳ１３２）、メディア鍵を復号し（ステップＳ１３３）、復号したメディア鍵を用いて、コンテンツを暗号化して記録媒体５００ｂに書き込み、又は暗号化コンテンツの記録されている記録媒体５００ｃから暗号化コンテンツを読み出し、読み出した暗号化コンテンツを復号したメディア鍵を用いて復号して、コンテンツを生成する（ステップＳ１３４）。
【００８６】
以上のように、ユーザ装置により暗号化コンテンツを記録媒体５００ｂに書き込み、ユーザ装置により暗号化コンテンツの記録されている記録媒体５００ｃから暗号化コンテンツを読み出して復号し、コンテンツを再生する。
次に、不正な第三者が、ユーザ装置に割り当てられたデバイス鍵を、何らかの手段により不正に取得する。不正な第三者は、前記コンテンツを不正に流通させたり、正規のユーザ装置を模倣する不正な装置を生産して販売する。
【００８７】
鍵管理装置１００の運営管理者は、又は前記コンテンツの著作権者は、コンテンツが不正に流通していること、又は不正な装置が流通していることを知り、前記デバイス鍵が漏洩したことを知る。
１．２．２　デバイス鍵が暴露された後の動作
ここでは、デバイス鍵が不正な第三者により暴露された後における、暴露されたデバイス鍵に対応する木構造の内のノードの無効化の動作、新たな鍵情報の生成と記録媒体への書込みの動作、及びユーザ装置によるコンテンツの暗号化又は復号の動作について、図１１に示すフローチャートを用いて説明する。
【００８８】
鍵管理装置１００の無効化装置指定部１０４は、無効化する１台以上のユーザ装置の１個以上のＩＤ情報を受け付け、受け付けたＩＤ情報を木構造更新部１０５へ出力する（ステップＳ１５１）。次に、木構造更新部１０５は、ＩＤ情報を受け取り、受け取ったＩＤ情報を用いて、木構造を更新し（ステップＳ１５２）、鍵情報ヘッダ生成部１０６は、ヘッダ情報を生成し、生成したヘッダ情報を鍵情報記録装置２００へ出力し（ステップＳ１５３）、鍵情報生成部は、メディア鍵を生成し（ステップＳ１５４）、鍵情報を生成し（ステップＳ１５５）、生成した鍵情報を鍵情報記録装置２００を介して出力し（ステップＳ１５６〜Ｓ１５７）、記録媒体５００ａは、鍵情報を記録する（ステップＳ１６１）。
【００８９】
このようにして、新たな鍵情報が記録された記録媒体５００ｂが生成され、生成された記録媒体５００ｂが販売などされることにより、利用者に配布される。
次に、新たな鍵情報が記録された記録媒体が、ユーザ装置に装着され、ユーザ装置は、記録媒体から鍵情報を読み出し（ステップＳ１７１）、読み出した鍵情報を用いて、当該ユーザ装置自身に割り当てられた暗号化メディア鍵を特定し（ステップＳ１７２）、メディア鍵を復号し（ステップＳ１７３）、復号したメディア鍵を用いて、コンテンツを暗号化して記録媒体５００ｂに書き込み、又は暗号化コンテンツの記録されている記録媒体５００ｃから暗号化コンテンツを読み出し読み出した暗号化コンテンツを復号したメディア鍵を用いて復号して、コンテンツを生成する（ステップＳ１７４）。
【００９０】
以上のように、ユーザ装置により暗号化コンテンツを記録媒体５００ｂに書き込み、又はユーザ装置により暗号化コンテンツの記録されている記録媒体５００ｃから暗号化コンテンツを読み出して復号し、コンテンツを再生する。
１．２．３　木構造を構築して格納する動作
ここでは、木構造構築部１０１による木構造テーブルの生成と木構造格納部１０２への木構造テーブルの書き込みの動作について、図１２に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１０に示すフローチャートにおけるステップＳ１０１の詳細である。
【００９１】
木構造構築部１０１は、最初に、ノード名として「ルート」を含むノード情報を生成し、木構造格納部１０２が有している木構造テーブルへ書き込む（ステップＳ１９１）。
次に、木構造構築部１０１は、レイヤｉ（ｉ＝１、２、３、４）について、次に示すステップＳ１９３〜Ｓ１９４を繰り返す。
【００９２】
木構造構築部１０１は、２ｉ　個の文字列をノード名として生成し（ステップＳ１９３）、生成した２ｉ　個の文字列をノード名として含むノード情報を、順に木構造テーブルへ書き込む（ステップＳ１９４）。
１．２．４　デバイス鍵とＩＤ情報とを各ユーザ装置へ出力する動作
ここでは、デバイス鍵割当部１０３によるデバイス鍵とＩＤ情報とを各ユーザ装置へ出力する動作について、図１３に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１０に示すフローチャートにおけるステップＳ１０３の詳細である。
【００９３】
デバイス鍵割当部１０３は、変数ＩＤを「００００」、「０００１」、「００１０」、・・・、「１１１０」、「１１１１」のように変化させ、それぞれの変数ＩＤについて、次に示すステップＳ２２２〜Ｓ２２７を繰り返す。
デバイス鍵割当部１０３は、ルートに割り当てられたデバイス鍵を取得し（ステップＳ２２２）、変数ＩＤの先頭１ビットをノード名とするノードに割り当てられたデバイス鍵Ａを取得し（ステップＳ２２３）、変数ＩＤの先頭２ビットをノード名とするノードに割り当てられたデバイス鍵Ｂを取得し（ステップＳ２２４）、変数ＩＤの先頭３ビットをノード名とするノードに割り当てられたデバイス鍵Ｃを取得し（ステップＳ２２５）、変数ＩＤの先頭４ビットをノード名とするノードに割り当てられたデバイス鍵Ｄを取得し（ステップＳ２２６）、ＩＤ情報としての変数ＩＤ、ルートに割り当てられたデバイス鍵、各ノードに割り当てられたデバイス鍵Ａ、Ｂ、Ｃ、Ｄをユーザ装置へ出力する（ステップＳ２２７）。
【００９４】
１．２．５　木構造の更新の動作
ここでは、木構造更新部１０５による木構造の更新の動作について、図１４に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１５２の詳細である。
木構造更新部１０５は、無効化装置指定部１０４から受け取った１個以上のＩＤ情報のそれぞれについて、次に示すステップＳ２４２〜Ｓ２４６を繰り返す。
【００９５】
木構造更新部１０５は、受け取ったＩＤ情報をノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「１」を付加する（ステップＳ２４２）。
次に、木構造更新部１０５は、受け取ったＩＤ情報の先頭３ビットをノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「１」を付加する（ステップＳ２４３）。
【００９６】
次に、木構造更新部１０５は、受け取ったＩＤ情報の先頭２ビットをノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「１」を付加する（ステップＳ２４４）。
次に、木構造更新部１０５は、受け取ったＩＤ情報の先頭１ビットをノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「１」を付加する（ステップＳ２４５）。
【００９７】
次に、木構造更新部１０５は、「ルート」をノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「１」を付加する（ステップＳ２４６）。
１．２．６　ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作について、図１５に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１５３の詳細である。
【００９８】
鍵情報ヘッダ生成部１０６は、レイヤ０からレイヤ３までの各レイヤについて、ステップＳ２６２〜Ｓ２６６を繰り返す。さらに、鍵情報ヘッダ生成部１０６は、各レイヤに含まれる対象ノード毎に、ステップＳ２６３〜Ｓ２６５を繰り返す。
鍵情報ヘッダ生成部１０６は、当該対象ノードの直下に接続されている２個の下位ノードを選択し（ステップＳ２６３）、次に選択した２個の下位ノードのそれぞれに無効化フラグが付されているか否かを調べてＮＲＰを生成し（ステップＳ２６４）、生成したＮＲＰを出力する（ステップＳ２６５）。
【００９９】
１．２．７　鍵情報の生成の動作
ここでは、鍵情報生成部１０７による鍵情報の生成の動作について、図１６に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１５５の詳細である。
鍵情報生成部１０７は、レイヤ１からレイヤ３までの各レイヤについて、ステップＳ２８２〜Ｓ２８７を繰り返す。さらに、鍵情報生成部１０７は、各レイヤに含まれる対象ノード毎に、ステップＳ２８３〜Ｓ２８６を繰り返す。
【０１００】
鍵情報生成部１０７は、対象ノードに無効化フラグ「１」が付されているか否かを判断する。無効化フラグ「１」が付されていない場合には（ステップＳ２８３）、さらに対象ノードの上位に接続されている上位ノードに対応するデバイス鍵による暗号化がされているか否かを判断する。暗号化がされていない場合に（ステップＳ２８４）、対象ノードに対応するデバイス鍵を木構造テーブルから取得し（ステップＳ２８５）、取得したデバイス鍵を用いて、生成されたメディア鍵を暗号化して、暗号化メディア鍵を生成し、生成した暗号化メディア鍵を出力する（ステップＳ２８６）。
【０１０１】
無効化フラグ「１」が付されている場合（ステップＳ２８３）、又は暗号化がされている場合（ステップＳ２８４）、ステップＳ２８５〜Ｓ２８６は行われない。
１．２．８　鍵情報の特定の動作
ここでは、記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作について、図１７に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１７２の詳細である。
【０１０２】
また、再生装置４００ａが有する特定部４０２による動作は、特定部３０３による動作と同じであるので、説明を省略する。
特定部３０３は、暗号化メディア鍵の位置を示す変数Ｘ、ユーザ装置自身に関係するＮＲＰの位置を示す変数Ａ、あるレイヤにおけるＮＲＰの数を示す変数Ｗ、及び木構造のレイヤ数を示す値Ｄを有している。ここで、ユーザ装置自身に関係するＮＲＰ（Ｎｏｄｅ　Ｒｅｖｏｃａｔｉｏｎ　Ｐａｔｔｅｒｎ、以下、ＮＲＰと呼ぶ。）とは、木構造において、ユーザ装置に割り当てられているリーフから、ルートに至るまでの経路上に存在するノードのＮＲＰを示す。
【０１０３】
特定部３０３は、レイヤｉ＝０から、レイヤｉ＝Ｄ−１まで、以下の手順で解析を行う。
特定部３０３は、初期値として、それぞれ変数Ａ＝０、変数Ｗ＝１、変数ｉ＝０とする（ステップＳ３０１）。
変数ｉと値Ｄとを比較し、変数ｉが値Ｄより大きい場合（ステップＳ３０２）、このユーザ装置は、無効化されているので、次に、特定部３０３は、処理を終了する。
【０１０４】
変数ｉが値Ｄより小さいか又は等しい場合（ステップＳ３０２）、特定部３０３は、Ａ番目のＮＲＰを構成する左右２ビットのうち、ＩＤ情報の上位ｉビット目の値に対応するビット位置にある値Ｂが「０」であるか、又は「１」であるかをチェックする（ステップＳ３０３）。ここで、対応するビット位置とは、図４に示すように、木構造において左の経路に「０」、右の経路に「１」が割り当てられ、これらの規則に基づいてＩＤ情報が構成されているので、ＩＤ情報の上位ｉビット目の値「０」は、Ａ番目のＮＲＰの左ビットに対応し、ｉビット目の値「１」は、Ａ番目のＮＲＰの右ビットに対応する。
【０１０５】
値Ｂ＝０の場合（ステップＳ３０３）、特定部３０３は、これまでにチェックしたＮＲＰのうち、オール「１」でないＮＲＰの数をカウントし、カウントした値を、変数Ｘに代入する。こうして得られた変数Ｘが、暗号化メディア鍵の位置を示している。また、この時点の変数ｉは、デバイス鍵を識別するためのデバイス鍵識別情報である（ステップＳ３０７）。次に、特定部３０３は、処理を終了する。
【０１０６】
値Ｂ＝１の場合（ステップＳ３０３）、特定部３０３は、レイヤｉに存在するＷ個の全ＮＲＰの「１」の数をカウントし、カウントした値を変数Ｗに代入する。こうして得られた変数Ｗが、次のレイヤｉ＋１に存在するＮＲＰの数を示す（ステップＳ３０４）。
次に、特定部３０３は、レイアｉに存在するＮＲＰのうちの最初のＮＲＰから、対応するビット位置までのＮＲＰをカウントし、カウントした値を変数Ａに代入する。ここで、対応するビット位置の値はカウントしない。こうして得られた変数Ａが、次のレイヤｉ＋１のＮＲＰのうち、ユーザ装置自身に関係するＮＲＰの位置を示す（ステップＳ３０５）。
【０１０７】
次に、特定部３０３は、変数ｉ＝ｉ＋１を演算し（ステップＳ３０６）、次にステップＳ３０２へ制御を移し、上述の処理を繰り返す。
１．２．９　鍵情報の特定の動作の具体例
一具体例として、図６及び図７に示すヘッダ情報及び鍵情報を用いて、図５に示す無効化されていないユーザ装置１４が暗号化メディア鍵を特定するまでの動作について以下に説明する。ユーザ装置１４には、ＩＤ情報「１１０１」が割り当てられ、デバイス鍵「ＫｅｙＡ」、「ＫｅｙＣ」、「ＫｅｙＧ」、「ＫｅｙＮ」及び「ＩＫ１４」が割り当てられているものとする。
【０１０８】
（ステップ１）特定部３０３は、ユーザ装置１４に割り当てられたＩＤ情報「１１０１」の最上位ビットの値が「１」であるため、最初のＮＲＰ｛１１｝の右ビットをチェックする（ステップＳ３０３）。
（ステップ２）最初のＮＲＰ｛１１｝の右ビットの値が「１」であるため、特定部３０３は、解析を続ける（ステップＳ３０３で、Ｂ＝１）。
【０１０９】
（ステップ３）特定部３０３は、レイヤ０に存在する１個のＮＲＰ｛１１｝の「１」の数をカウントする。そのカウントした値が「２」であるので、次のレイヤ１には２個のＮＲＰが存在することが分かる（ステップＳ３０４）。
（ステップ４）特定部３０３は、対応するビット位置までのＮＲＰの「１」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「１」であるため、次のレイヤ１の対応するＮＲＰの位置は、レイア１内で、１番目である（ステップＳ３０５）。
【０１１０】
（ステップ５）次に、特定部３０３は、ＩＤ情報「１１０１」の上位から２ビット目の値が「１」であるため、レイヤ１の１番目のＮＲＰ｛１０｝の右ビットをチェックする（ステップＳ３０３）。
（ステップ６）ここで、レイヤ１の１番目のＮＲＰ｛１０｝の右ビットの値が「０」であるため、特定部３０３は、解析を終了する（ステップＳ３０３で、Ｂ＝０）。
【０１１１】
（ステップ７）特定部３０３は、これまでのＮＲＰのうち、オール「１」でないＮＲＰの数をカウントする。ただし、最後にチェックしたＮＲＰはカウントしない。カウントした値が「１」であるため、暗号化メディア鍵の位置は、鍵情報内において、１番目である（ステップＳ３０７）。
（ステップ８）図７に示すように、鍵情報の１番目の位置に格納されている暗号化メディア鍵は、Ｅ１（ＫｅｙＧ，メディア鍵）である。
【０１１２】
ユーザ装置１４は、ＫｅｙＧを保持している。よって、ユーザ装置１４は、ＫｅｙＧを用いて暗号化メディア鍵を復号してメディア鍵を獲得することができる。
１．３　まとめ
以上説明したように、第１の実施の形態によると、記録媒体に予め記録されている鍵情報のヘッダ情報内には、複数のＮＲＰが水準順に並べられているので、鍵情報がコンパクトになる。また、プレーヤは、復号すべき暗号化メディア鍵を効率よく特定することができる。
【０１１３】
２．第２の実施の形態
ここでは、第１の実施の形態の変形例としての第２の実施の形態について説明する。
第１の実施の形態において、一例として図１８に示すように、無効化されるユーザ装置が木構造の中で特定のリーフに偏って発生する可能性がある。この場合、鍵管理装置１００が記録媒体に書き込む鍵情報のヘッダ情報内において、｛１１｝であるＮＲＰが多くなる。図１８に示す例では、木構造Ｔ３００の左半分のリーフは、全て無効化された装置に対応するので、鍵情報内のヘッダ情報は、１１個のＮＲＰを含むが、そのうち８個は｛１１｝である。
【０１１４】
図１８に示す例では、木構造Ｔ３００の左半分は全て無効化された装置であるので、レイヤ１の左のノードから下は全て無効化ノードであると表現すれば、左半分の各ノードに対応したＮＲＰをヘッダ情報として記録媒体に記録する必要がなくなる。
そこで、第２の実施の形態では、無効化された装置が木構造の中で特定のリーフに集中する場合に、ヘッダ情報のデータ量を少なく抑えることができる著作物保護システム１０ｂ（図示していない）について説明する。
【０１１５】
鍵管理装置１００は、第１の実施の形態において説明したように、鍵情報のヘッダ情報として、ＮＲＰを生成する。ここで、鍵管理装置１００は、ＮＲＰの先頭に１ビットを追加する。追加したビットが「１」である場合には、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示す。図１９において、ノードＴ４０１及びノードＴ４０２は、これらのノードの子孫のノードに割り当てられた装置が全て無効化装置ではないので、先頭ビットは「０」であり、ＮＲＰは、それぞれ、｛０１１｝、｛０１０｝と表現される。ノードＴ４０３の子孫のノードに割り当てられた装置は、全て無効化装置であるため、ＮＲＰは｛１１１｝と表現される。鍵管理装置１００は、ノードＴ４０３の子孫のノードについてのＮＲＰを記録媒体に書き込まない。
【０１１６】
２．１　著作物保護システム１０ｂの構成
著作物保護システム１０ｂは、著作物保護システム１０と同様の構成を有している。ここでは、著作物保護システム１０との相違点を中心として説明する。
第２の実施の形態では、図１９に示すように、ユーザ装置１〜ユーザ装置８及びユーザ装置１２がそれぞれ無効化されているとする。
【０１１７】
２．１．１　鍵管理装置１００
著作物保護システム１０ｂの鍵管理装置１００は、第１の実施の形態において述べた鍵管理装置１００と同様の構成を有している。ここでは、その相違点を中心として説明する。
（１）木構造格納部１０２
木構造格納部１０２は、木構造テーブルＤ１００に代えて、一例として図２０に示す木構造テーブルＤ４００を有している。
【０１１８】
木構造テーブルＤ４００は、図１９に一例として示す木構造Ｔ４００に対応しており、木構造Ｔ４００を表現するためのデータ構造を示す。
木構造テーブルＤ４００は、木構造Ｔ４００に含まれるノードと同じ数のノード情報を含んで構成されており、各ノード情報は、木構造Ｔ４００を構成する各ノードにそれぞれ対応している。
【０１１９】
各ノード情報は、ノード名、デバイス鍵、無効化フラグ及びＮＲＰを含む。
ノード名、デバイス鍵及び無効化フラグについては、第１の実施の形態で説明したとおりであるので、説明を省略する。
ＮＲＰは、３ビットから構成され、上位の１ビットは、上述したように、対応するノード名により示されるノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示す。下位の２ビットは、第１の実施の形態で説明したＮＲＰと同じ内容のものである。
【０１２０】
（２）鍵情報ヘッダ生成部１０６
鍵情報ヘッダ生成部１０６は、ＮＲＰの先頭の１ビットが「１」である場合には、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示すＮＲＰを生成し、生成したＮＲＰを鍵情報記録装置２００へ出力する。なお、ＮＲＰの生成の詳細については、後述する。
【０１２１】
鍵情報ヘッダ生成部１０６は、一例として、図２１に示すヘッダ情報Ｄ５００を生成する。ヘッダ情報Ｄ５００は、ＮＲＰ｛０１１｝、｛１１１｝、｛０１０｝、｛００１｝及び｛００１｝から構成され、各ＮＲＰをこの順序で含んでいる。また、この図に示すように、ヘッダ情報Ｄ５００内に「０」、「１」、「２」、「３」及び「４」により定まる位置において、それぞれ、ＮＲＰ｛０１１｝、｛１１１｝、｛０１０｝、｛００１｝及び｛００１｝が配置されている。
【０１２２】
（３）鍵情報生成部１０７
鍵情報生成部１０７は、一例として、図２２に示す鍵情報Ｄ６００を生成する。鍵情報Ｄ６００は、３個の暗号化メディア鍵を含んでいる。３個の暗号化メディア鍵は、それぞれデバイス鍵ＫｅｙＧ、ＫｅｙＬ、ＩＫ１１を用いてメディア鍵を暗号化したものである。
【０１２３】
これらの複数個の暗号化メディア鍵のそれぞれは、鍵情報Ｄ６００内において格納されている位置が定められている。この図に示すように、鍵情報Ｄ６００内に「０」、「１」及び「２」により定まる位置において、それぞれ、暗号化メディア鍵Ｅ１（ＫｅｙＧ、メディア鍵）、Ｅ１（ＫｅｙＬ、メディア鍵）及びＥ１（ＩＫ１１、メディア鍵）が配置されている。
【０１２４】
２．１．２　記録装置３００ａ
記録装置３００ａは、第１の実施の形態において述べた記録装置３００ａと同様の構成を有している。ここでは、その相違点を中心として説明する。
（１）特定部３０３
特定部３０３は、ＩＤ情報及びヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から１個の暗号化メディア鍵が存在する位置Ｘを特定する。なお、暗号化メディア鍵が存在する位置Ｘを特定する場合の詳細の動作については、後述する。
【０１２５】
２．２　著作物保護システム１０ｂの動作
著作物保護システム１０ｂの動作について、著作物保護システム１０の動作との相違点を中心として説明する。
２．２．１　ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作について、図２３〜図２６に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１５３の詳細である。
【０１２６】
鍵情報ヘッダ生成部１０６は、レイヤ０からレイヤ３までの各レイヤについて、ステップＳ３２２〜Ｓ３２７を繰り返す。さらに、鍵情報ヘッダ生成部１０６は、各レイヤに含まれる対象ノード毎に、ステップＳ３２３〜Ｓ３２６を繰り返す。
鍵情報ヘッダ生成部１０６は、当該対象ノードの直下に接続される２個の下位ノードを選択し（ステップＳ３２３）、選択した２個の下位ノードのそれぞれに無効化フラグが付されているか否かを調べて、ＮＲＰを生成し（ステップＳ３２４）、値「０」を有する拡張ビットを生成したＮＲＰの先頭に付加し（ステップＳ３２５）、拡張ビットが付加されたＮＲＰを木構造テーブル内の当該対象ノードに対応するノード情報内に付加する（ステップＳ２３６）。
【０１２７】
以上のようにして、ステップＳ３２１〜Ｓ３２８の繰返しが終了すると、第１の実施の形態において説明した方法と同様に、各ノード情報内にＮＲＰが付加される。ここで、各ＮＲＰの先頭には、値「０」（１ビット）が付加されている。次に、鍵情報ヘッダ生成部１０６は、レイヤ３からレイヤ０までの各レイヤについて、ステップＳ３３０〜Ｓ３３５を繰り返す。さらに、鍵情報ヘッダ生成部１０６は、各レイヤに含まれる対象ノード毎に、ステップＳ３３１〜Ｓ３３４を繰り返す。
【０１２８】
鍵情報ヘッダ生成部１０６は、当該対象ノードの直下に接続される２個の下位ノードを選択し（ステップＳ３３１）、選択した２個のノードの両方にそれぞれＮＲＰ｛１１１｝が付加されているか否かを調べる。ただし、選択した２個のノードがリーフである場合には、選択した２個のノードの両方に無効化フラグが付されているか否かを調べる（ステップＳ３３２）。
【０１２９】
選択した２個の下位ノードの両方にそれぞれＮＲＰ｛１１１｝が付されている場合にのみ、ただし選択した２個のノードがリーフである場合には、選択した２個の下位ノードの両方に無効化フラグが付されている場合にのみ（ステップＳ３３３）、鍵情報ヘッダ生成部１０６は、当該対象ノードに付加されたＮＲＰの先頭ビットを「１」に書き換える（ステップＳ３３４）。
【０１３０】
以上のようにして、ステップＳ３２９〜Ｓ３３６の繰返しが終了すると、それぞれＮＲＰ｛１１１｝が付加されている２個の下位ノードに接続する上位のノードには、｛１１１｝が付加されることになる。
次に、鍵情報ヘッダ生成部１０６は、レイヤ２からレイヤ０までの各レイヤについて、ステップＳ３３８〜Ｓ３４３を繰り返す。さらに、鍵情報ヘッダ生成部１０６は、各レイヤに含まれる対象ノード毎に、ステップＳ３３９〜Ｓ３４２を繰り返す。
【０１３１】
鍵情報ヘッダ生成部１０６は、当該対象ノードの直下に接続される２個の下位ノードを選択し（ステップＳ３３９）、選択した２個の下位ノードの両方にＮＲＰ｛１１１｝が付加されているか否かを調べる（ステップＳ３４０）。
選択した２個の下位ノードの両方にＮＲＰ｛１１１｝が付加されている場合にのみ（ステップＳ３４１）、鍵情報ヘッダ生成部１０６は、選択した２個の下位ノードにそれぞれ付加されたＮＲＰを木構造テーブルから削除する（ステップＳ３４２）。
【０１３２】
次に、鍵情報ヘッダ生成部１０６は、木構造テーブルに記憶されているＮＲＰをルートから順に読み出して、出力する（ステップＳ３４５）。
以上のようにして、ＮＲＰの先頭の１ビットが「１」である場合に、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示すＮＲＰが生成される。
【０１３３】
２．２．２　鍵情報の特定の動作
ここでは、記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作について、図２７に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１７２の詳細である。
【０１３４】
また、特定部３０３による１個の暗号化メディア鍵を特定する動作は、第１の実施の形態において説明した動作と同様であり、ここでは、その相違点を中心として説明する。
値Ｂ＝０の場合（ステップＳ３０３）、特定部３０３は、これまでにチェックしたＮＲＰのうち、下位２ビットがオール「１」でないＮＲＰの数をカウントし、カウントした値を、変数Ｘに代入する。こうして得られた変数Ｘが、暗号化メディア鍵の位置を示している（ステップＳ３０７ａ）。次に、特定部３０３は、処理を終了する。
【０１３５】
値Ｂ＝１の場合（ステップＳ３０３）、特定部３０３は、レイヤｉに存在するＷ個の全ＮＲＰの「１」の数をカウントする。ただし、ＮＲＰの最上位のビットが「１」のＮＲＰについては、カウントしない。カウントした値を変数Ｗに代入する。こうして得られた変数Ｗが、次のレイヤｉ＋１に存在するＮＲＰの数を示す。（ステップＳ３０４ａ）。
【０１３６】
次に、特定部３０３は、最初のＮＲＰから数えて、対応するビット位置までのＮＲＰの「１」の数をカウントする。ただし、ＮＲＰの最上位のビットが「１」のＮＲＰについては、カウントしない。カウントした値を変数Ａに代入する。ここで、対応するビット位置の値はカウントしない。こういて得られた変数Ａが、次のレイヤｉ＋１のＮＲＰのうち、ユーザ装置自身に関係するＮＲＰの位置を示す（ステップＳ３０５ａ）。
【０１３７】
２．２．３　鍵情報の特定の動作の具体例
一具体例として、図２１及び図２２に示す鍵情報を用いて、図１９に示す無効化されていないユーザ装置１０が暗号化メディア鍵を特定するまでの動作について以下に説明する。ユーザ装置１０には、ＩＤ情報「１００１」が割り当てられ、デバイス鍵「ＫｅｙＡ」、「ＫｅｙＣ」、「ＫｅｙＦ」、「ＫｅｙＬ」及び「ＩＫ１０」が割り当てられているものとする。
【０１３８】
（ステップ１）特定部３０３は、ユーザ装置１０に割り当てられたＩＤ情報「１００１」の最上位ビットの値が「１」であるため、最初のＮＲＰ｛０１１｝の下位２ビットのうちの右ビットをチェックする（ステップＳ３０３）。
（ステップ２）最初のＮＲＰ｛０１１｝の下位２ビットのうちの右ビットの値が「１」であるため、特定部３０３は、解析を続ける（ステップＳ３０３で、Ｂ＝１）。
【０１３９】
（ステップ３）特定部３０３は、レイヤ０に存在する１個のＮＲＰ｛０１１｝の下位２ビットのうちの「１」の数をカウントする。そのカウントした値が「２」であるため、次のレイヤ１には２個のＮＲＰが存在することが分かる（ステップＳ３０４ａ）。
（ステップ４）特定部３０３は、対応するビット位置までのＮＲＰ｛０１１｝の下位２ビットの「１」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「１」であるため、次のレイヤ１の対応するＮＲＰの位置は、レイヤ１内において、１番目である（ステップＳ３０５ａ）。
【０１４０】
（ステップ５）次に、特定部３０３は、ＩＤ情報「１００１」の上位から２ビット目の値が「０」であるため、レイヤ１の１番目のＮＲＰ｛０１０｝の下位２ビットのうちの左ビットをチェックする（ステップＳ３０３）。
（ステップ６）ここで、レイヤ１の１番目のＮＲＰ｛０１０｝の下位２ビットのうちの左ビットの値が「１」であるため、特定部３０３は、解析を続ける（ステップＳ３０３で、Ｂ＝１）。
【０１４１】
（ステップ７）特定部３０３は、レイヤ１に存在する２個のＮＲＰ｛１１１｝、｛０１０｝の下位２ビットのうちの「１」の数をカウントする。ただし、ＮＲＰの最上位ビットが「１」であるＮＲＰについては、カウントしない。そのカウントした値が「１」であるため、次のレイヤ２には１個のＮＲＰが存在することが分かる（ステップＳ３０４ａ）。
【０１４２】
（ステップ８）特定部３０３は、対応するビット位置までのＮＲＰの「１」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「０」であるため、次のレイヤ２の対応するＮＲＰの位置は、レイヤ２内において、０番目である（ステップＳ３０５ａ）。
（ステップ９）次に、特定部３０３は、ＩＤ情報「１００１」の上位から３ビット目の値が「０」であるため、レイヤ２の０番目のＮＲＰ｛００１｝の下位２ビットのうちの左ビットをチェックする（ステップＳ３０３）。
【０１４３】
（ステップ１０）ここで、レイヤ２の０番目のＮＲＰ｛００１｝の下位２ビットのうちの左ビットの値が「０」であるため、特定部３０３は、解析を終了する（ステップＳ３０３で、Ｂ＝０）。
（ステップ１１）特定部３０３は、これまでに解析したＮＲＰのうち、下位２ビットが、オール「１」でないＮＲＰの数をカウントする。なお、最後にチェックしたＮＲＰは、カウントしない。カウントした値が「１」であるため、暗号化メディア鍵の位置は、鍵情報内において、１番目である（ステップＳ３０７ａ）。
【０１４４】
（ステップ１２）図２２より、鍵情報の１番目の位置に格納されている暗号化メディア鍵は、Ｅ１（ＫｅｙＬ，メディア鍵）である。
ユーザ装置１０は、ＫｅｙＬを保持している。よって、ユーザ装置１０は、ＫｅｙＬを用いて暗号化メディア鍵を復号してメディア鍵を獲得することができる。
【０１４５】
なお、上述した第２の実施の形態においては、あるノードの子孫に存在するユーザ装置が全て無効化装置である場合に、追加するビットを「１」としている。しかし、リーフのレイヤ数がそれぞれ異なるような木構造がある場合、あるノードの子孫にＮＲＰが存在しない場合は、追加したビットを「１」にすることで終端を意味するフラグとしても使用することができる。
【０１４６】
３．第３の実施の形態
上記の第２の実施の形態においては、あるノードの子孫が全て無効化装置であるか否かを示すビットをＮＲＰの先頭に追加することで、無効化装置が集中した場合に、ヘッダ情報をさらに少なく抑える方法を示している。
次に述べる第３の実施の形態では、ＮＲＰにビットを追加する代わりに、特定のパターン｛００｝を有するＮＲＰを用いて、１個のノードの子孫が全て無効化装置であるか否かを判断する。これは、レイヤ０を除く全てのレイヤにおいては、ＮＲＰ｛００｝が使われないことに着目したものである。これにより、第２の実施の形態よりも、さらにヘッダ情報を少なく抑えることができる著作物保護システム１０ｃ（図示していない）について説明する。
−ここでは、図２８に示すように、ユーザ装置１〜ユーザ装置８、ユーザ装置１２がそれぞれ無効化されているとする。第３の実施の形態では、ＮＲＰは第１の実施の形態に示す通りであるが、あるノードの子孫のユーザ装置が全て無効化装置である場合には、そのノードのＮＲＰを｛００｝で表現する。図２８におけるノードＴ５０１について、そのノードの子孫が全て無効化装置であるため、ＮＲＰは｛００｝と表現されている。
【０１４７】
３．１　著作物保護システム１０ｃの構成
著作物保護システム１０ｃは、著作物保護システム１０と同様の構成を有している。ここでは、著作物保護システム１０との相違点を中心として説明する。
３．１．１　鍵管理装置１００
著作物保護システム１０ｃの鍵管理装置１００は、第１の実施の形態において述べた鍵管理装置１００と同様の構成を有している。ここでは、その相違点を中心として説明する。
【０１４８】
（１）鍵情報ヘッダ生成部１０６
鍵情報ヘッダ生成部１０６は、ＮＲＰが｛００｝である場合には、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示すＮＲＰを生成し、生成したＮＲＰを鍵情報記録装置２００へ出力する。なお、ＮＲＰの生成の詳細については、後述する。
【０１４９】
鍵情報ヘッダ生成部１０６は、一例として、図２９に示すヘッダ情報Ｄ７００を生成する。ヘッダ情報Ｄ７００は、ＮＲＰ｛１１｝、｛００｝、｛１０｝、｛０１｝及び｛０１｝から構成され、各ＮＲＰをこの順序で含んでいる。また、この図に示すように、ヘッダ情報Ｄ７００内に「０」、「１」、「２」、「３」及び「４」により定まる位置において、それぞれ、ＮＲＰ｛１１｝、｛００｝、｛１０｝、｛０１｝及び｛０１｝が配置されている。
【０１５０】
（２）鍵情報生成部１０７
鍵情報生成部１０７は、一例として、図３０に示す鍵情報Ｄ８００を生成する。鍵情報Ｄ８００は、３個の暗号化メディア鍵を含んでいる。３個の暗号化メディア鍵は、それぞれデバイス鍵ＫｅｙＧ、ＫｅｙＬ、ＩＫ１１を用いてメディア鍵を暗号化したものである。
【０１５１】
これらの複数個の暗号化メディア鍵のそれぞれは、鍵情報Ｄ８００内において格納されている位置が定められている。この図に示すように、鍵情報Ｄ８００内に「０」、「１」及び「２」により定まる位置において、それぞれ、暗号化メディア鍵Ｅ１（ＫｅｙＧ、メディア鍵）、Ｅ１（ＫｅｙＬ、メディア鍵）及びＥ１（ＩＫ１１、メディア鍵）が配置されている。
【０１５２】
３．１．２　記録装置３００ａ
著作物保護システム１０ｃの記録装置３００ａは、第１の実施の形態において述べた記録装置３００ａと同様の構成を有している。ここでは、その相違点を中心として説明する。
（１）特定部３０３
特定部３０３は、ＩＤ情報及びヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から１個の暗号化メディア鍵が存在する位置Ｘを特定する。なお、暗号化メディア鍵が存在する位置Ｘを特定する場合の詳細の動作については、後述する。
【０１５３】
３．２　著作物保護システム１０ｃの動作
著作物保護システム１０ｃの動作について、著作物保護システム１０の動作との相違点を中心として説明する。
３．２．１　ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作について、図３１〜図３４に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１５３の詳細である。
【０１５４】
鍵情報ヘッダ生成部１０６は、レイヤ０からレイヤ３までの各レイヤについて、ステップＳ３２２〜Ｓ３２７を繰り返す。さらに、鍵情報ヘッダ生成部１０６は、各レイヤに含まれる対象ノード毎に、ステップＳ３２３〜Ｓ３２６ａを繰り返す。
鍵情報ヘッダ生成部１０６は、当該対象ノードの直下に接続される２個の下位ノードを選択し（ステップＳ３２３）、選択した２個の下位ノードのそれぞれに無効化フラグが付されているか否かを調べて、ＮＲＰを生成し（ステップＳ３２４）、生成されたＮＲＰを木構造テーブル内の当該対象ノードに対応するノード情報内に付加する（ステップＳ２３６ａ）。
【０１５５】
以上のようにして、ステップＳ３２１〜Ｓ３２８の繰返しが終了すると、第１の実施の形態において説明した方法と同様に、各ノードにＮＲＰが付加される。
次に、鍵情報ヘッダ生成部１０６は、レイヤ３からレイヤ０までの各レイヤについて、ステップＳ３３０〜Ｓ３３５を繰り返す。さらに、鍵情報ヘッダ生成部１０６は、各レイヤに含まれる対象ノード毎に、ステップＳ３３１〜Ｓ３３４ａを繰り返す。
【０１５６】
鍵情報ヘッダ生成部１０６は、当該対象ノードの直下に接続される２個の下位ノードを選択し（ステップＳ３３１）、選択した２個のノードの両方にそれぞれＮＲＰ｛１１｝が付加されているか否かを調べる。ただし、選択した２個のノードがリーフである場合には、選択した２個のノードの両方に無効化フラグが付されているか否かを調べる（ステップＳ３３２）。
【０１５７】
選択した２個の下位ノードの両方にそれぞれＮＲＰ｛１１｝が付されている場合にのみ、ただし選択した２個のノードがリーフである場合には、選択した２個の下位ノードの両方に無効化フラグが付されている場合にのみ（ステップＳ３３３）、鍵情報ヘッダ生成部１０６は、当該対象ノードに付加されたＮＲＰを｛００｝に書き換える（ステップＳ３３４ａ）。
【０１５８】
以上のようにして、ステップＳ３２９〜Ｓ３３６の繰返しが終了すると、それぞれＮＲＰ｛１１｝が付加されている２個の下位ノードに接続する上位のノードには、｛００｝が付加されることになる。
次に、鍵情報ヘッダ生成部１０６は、レイヤ２からレイヤ０までの各レイヤについて、ステップＳ３３８〜Ｓ３４３を繰り返す。さらに、鍵情報ヘッダ生成部１０６は、各レイヤに含まれる対象ノード毎に、ステップＳ３３９〜Ｓ３４２ａを繰り返す。
【０１５９】
鍵情報ヘッダ生成部１０６は、当該対象ノードの直下に接続される２個の下位ノードを選択し（ステップＳ３３９）、選択した２個の下位ノードの両方にＮＲＰ｛００｝が付加されているか否かを調べる（ステップＳ３４０ａ）。
選択した２個の下位ノードの両方にＮＲＰ｛００｝が付加されている場合にのみ（ステップＳ３４１ａ）、鍵情報ヘッダ生成部１０６は、選択した２個の下位ノードにそれぞれ付加されたＮＲＰを木構造テーブルから削除する（ステップＳ３４２ａ）。
【０１６０】
次に、鍵情報ヘッダ生成部１０６は、木構造テーブルに記憶されているＮＲＰをルートから順に読み出して、出力する（ステップＳ３４５）。
以上のようにして、ＮＲＰが｛００｝である場合に、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示すＮＲＰが生成される。
【０１６１】
３．２．２　鍵情報の特定の動作
ここでは、記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作について、図３５に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１７２の詳細である。
【０１６２】
また、特定部３０３による１個の暗号化メディア鍵を特定する動作は、第１の実施の形態において説明した動作と同様であり、ここでは、その相違点を中心として説明する。
値Ｂ＝０の場合（ステップＳ３０３）、特定部３０３は、これまでにチェックしたＮＲＰのうち、オール「１」でないＮＲＰの数とオール「０」でないＮＲＰの数とをカウントする。ただし、レイヤ０に関してのみ、オール「０」のＮＲＰもカウントする。カウントした値を、変数Ｘに代入する。こうして得られた変数Ｘが、暗号化メディア鍵の位置を示している。また、この時点の変数ｉは、デバイス鍵を識別するためのデバイス鍵識別情報である（ステップＳ３０７ｂ）。次に、特定部３０３は、処理を終了する。
【０１６３】
３．２．３　鍵情報の特定の動作の具体例
一具体例として、図２９及び図３０に示す鍵情報を用いて、図２８に示す無効化されていないユーザ装置１０が暗号化メディア鍵を特定するまでの動作について以下に説明する。ユーザ装置１０には、ＩＤ情報「１００１」が割り当てられ、デバイス鍵「ＫｅｙＡ」、「ＫｅｙＣ」、「ＫｅｙＦ」、「ＫｅｙＬ」及び「ＩＫ１０」が割り当てられているものとする。
【０１６４】
（ステップ１）特定部３０３は、ユーザ装置１０に割り当てられたＩＤ情報「１００１」の最上位ビットの値が「１」であるため、最初のＮＲＰ｛１１｝の右ビットをチェックする（ステップＳ３０３）。
（ステップ２）最初のＮＲＰ｛１１｝の右ビットの値が「１」であるため、特定部３０３は、解析を続ける（ステップＳ３０３で、Ｂ＝１）。
【０１６５】
（ステップ３）特定部３０３は、レイヤ０に存在する１個のＮＲＰ｛１１｝の「１」の数をカウントする。そのカウントした値が「２」であるため、次のレイヤ１には２個のＮＲＰが存在することが分かる（ステップＳ３０４）。
（ステップ４）特定部３０３は、対応するビット位置までのＮＲＰの「１」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「１」であるため、次のレイヤ１の対応するＮＲＰの位置は、レイヤ１内において、１番目である（ステップＳ３０５）。
【０１６６】
（ステップ５）次に、特定部３０３は、ＩＤ情報「１００１」の上位から２ビット目の値が「０」であるため、レイヤ１の１番目のＮＲＰ｛１０｝の左ビットをチェックする（ステップＳ３０３）。
（ステップ６）レイヤ１の１番目のＮＲＰ｛１０｝の左ビットの値が「１」であるため、特定部３０３は、解析を続ける（ステップＳ３０３で、Ｂ＝１）。
【０１６７】
（ステップ７）特定部３０３は、レイヤ１に存在する２個のＮＲＰの「１」の数をカウントする。ここで、ＮＲＰ｛００｝は、カウントしない。そのカウントした値が「１」であるため、次のレイヤ２には１個のＮＲＰが存在することが分かる（ステップＳ３０４）。
（ステップ８）特定部３０３は、対応するビット位置までのＮＲＰの「１」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「０」であるため、次のレイヤ２の対応するＮＲＰの位置は、レイヤ２内において、０番目である（ステップＳ３０５）。
【０１６８】
（ステップ９）次に、特定部３０３は、ＩＤ情報「１００１」の上位から３ビット目の値が「０」であるため、レイヤ２の０番目のＮＲＰ｛０１｝の下位２ビットのうちの左ビットをチェックする（ステップＳ３０３）。
（ステップ１０）ここで、レイヤ２の０番目のＮＲＰ｛０１｝の下位２ビットのうちの左ビットの値が「０」であるため、特定部３０３は、解析を終了する（ステップＳ３０３で、Ｂ＝０）。
【０１６９】
（ステップ１１）特定部３０３は、これまでに解析したＮＲＰのうち、オール「１」でないＮＲＰの数をカウントする。なお、最後にチェックしたＮＲＰはカウントしない。カウントした値が「１」であるため、暗号化メディア鍵の位置は、鍵情報内において、１番目である。
（ステップ１２）図３０より、鍵情報の１番目の位置に格納されている暗号化メディア鍵は、Ｅ１（ＫｅｙＬ，メディア鍵）である。
【０１７０】
ユーザ装置１０は、ＫｅｙＬを保持している。よって、ユーザ装置１０は、ＫｅｙＬを用いて暗号化メディア鍵を復号してメディア鍵を獲得することができる。
４．第４の実施の形態
上記の第１の実施の形態においては、複数のＮＲＰを上位レイヤから下位レイヤの順に並べ、レイヤが同じＮＲＰについては、左から右への順に並べるようにしている。
【０１７１】
次に述べる第４の実施の形態では、別の並べ方により複数のＮＲＰを出力する著作物保護システム１０ｄ（図示していない）について説明する。
４．１　著作物保護システム１０ｄの構成
著作物保護システム１０ｄは、著作物保護システム１０と同様の構成を有している。ここでは、著作物保護システム１０との相違点を中心として説明する。
【０１７２】
４．１．１　鍵管理装置１００
著作物保護システム１０ｄの鍵管理装置１００は、第１の実施の形態において述べた鍵管理装置１００と同様の構成を有している。ここでは、その相違点を中心として説明する。
（１）木構造格納部１０２
木構造格納部１０２は、具体的にはハードディスクユニットから構成されており、図３７に一例として示すように木構造テーブルＤ１０００を有している。
【０１７３】
木構造テーブルＤ１０００は、図３６に一例として示す木構造Ｔ６００に対応しており、木構造Ｔ６００を表現するためのデータ構造を示す。後述するように、木構造構築部１０１により木構造Ｔ６００を表現するためのデータ構造が、木構造テーブルＤ１０００として生成され、木構造格納部１０２に書き込まれる。
（木構造Ｔ６００）
木構造Ｔ６００は、図３６に示すように、木構造Ｔ１００と同様に、レイヤ０からレイヤ４までの５階層からなる２分木である。
【０１７４】
木構造Ｔ６００の各レイヤに含まれるノードの数は、木構造Ｔ１００と同じである。また、上位側のノードと下位側のノードを接続する経路に割り当てられる番号も、木構造Ｔ１００と同じである。木構造Ｔ６００において、×が付されているノードは、無効化されている。
木構造Ｔ６００のルートであるノードのノード名は、空白である。他のノードのノード名は、木構造Ｔ１００と同様に設定される。
【０１７５】
各ノード名は、４桁の文字で表現される。ルートであるノードのノード名は、４桁の空白文字からなる。ノード名「０」は、具体的には、文字「０」＋１桁の空白文字＋１桁の空白文字＋１桁の空白文字である。ノード名「００」は、文字「０」＋文字「０」＋１桁の空白文字＋１桁の空白文字である。ノード名「１０１」は、文字「１」＋文字「０」＋文字「１」＋１桁の空白文字である。ノード名「１１１１」は、文字「１」＋文字「１」＋文字「１」＋文字「１」である。その他のノード名についても同様である。
【０１７６】
木構造Ｔ６００において、各ノードの付近に付された｛１０｝などは、ＮＲＰを示している。また、各ノードの付近に付された○印で囲まれた番号は、ＮＲＰが出力される順序を示している。
（木構造テーブルＤ１０００）
木構造テーブルＤ１０００は、木構造Ｔ６００に含まれるノードと同じ数のノード情報を含んで構成されており、各ノード情報は、木構造Ｔ６００を構成する各ノードにそれぞれ対応している。
【０１７７】
各ノード情報は、ノード名、デバイス鍵及び無効化フラグを含んでいる。ノード名、デバイス鍵及び無効化フラグについては、木構造テーブルＤ１００と同じであるので説明を省略する。
木構造テーブルＤ１０００内には、次に示す順序規則２に従った順序により各ノード情報が記憶される。ここに示す順序規則２は、記録装置３００ａ、３００ｂ、３００ｃ、・・・、再生装置４００ａ、４００ｂ、４００ｃ、・・・により、木構造テーブルＤ１０００から各ノード情報がシーケンシャルに読み出される場合においても適用される。
【０１７８】
（ａ）木構造テーブルＤ１０００内の先頭には、ルートであるノードに対応するノード情報が記憶される。
（ｂ）１個のノード（特定ノードと呼ぶ。）に対応するノード情報が木構造テーブルＤ１０００内に記憶された後において、前記特定ノードの下位側に接続する２個の下位ノードが存在する場合には、次に示すようにして、ノード情報が並べられる。前記特定ノードに対応するノード情報に続いて、前記２個の下位ノードのうち、左側のノード及び前記左側のノードのさらに下位側に接続する全てのノードに対応する各ノード情報が記憶される。続いて、前記２個の下位ノードのうち、右側のノード及び前記右側のノードのさらに下位側に接続する全てのノードに対応する各ノード情報が記憶される。
【０１７９】
（ｃ）（ｂ）内において、（ｂ）が再度、適用される。
具体的には、図３７に示す木構造テーブルＤ１００内には、次に示す順序により各ノード情報が記憶される。
空白（ルートを示す）、「０」、「００」、「０００」、「００００」、「０００１」、「００１」、「００１０」、「００１１」、「０１」、「０１０」、・・・、「１１」、「１１０」、「１１００」、「１１０１」、「１１１」、「１１１０」、「１１１１」
（２）木構造構築部１０１
木構造構築部１０１は、デバイス鍵を管理するためのｎ分木データ構造を構築し、木構造格納部１０２に構築した木構造を格納する。ここで、ｎは２以上の整数であり、一例として、ｎ＝２である。
【０１８０】
木構造構築部１０１による木構造の構築及び木構造格納部１０２への格納の詳細の動作については、後述する。
木構造構築部１０１は、次に、木構造のノード毎に乱数を用いてデバイス鍵を生成し、生成したデバイス鍵を各ノードに対応付けて木構造テーブル内に書き込む。
【０１８１】
（３）鍵情報ヘッダ生成部１０６
鍵情報ヘッダ生成部１０６は、複数のＮＲＰを生成し、生成した複数のＮＲＰをヘッダ情報として、鍵情報記録装置２００へ出力する。ＮＲＰの生成の詳細の動作については、後述する。
鍵情報ヘッダ生成部１０６により生成されるヘッダ情報の一例を図３８に示す。この図に示すヘッダ情報Ｄ９００は、ＮＲＰ｛１１｝、｛１１｝、｛１１｝、｛１０｝、｛０１｝、｛１１｝、｛１０｝、｛１０｝、｛１０｝、｛０１｝、｛１１｝から構成され、各ＮＲＰをこの順序で含んでいる。
【０１８２】
なお、これらの複数個のＮＲＰのそれぞれは、ヘッダ情報Ｄ９００内において格納されている位置が定められている。この図に示すように、ヘッダ情報Ｄ９００内に「０」、「１」、「２」、「３」、「４」、「５」、「６」、「７」、「８」、「９」、「１０」、により定まる位置において、それぞれ、ＮＲＰ｛１１｝、｛１１｝、｛１１｝、｛１０｝、｛０１｝、｛１１｝、｛１０｝、｛１０｝、｛１０｝、｛０１｝、｛１１｝が配置されている。
【０１８３】
（４）鍵情報生成部１０７
鍵情報生成部１０７は、上記の木構造テーブルにノード情報が格納される順序と同じ順序で、無効化されていないノードに対応するデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成し、生成した暗号化メディア鍵を鍵情報として出力する。
【０１８４】
鍵情報生成部１０７は、一例として次に示す鍵情報を生成して出力する。
鍵情報は、デバイス鍵「ＩＫ２」、「ＩＫ３」、「ＩＫ６」、「ＩＫ８」、
「ＫｅｙＬ」及び「ＫｅｙＧ」をそれぞれ用いて、メディア鍵を暗号化することにより、生成された暗号化メディア鍵Ｅ１（ＩＫ２、メディア鍵）、Ｅ１（ＩＫ３、メディア鍵）、Ｅ１（ＩＫ６、メディア鍵）、Ｅ１（ＩＫ８、メディア鍵）、Ｅ１（ＫｅｙＬ、メディア鍵）及びＥ１（ＫｅｙＧ、メディア鍵）から構成されている。この鍵情報内に、「０」、「１」、「２」、「３」、「４」、「５」及び「６」により定まる位置において、それぞれ、暗号化メディア鍵Ｅ１（ＩＫ２、メディア鍵）、Ｅ１（ＩＫ３、メディア鍵）、Ｅ１（ＩＫ６、メディア鍵）、Ｅ１（ＩＫ８、メディア鍵）、Ｅ１（ＫｅｙＬ、メディア鍵）及びＥ１（ＫｅｙＧ、メディア鍵）が配置されている。
【０１８５】
４．１．２　記録装置３００ａ
著作物保護システム１０ｄの記録装置３００ａは、第１の実施の形態において述べた記録装置３００ａと同様の構成を有している。ここでは、その相違点を中心として説明する。
（１）特定部３０３
特定部３０３は、ＩＤ情報及びヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から１個の暗号化メディア鍵が存在する位置Ｘを特定する。なお、暗号化メディア鍵が存在する位置Ｘを特定する場合の詳細の動作については、後述する。
【０１８６】
４．２　著作物保護システム１０ｄの動作
著作物保護システム１０ｄの動作について、著作物保護システム１０の動作との相違点を中心として説明する。
４．２．１　木構造を構築して格納する動作
ここでは、木構造構築部１０１による木構造テーブルの生成と木構造格納部１０２への木構造テーブルの書き込みの動作について、図３９に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１０に示すフローチャートにおけるステップＳ１０１の詳細である。
【０１８７】
木構造構築部１０１は、空白のノード名を含むノード情報を生成して木構造テーブルに書き込む（ステップＳ４０１）。
次に、木構造構築部１０１は、レイヤｉ（ｉ＝１、２、３、４）について、次に示すステップＳ４０３〜ステップＳ４０４を繰り返す。
木構造構築部１０１は、２ｉ　個の文字列をノード名として生成する。具体的には、ｉ＝１のときは、２１　＝２個の文字列「０」及び「１」を生成する。また、ｉ＝２のときは、２２　＝４個の文字列「００」、「０１」、「１０」及び「１１」を生成する。また、ｉ＝３のときは、２３　＝８個の文字列「０００」、「００１」、「０１０」、・・・・、「１１１」を生成する。また、ｉ＝４のときは、２４　＝１６個の文字列「００００」、「０００１」、「００１０」、「００１１」、・・・・、「１１１１」を生成する（ステップＳ４０３）。次に、木構造構築部１０１は、生成した各ノード名をそれぞれ含むノード情報を木構造テーブルに書き込む（ステップＳ４０４）。
【０１８８】
次に、木構造構築部１０１は、木構造テーブルに含まれている各ノード情報を、ノード名の昇順に並び換え、並び替えられた各ノード情報を再度、木構造テーブルに上書きする（ステップＳ４０６）。
このようにして、図３７に一例として示す木構造テーブルＤ１０００が生成される。生成された木構造テーブルＤ１０００は、上述した順序規則２により各ノード情報を含んでいる。なお、この段階では、木構造テーブルＤ１０００内に各デバイス鍵はまだ記録されていない。
【０１８９】
４．２．２　ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作について、図４０〜図４１に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１５３の詳細である。
【０１９０】
鍵情報ヘッダ生成部１０６は、順序規則２に従って木構造テーブルから順に１個ずつノード情報の読出しを試みる（ステップＳ４２１）。
ノード情報の終了を検出すると（ステップＳ４２２）、鍵情報ヘッダ生成部１０６は、ステップＳ４２７へ制御を移す。
ノード情報の終了を検出せず、ノード情報が読み出せた場合には（ステップＳ４２２）、鍵情報ヘッダ生成部１０６は、読み出したノード情報に対応する対象ノードの下位側に接続されている２個の下位ノードに対応する２個のノード情報を読み出す（ステップＳ４２３）。
【０１９１】
下位ノードが存在する場合に（ステップＳ４２４）、鍵情報ヘッダ生成部１０６は、読み出した２個の下位ノードに対応する２個のノード情報の両方に、無効化フラグが付されているか否かを調べて、ＮＲＰを生成し（ステップＳ４２５）、次に、生成したＮＲＰを読み出した対象ノードに対応するノード情報に付加する（ステップＳ４２６）。次に、ステップＳ４２１へ戻って処理を繰り返す。
【０１９２】
下位ノードが存在しない場合（ステップＳ４２４）、ステップＳ４２１へ戻って処理を繰り返す。
次に、鍵情報ヘッダ生成部１０６は、順序規則２に従って木構造テーブルから順に１個ずつノード情報の読出しを試みる（ステップＳ４２７）。
ノード情報の終了を検出すると（ステップＳ４２２）、鍵情報ヘッダ生成部１０６は、処理を終了する。
【０１９３】
ノード情報の終了を検出せず、ノード情報が読み出せた場合には（ステップＳ４２８）、鍵情報ヘッダ生成部１０６は、読み出したノード情報にＮＲＰが付加されているか否かを調べ、付加されている場合（ステップＳ４２９）、付加されているＮＲＰを出力し（ステップＳ４３０）、次に、ステップＳ４２７へ戻って処理を繰り返す。
【０１９４】
ＮＲＰが付加されていない場合（ステップＳ４２９）、鍵情報ヘッダ生成部１０６は、ステップＳ４２７へ戻って処理を繰り返す。
４．２．３　鍵情報の特定の動作
ここでは、記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作について、図４２に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１７２の詳細である。
【０１９５】
また、再生装置４００ａが有する特定部４０２による動作は、特定部３０３による動作と同じであるので、説明を省略する。
特定部３０３は、チェックするＩＤ情報のビット位置を示す変数ｉ、現在チェックしているＮＲＰが含まれるレイヤを示す変数Ｌ、分岐点のノードのレイヤを記憶する変数Ｘ、ＮＲＰをチェックするか否かを判断するフラグＦ（初期値、Ｆ＝０）を有しており、木構造のレイヤ数を示す値Ｄを有している。また、チェックするＮＲＰの位置を示すポインタＡを有している。
【０１９６】
特定部３０３は、変数ｉ＝０、変数Ｌ＝０、フラグＦ＝０、変数Ｘ＝０、ポインタＡ＝０とする（ステップＳ１３００）。
次に、特定部３０３は、変数Ｌがレイヤ数Ｄ−１よりも小さいか否かを判定する。大きいか又は等しい場合（ステップＳ１３０１）、特定部３０３は、変数Ｌに対して、変数Ｘの最後のレイヤ番号を入力する。変数Ｘは、後入れ先出しの変数であり、出力した値は削除されるものとする。即ち、変数Ｘにレイヤ０、レイヤ２、レイヤ３の順で入力されたとすると、最初に出力されるのはレイヤ３で、そのレイヤ３は削除され、次はレイヤ２が出力される（ステップＳ１３１３）。次に、ステップＳ１３０１へ戻って処理を繰り返す。
【０１９７】
変数Ｌがレイヤ数Ｄ−１よりも小さい場合（ステップＳ１３０１）、特定部３０３は、変数ｉ＝変数Ｌであるか否かを判定する。変数ｉ＝変数Ｌでない場合（ステップＳ１３０２）、特定部３０３は、ステップＳ１３１０へ制御を移す。
変数ｉ＝変数Ｌである場合（ステップＳ１３０２）、特定部３０３は、さらに、フラグＦ＝０であるか否かを判定する。フラグＦ＝０でない場合（ステップＳ１３０３）、特定部３０３は、フラグＦ＝０とし（ステップＳ１３０９）、特定部３０３は、ステップＳ１３１０へ制御を移す。
【０１９８】
フラグＦ＝０である場合（ステップＳ１３０３）、特定部３０３は、ＩＤ情報の上位ｉビット目の値に従って、Ａ番目のＮＲＰの対応するビット位置の値Ｂをチェックし、変数ｉ＝ｉ＋１とする（ステップＳ１３０４）。
次に、特定部３０３は、値Ｂ＝１であるか否かを調べ、値Ｂ＝１でない場合（ステップＳ１３０５）、このＩＤ情報が割り当てられた装置は無効化されていないとものとして、特定部３０３は、処理を終了する。
【０１９９】
値Ｂ＝１である場合（ステップＳ１３０５）、変数≠Ｄ−１であるか否かを調べ、変数≠Ｄ−１でない場合（ステップＳ１３０６）、このＩＤ情報が割り当てられた装置は無効化されているものとして、特定部３０３は、処理を終了する。次に、変数≠Ｄ−１である場合（ステップＳ１３０６）、特定部３０３は、ＮＲＰが｛１１｝であり、かつＩＤ情報のｉ−１番目の値が「１」であるか否かを判定する。Ｎｏの場合（ステップＳ１３０７）、特定部３０３は、ステップＳ１３１０へ制御を移す。
【０２００】
Ｙｅｓの場合（ステップＳ１３０７）、特定部３０３は、フラグＦ＝１とし（ステップＳ１３０８）、次に、Ｌ＝Ｌ＋１とし（ステップＳ１３１０）、ＮＲＰが｛１１｝であれば、そのレイヤ番号を変数Ｘに記憶し（ステップＳ１３１１）、Ａ＝Ａ＋１とし（ステップＳ１３１２）、次に、ステップＳ１３１０へ戻って処理を繰り返す。
【０２０１】
５．第５の実施の形態
上記の第４の実施の形態においては、複数のＮＲＰを順序規則２により並べるようにしている。
次に述べる第５の実施の形態では、第４の実施の形態において述べた著作物保護システム１０ｄと同様に、順序規則２により並べて複数のＮＲＰを出力し、かつ、第２の実施の形態において述べた著作物保護システム１０ｂと同様に、無効化された装置が木構造の中で特定のリーフに集中する場合に、ヘッダ情報のデータ量を少なく抑えることができる著作物保護システム１０ｅ（図示していない）について説明する。
【０２０２】
５．１　著作物保護システム１０ｅの構成
著作物保護システム１０ｅは、著作物保護システム１０ｄと同様の構成を有している。ここでは、著作物保護システム１０ｄとの相違点を中心として説明する。
５．１．１　鍵管理装置１００
著作物保護システム１０ｅの鍵管理装置１００は、第４の実施の形態において述べた鍵管理装置１００ｄと同様の構成を有している。ここでは、その相違点を中心として説明する。
【０２０３】
（１）木構造格納部１０２
木構造格納部１０２は、木構造テーブルを有している。木構造格納部１０２が有する木構造テーブルは、第４の実施の形態において説明した木構造格納部１０２が有している木構造テーブルＤ１０００と同様の構造を備えており、木構造テーブルに含まれる各ノード情報は、さらに、ＮＲＰを含む。
【０２０４】
（２）鍵情報ヘッダ生成部１０６
鍵情報ヘッダ生成部１０６は、複数のＮＲＰを生成し、生成した複数のＮＲＰをヘッダ情報として、鍵情報記録装置２００へ出力する。各ＮＲＰは、第２の実施の形態において説明したように、３ビットから構成される。
ＮＲＰの生成の詳細の動作については、後述する。
【０２０５】
５．１．２　記録装置３００ａ
著作物保護システム１０ｅの記録装置３００ａは、第４の実施の形態において述べた記録装置３００ａと同様の構成を有している。ここでは、その相違点を中心として説明する。
（１）特定部３０３
特定部３０３は、ＩＤ情報及びヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から１個の暗号化メディア鍵が存在する位置Ｘを特定する。なお、暗号化メディア鍵が存在する位置Ｘを特定する場合の詳細の動作については、後述する。
【０２０６】
５．２　著作物保護システム１０ｅの動作
著作物保護システム１０ｅの動作について、著作物保護システム１０ｄの動作との相違点を中心として説明する。
５．２．１　ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作について、図４３〜図４６に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１５３の詳細である。
【０２０７】
鍵情報ヘッダ生成部１０６は、順序規則２に従って木構造テーブルから順に１個ずつノード情報の読出しを試みる（ステップＳ４５１）。
ノード情報の終了を検出すると（ステップＳ４５２）、鍵情報ヘッダ生成部１０６は、ステップＳ４５８へ制御を移す。
ノード情報の終了を検出せず、ノード情報が読み出せた場合には（ステップＳ４５２）、鍵情報ヘッダ生成部１０６は、読み出したノード情報に対応する対象ノードの下位側に接続されている２個の下位ノードに対応する２個のノード情報を読み出す（ステップＳ４５３）。
【０２０８】
下位ノードが存在する場合に（ステップＳ４５４）、鍵情報ヘッダ生成部１０６は、読み出した２個の下位ノードに対応する２個のノード情報の両方に、無効化フラグが付されているか否かを調べて、ＮＲＰを生成し（ステップＳ４５５）、値「０」を有する拡張ビットを生成したＮＲＰの先頭に付加し（ステップＳ４５６）、次に、拡張ビットの付加されたＮＲＰを読み出した対象ノードに対応するノード情報に付加する（ステップＳ４５７）。次に、ステップＳ４５１へ戻って処理を繰り返す。
【０２０９】
下位ノードが存在しない場合（ステップＳ４５４）、ステップＳ４５１へ戻って処理を繰り返す。
次に、鍵情報ヘッダ生成部１０６は、順序規則２に従って木構造テーブルから順に１個ずつノード情報の読出しを試みる（ステップＳ４５８）。
ノード情報の終了を検出すると（ステップＳ４５９）、鍵情報ヘッダ生成部１０６は、ステップＳ４６５へ制御を移す。
【０２１０】
ノード情報の終了を検出せず、ノード情報が読み出せた場合には（ステップＳ４５９）、鍵情報ヘッダ生成部１０６は、読み出したノード情報に対応する対象ノードの下位側に接続されている全ての下位ノードに対応する全てのノード情報を読み出す（ステップＳ４６０）。
下位ノードが存在する場合に（ステップＳ４６１）、鍵情報ヘッダ生成部１０６は、読み出した全ての下位ノードに対応する全てのノード情報に、無効化フラグが付されているか否かを調べ（ステップＳ４６２）、全てのノード情報に付加されている場合にのみ（ステップＳ４６３）、対象ノードに対応するノード情報に付加されたＮＲＰの先頭ビットを「１」に書き換える（ステップＳ４６４）。
【０２１１】
次に、ステップＳ４５８へ戻って処理を繰り返す。
下位ノードが存在しない場合（ステップＳ４６１）、ステップＳ４５８へ戻って処理を繰り返す。
次に、鍵情報ヘッダ生成部１０６は、順序規則２に従って木構造テーブルから順に１個ずつノード情報の読出しを試みる（ステップＳ４６５）。
【０２１２】
ノード情報の終了を検出すると（ステップＳ４６６）、鍵情報ヘッダ生成部１０６は、ステップＳ４７２へ制御を移す。
ノード情報の終了を検出せず、ノード情報が読み出せた場合には（ステップＳ４６６）、鍵情報ヘッダ生成部１０６は、読み出したノード情報に対応する対象ノードの下位側に接続されている全ての下位ノードに対応する全てのノード情報を読み出す（ステップＳ４６７）。
【０２１３】
下位ノードが存在する場合に（ステップＳ４６８）、鍵情報ヘッダ生成部１０６は、読み出した全ての下位ノードに対応する全てのノード情報に、それぞれＮＲＰ｛１１１｝が付加されているか否かを調べ（ステップＳ４６９）、全てのノード情報に付加されている場合にのみ（ステップＳ４７０）、前記全てのノード情報に、それぞれ削除フラグを付加する（ステップＳ４７１）。
【０２１４】
次に、ステップＳ４６５へ戻って処理を繰り返す。
下位ノードが存在しない場合（ステップＳ４６８）、ステップＳ４６５へ戻って処理を繰り返す。
次に、鍵情報ヘッダ生成部１０６は、順序規則２に従って木構造テーブルから順に１個ずつノード情報の読出しを試みる（ステップＳ４７２）。
【０２１５】
ノード情報の終了を検出すると（ステップＳ４７３）、鍵情報ヘッダ生成部１０６は、処理を終了する。
ノード情報の終了を検出せず、ノード情報が読み出せた場合には（ステップＳ４７３）、鍵情報ヘッダ生成部１０６は、読み出したノード情報にＮＲＰが付加されているか否かを調べ、付加されている場合（ステップＳ４７４）、さらに、削除フラグが付加されているか否かを調べ、削除フラグが付加されていない場合には（ステップＳ４７５）、付加されているＮＲＰを出力し（ステップＳ４７６）、次に、ステップＳ４７２へ戻って処理を繰り返す。
【０２１６】
ＮＲＰが付加されていない場合（ステップＳ４７４）、又は、削除フラグが付加されている場合（ステップＳ４７５）、鍵情報ヘッダ生成部１０６は、ステップＳ４７２へ戻って処理を繰り返す。
５．２．２　鍵情報の特定の動作
ここでは、記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作について、図４７に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図１１に示すフローチャートにおけるステップＳ１７２の詳細である。
【０２１７】
また、再生装置４００ａが有する特定部４０２による動作は、特定部３０３による動作と同じであるので、説明を省略する。
また、ここでは、図４２に示すフローチャートとの相違点を中心として説明する。
特定部３０３は、第４の実施の形態の場合と同様に、チェックするＩＤ情報のビット位置を示す変数ｉ、現在チェックしているＮＲＰが含まれるレイヤを示す変数Ｌ、分岐点のノードのレイヤを記憶する変数Ｘ、ＮＲＰをチェックするか否かを判断するフラグＦ（初期値、Ｆ＝０）を有しており、木構造のレイヤ数を示す値Ｄを有している。また、チェックするＮＲＰの位置を示すポインタＡを有している。
【０２１８】
値Ｂ＝１である場合（ステップＳ１３０５）、ＮＲＰの最上位ビットが「１」であるときにのみ（ステップＳ１３１６）、特定部３０３は、変数ｉ＝Ｄ−１とし、変数Ｌ＝Ｄ−１とする（ステップＳ１３１７）。
また、特定部３０３は、ＮＲＰが｛１１｝であり、かつＮＲＰの最上位ビットが「１」でないとき、そのレイヤ番号を変数Ｘに記憶する（ステップＳ１３１１）。
【０２１９】
６．その他の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
（１）本発明の実施の形態として、従来方式による無効化方法を例として説明したが、本発明は上記の実施の形態に限定されるものではない。鍵管理装置がある木構造を保持し、この木構造のリーフに記録装置又は再生装置を割り当て、ノードに付随するあるデバイス鍵を各記録装置又は各再生装置に割り当てるものであり、鍵管理装置がこの木構造を用いて前記デバイス鍵の無効化と、前記鍵情報の作成を行うものであれば、前記ノードに付随するデバイス鍵の割り当て方や、各装置へのデバイス鍵の割り当て方はどのようなものであってもよい。
【０２２０】
（２）また、本発明の実施の形態として、２分木の木構造を例として説明したが、本発明は２分木に限定されるものではない。一般にｎ分木でも実現可能である。このときＩＤ情報は、あるノードから下に派生するｎ本の経路に対して、０〜ｎ−１を割り当て、上述した実施の形態と同様に、リーフからルートに至るまでの経路上に割り当てられた値を上位から順に連結することにより、設定される。
【０２２１】
（３）以上で述べた本発明の実施の形態においては、ＤＶＤ−ＲＡＭ等のレコーダブルメディアについて説明した。しかし、ＤＶＤ−Ｖｉｄｅｏ等のプレレコーディッドメディアについても、同様の方法で実現することができる。
プレレコーディッドメディアにおける著作物保護システム１０ｆについて、説明する。
【０２２２】
著作物保護システム１０ｆは、図４８に示すように、鍵管理装置１００、データ記録装置１７０１、データ再生装置１７０３ａ、１７０３ｂ、１７０３ｃ、・・・から構成されている。
鍵管理装置１００は、上記の実施の形態において説明したように、ヘッダ情報が付加された鍵情報とコンテンツ鍵とをデータ記録装置１７０１へ出力し、複数のデバイス鍵と各デバイス鍵識別情報とＩＤ情報とをデータ再生装置１７０３ａ、１７０３ｂ、１７０３ｃ、・・・へ出力する。
【０２２３】
データ記録装置１７０１に、プレレコーディッドメディアである記録媒体５００ａが装着される。データ記録装置１７０１は、鍵管理装置１００から鍵情報とメディア鍵とを受け取り、メディア鍵を用いてコンテンツを暗号化して暗号化コンテンツを生成し、生成した暗号化コンテンツと受け取った鍵情報とを記録媒体５００ａに書き込む。こうして、暗号化コンテンツと鍵情報とが書き込まれた記録媒体５００ｄが生産される。
【０２２４】
記録媒体５００ｄは、市場を流通し、利用者は、記録媒体５００ｄを入手する。利用者は、記録媒体５００ｄをデータ再生装置１７０３ａに装着する。
データ再生装置１７０３ａは、鍵管理装置１００から複数のデバイス鍵と各デバイス鍵識別情報とＩＤ情報とを予め受け取っており、記録媒体５００ｄが装着されると、記録媒体５００ｄから鍵情報と暗号化コンテンツとを読み出し、鍵情報から暗号化メディア鍵を特定し、特定した暗号化メディア鍵をデバイス鍵を用いて復号し、得られたメディア鍵を用いて、暗号化コンテンツを復号して、コンテンツを生成する。
【０２２５】
このようなシステムにおいても、実施の形態で示した鍵管理装置１００と同様の動作により、記録媒体に記録するヘッダ情報を少なく抑えつつ、各データ再生装置で効率よく復号すべき暗号化メディア鍵を特定することができる。
（４）以上では本発明をデジタルコンテンツの著作権保護のために用いる場合を例示したが、本発明の応用はこれに限定されるものではなく、例えば、会員制の情報提供システムにおいて、ある特定の会員以外に情報を提供するという、いわゆるコンディショナルアクセスの目的にも利用できる。
【０２２６】
（５）本発明の実施の形態においては、鍵情報あるいは暗号化コンテンツを、記録媒体を用いて配布する例を示したが、記録媒体の代わりに、インターネットに代表されるような通信媒体を用いてもよい。
（６）鍵管理装置と鍵情報記録装置が一体の装置から構成されているとしてもよい。
【０２２７】
（７）上記の実施の形態では、ｎ分木を構成する全てのノードに予めデバイス鍵を割り当てておき、リーフからルートへの経路上に存在する全てのデバイス鍵を、前記リーフに対応する利用装置に割り当てるとしているが、本発明は、このようなデバイス鍵の割り当て方法には、限定されない。
ｎ分木を構成する全てのノードに予めデバイス鍵を割り当てておくのではなく、一部のノードにのみ、予めデバイス鍵を割り当てておくとしてもよい。
【０２２８】
また、リーフからルートへの経路上に存在する全てのデバイス鍵を、前記リーフに対応する利用装置に割り当てるのではなく、リーフからルートへの経路上に存在する全てのデバイス鍵のうちの一部のデバイス鍵を前記利用装置に割り当てるとしてもよい。
（８）一例として図４に示す木構造を想定する。デバイス鍵が漏洩していない初期状態では、メディア鍵は、デバイス鍵ＫｅｙＡを用いて暗号化され、暗号化メディア鍵が生成される。
【０２２９】
このとき、ユーザ装置１〜１６のいずれかの装置が、悪意のある第三者によりハックされて、デバイス鍵ＫｅｙＡが暴露され、デバイス鍵ＫｅｙＡだけを内部に有するクローン機器が製造されたとする。このとき、前記クローン機器は、デバイス鍵ＫｅｙＡだけを有するので、ユーザ装置１〜１６のうちのどの装置がハックされた装置であるかを特定することはできない。一方で、前記クローン機器は、デバイス鍵ＫｅｙＡを有しているので、正しいメディア鍵を不正に得ることができる。
【０２３０】
このような状況では、デバイス鍵ＫｅｙＡのみを無効化し、かつ、全ての機器がカバーされるようなデバイス鍵を用いて、言い換えると、全ての機器が共有しているデバイス鍵を用いて、メディア鍵を暗号化しなければならない。ここで、全ての機器をカバーする理由は、このような状況では、ハックされた機器がどの機器か断定できないためである。
【０２３１】
そこで、デバイス鍵ＫｅｙＢ及びＫｅｙＣをそれぞれ用いて、メディア鍵を暗号化して２個の暗号化メディア鍵を生成する。
次に、デバイス鍵ＫｅｙＢが暴露された場合には、デバイス鍵ＫｅｙＢを無効化し、さらに、デバイス鍵ＫｅｙＣ、ＫｅｙＤ及びＫｅｙＥをそれぞれ用いて、メディア鍵を暗号化して３個の暗号化メディア鍵を生成する。
【０２３２】
このような操作が、木の高さ分だけ繰り返されると、最終的には、ハックされた機器が特定される。
以上説明したような状況に対応するために、デバイス鍵ＫｅｙＡのみを無効化する場合、鍵管理装置は、デバイス鍵ＫｅｙＡが対応するノードに対して、ＮＲＰ｛１００｝を付加する。図４に示す木構造の場合には、ルートに対して、ＮＲＰ｛１００｝を付加する。
【０２３３】
ＮＲＰ｛１００｝の先頭のビット「１」は、このノードが無効化されていることを示し、また、先頭のビット「１」に続くビット列「００」は、このノードの下に接続されている２個のノードは、両方とも、無効化されていないことを示している。
つまり、図４に示す木構造の場合に、ルートに対して、ＮＲＰ｛１００｝が付加されているならば、デバイス鍵ＫｅｙＢ及びＫｅｙＣを用いて、メディア鍵を暗号化して生成された２個の暗号化メディア鍵が存在することとなる。このように、ＮＲＰの先頭のビット「１」は、このノードの下には、暗号化メディア鍵が２個存在することを意味するフラグであるといえる。
【０２３４】
一方、第２の実施の形態で説明したように、ＮＲＰが｛１１１｝であるときの先頭のビット「１」は、このノードの下には、ＮＲＰが存在しないことを示している。
以下において、さらに詳細に説明する。
（鍵管理装置１００）
ここでは、鍵管理装置１００は、図４に示す木構造Ｔ１００を生成し、この図に示すように、各ノードにデバイス鍵を割り当て、各リーフにユーザ装置を割り当てたものとする。
【０２３５】
この後、図４９に示すように、ルートＴ７０１、ノードＴ７０２及びノードＴ７０３にそれぞれ割り当てられたデバイス鍵ＫｅｙＡ、ＫｅｙＢ及びＫｅｙＥが、上記に示すように漏洩したため、鍵管理装置１００は、以下に示すようにして、デバイス鍵ＫｅｙＡ、ＫｅｙＢ及びＫｅｙＥを無効化し、ヘッダ情報及び鍵情報を生成し、生成したヘッダ情報及び鍵情報を、鍵情報記録装置２００を介して、記録媒体に書き込む。
【０２３６】
（ａ）デバイス鍵ＫｅｙＡ、ＫｅｙＢ及びＫｅｙＥの無効化
鍵管理装置１００は、木構造テーブルにおいて、デバイス鍵ＫｅｙＡ、ＫｅｙＢ及びＫｅｙＥがそれぞれ含まれるノード情報に無効化フラグ「１」を付加する。
（ｂ）ヘッダ情報の生成
鍵管理装置１００は、無効化フラグが付加されたノード情報を含む前記木構造テーブルを用いて、ルートＴ７０１に付加するＮＲＰ｛０１０｝を生成し、生成したＮＲＰ｛０１０｝をヘッダ情報の一部として、鍵情報記録装置２００を介して、記録媒体に書き込む。ここで、ＮＲＰの先頭のビット「０」は、ルートＴ７０１の直下に接続される２個の下位のノードのいずれか一方が無効化され、他方は無効化されていないことを示している。また、ＮＲＰの下位の２ビット「１０」は、上記の実施の形態においても説明したように、ルートＴ７０１の直下に接続される２個の下位のノードのうち、左側のノードＴ７０２は、無効化されており、右側のノードＴ７０４は、無効化されていないことを示している。
【０２３７】
次に、鍵管理装置１００は、ノードＴ７０２に付加するＮＲＰ｛００１｝を生成し、生成したＮＲＰ｛００１｝をヘッダ情報の一部として、鍵情報記録装置２００を介して、記録媒体に書き込む。ここで、ＮＲＰの先頭のビット「０」は、ノードＴ７０２の直下に接続される２個の下位のノードのいずれか一方が無効化され、他方は無効化されていないことを示している。また、ＮＲＰの下位の２ビット「０１」は、ノードＴ７０２の直下に接続される２個の下位のノードのうち、左側のノードＴ７０５は、無効化されておらず、右側のノードＴ７０３は、無効化されていることを示している。
【０２３８】
次に、鍵管理装置１００は、ノードＴ７０３に付加するＮＲＰ｛１００｝を生成し、生成したＮＲＰ｛１００｝をヘッダ情報の一部として、鍵情報記録装置２００を介して、記録媒体に書き込む。ＮＲＰ｛１００｝は、上記において説明したように、ノードＴ７０３の直下に接続される２個の下位のノードＴ７０６、Ｔ７０７の両方とも無効化されておらず、これら２個のノードＴ７０６、Ｔ７０７には、それぞれ暗号化メディア鍵が存在することを示している。
【０２３９】
このようにして、図５０に示すヘッダ情報Ｄ１０００が記録媒体に書き込まれる。ヘッダ情報Ｄ１０００は、この図に示すように、ＮＲＰ｛０１０｝、｛００１｝、｛１００｝をこの順序で含んで構成されている。
（ｃ）鍵情報の生成
次に、鍵管理装置１００は、以下に示すようにして、無効化されていないデバイス鍵のうちの一部のデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成し、生成した暗号化メディア鍵を含む鍵情報とＮＲＰを含むヘッダ情報とを、鍵情報記録装置２００を介して、記録媒体に書き込む。
【０２４０】
最初に、鍵管理装置１００は、無効化されていないデバイス鍵のうち、最上位のレイヤに存在するノードに割り当てられているデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成する。ここで、図４９に示すように、無効化されていないデバイス鍵のうち、最上位のレイヤに存在するノードに割り当てられているデバイス鍵は、ノードＴ７０４に割り当てられたデバイス鍵ＫｅｙＣであるので、鍵管理装置１００は、デバイス鍵ＫｅｙＣを用いて、メディア鍵を暗号化して、暗号化メディア鍵Ｅ１（ＫｅｙＣ、メディア鍵）を生成し、生成した暗号化メディア鍵Ｅ１（ＫｅｙＣ、メディア鍵）を、鍵情報記録装置２００を介して、記録媒体に書き込む。
【０２４１】
次に、鍵管理装置１００は、上記のデバイス鍵ＫｅｙＣが割り当てられたノードＴ７０４及びノードＴ７０４の下位側の全てのノードを除く他のノードについて、これらの他のノードに割り当てられた無効化されていないデバイス鍵のうち、最上位のレイヤに存在するノードに割り当てられているデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成する。ここで、該当するノードは、ノードＴ７０５であるので、鍵管理装置１００は、ノードＴ７０５に割り当てられたデバイス鍵ＫｅｙＤを用いて、メディア鍵を暗号化して、暗号化メディア鍵Ｅ１（ＫｅｙＤ、メディア鍵）を生成し、生成した暗号化メディア鍵Ｅ１（ＫｅｙＤ、メディア鍵）を、鍵情報記録装置２００を介して、記録媒体に書き込む。
【０２４２】
次に、鍵管理装置１００は、上記のデバイス鍵ＫｅｙＣが割り当てられたノードＴ７０４及びノードＴ７０４の下位側の全てのノード、及び上記のデバイス鍵ＫｅｙＤが割り当てられたノードＴ７０５及びノードＴ７０５の下位側の全てのノードを除く他のノードについて、これらの他のノードに割り当てられた無効化されていないデバイス鍵のうち、最上位のレイヤに存在するノードに割り当てられているデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成する。ここで、該当するノードは、ノードＴ７０６であるので、鍵管理装置１００は、ノードＴ７０６に割り当てられたデバイス鍵ＫｅｙＪを用いて、メディア鍵を暗号化して、暗号化メディア鍵Ｅ１（ＫｅｙＪ、メディア鍵）を生成し、生成した暗号化メディア鍵Ｅ１（ＫｅｙＪ、メディア鍵）を、鍵情報記録装置２００を介して、記録媒体に書き込む。
【０２４３】
次に、鍵管理装置１００は、上記と同様にして、ノードｔ７０７に割り当てられたデバイス鍵ＫｅｙＫを用いて、メディア鍵を暗号化して、暗号化メディア鍵Ｅ１（ＫｅｙＫ、メディア鍵）を生成し、生成した暗号化メディア鍵Ｅ１（ＫｅｙＫ、メディア鍵）を、鍵情報記録装置２００を介して、記録媒体に書き込む。このようにして、図５０に示す鍵情報Ｄ１０１０が記録媒体に書き込まれる。鍵情報Ｄ１０１０は、この図に示すように、暗号化メディア鍵Ｅ１（ＫｅｙＣ、メディア鍵）、Ｅ１（ＫｅｙＤ、メディア鍵）、Ｅ１（ＫｅｙＪ、メディア鍵）及びＥ１（ＫｅｙＫ、メディア鍵）を、この順序で含んで構成されている。
【０２４４】
（記録装置３００ａ）
次に、記録装置３００ａが有する特定部３０３により、上記のようにして記録媒体に記憶されたヘッダ情報及び鍵情報から、１個の暗号化メディア鍵を特定する動作について、図５１に示すフローチャートを用いて説明する。
特定部３０３は、暗号化メディア鍵の位置を示す変数Ｘ、ユーザ装置自身に関係するＮＲＰの位置を示す変数Ａ、あるレイヤにおけるＮＲＰの数を示す変数Ｗ、及び処理対象となるレイヤ数を示す変数ｉを有している。
【０２４５】
特定部３０３は、初期値として、それぞれ変数Ａ＝０、変数Ｗ＝１、変数ｉ＝０とする（ステップＳ３０１）。
次に、特定部３０３は、Ａ番目のＮＲＰの下位２ビットのうち、ＩＤ情報の上位ｉビット目の値に対応するビット位置にある値Ｂが「０」であるか、又は「１」であるかをチェックする（ステップＳ３０３）。ここで、対応するビット位置とは、上記の実施の形態においても説明したように、図４に示す木構造において左の経路に「０」、右の経路に「１」が割り当てられ、これらの規則に基づいてＩＤ情報が構成されているので、ＩＤ情報の上位ｉビット目の値「０」は、Ａ番目のＮＲＰの下位２ビットのうちの左ビットに対応し、ｉビット目の値「１」は、Ａ番目のＮＲＰの下位２ビットのうちの右ビットに対応する。
【０２４６】
次に、値Ｂ＝０の場合（ステップＳ３０３）、特定部３０３は、先頭のＮＲＰから、最後にチェックしたＮＲＰまでの各ＮＲＰについて、以下の通りチェックする。ただしＡ番目のＮＲＰは含まない。
（ａ）ＮＰＲの最上位ビットが「０」であり、かつ下位２ビットが「１１」でないとき、変数Ｘに「１」を加算する。
【０２４７】
（ｂ）ＮＰＲの最上位ビットが「１」であるとき、下位２ビットに含まれる「０」の数を、変数Ｘに加算する。
最後にチェックしたＡ番目のＮＲＰについては、ＮＲＰの最上位ビットが「１」であるときのみ、対応するビット位置までの「０」の数を変数Ｘに加算する。ここで、対応するビット自身は含まないものとする。こうして得られた変数Ｘが、暗号化メディア鍵の位置を示している。また、この時点の変数ｉは、デバイス鍵を識別するためのデバイス鍵識別情報である（ステップＳ３０７ｃ）。次に、特定部３０３は、処理を終了する。
【０２４８】
一方、値Ｂ＝１の場合（ステップＳ３０３）、さらに、特定部３０３は、ＮＲＰの最上位ビットが「１」でないか否かを判断し、ＮＲＰの最上位ビットが「１」であると判断する場合には（ステップＳ３０８）、このユーザ装置は、無効化されているので、次に、特定部３０３は、処理を終了する。
ＮＲＰの最上位ビットが「１」でないと判断する場合に（ステップＳ３０８）、特定部３０３は、レイヤｉに存在するＷ個の全ＮＲＰの下位２ビットに含まれる「１」の数をカウントし、カウントした値を変数Ｗに代入する。ただし、ＮＲＰの最上位ビットが「１」のＮＰＲは、カウントの対象とはしない。こうして得られた変数Ｗが、次のレイヤｉ＋１に存在するＮＲＰの数を示す（ステップＳ３０４ｃ）。
【０２４９】
次に、特定部３０３は、レイアｉに存在するＮＲＰのうちの最初のＮＲＰから、対応するビット位置までの各ＮＲＰについて、ＮＲＰの下位２ビットに含まれる「１」の数をカウントし、カウントした値を変数Ａに代入する。ここで、対応するビット位置の値はカウントしない。また、ＮＲＰの最上位ビットが「１」であるＮＲＰは、カウントの対象とはしない。こうして得られた変数Ａが、次のレイヤｉ＋１のＮＲＰのうち、ユーザ装置自身に関係するＮＲＰの位置を示す（ステップＳ３０５ｃ）。
【０２５０】
次に、特定部３０３は、変数ｉ＝ｉ＋１を演算し（ステップＳ３０６）、次にステップＳ３０３へ制御を移し、上述の処理を繰り返す。
以上に示すようにして、木構造のリーフからルートへの経路上に存在するデバイス鍵が無効化された場合に限らず、木構造の一部のノードに割り当てられたデバイス鍵が無効化された場合であっても、鍵管理装置によるヘッダ情報及び鍵情報の記録媒体への書込みと、再生装置による暗号化メディア鍵の特定とが行える。
【０２５１】
（９）一例として図４に示す木構造を想定し、デバイス鍵が全く漏洩していない初期状態であり、前記木構造には無効化されたノードがないものとする。
この場合に、鍵管理装置は、ルートに対応付けられているデバイス鍵ＫｅｙＡを用いて、メディア鍵を暗号化して１個の暗号化メディア鍵を生成する。次に、鍵管理装置は、前記木構造には無効化されたノードがなく、全てのノードが有効であることを示す特別なＮＲＰ｛００｝を１個生成する。次に、鍵管理装置は、生成した前記暗号化メディア鍵と生成したＮＲＰ｛００｝を、鍵情報記録装置を介して、記録媒体に書き込む。
【０２５２】
また、この場合に、再生装置は、前記記録媒体からＮＲＰを読み出し、読み出したＮＲＰが｛００｝のみであり、この他にＮＲＰが前記記録媒体に記録されていないと判断する場合に、再生装置は、木構造において無効化されているノードが全く存在しないものと判断し、次に、前記記録媒体に記録されている前記暗号化メディア鍵を読み出し、再生装置自身が記憶しているデバイス鍵のうち、ルートに対応付けられているデバイス鍵ＫｅｙＡを用いて、読み出した前記暗号化メディア鍵を復号して、メディア鍵を生成する。
【０２５３】
また、この場合に、記録装置も、前記再生装置と同様に動作する。
７．第６の実施の形態
本発明に係るさらに別の実施の形態としての認証システム１０００について説明する。
認証システム１０００は、図５２に示すように、認証局装置１１００、製造装置１２００、製造装置１３００、著作物記録装置１４００及びパーソナルコンピュータ１５００から構成されている。パーソナルコンピュータ１５００は、ドライブ部１６００と本体部１９００とから構成され、ドライブ部１６００と本体部１９００とは、汎用通信路１０２０を介して接続されている。
【０２５４】
ドライブ製造業者は、インターネット１０１０に接続されている製造装置１２００を有しており、ドライブ部１６００を製造する。ドライブ部１６００の製造の工程において、製造装置１２００は、ドライブ部１６００に対応するドライブ秘密鍵とドライブ公開鍵とを生成し、生成したドライブ秘密鍵をドライブ部１６００の外部からアクセスされない記憶領域に書き込み、生成したドライブ公開鍵をインターネット１０１０を介して公開する。また、製造装置１２００は、インターネット１０１０を介して、公開鍵証明書認証局が有する認証局装置１１００に対して、公開鍵証明書の生成を依頼し、認証局装置１１００は、ドライブ公開鍵に対応する公開鍵証明書を生成し、生成した公開鍵証明書をインターネット１０１０を介して、製造装置１２００へ送信する。製造装置１２００は、認証局装置１１００から前記ドライブ公開鍵に対応する公開鍵証明書を取得し、取得した公開鍵証明書をドライブ部１６００に書き込む。次に、ドライブ製造業者は、ドライブ秘密鍵及び公開鍵証明書が書き込まれたドライブ部１６００をパソコン製造業者に納入する。
【０２５５】
パソコン製造業者は、インターネット１０１０に接続されている製造装置１３００を有しており、パーソナルコンピュータ１５００の本体部１９００を製造する。本体部１９００の製造の工程において、製造装置１３００は、インターネット１０１０を介して公開されたドライブ公開鍵を取得し、取得したドライブ公開鍵を本体部１９００に書き込む。次に、パソコン製造業者は、納入されたドライブ部１６００と、ドライブ公開鍵が書き込まれた本体部１９００とを汎用通信路１０２０により接続して組み立て、パーソナルコンピュータ１５００を生産する。
【０２５６】
生産されたパーソナルコンピュータ１５００は、販売業者を介して販売され、利用者は、パーソナルコンピュータ１５００を購入する。
ここで、前記ドライブ秘密鍵と前記ドライブ公開鍵のセットが不正な第三者により暴露されたとする。この場合、対応する公開鍵証明書は無効化されなければならない。
【０２５７】
認証局装置１１００は、公開鍵証明書を無効化すべきことを知ると、無効化すべき公開鍵証明書を識別する証明書ＩＤを含むＣＲＬを生成し、生成したＣＲＬをインターネット１０１０を介して、著作物販売業者が有する著作物記録装置１４００へ送信する。著作物記録装置１４００は、デジタル著作物を記憶しており、デジタル著作物と受信したＣＲＬとをＤＶＤ１８００に書き込み、デジタル著作物とＣＲＬとが書き込まれたＤＶＤ１８００が販売される。
【０２５８】
利用者は、ＤＶＤ１８００を購入し、パーソナルコンピュータ１５００に装着する。
パーソナルコンピュータ１５００の本体部１９００は、ドライブ部１６００を介して、ＤＶＤ１８００からＣＲＬを読み出し、ドライブ部１６００から公開鍵証明書を取得し、読み出したＣＲＬを用いて、取得した公開鍵証明書が無効化されているか否かを判断する。無効化されていると判断する場合には、本体部１９００は、ドライブ部１６００の利用を中止する。無効化されていないと判断する場合には、本体部１９００は、さらに、内部に記憶しているドライブ公開鍵を用いて、ドライブ部１６００の正当性を認証し、ドライブ部１６００が正当であると認証された場合には、ドライブ部１６００を介してＤＶＤ１８００からデジタル著作物を読み出す。ドライブ部１６００が不正であると認証された場合には、本体部１９００は、ドライブ部１６００を介してＤＶＤ１８００からデジタル著作物を読み出すことを中止する。
【０２５９】
７．１　製造装置１２００の構成
製造装置１２００は、図５３に示すように、情報記憶部１２０１、入力部１２０２、表示部１２０３、制御部１２０４、書込部１２０５及び通信部１２０６から構成されている。
製造装置１２００は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、製造装置１２００は、その機能を達成する。
【０２６０】
製造装置１２００は、上述したように、ドライブ製造業者が有するものである。ドライブ部１６００の製造の工程において、ドライブ製造業者は、製造装置１２００と製造途中のドライブ部１６００とを接続する。
（１）情報記憶部１２０１
情報記憶部１２０１は、製造情報テーブル１２１１を有している。
【０２６１】
製造情報テーブル１２１１は、図５３に一例として示すように、製造番号、ドライブ秘密鍵、ドライブ公開鍵、有効期限、公開鍵証明書及び証明書署名データから構成される製造情報を複数個記憶するための領域を備えている。
ここで、製造番号は、ドライブ製造業者により製造されるドライブ部を一意に識別するための識別番号である。
【０２６２】
ドライブ秘密鍵は、当該ドライブ部に対応して生成された秘密鍵である。
ドライブ公開鍵は、前記ドライブ秘密鍵に対応して生成された公開鍵である。
有効期限は、前記ドライブ秘密鍵及び前記ドライブ公開鍵の使用の開始日及び使用の終了日から構成される。
公開鍵証明書は、前記ドライブ公開鍵に対応して生成された証明書であり、証明書ＩＤ、有効期限及びドライブ公開鍵を含んでいる。証明書ＩＤは、当該公開鍵証明書を識別するための識別情報である。有効期限は、前記の有効期限と同一の内容のものである。ドライブ公開鍵は、前記ドライブ公開鍵と同一の内容のものである。
【０２６３】
証明書署名データは、前記公開鍵証明書を基にして生成された署名データである。
（２）入力部１２０２
入力部１２０２は、製造装置１２００の操作者からドライブ部１６００の製造番号の入力を受け付け、さらに有効期限の入力を受け付け、受け付けた製造番号及び有効期限を制御部１２０４へ出力する。
【０２６４】
（３）制御部１２０４
制御部１２０４は、入力部１２０２から製造番号及び有効期限を受け取る。製造番号及び有効期限を受け取ると、制御部１２０４は、乱数を生成し、生成した乱数を基にしてドライブ秘密鍵を生成し、次に、ＲＳＡ公開鍵暗号技術を用いて、生成したドライブ秘密鍵を基にしてドライブ公開鍵を生成する。
【０２６５】
ここで、ＲＳＡ公開鍵暗号技術については、公知であるので、説明を省略する。
次に、制御部１２０４は、生成したドライブ公開鍵、受け取った有効期限及び公開鍵証明書の発行の依頼を示す公開鍵証明書発行依頼を、通信部１２０６及びインターネット１０１０を介して、認証局装置１１００へ出力する。
【０２６６】
次に、制御部１２０４は、認証局装置１１００から、インターネット１０１０及び通信部１２０６を介して、公開鍵証明書及び証明書署名データを受け取り、製造番号、ドライブ秘密鍵、ドライブ公開鍵、有効期限、公開鍵証明書及び証明書署名データからなる製造情報を生成し、生成した製造情報を情報記憶部１２００が有する製造情報テーブル１２１１に書き込む。
【０２６７】
また、制御部１２０４は、製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを書込部１２０５へ出力する。
さらに、制御部１２０４は、製造番号及びドライブ公開鍵を、通信部１２０６及びインターネット１０１０を介して、公開する。
（４）書込部１２０５
書込部１２０５は、ドライブ製造業者により、ドライブ部１６００が有する情報記憶部１６０１（後述する）に接続される。
【０２６８】
書込部１２０５は、制御部１２０４から製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを受け取り、受け取った製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データをドライブ部１６００が有する情報記憶部１６０１に書き込む。
（５）通信部１２０６
通信部１２０６は、インターネット１０１０に接続されており、インターネット１０１０に接続されている外部の装置と、制御部１２０４との間で情報の送受信を行う。
【０２６９】
（６）表示部１２０３
表示部１２０３は、制御部１２０４の制御の元に、各種の情報を表示する。
７．２　製造装置１３００の構成
製造装置１３００は、製造装置１２００と同様に、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、製造装置１３００は、その機能を達成する。
【０２７０】
製造装置１３００は、インターネット１０１０に接続されている。
製造装置１３００は、上述したように、パソコン製造業者が有するものである。本体部１９００の製造の工程において、パソコン製造業者は、製造装置１３００と本体部１９００とを接続する。
製造装置１３００は、インターネット１０１０を介して、公開された製造番号及びドライブ公開鍵を取得し、取得した製造番号及びドライブ公開鍵を本体部１９００が有する情報記憶部１９０１（後述する）へ書き込む。
【０２７１】
７．３　認証局装置１１００
認証局装置１１００は、図５４に示すように、木構造構築部１１０１、木構造格納部１１０２、ＣＲＬ生成部１１０３、無効通知部１１０４、木構造更新部１１０５、ＣＲＬ記憶部１１０６、ＣＲＬ送信部１１０７、証明書生成部１１０８、証明書記憶部１１０９、送受信部１１１０、入力部１１１１、表示部１１１２及び制御部１１１３から構成されている。
【０２７２】
この装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、認証局装置１１００は、その機能を達成する。
認証局装置１１００は、鍵管理装置１００と同様の構成を有している。ここでは、鍵管理装置１００との相違点を中心として説明する。
【０２７３】
（１）木構造格納部１１０２
木構造格納部１１０２は、木構造格納部１０２が有している木構造テーブルＤ１００と同様の木構造テーブルＤ１１００（図示していない）を有している。
木構造テーブルＤ１１００は、木構造Ｔ１１００（図示していない）に対応している。
【０２７４】
（木構造Ｔ１１００）
木構造Ｔ１１００は、レイヤ０からレイヤ４までの５階層からなる２分木であり、図４に示す木構造Ｔ１００と同一の木構造である。木構造Ｔ１１００は、公開鍵証明書ＩＤを管理するために用いられる。
一方、上述したように、木構造Ｔ１００は、デバイス鍵を管理するために用いられる。このように、木構造Ｔ１１００と木構造Ｔ１００は、その使用の目的において異なる。木構造Ｔ１１００の構成そのものについては、木構造Ｔ１００と同一であるので、詳細な説明は、省略する。
【０２７５】
（木構造テーブルＤ１１００）
木構造テーブルＤ１１００は、木構造Ｔ１１００に含まれるノードと同じ数のノード情報を記憶するための領域を備えており、各ノード情報は、木構造Ｔ１１００を構成する各ノードにそれぞれ対応している。
木構造テーブルＤ１１００に含まれるリーフ以外のノードに対応する各ノード情報は、ノード名及び無効化フラグを含む。リーフに対応する各ノード情報は、ノード名、ドライブ公開鍵及び無効化フラグを含む。ここで、ドライブ公開鍵は、後述するように、製造装置１２００から受信したものである。
【０２７６】
なお、木構造テーブルＤ１００に含まれる各ノード情報は、上述したように、ノード名、デバイス鍵及び無効化フラグを含んでおり、一方、木構造テーブルＤ１１００に含まれる各ノード情報は、ノード名及び無効化フラグを含み、又はノード名、ドライブ公開鍵及び無効化フラグを含む。
この点において、木構造テーブルＤ１１００と木構造テーブルＤ１００とは、相違しており、その他の点について、同一である。従って、木構造テーブルＤ１１００についての詳細な説明は、省略する。
【０２７７】
（２）木構造構築部１１０１
木構造構築部１１０１は、木構造構築部１０１と同様の構成を有している。
木構造構築部１１０１は、木構造構築部１０１と同様に、公開鍵証明書ＩＤを管理するｎ分木のデータ構造を構築し、構築した木構造を木構造格納部１１０２に格納する。具体的には、木構造構築部１０１と同様に、木構造テーブルＤ１１００に含まれる各ノード情報のうち、各ノードのノード名を生成し、生成したノード名を各ノード情報内に書き込む。
【０２７８】
こうして、木構造構築部１１０１による木構造の構築が完了した時点において、木構造テーブルＤ１１００に含まれる各ノード情報は、ノード名のみを含んでいる。
なお、木構造構築部１０１は、木構造のノード毎にデバイス鍵を生成し、生成したデバイス鍵を各ノードに対応付けて木構造テーブル内に書き込むが、木構造構築部１１０１は、デバイス鍵の生成とデバイス鍵の木構造テーブル内への書込みは行わない。この点において、相違している。
【０２７９】
（３）証明書記憶部１１０９
証明書記憶部１１０９は、後述する公開鍵証明書を１個以上記憶するための領域を備えている。
（４）証明書生成部１１０８
証明書生成部１１０８は、製造装置１２００から、インターネット１０１０及び送受信部１１１０を介して、公開鍵証明書の発行の依頼を示す公開鍵証明書発行依頼、ドライブ公開鍵及び有効期限を受け取る。
【０２８０】
公開鍵証明書発行依頼、ドライブ公開鍵及び有効期限を受け取ると、証明書生成部１１０８は、木構造格納部１１０２に格納されている木構造テーブルＤ１１００内のリーフに対応するノード情報のうち、ドライブ公開鍵を含まないものを１個選択し、選択したノード情報内に、受け取った前記ドライブ公開鍵を書き込む。
【０２８１】
また、証明書生成部１１０８は、選択したノード情報からノード名を抽出する。ここで、抽出したノード名を受け取ったドライブ公開鍵に対応する公開鍵証明書を識別する証明書ＩＤとする。
こうして、証明書生成部１１０８は、受け取ったドライブ公開鍵に対応する公開鍵証明書の証明書ＩＤを生成する。次に、証明書生成部１１０８は、生成した証明書ＩＤ、受け取った有効期限及び受け取ったドライブ公開鍵から構成される公開鍵証明書を生成する。
【０２８２】
次に、証明書生成部１１０８は、認証局装置１１００のみが秘密に保持している認証局秘密鍵を用いて、生成した前記公開鍵証明書にデジタル署名ＳＩＧを施して、証明書署名データを生成する。
ここで、デジタル署名ＳＩＧは、楕円曲線上の離散対数問題を安全性の根拠とするＥｌＧａｍａｌ暗号を用いるデジタル署名である。
【０２８３】
次に、証明書生成部１１０８は、生成した公開鍵証明書及び証明書署名データを、送受信部１１１０及びインターネット１０１０を介して、製造装置１２００へ送信する。また、証明書生成部１１０８は、生成した公開鍵証明書を証明書記憶部１１０９へ書き込む。
（５）無効通知部１１０４
ドライブ秘密鍵とドライブ公開鍵のセットが不正な第三者により暴露されたとする。この場合、対応する公開鍵証明書は無効化されなければならない。
【０２８４】
認証局装置１１００の管理者が無効化されるべき公開鍵証明書の証明書ＩＤを知ると、無効通知部１１０４は、管理者の操作により入力部１１１１を介して、無効化されるべき公開鍵証明書の証明書ＩＤを取得し、取得した証明書ＩＤを木構造更新部１１０５へ出力する。
（６）木構造更新部１１０５
木構造更新部１１０５は、無効通知部１１０４から証明書ＩＤを受け取る。
【０２８５】
証明書ＩＤを受け取ると、木構造更新部１０５と同様にして、木構造テーブルＤ１１００の更新を行う。
なお、上述の木構造更新部１０５の説明部分において、「ＩＤ情報」とあるのを「証明書ＩＤ」と読み替える。
こうして、木構造更新部１１０５は、木構造更新部１０５と同様に、無効通知部１１０４から受け取った証明書ＩＤに基づいて、木構造Ｄ１１００において、受け取った証明書ＩＤが示すリーフから、ルートまでの経路上に存在する全てのノードを無効化する。
【０２８６】
木構造Ｄ１１００において、「００００」、「１０１０」及び「１０１１」により示される証明書ＩＤが無効化されると想定する場合、上記のようにして木構造更新部１１０５によりノードが無効化された木構造は、図５に示すようになる。この図において、×印が付されたノードが無効化されたノードを示している。
（７）ＣＲＬ記憶部１１０６
ＣＲＬ記憶部１１０６は、１個以上のＣＲＬを記憶するための領域を備えている。
【０２８７】
（８）ＣＲＬ生成部１１０３
ＣＲＬ生成部１１０３は、鍵情報ヘッダ生成部１０６と同様に動作する。この結果、ＣＲＬ生成部１１０３は、複数個のＮＲＰを生成する。
ＣＲＬ生成部１１０３が生成する複数個のＮＲＰ（ＮＲＰ群と呼ぶ）の一例を図５５に示す。この図に示すように、ＮＲＰ群は、ＮＲＰ｛１１｝、｛１０｝、｛１０｝、｛１０｝、｛０１｝、｛１０｝、｛１１｝から構成され、各ＮＲＰをこの順序で含んでいる。
【０２８８】
ここで、生成されたＮＲＰ群は、鍵情報ヘッダ生成部１０６により生成されたヘッダ情報Ｄ２００（図６に示す）と同一の内容を有している。
ここまでに説明したＣＲＬ生成部１１０３の動作は、鍵情報ヘッダ生成部１０６と同様のものである。
次に、ＣＲＬ生成部１１０３は、鍵情報ヘッダ生成部１０６と異なる動作として、認証局装置１１００のみが秘密に保持している認証局秘密鍵を用いて、生成したＮＲＰ群に、デジタル署名ＳＩＧを施して、ＮＲＰ署名データを生成し、前記ＮＲＰ群と生成したＮＲＰ署名データとからなるＣＲＬを生成する。
【０２８９】
ＣＲＬの一例を図５５に示す。この図に示すＣＲＬ１１３１は、ＮＲＰ群１１３２及びＮＲＰ署名データ１１３３から構成されている。
次に、ＣＲＬ生成部１１０３は、生成したＣＲＬをＣＲＬ記憶部１１０６に書き込む。また、生成したＣＲＬを、ＣＲＬ送信部１１０７及びインターネット１０１０を介して、著作物記録装置１４００へ送信する。
【０２９０】
（９）ＣＲＬ送信部１１０７
ＣＲＬ送信部１１０７は、インターネット１０１０に接続されており、ＣＲＬ生成部１１０３から情報を受け取り、受け取った情報を、インターネット１０１０を介して、外部の装置へ送信する。
（１０）送受信部１１１０
送受信部１１１０は、インターネット１０１０に接続されており、証明書生成部１１０８とインターネット１０１０に接続されている外部の装置との間で、情報の送受信を行う。
【０２９１】
（１１）制御部１１１３、表示部１１１２及び入力部１１１１
制御部１１１３は、認証局装置１１００を構成する各構成要素を制御する。
表示部１１１２は、制御部１１１３の制御の元に、各種情報を表示する。
入力部１１１１は、認証局装置１１００の操作者からの入力を受け付ける。
７．４　著作物記録装置１４００
著作物記録装置１４００は、図５６に示すように、著作物記憶部１４０１、暗号化部１４０２、書込部１４０３及び送受信部１４０４から構成されている。
【０２９２】
著作物記録装置１４００は、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、著作物記録装置１４００は、その機能を達成する。
（１）著作物記憶部１４０１
著作物記憶部１４０１は、予めデジタル著作物を記憶している。
【０２９３】
（２）送受信部１４０４
送受信部１４０４は、インターネット１０１０に接続されている。
送受信部１４０４は、認証局装置１１００からインターネット１０１０を介して、ＣＲＬを受信し、受信したＣＲＬを暗号化部１４０２へ出力する。
（３）暗号化部１４０２
暗号化部１４０２は、送受信部１４０４からＣＲＬを受け取る。
【０２９４】
また、暗号化部１４０２は、操作者の指示により、著作物記憶部１４０１からデジタル著作物を読み出し、読み出したデジタル著作物及び受け取ったＣＲＬに暗号化アルゴリズムＥ３を施して、それぞれ、暗号化著作物及び暗号化ＣＲＬを生成する。
ここで、暗号化アルゴリズムＥ３は、ＤＥＳによるものである。
【０２９５】
次に、暗号化部１４０２は、生成した暗号化著作物及び暗号化ＣＲＬを書込部１４０３へ出力する。
（４）書込部１４０３
書込部１４０３は、暗号化部１４０２から暗号化著作物及び暗号化ＣＲＬを受け取り、受け取った暗号化著作物及び暗号化ＣＲＬをＤＶＤ１８００に書き込む。
【０２９６】
（５）送受信部１４０４
送受信部１４０４は、インターネット１０１０に接続されている。
送受信部１４０４は、外部の装置からインターネット１０１０を介して、情報を受信し、受信した情報を暗号化部１４０２へ出力する。
７．５　本体部１９００
本体部１９００は、図５７に示すように、情報記憶部１９０１、復号部１９０２、認証部１９０３、表示部１９０４、入出力部１９０５、制御部１９０６、再生部１９０７、復号部１９０８及び入力部１９０９から構成されている。
【０２９７】
本体部１９００は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、本体部１９００は、その機能を達成する。
【０２９８】
（１）情報記憶部１９０１
情報記憶部１９０１は、図５７に一例として示すように、製造番号及びドライブ公開鍵を記憶するための領域を備えている。
上述したように、パソコン製造業者による本体部１９００の製造の工程において、製造装置１３００と本体部１９００とが接続され、製造番号及びドライブ公開鍵は、製造装置１３００により情報記憶部１９０１に書き込まれる。
【０２９９】
製造番号は、ドライブ部１６００を識別するための識別情報であり、また、ドライブ公開鍵は、ドライブ部１６００に対応して生成された公開鍵である。
（２）制御部１９０６
制御部１９０６は、入出力部１９０５を介して、ドライブ部１６００にＣＲＬの読出しを示すＣＲＬ読出指示を出力する。
【０３００】
制御部１９０６は、認証部１９０３から、ＮＲＰ群の正当性の検証成功を示す成功情報、又は検証失敗を示す失敗情報を受け取る。成功情報を受け取る場合には、さらに、認証部１９０３からＮＲＰ群を受け取る。
失敗情報を受け取った場合に、制御部１９０６は、表示部１９０４に対して、検証の失敗を示す旨のメッセージを出力し、当該メッセージを表示するように制御する。その後、制御部１９０６は、ドライブ部１６００によるＤＶＤへのアクセスを中止する。
【０３０１】
成功情報を受け取った場合に、制御部１９０６は、さらに、入出力部１９０５を介して、ドライブ部１６００へ公開鍵証明書を要求する。
（無効化判定）
次に、制御部１９０６は、ドライブ部１６００から公開鍵証明書を受け取り、受け取った公開鍵情報から証明書ＩＤを抽出し、抽出した証明書ＩＤと、認証部１９０３から受け取ったＮＲＰ群を用いて、以下に示すようにして、公開鍵証明書の無効化判定を行う。
【０３０２】
制御部１９０６は、第１の実施の形態に示す特定部３０３と同様にして、公開鍵証明書の無効化判定を行う。なお、特定部３０３は、暗号化メディア鍵を特定するために動作する。これに対して、制御部１９０６は、公開鍵証明書の無効化判定を行うために動作する。この点において、特定部３０３と制御部１９０６とは相違している。
【０３０３】
ここでは、特定部３０３による動作との相違点を中心として、制御部１９０６による公開鍵証明書の無効化判定の動作について説明する。
制御部１９０６は、図１７のフローチャートに示すように動作することにより、公開鍵証明書の無効化判定を行う。
制御部１９０６は、証明書ＩＤに関係するＮＲＰの位置を示す変数Ａ、あるレイヤにおけるＮＲＰの数を示す変数Ｗ、及び木構造のレイヤ数を示す値Ｄを有している。ここで、証明書ＩＤに関係するに関係するＮＲＰとは、木構造において、証明書ＩＤに割り当てられているリーフから、ルートに至るまでの経路上に存在するノードのＮＲＰを示す。なお、制御部１９０６は、特定部３０３が有する暗号化メディア鍵の位置を示す変数Ｘを有していない。
【０３０４】
制御部１９０６は、図１７のフローチャートのステップＳ３０２において、「Ｎｏ」と判断された場合に、当該公開鍵証明書は、無効化されているものとみなす。
また、制御部１９０６は、図１７のフローチャートのステップＳ３０３において、「Ｂ＝０」と判断された場合に、当該公開鍵証明書は、有効であるとみなす。なお、制御部１９０６は、ステップＳ３０７においては、何もしない。
【０３０５】
こうして、制御部１９０６は、公開鍵証明書の無効化判定を行い、公開鍵証明書が無効であると判定する場合には、制御部１９０６は、表示部１９０４に対して、公開鍵証明書が無効であることを示すメッセージを出力し、当該メッセージを表示するように制御する。その後、制御部１９０６は、ドライブ部１６００によるＤＶＤへのアクセスを中止する。
【０３０６】
一方、公開鍵証明書が有効であると判定する場合には、制御部１９０６は、乱数Ｒを生成し、生成した乱数Ｒを入出力部１９０５を介して、ドライブ部１６００へ出力し、ドライブ部１６００から認証署名データを受け取る。
制御部１９０６は、情報記憶部１９０１からドライブ公開鍵を読み出し、読み出したドライブ公開鍵を用いて、生成した乱数Ｒと受け取った認証署名データとに検証アルゴリズムＶＥＲを施して、ドライブ部１６００の正当性を検証する。
【０３０７】
ここで、検証アルゴリズムＶＥＲは、上述したデジタル署名ＳＩＧに対応するものであり、デジタル署名ＳＩＧにより生成された署名データによる検証を行う。
検証に失敗すると、制御部１９０６は、表示部１９０４に対して、ドライブ部１６００が不正であることを示すメッセージを出力し、当該メッセージを表示するように制御する。その後、制御部１９０６は、ドライブ部１６００によるＤＶＤへのアクセスを中止する。
【０３０８】
検証に成功すると、制御部１９０６は、入出力部１９０５を介して、ドライブ部１６００へ著作物の読み出し指示を出力する。
次に、制御部１９０６は、入出力部１９０５を介して、ドライブ部１６００から暗号化著作物を受け取り、受け取った暗号化著作物を復号部１９０８へ出力する。
【０３０９】
（３）復号部１９０２
復号部１９０２は、ドライブ部１６００から入出力部１９０５を介して、暗号化ＣＲＬを受け取り、受け取った暗号化ＣＲＬに復号アルゴリズムＤ３を施して、ＮＲＰ群及びＮＲＰ署名データを生成し、生成したＮＲＰ群及びＮＲＰ署名データを認証部１９０３へ出力する。
【０３１０】
（４）認証部１９０３
認証部１９０３は、予め、認証局装置１１００から配布された認証局公開鍵を記憶している。認証局公開鍵は、前述した認証局秘密鍵に対応するものであり、認証局秘密鍵を基にして公開鍵暗号方式の公開鍵生成アルゴリズムを用いて生成されたものである。
【０３１１】
認証部１９０３は、復号部１９０２からＮＲＰ群及びＮＲＰ署名データを受け取り、認証局公開鍵を用いて、ＮＰＲ群及びＮＲＰ署名データにデジタル署名の検証アルゴリズムＶＥＲを施して、ＮＲＰ群の正当性を検証する。
ここで、検証アルゴリズムＶＥＲは、上述したデジタル署名ＳＩＧに対応するものであり、デジタル署名ＳＩＧにより生成された署名データによる検証を行う。
【０３１２】
検証結果がＮＲＰ群の正当性を示す場合、つまり検証に成功した場合には、認証部１９０３は、検証成功を示す成功情報を制御部１９０６へ出力する。この場合、認証部１９０３は、さらに、ＮＲＰ群を制御部１９０６へ出力する。一方、検証結果がＮＲＰ群の不正を示す場合、つまり検証に失敗した場合には、認証部１９０３は、検証失敗を示す失敗情報を制御部１９０６へ出力する。
【０３１３】
（５）復号部１９０８
復号部１９０２は、制御部１９０６から暗号化著作物を受け取り、受け取った暗号化著作物に復号アルゴリズムＤ３を施して、デジタル著作物を生成し、生成したデジタル著作物を再生部１９０７へ出力する。
（６）再生部１９０７
再生部１９０７は、復号部１９０２からデジタル著作物を受け取り、受け取ったデジタル著作物を再生して出力する。
【０３１４】
（７）表示部１９０４
表示部１９０４は、制御部１９０６の制御の元に、制御部１９０６からメッセージを受け取り、受け取ったメッセージを表示する。
（８）入力部１９０９
入力部１９０９は、操作者からの入力を受け付ける。
【０３１５】
７．６　ドライブ部１６００
ドライブ部１６００は、図５８に示すように、情報記憶部１６０１、読出部１６０２、制御部１６０３、認証部１６０４及び入出力部１６０５から構成されている。
（１）情報記憶部１６０１
情報記憶部１６０１は、図５８に示すように、製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを記憶するための領域を備えている。
【０３１６】
上述したように、ドライブ製造業者によるドライブ部１６００の製造の工程において、製造装置１２００とドライブ部１６００とが接続され、製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データは、製造装置１２００により情報記憶部１６０１に書き込まれる。
製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データについては、上述した通りであるので、ここでは、説明を省略する。
【０３１７】
（２）制御部１６０３
制御部１６０３は、本体部１９００から、入出力部１６０５を介して、ＣＲＬ読出指示、公開鍵証明書の要求、乱数Ｒ及び著作物の読出要求を受け取る。
ＣＲＬ読出指示を受け取ると、制御部１６０３は、読出部１６０２を介して、ＤＶＤ１８００から暗号化ＣＲＬを読み出し、読み出した暗号化ＣＲＬを、入出力部１６０５を介して、本体部１９００へ出力する。
【０３１８】
公開鍵証明書の要求を受け取ると、制御部１６０３は、情報記憶部１６０１から公開鍵証明書を読み出し、読み出した公開鍵証明書を、入出力部１６０５を介して、本体部１９００へ出力する。
乱数Ｒを受け取ると、制御部１６０３は、受け取った乱数Ｒを認証部１６０４へ出力し、また認証部１６０４に対して、認証署名データの生成を行うように制御する。
【０３１９】
著作物の読出要求を受け取ると、制御部１６０３は、読出部１６０２を介して、ＤＶＤ１８００から暗号化著作物を読み出し、読み出した暗号化著作物を入出力部１６０５を介して、本体部１９００へ出力する。
次に、制御部１６０３は、認証部１６０４から認証署名データを受け取り、受け取った認証署名データを入出力部１６０５を介して、本体部１９００へ出力する。
【０３２０】
（３）認証部１６０４
認証部１６０４は、制御部１６０３から乱数Ｒを受け取り、また、制御部１６０３の制御の基に、情報記憶部１６０１からドライブ秘密鍵を読み出し、読み出したドライブ秘密鍵を用いて、受け取った乱数Ｒに対して、デシダル署名ＳＩＧを施して、認証署名データを生成し、生成した認証署名データを制御部１６０３へ出力する。
【０３２１】
（４）読出部１６０２
読出部１６０２は、制御部１６０３の制御の基に、ＤＶＤ１８００から情報を読み出し、読み出した情報を制御部１６０３へ出力する。
（５）入出力部１６０５
入出力部１６０５は、制御部１６０３の制御の基に、制御部１６０３と本体部１９００との間で情報の送受信をする。
【０３２２】
７．７　認証システム１０００の動作
（１）製造装置１２００及び製造装置１３００の動作
製造装置１２００及び製造装置１３００の動作について、図５９に示すフローチャートを用いて説明する。
入力部１２０２は、製造装置１２００の操作者からドライブ部１６００の製造番号の入力を受け付け、受け付けた製造番号を制御部１２０４へ出力し、制御部１２０４は、入力部１２０２から製造番号を受け取る。（ステップＳ５０１）。次に、入力部１２０２は、製造装置１２００の操作者から有効期限の入力を受け付け、受け付けた有効期限を制御部１２０４へ出力し、制御部１２０４は、入力部１２０２から有効期限を受け取る。（ステップＳ５０２）。
【０３２３】
次に、制御部１２０４は、乱数を生成し、生成した乱数を基にしてドライブ秘密鍵を生成し（ステップＳ５０３）、次に、ＲＳＡ公開鍵暗号技術を用いて、生成したドライブ秘密鍵を基にしてドライブ公開鍵を生成する（ステップＳ５０４）。
次に、制御部１２０４は、生成したドライブ公開鍵、受け取った有効期限及び公開鍵証明書の発行の依頼を示す公開鍵証明書発行依頼を、通信部１２０６及びインターネット１０１０を介して、認証局装置１１００へ出力する（ステップＳ５０５）。
【０３２４】
次に、制御部１２０４は、認証局装置１１００から、インターネット１０１０及び通信部１２０６を介して、公開鍵証明書及び証明書署名データを受け取り（ステップＳ５０６）、製造番号、ドライブ秘密鍵、ドライブ公開鍵、有効期限、公開鍵証明書及び証明書署名データからなる製造情報を生成し、生成した製造情報を情報記憶部１２００が有する製造情報テーブル１２１１に書き込む（ステップＳ５０７）。
【０３２５】
また、制御部１２０４は、製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを書込部１２０５へ出力し、書込部１２０５は、制御部１２０４から製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを受け取り、受け取った製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データをドライブ部１６００が有する情報記憶部１６０１に書き込む（ステップＳ５０８）。
【０３２６】
さらに、制御部１２０４は、製造番号及びドライブ公開鍵を、通信部１２０６及びインターネット１０１０を介して、公開する（ステップＳ５０９）。
製造装置１３００は、インターネット１０１０を介して、公開された製造番号及びドライブ公開鍵を取得し（ステップＳ５０９）、取得した製造番号及びドライブ公開鍵を本体部１９００が有する情報記憶部１９０１へ書き込む（ステップＳ５１０）。
【０３２７】
（２）認証局装置１１００による公開鍵証明書の発行の動作
認証局装置１１００による公開鍵証明書の発行の動作について、図６０に示すフローチャートを用いて説明する。
木構造構築部１１０１は、木構造構築部１０１と同様に、公開鍵証明書ＩＤを管理するｎ分木のデータ構造を構築し、構築した木構造を木構造格納部１１０２に格納する（ステップＳ５２１）。
【０３２８】
証明書生成部１１０８は、製造装置１２００から、インターネット１０１０及び送受信部１１１０を介して、公開鍵証明書の発行の依頼を示す公開鍵証明書発行依頼、ドライブ公開鍵及び有効期限を受け取る（ステップＳ５０５）。
次に、証明書生成部１１０８は、木構造格納部１１０２に格納されている木構造テーブルＤ１１００内のリーフに対応するノード情報のうち、ドライブ公開鍵を含まないものを１個選択し、選択したノード情報内に、受け取った前記ドライブ公開鍵を書き込み、選択したノード情報からノード名を抽出する。ここで、抽出したノード名が公開鍵証明書を識別する証明書ＩＤである（ステップＳ５２２）。次に、証明書生成部１１０８は、生成した証明書ＩＤ、受け取った有効期限及び受け取ったドライブ公開鍵から構成される公開鍵証明書を生成し（ステップＳ５２３）、さらに、認証局装置１１００のみが秘密に保持している認証局秘密鍵を用いて、生成した前記公開鍵証明書にデジタル署名ＳＩＧを施して、証明書署名データを生成する（ステップＳ５２４）。
【０３２９】
次に、証明書生成部１１０８は、生成した公開鍵証明書及び証明書署名データを、送受信部１１１０及びインターネット１０１０を介して、製造装置１２００へ送信する（ステップＳ５０６）。また、証明書生成部１１０８は、生成した公開鍵証明書を証明書記憶部１１０９へ書き込む（ステップＳ５２５）。次に、ステップＳ５０５へ戻って処理を繰り返す。
【０３３０】
（３）認証局装置１１００によるＣＲＬの発行の動作
認証局装置１１００によるＣＲＬの発行の動作について、図６１に示すフローチャートを用いて説明する。
認証局装置１１００の管理者が無効化されるべき公開鍵証明書の証明書ＩＤを知ると、無効通知部１１０４は、管理者の操作により入力部１１１１を介して、無効化されるべき公開鍵証明書の証明書ＩＤを取得し、取得した証明書ＩＤを木構造更新部１１０５へ出力する（ステップＳ５４１）。
【０３３１】
次に、木構造更新部１１０５は、無効通知部１１０４から証明書ＩＤを受け取り、木構造更新部１０５と同様にして、木構造テーブルＤ１１００の更新を行う（ステップＳ５４２）。次に、ＣＲＬ生成部１１０３は、鍵情報ヘッダ生成部１０６と同様に、ＮＲＰ群を生成する（ステップＳ５４３）。
次に、ＣＲＬ生成部１１０３は、認証局装置１１００のみが秘密に保持している認証局秘密鍵を用いて、生成したＮＲＰ群に、デジタル署名ＳＩＧを施して、ＮＲＰ署名データを生成し（ステップＳ５４４）、前記ＮＲＰ群と生成したＮＲＰ署名データとからなるＣＲＬを生成し（ステップＳ５４５）、生成したＣＲＬをＣＲＬ記憶部１１０６に書き込む（ステップＳ５４６）。次に、ＣＲＬ生成部１１０３は、生成したＣＲＬを、ＣＲＬ送信部１１０７及びインターネット１０１０を介して、著作物記録装置１４００へ送信する（ステップＳ５４７）。
【０３３２】
著作物記録装置１４００が有する送受信部１４０４は、認証局装置１１００からインターネット１０１０を介して、ＣＲＬを受信し、受信したＣＲＬを暗号化部１４０２へ出力し、暗号化部１４０２は、送受信部１４０４からＣＲＬを受け取る（ステップＳ５４７）。
次に、暗号化部１４０２は、操作者の指示により、著作物記憶部１４０１からデジタル著作物を読み出し、読み出したデジタル著作物に暗号化アルゴリズムＥ３を施して、暗号化著作物を生成し（ステップＳ５４８）、次に、受け取ったＣＲＬに暗号化アルゴリズムＥ３を施して、暗号化ＣＲＬを生成する（ステップＳ５４９）。
【０３３３】
次に、暗号化部１４０２は、生成した暗号化著作物及び暗号化ＣＲＬを書込部１４０３へ出力する（ステップＳ５５０）。
（４）本体部１９００及びドライブ部１６００の動作
本体部１９００及びドライブ部１６００の動作について、図６２〜図６３に示すフローチャートを用いて説明する。
【０３３４】
本体部１９００の制御部１９０６は、入出力部１９０５を介して、ドライブ部１６００にＣＲＬの読出しを示すＣＲＬ読出指示を出力し、ドライブ部１６００の制御部１６０３は、本体部１９００から、入出力部１６０５を介して、ＣＲＬ読出指示を受け取る（ステップＳ５６１）。
次に、制御部１６０３は、読出部１６０２を介して、ＤＶＤ１８００から暗号化ＣＲＬを読み出し（ステップＳ５６２）、読み出した暗号化ＣＲＬを、入出力部１６０５を介して、本体部１９００へ出力する（ステップＳ５６３）。
【０３３５】
次に、復号部１９０２は、ドライブ部１６００から入出力部１９０５を介して、暗号化ＣＲＬを受け取り（ステップＳ５６３）、受け取った暗号化ＣＲＬに復号アルゴリズムＤ３を施して、ＮＲＰ群及びＮＲＰ署名データを生成し、生成したＮＲＰ群及びＮＲＰ署名データを認証部１９０３へ出力する（ステップＳ５６４）。
【０３３６】
認証部１９０３は、復号部１９０２からＮＲＰ群及びＮＲＰ署名データを受け取り、認証局公開鍵を用いて、ＮＰＲ群及びＮＲＰ署名データにデジタル署名の検証アルゴリズムＶＥＲを施して、ＮＲＰ群の正当性を検証し、成功情報又は失敗情報を制御部１９０６へ出力し、成功情報を出力する場合にさらに、ＮＲＰ群を制御部１９０６へ出力する（ステップＳ５６５）。
【０３３７】
次に、失敗情報を受け取った場合に（ステップＳ５６６）、制御部１９０６は、表示部１９０４に対して、検証の失敗を示す旨のメッセージを出力し、当該メッセージを表示するように制御する（ステップＳ５６７）。その後、制御部１９０６は、ドライブ部１６００によるＤＶＤへのアクセスを中止する。
成功情報を受け取った場合に（ステップＳ５６６）、制御部１９０６は、さらに、入出力部１９０５を介して、ドライブ部１６００へ公開鍵証明書を要求する（ステップＳ５６８）。
【０３３８】
制御部１６０３は、本体部１９００から、入出力部１６０５を介して、公開鍵証明書の要求を受け取り（ステップＳ５６８）、情報記憶部１６０１から公開鍵証明書を読み出し（ステップＳ５６９）、読み出した公開鍵証明書を、入出力部１６０５を介して、本体部１９００へ出力する（ステップＳ５７０）。
次に、制御部１９０６は、ドライブ部１６００から公開鍵証明書を受け取り（ステップＳ５７０）、受け取った公開鍵情報から証明書ＩＤを抽出し（ステップＳ５７１）、抽出した証明書ＩＤと、認証部１９０３から受け取ったＮＲＰ群を用いて、公開鍵証明書の無効化判定を行う（ステップＳ５７２）。
【０３３９】
公開鍵証明書が無効であると判定する場合には（ステップＳ５７３）、制御部１９０６は、表示部１９０４に対して、公開鍵証明書が無効であることを示すメッセージを出力し、当該メッセージを表示するように制御する（ステップＳ５７４）。その後、制御部１９０６は、ドライブ部１６００によるＤＶＤへのアクセスを中止する。
【０３４０】
一方、公開鍵証明書が有効であると判定する場合には（ステップＳ５７３）、制御部１９０６は、乱数Ｒを生成し（ステップＳ５７５）、生成した乱数Ｒを入出力部１９０５を介して、ドライブ部１６００へ出力する（ステップＳ５７６）。
制御部１６０３は、本体部１９００から、入出力部１６０５を介して、乱数Ｒを受け取り（ステップＳ５７６）、受け取った乱数Ｒを認証部１６０４へ出力し、また認証部１６０４に対して、認証署名データの生成を行うように制御し、認証部１６０４は、受け取った乱数Ｒに対して、デシダル署名ＳＩＧを施して、認証署名データを生成し（ステップＳ５７７）、生成した認証署名データを制御部１６０３へ出力する（ステップＳ５７８）。
【０３４１】
制御部１９０６は、ドライブ部１６００から認証署名データを受け取る（ステップＳ５７８）。次に、制御部１９０６は、情報記憶部１９０１からドライブ公開鍵を読み出し、読み出したドライブ公開鍵を用いて、生成した乱数Ｒと受け取った認証署名データとに検証アルゴリズムＶＥＲを施して、ドライブ部１６００の正当性を検証する（ステップＳ５７９）。
【０３４２】
検証に失敗すると（ステップＳ５８０）、制御部１９０６は、表示部１９０４に対して、ドライブ部１６００が不正であることを示すメッセージを出力し、当該メッセージを表示するように制御する（ステップＳ５８６）。その後、制御部１９０６は、ドライブ部１６００によるＤＶＤへのアクセスを中止する。
検証に成功すると（ステップＳ５８０）、制御部１９０６は、入出力部１９０５を介して、ドライブ部１６００へ著作物の読出し指示を出力する（ステップＳ５８１）。
【０３４３】
制御部１６０３は、本体部１９００から、入出力部１６０５を介して、著作物の読出要求を受け取り（ステップＳ５８１）、読出部１６０２を介して、ＤＶＤ１８００から暗号化著作物を読み出し（ステップＳ５８２）、読み出した暗号化著作物を入出力部１６０５を介して、本体部１９００へ出力する（ステップＳ５８３）。
【０３４４】
次に、制御部１９０６は、入出力部１９０５を介して、ドライブ部１６００から暗号化著作物を受け取り（ステップＳ５８３）、受け取った暗号化著作物を復号部１９０８へ出力し、復号部１９０２は、制御部１９０６から暗号化著作物を受け取り、受け取った暗号化著作物に復号アルゴリズムＤ３を施して、デジタル著作物を生成し、生成したデジタル著作物を再生部１９０７へ出力する（ステップＳ５８４）。
【０３４５】
再生部１９０７は、復号部１９０２からデジタル著作物を受け取り、受け取ったデジタル著作物を再生して出力する（ステップＳ５８５）。
７．８　その他の変形例
以上説明したように、第６の実施の形態において、第１の実施の形態に示す技術を適用している。すなわち、第６の実施の形態に示す認証システム１０００におけるＣＲＬの生成及び公開鍵証明書の無効化判定において、第１の実施の形態に示すヘッダ情報の生成の方法及び暗号化メディア鍵の特定の方法を適用している。
【０３４６】
なお、第６の実施の形態において、第２〜第５の実施の形態及びこれらの変形例を適用してもよい。すなわち、上記の第２〜第５の実施の形態及びこれらの変形例に示すヘッダ情報の生成の方法及び暗号化メディア鍵の特定の方法を、第６の実施の形態に示す認証システム１０００におけるＣＲＬの生成及び公開鍵証明書の無効化判定に適用するとしてもよい。
【０３４７】
また、第２の実施の形態を適用する第６の実施の形態において、あるノードの子孫が全て無効化ノードである場合に、ＮＲＰを「００」と表現したが、本発明はこれに限定されるのではない。例えば、「０」と「１」を入れ換えて「１１」を上記を意味するＮＲＰとして利用してもよい。また、さらに１ビットを追加して、そのビットを上記を意味するビットとして利用するものであってもよい。
【０３４８】
また、第３の実施の形態を適用する第６の実施の形態において、第２の実施の形態同様、あるノードの子孫が全て無効化ノードである場合に、ＮＲＰを「００」と表現したり、さらに１ビットを追加して、そのビットを上記を意味するビットとして利用したりしてもよい。
また、無効化された公開鍵証明書が存在しない場合には、その旨を示す情報を含むＣＲＬを生成するしてもよい。
【０３４９】
７．９　まとめ
以上説明したように、本発明は、公開鍵暗号を利用する認証システムであって、公開鍵暗号アルゴリズムにおける秘密鍵と公開鍵を有し、この秘密鍵を用いて通信相手に対して自己の正当性を証明する端末装置と、少なくとも前記端末装置の公開鍵からなるデータに対して公開鍵証明書を発行し配布する公開鍵証明書発行装置と、無効化される前記端末装置に対して前記公開鍵証明書発行装置が発行した前記公開鍵証明書を特定する公開鍵証明書無効化リストを発行し配布する無効化リスト生成装置と、検証する相手端末装置の公開鍵証明書と前記公開鍵証明書無効化リストを受け取り、前記公開鍵証明書が前記公開鍵証明書無効化リストに登録されているか否かを判定する無効化リスト利用装置と、前記無効化リスト利用装置により有効と判断された公開鍵を用いて通信相手の行う自己正当性証明を検証する検証装置とから構成される。
【０３５０】
前記無効化リスト生成装置は、複数の階層からなる木構造を構築して保管し、前記各端末装置の公開鍵証明書を識別する固有値を前記木構造のリーフに割り当て、さらに、前記保管している木構造に対して、あるノードの子孫であるリーフの少なくとも一つに無効化すべき公開鍵証明書の固有値が対応付けられている場合、そのノードを無効化ノードとし、さらに、子ノードの少なくとも１つが無効化ノードであるノードに対して、各子ノードが無効化ノードであるか否かを識別する識別子で示し、それら識別子を全子ノード分を連結したものをそのノードのノード無効化パターンとして割り当て、さらに、全木構造のノード無効化パターンを木構造のすべてのノードをたどるある所定の規則に基づいて並べて前記公開鍵証明書無効化リストを生成する。
【０３５１】
前記無効化リスト利用装置は、前記ノード無効化パターンを並べた公開鍵証明書無効化リストを前記所定の規則に基づいて解析して、前記検証すべき相手端末の公開鍵証明書が前記無効化リストに登録されているか否かを判定する。
また、本発明は、端末装置の公開鍵からなるデータに対して公開鍵証明書を発行し配布する公開鍵証明書発行装置と、無効化される前記端末装置に対して前記公開鍵証明書発行装置が発行した前記公開鍵証明書を特定する公開鍵証明書無効化リストを発行し配布する無効化リスト生成装置である。
【０３５２】
前記無効化リスト生成装置は、複数の階層からなる木構造を構築して保管し、前記各端末装置の公開鍵証明書を識別する固有値を前記木構造のリーフに割り当て、さらに、前記保管している木構造に対して、あるノードの子孫であるリーフの少なくとも一つに無効化すべき公開鍵証明書の固有値が対応付けられている場合、そのノードを無効化ノードとし、さらに、子ノードの少なくとも１つが無効化ノードであるノードに対して、各子ノードが無効化ノードであるか否かを識別する識別子で示し、それら識別子を全子ノード分を連結したものをそのノードのノード無効化パターンとして割り当て、さらに、全木構造のノード無効化パターンを木構造のすべてのノードをたどるある所定の規則に基づいて並べて前記公開鍵証明書無効化リストを生成する。
【０３５３】
また、本発明は、検証する相手端末装置の公開鍵証明書と前記公開鍵証明書無効化リストを受け取り、前記公開鍵証明書が前記公開鍵証明書無効化リストに登録されているか否かを判定する無効化リスト利用装置である。
前記無効化リスト利用装置は、前記ノード無効化パターンを並べた公開鍵証明書無効化リストを前記所定の規則に基づいて解析して、前記検証すべき相手端末の公開鍵証明書が前記無効化リストに登録されているか否かを判定する。
【０３５４】
ここで、前記認証システムは、無効化リストの配布手段として、通信媒体を用いて前記無効化リストの配布を行うように構成してもよい。
ここで、前記無効化リスト利用装置は、無効化リストの配布手段として、通信媒体を用いて前記無効化リストの配布を行うように構成してもよい。
ここで、前記認証システムは、無効化リストの配布手段として、記録媒体を用いて前記無効化リストの配布を行うように構成してもよい。
【０３５５】
ここで、前記無効化リスト利用装置は、無効化リストの配布手段として、記録媒体を用いて前記無効化リストの配布を行うように構成してもよい。
ここで、前記認証システムは、無効化ノードに与えるノード無効化パターンのうち、無効化ノードの子孫であるリーフが全て無効化されているノードに対しては、そうではないノードとは識別されるノード無効化パターンを与えるように構成してもよい。
【０３５６】
ここで、前記無効化リスト生成装置は、無効化ノードに与えるノード無効化パターンのうち、無効化ノードの子孫であるリーフが全て無効化されているノードに対しては、そうではないノードとは識別されるノード無効化パターンを与えるように構成してもよい。
ここで、前記認証システムは、無効化ノードに与えるノード無効化パターンに対して、無効化ノードの子孫であるリーフが全て無効化されているか否かを表現する情報を追加してノード無効化パターンを構成するようにしてもよい。
【０３５７】
ここで、前記無効化リスト生成装置は、無効化ノードに与えるノード無効化パターンに対して、無効化ノードの子孫であるリーフが全て無効化されているか否かを表現する情報を追加してノード無効化パターンを構成するようにしてもよい。
ここで、前記認証システムは、ノード無効化パターンを並べるための規則として，木構造のルートから始まり、上位のレイヤのノードを優先し，同じレイヤにおいては左側のノードを優先するという規則に基づいて現れる無効化ノードのノード無効化パターンを並べるように構成してもよい。
【０３５８】
ここで、前記無効化リスト生成装置は、ノード無効化パターンを並べるための規則として，木構造のルートから始まり、上位のレイヤのノードを優先し，同じレイヤにおいては左側のノードを優先するという規則に基づいて現れる無効化ノードのノード無効化パターンを並べるように構成してもよい。
ここで、前記認証システムにおいて、木構造を構成する全てのノードが無効化された場合を想定する。この木構造を構成するノードを処理済ノード集合と呼ぶ。このとき、木構造に、次のようにして無効化されていないノードを新たに付加する。ここで、ノードを付加することを木構造を拡張すると呼ぶ。処理済ノード集合からなる木構造を初期状態と考え、初期状態において、木構造のうちの下位レイヤに属するノードに、さらに子ノードを付加する。このとき、下位レイヤに複数のノードが属する場合には、複数のノードのうち、左側のノードに優先的に子ノードを付加する。このような拡張規則に基づいて、木構造を拡張した後に、最下位のノード、つまりリーフに公開鍵証明書を割り当てる。
【０３５９】
ここで、公開鍵証明書が無効化された場合には、上述したように、前記無効化リスト生成装置は、当該ノードからルートに至る経路上の全てのノードを無効化する。このとき、前記拡張規則に基づいて、無効化ノードのノード無効化パターンを並べる。
このとき、前記無効化リスト利用装置は、前記ノード無効化パターンを並べた公開鍵証明書無効化リストを、前記拡張規則に基づいて解析して、前記検証すべき相手端末の公開鍵証明書が前記無効化リストに登録されているか否かを判定する。
【０３６０】
８．その他の変形例
（１）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【０３６１】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【０３６２】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（２）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０３６３】
９．まとめ
以上の説明から明らかなように、第１の実施の形態において開示した発明によると、予め記録媒体に記録される鍵情報のヘッダ情報として、ＮＲＰを水準順に並べることにより、鍵情報をコンパクトにでき、プレーヤが効率よく復号すべき暗号化メディア鍵を特定することもできる。
【０３６４】
また、第２の実施の形態において開示した発明によると、ヘッダ情報として、あるノードの子孫が全て無効化装置であるか否かを示すビットをＮＲＰの先頭に追加することで、無効化装置が集中した場合にヘッダ情報を少なくすることができる。
また、第３の実施の形態において開示した発明によると、ある特定のパターンで、あるノードの子孫が全て無効化装置であるか否かを判断することで、さらにヘッダ情報を少なく抑えることができる。
【０３６５】
また、第４の実施の形態及び第５の実施の形態において開示した発明によると、ＮＲＰの順序を、第１〜第３の実施の形態において開示した順序以外のものとすることができる。
また、第６の実施の形態において開示した発明によると、無効化すべき公開鍵証明書の数が増加してもＣＲＬのサイズを小さく抑えることができる。
【０３６６】
１０．産業上の利用の可能性
上記において説明した無効化された公開鍵証明書を判定する認証システムは、公開鍵暗号方式を用いて、秘密のメッセージの伝送、相手の認証、否認の防止、鍵共有、硬貨投げ、秘密分散などを行う際に、公開鍵証明書が有効であるか否かを判断するときに適用される。例えば、実施の形態６に示すように、ドライブ部の正当性を認証する場合に適用される。また、インターネットを介して物品の売買を行う電子商取引において、取引相手が正当であるか否かを認証する場合に、適用される。
【０３６７】
【発明の効果】
以上説明したように、本発明は、無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置と、取得した公開鍵証明書が無効か否かを無効化リストを用いて判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置とから構成される認証システムであって、前記無効化リスト生成装置は、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段と、生成した無効化リストを出力する出力手段とを含み、前記無効判定装置は、前記木構造の１個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、前記無効化リストを取得するリスト取得手段と、取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定手段とを含む。また、無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置であって、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段と、生成した無効化リストを出力する出力手段とを備える。また、無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを用いて、取得した公開鍵証明書が無効か否かを判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置であって、前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも１個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、前記無効判定装置は、前記木構造の１個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、前記無効化リストを取得するリスト取得手段と、取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定手段とを備える。
【０３６８】
これらの構成によると、前記無効化リスト生成装置は、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成するので、ＣＲＬのサイズを小さく抑えることができる。また、前記無効判定装置は、前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断するので、無効化された公開鍵証明書を確実に判断することができる。
【０３６９】
ここで、前記木構造は、複数のレイヤから構成され、前記無効化リスト生成手段は、得られた複数の無効化情報を、ルートを起点とし、ルート側のレイヤからリーフ側のレイヤへの順序である前記配列順序に従って配列する。また、前記木構造は、複数のレイヤから構成され、前記無効化情報は、ルートを起点とし、ルート側のレイヤからリーフ側のレイヤへの順序である前記配列順序に従って配列され、前記判定手段は、前記配列順序に従って配列された前記複数の無効化情報を用いて、前記経路を構築し、取得した前記公開鍵証明書の無効を判断する。
【０３７０】
これらの構成によると、前記無効化リスト生成装置は、得られた複数の無効化情報を、ルートを起点とし、ルート側のレイヤからリーフ側のレイヤへの順序である前記配列順序に従って配列するので、前記無効判定装置により、前記経路を確実に構築することができる。
ここで、前記無効化リスト生成手段は、得られた複数の無効化情報を、ルートを起点とし、ルートから各リーフへ至る経路上に配されるノードの順序であって、重複して配列されない前記配列順序に従って配列する。また、前記無効化情報は、ルートを起点とし、ルートから各リーフへ至る経路上に配されるノードの順序であって、重複して配列されない前記配列順序に従って配列され、前記判定手段は、前記配列順序に従って配列された前記複数の無効化情報を用いて、前記経路を構築し、取得した前記公開鍵証明書の無効を判断する。
【０３７１】
これらの構成によると、前記無効化リスト生成装置は、得られた複数の無効化情報を、ルートを起点とし、ルートから各リーフへ至る経路上に配されるノードの順序であって、重複して配列されない配列順序に従って配列するので、前記無効判定装置により、前記経路を確実に構築することができる。
ここで、前記無効化リスト生成手段は、リーフを除き、無効化された全てのノードについて、無効化情報を生成する。また、リーフを除き、無効化された全てのノードについて、無効化情報が生成され、前記判定手段は、前記複数の無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する。
【０３７２】
これらの構成によると、無効化リスト生成装置は、リーフを除き、無効化された全てのノードについて、無効化情報を生成するので、無効化リストから無効化情報が欠落することがない。
ここで、前記無効化リスト生成手段は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、リーフを除く他の無効化されたノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成する。また、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す特別無効化情報が生成され、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、リーフを除く他の無効化されたノードについて、下位のｎ個のノードのそれぞれが無効化されているか否かを示す無効化情報が生成され、前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する。
【０３７３】
これらの構成によると、無効化リスト生成装置は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す特別無効化情報を生成するので、無効化リストのサイズをさらに少なくすることができる。
ここで、前記木構造は、ｎ分木であり、ｎは、２以上の整数であり、前記無効化リスト生成手段は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す第１付加情報と、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の情報とから構成される特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、リーフを除く他の無効化されたノードについて、下位側に接続する全てのノードが無効化されていない旨を示す第２付加情報と、下位のｎ個のノードのそれぞれが無効化されているか否かを示すｎ桁の情報とから構成される無効化情報を生成する。また、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す第１付加情報と、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の情報とから構成される特別無効化情報が生成され、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、リーフを除く他の無効化されたノードについて、下位側に接続する全てのノードが無効化されていない旨を示す第２付加情報と、下位のｎ個のノードのそれぞれが無効化されているか否かを示すｎ桁の情報とから構成される無効化情報が生成され、前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する。
【０３７４】
これらの構成によると、無効化リスト生成装置は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す第１付加情報と、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の情報とから構成される特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制するので、無効化リストのサイズを少なくすることができる。
【０３７５】
ここで、前記木構造は、ｎ分木であり、ｎは、２以上の整数であり、前記無効化リスト生成手段は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の特別値から構成される特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、リーフを除く他の無効化されたノードについて、下位のｎ個のノードのそれぞれが無効化されているか否かを示すｎ桁の無効化情報を生成する。また、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の特別値から構成される特別無効化情報が生成され、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、リーフを除く他の無効化されたノードについて、下位のｎ個のノードのそれぞれが無効化されているか否かを示すｎ桁の無効化情報が生成され、前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する。
【０３７６】
これらの構成によると、無効化リスト生成装置は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位のｎ個のノードのそれぞれが無効化されていることを示すｎ桁の特別値から構成される特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制するので、無効化リストのサイズを少なくすることができる。
【０３７７】
ここで、前記木構造記憶手段が有する全てのノードが無効化されており、前記木構造は、さらに、当該木構造を構成するリーフの下位に、木構造の拡張に係る拡張規則に従って、１個以上の拡張ノードを有し、前記拡張ノードのうち最下位ノードである１個以上の拡張リーフは、それぞれ別の拡張公開鍵証明書に対応し、各拡張リーフを示す拡張リーフ識別子は、各拡張公開鍵証明書を識別する、前記拡張公開鍵証明書のうち少なくとも１個の拡張公開鍵証明書が無効化されており、無効化された拡張公開鍵証明書を識別する拡張リーフ識別子により示される拡張リーフからルートに至るまでの全てのノードは無効化されており、前記無効化リスト生成手段は、さらに、拡張リーフを除く無効化された各拡張ノードについて、下位の拡張ノードのそれぞれが無効化されているか否かを示す拡張無効化情報を生成し、その結果複数の拡張無効化情報が得られ、得られた複数の拡張無効化情報を、前記木構造の拡張に係る拡張規則に従って配列して前記無効化リストに付加し、前記出力手段は、拡張無効化情報が付加された前記無効化リストを出力する。また、前記無効化リスト生成装置が有する全てのノードが無効化されており、前記木構造は、さらに、当該木構造を構成するリーフの下位に、木構造の拡張に係る拡張規則に従って、１個以上の拡張ノードを有する、前記拡張ノードのうち最下位ノードである１個以上の拡張リーフは、それぞれ別の拡張公開鍵証明書に対応し、各拡張リーフを示す拡張リーフ識別子は、各拡張公開鍵証明書を識別する、前記拡張公開鍵証明書のうち少なくとも１個の拡張公開鍵証明書が無効化されており、無効化された拡張公開鍵証明書を識別する拡張リーフ識別子により示される拡張リーフからルートに至るまでの全てのノードは無効化されており、前記無効化リスト生成装置は、さらに、拡張リーフを除く無効化された各拡張ノードについて、下位の拡張ノードのそれぞれが無効化されているか否かを示す拡張無効化情報を生成し、その結果複数の拡張無効化情報が得られ、得られた複数の拡張無効化情報を、前記木構造の拡張に係る拡張規則に従って配列して前記無効化リストに付加し、拡張無効化情報が付加された前記無効化リストを出力し、前記証明書取得手段は、さらに、前記木構造の１個の拡張リーフを示す拡張リーフ識別子により識別される拡張公開鍵証明書を取得し、前記リスト取得手段は、拡張無効化情報が付加された前記無効化リストを取得し、前記判定手段は、さらに、取得した前記無効化リスト内に配列されている前記拡張無効化情報を用いて、ルートから前記拡張リーフに至る経路の構築を試み、構築された経路内に前記拡張リーフが含まれる場合に、取得した前記拡張公開鍵証明書が無効であると判断し、前記拡張リーフが含まれない場合に、取得した前記拡張公開鍵証明書が有効であると判断する。
【０３７８】
これらの構成によると、前記無効化リスト生成装置は、拡張リーフを除く無効化された各拡張ノードについて、拡張規則に従って、下位の拡張ノードのそれぞれが無効化されているか否かを示す拡張無効化情報を生成するので、木構造が拡張された場合であっても、小さくそのサイズを抑えたＣＲＬを生成することができる。また、前記無効判定装置は、前記拡張無効化情報を用いて、ルートから前記拡張リーフに至る経路の構築を試み、構築された経路内に前記拡張リーフが含まれる場合に、取得した前記拡張公開鍵証明書が無効であると判断するので、無効化された拡張公開鍵証明書を確実に判断することができる。
【０３７９】
また、本発明は、無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置であって、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、前記木構造を構成する複数のノードを有する木構造記憶手段と、木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成する無効化リスト生成手段と、生成した無効化リストを出力する出力手段とを備える。また、無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを用いて、取得した公開鍵証明書が無効か否かを判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置であって、前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成し、生成した無効化リストを出力し、前記無効判定装置は、前記木構造の１個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、前記無効化リストを取得するリスト取得手段と、取得した前記無効化リストを用いて、公開鍵証明書が無効化されていないと判断する判定手段とを備える。
【０３８０】
これらの構成によると、無効化リスト生成装置は、無効化された公開鍵証明書が存在しない場合に、その旨を示す無効化リストを生成して、出力するので、公開鍵証明書が存在しないことを通知することができる。また、無効判定装置は、取得した前記無効化リストを用いて、公開鍵証明書が無効化されていないと判断するので、無効化された公開鍵証明書が存在しない場合に、公開鍵証明書に対応する公開鍵を利用することができる。
【図面の簡単な説明】
【図１】著作物保護システム１０の構成を示すブロック図である。
【図２】鍵管理装置１００の構成を示すブロック図である。
【図３】木構造テーブルＤ１００のデータ構造の一例を示す。
【図４】木構造Ｔ１００を示す概念図である。
【図５】無効化されたノードを含む木構造Ｔ２００を示す概念図である。
【図６】ノード無効化パターンの一例を示すデータ構造図である。
【図７】複数個の暗号化メディア鍵を含む鍵情報の一例を示すデータ構造図である。
【図８】記録装置３００ａの構成を示すブロック図である。
【図９】再生装置４００ａの構成を示すブロック図である。
【図１０】ユーザ装置へデバイス鍵を割り当てる動作、鍵情報の生成と記録媒体への書き込みの動作及びユーザ装置によるコンテンツの暗号化又は復号の動作を示すフローチャートである。特に、デバイス鍵が特に、デバイス鍵が不正な第三者により暴露されるまでの、各装置の動作を示すフローチャートである。
【図１１】デバイス鍵が不正な第三者により暴露された後における、暴露されたデバイス鍵に対応する木構造の内のノードの無効化の動作、新たな鍵情報の生成と記録媒体への書込みの動作、及びユーザ装置によるコンテンツの暗号化又は復号の動作を示すフローチャートである。
【図１２】木構造構築部１０１による木構造テーブルの生成と木構造格納部１０２への木構造テーブルの書き込みの動作を示すフローチャートである。
【図１３】デバイス鍵割当部１０３によるデバイス鍵とＩＤ情報とを各ユーザ装置へ出力する動作を示すフローチャートである。
【図１４】木構造更新部１０５による木構造の更新の動作を示すフローチャートである。
【図１５】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。
【図１６】鍵情報生成部１０７による鍵情報の生成の動作を示すフローチャートである。
【図１７】記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図１８】第１の実施の形態において、一例として無効化されるユーザ装置が木構造の中で特定のリーフに集中して発生する可能性がある場合の木構造の一例を示す。
【図１９】第２の実施の形態において、無効化されるユーザ装置が木構造の中で特定のリーフに集中して発生した場合における特別なノード無効化パターンを示す木構造である。
【図２０】木構造テーブルＤ４００のデータ構造の一例を示す。
【図２１】ヘッダ情報Ｄ５００のデータ構造の一例を示す。
【図２２】鍵情報Ｄ６００のデータ構造の一例を示す。
【図２３】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図２４へ続く。
【図２４】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図２５へ続く。
【図２５】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図２６へ続く。
【図２６】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図２５から続く。
【図２７】記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図２８】第３の実施の形態において、特別なノード無効化パターンを示す木構造である。
【図２９】ヘッダ情報Ｄ７００のデータ構造の一例を示す。
【図３０】鍵情報Ｄ８００のデータ構造の一例を示す。
【図３１】ヘッダ情報の生成の動作を示すフローチャートである。図３２へ続く。
【図３２】ヘッダ情報の生成の動作を示すフローチャートである。図３３へ続く。
【図３３】ヘッダ情報の生成の動作を示すフローチャートである。図３４へ続く。
【図３４】ヘッダ情報の生成の動作を示すフローチャートである。図３３から続く。
【図３５】記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図３６】第４の実施の形態における複数のノード無効化パターンの並べ方を示す木構造である。
【図３７】木構造テーブルＤ１００のデータ構造の一例を示す。
【図３８】ヘッダ情報Ｄ９００のデータ構造の一例を示す。
【図３９】木構造構築部１０１による木構造テーブルの生成と木構造格納部１０２への木構造テーブルの書き込みの動作を示すフローチャートである。
【図４０】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図４１へ続く。
【図４１】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図４０から続く。
【図４２】記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図４３】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図４４へ続く。
【図４４】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図４５へ続く。
【図４５】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図４６へ続く。
【図４６】鍵情報ヘッダ生成部１０６によるヘッダ情報の生成の動作を示すフローチャートである。図４５から続く。
【図４７】記録装置３００ａが有する特定部３０３により、記録媒体５００ｂに記憶されている鍵情報から、１個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図４８】著作物保護システム１０ｆの構成を示すブロック図である。
【図４９】無効化されたデバイス鍵ＫｅｙＡ、ＫｅｙＢ及びＫｅｙＥが割り当てられたノードを含む木構造Ｔ７００を示す概念図である。
【図５０】ヘッダ情報Ｄ１０００及び鍵情報Ｄ１０１０の構成を示すデータ構造図である。
【図５１】記録装置３００ａが有する特定部３０３により、１個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図５２】認証システム１０００の構成を示すブロック図である。
【図５３】製造装置１２００の構成を示すブロック図である。
【図５４】認証局装置１１００の構成を示すブロック図である。
【図５５】ＣＲＬの一例を示すデータ構造図である。
【図５６】著作物記録装置１４００の構成を示すブロック図である。
【図５７】本体部１９００の構成を示すブロック図である。
【図５８】ドライブ部１６００の構成を示すブロック図である。
【図５９】製造装置１２００及び製造装置１３００の動作を示すフローチャートである。
【図６０】認証局装置１１００による公開鍵証明書の発行の動作を示すフローチャートである。
【図６１】認証局装置１１００によるＣＲＬの発行の動作を示すフローチャートである。
【図６２】本体部１９００及びドライブ部１６００の動作を示すフローチャートである。図６３へ続く。
【図６３】本体部１９００及びドライブ部１６００の動作を示すフローチャートである。図６２から続く。
【符号の説明】
１０、１０ｂ〜１０ｆ　著作物保護システム
１００　　鍵管理装置
２００　　鍵情報記録装置
３００ａ〜３００ｃ　記録装置
４００ａ〜４００ｃ　再生装置
１０００　　認証システム
１１００　　認証局装置
１２００　　製造装置
１３００　　製造装置
１４００　　著作物記録装置
１５００　　パーソナルコンピュータ
１６００　　ドライブ部
１９００　　本体部
【図１】
2004032707.tif 000003
【図２】
2004032707.tif 000004
【図３】
2004032707.tif 000005
【図４】
2004032707.tif 000006
【図５】
2004032707.tif 000007
【図６】
2004032707.tif 000008
【図７】
2004032707.tif 000009
【図８】
2004032707.tif 000010
【図９】
2004032707.tif 000011
【図１０】
2004032707.tif 000012
【図１１】
2004032707.tif 000013
【図１２】
2004032707.tif 000014
【図１３】
2004032707.tif 000015
【図１４】
2004032707.tif 000016
【図１５】
2004032707.tif 000017
【図１６】
2004032707.tif 000018
【図１７】
2004032707.tif 000019
【図１８】
2004032707.tif 000020
【図１９】
2004032707.tif 000021
【図２０】
2004032707.tif 000022
【図２１】
2004032707.tif 000023
【図２２】
2004032707.tif 000024
【図２３】
2004032707.tif 000025
【図２４】
2004032707.tif 000026
【図２５】
2004032707.tif 000027
【図２６】
2004032707.tif 000028
【図２７】
2004032707.tif 000029
【図２８】
2004032707.tif 000030
【図２９】
2004032707.tif 000031
【図３０】
2004032707.tif 000032
【図３１】
2004032707.tif 000033
【図３２】
2004032707.tif 000034
【図３３】
2004032707.tif 000035
【図３４】
2004032707.tif 000036
【図３５】
2004032707.tif 000037
【図３６】
2004032707.tif 000038
【図３７】
2004032707.tif 000039
【図３８】
2004032707.tif 000040
【図３９】
2004032707.tif 000041
【図４０】
2004032707.tif 000042
【図４１】
2004032707.tif 000043
【図４２】
2004032707.tif 000044
【図４３】
2004032707.tif 000045
【図４４】
2004032707.tif 000046
【図４５】
2004032707.tif 000047
【図４６】
2004032707.tif 000048
【図４７】
2004032707.tif 000049
【図４８】
2004032707.tif 000050
【図４９】
2004032707.tif 000051
【図５０】
2004032707.tif 000052
【図５１】
2004032707.tif 000053
【図５２】
2004032707.tif 000054
【図５３】
2004032707.tif 000055
【図５４】
2004032707.tif 000056
【図５５】
2004032707.tif 000057
【図５６】
2004032707.tif 000058
【図５７】
2004032707.tif 000059
【図５８】
2004032707.tif 000060
【図５９】
2004032707.tif 000061
【図６０】
2004032707.tif 000062
【図６１】
2004032707.tif 000063
【図６２】
2004032707.tif 000064
【図６３】
2004032707.tif 000065