(57)【要約】  権利オブジェクト（ＲＯ）を、望ましくは、認証されたユーザーだけがアクセス可能になっている保護されている領域に、記憶するのに、１つ又はそれ以上の権利オブジェクト（ＲＯ）ファイルを使用することができる。ＲＯナビゲーションファイルは、望ましくは、ＲＯファイル内の或る場所が有効なＲＯを保有しているか否かを識別する各状態ビットを保有している保護されていない公開領域に記憶されている。ＲＯファイル内のＲＯの場所と、ＲＯナビゲーションファイル内の、ＲＯファイル内のその対応する場所が有効なＲＯを保有しているか否かを識別する状態ビットの場所との間には、１対１の対応関係が在るのが望ましい。ＲＯファイル内の特定の場所が有効なＲＯを保有しているか否かは、ＲＯナビゲーションファイル内のその対応する状態ビットを調べることにより見つけることができる。ＲＯファイル内の特定の場所が有効なＲＯを保有しているか否かをこのやり方で見極めることにより、認証プロセスを通過する必要無しに、ＲＯを削除することが可能になる。ＲＯファイル内に、新しいＲＯを記憶するための空のスロットを見つけるプロセスも簡単になる。これにより、ＲＯ管理の効率は格段に向上する。同様のシステムは、コンテンツファイルを保護するためのコンテンツ暗号化／暗号化キーの管理にも使用することができる。
2009516961.tif 000002
【特許請求の範囲】
【請求項１】
複数のキーの管理をやり易くするコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンピュータプログラムは、キーナビゲーションファイルを作成し、且つ、１つ又は複数のキー記憶ファイルを、それがまだ存在していない場合には作成し、各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に１つ又はそれ以上のキーを保有するために使用されているか使用されるものであり、前記キーのそれぞれは、複数のコンテンツファイルの内の対応する１つのファイルの暗号化及び／又は暗号解読に使用されているか使用されるものであり、各コンテンツファイルはヘッダ部分を備えており、前記コンテンツファイルのそれぞれの前記ヘッダ部分の場所情報は、前記対応するキーが置かれている前記キー記憶ファイルの１つ、及び、そのキー記憶ファイル内でのそのキーの前記対応する場所を表しており、前記キーナビゲーションファイルは、有効キーが前記１つ又はそれ以上のキー記憶ファイル内の１つ又はそれ以上の場所に記憶されているか否かを示す状態情報を保有している、コンピュータ読取可能媒体。
【請求項２】
前記キーナビゲーションファイルと１つ又はそれ以上のキー記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記少なくとも１つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記コンピュータプログラムは、暗号化されたキーを記憶するための前記１つ又はそれ以上のキー記憶ファイルを、それがまだ存在していない場合には、前記少なくとも１つの保護されている領域に作成する、請求項１に記載の媒体。
【請求項３】
前記コンピュータプログラムは、前記キーナビゲーションファイルを、それがまだ存在していない場合には、前記少なくとも１つの保護されていない領域に作成する、請求項２に記載の媒体。
【請求項４】
前記キーナビゲーションファイルはエントリを含み、前記キーナビゲーションファイルの前記エントリのそれぞれは、前記１つ又はそれ以上のキー記憶ファイル内の、複数の暗号化／暗号解読キーの１つを記憶するための場所に対応しており、有効キーがその場所に記憶されているか否かについての状態情報を提供する、請求項１に記載の媒体。
【請求項５】
前記コンピュータプログラムは、前記キーナビゲーションファイルの前記エントリにより提供される前記状態情報から、有効キーが記憶されていない前記キー記憶ファイルの１つの対応する場所を示している状態情報を提供しているエントリを見つける、請求項４に記載の媒体。
【請求項６】
前記コンピュータプログラムは、前記複数のコンテンツファイルの１つを暗号化及び／又は暗号解読するためのキーを生成し、前記生成されたキーを、前記キー記憶ファイルの１つの、前記見つけられたエントリにより示されている前記対応する場所に記憶し、前記場所情報をそのコンテンツファイルのヘッダ部分に挿入する、請求項５に記載の媒体。
【請求項７】
前記キーナビゲーションファイル内の前記エントリのそれぞれは、インデクスｉの異なる値に対応しており、前記インデクス値のそれぞれは、前記１つ又はそれ以上のキー記憶ファイル内の前記対応する場所の状態情報と関係付けられており、前記コンピュータプログラムは、前記キーナビゲーションファイル内で見つけられた前記エントリの前記インデクスｉを、前記生成されたキーを使用して暗号化／暗号解読されることになる対応するコンテンツファイルのヘッダ部分に挿入する、請求項６に記載の媒体。
【請求項８】
Ｎを１より大きい整数として、前記コンピュータプログラムは１からＮまでの番号が付されたＮ個までのキー記憶ファイルを使用しており、ｍを正の整数として、前記Ｎ個のキー記憶ファイルのそれぞれは、ｍ個のキーを記憶するためのｍ個の場所を保有しており、数値ｉ／ｍの整数部分は、前記Ｎ個のキー記憶ファイルの内の、前記対応するキーが記憶されているか記憶されることになる特定の１つを示しており、ｉ  ｍｏｄ  ｍは、前記見つけられたエントリに対応している前記特定のキー記憶ファイル内の対応するキーの場所を示しており、前記コンピュータプログラムは、前記数値ｉ／ｍの整数部分を見つけるため、及びｉ  ｍｏｄ  ｍを見つけるための動作を実行する、請求項７に記載の媒体。
【請求項９】
前記コンピュータプログラムは、前記整数部分によって、前記Ｎ個のキー記憶ファイルの中から、前記生成されたキーを記憶するのに使用されることになる前記キー記憶ファイルを見つける、請求項８に記載の媒体。
【請求項１０】
前記コンピュータプログラムは、ｉ  ｍｏｄ  ｍを使用して、前記生成されたキーを記憶するのに使用されることになる、前記キー記憶ファイル内の前記対応する場所を見つける、請求項９に記載の媒体。
【請求項１１】
前記キーナビゲーションファイルは、複数のビットを保有しており、各ビットは、有効キーが前記１つ又はそれ以上のキー記憶ファイル内の対応する場所に記憶されているか否かを示している、請求項１に記載の媒体。
【請求項１２】
前記コンピュータプログラムは、前記キーナビゲーションファイルを作成し、且つ、前記１つ又は複数のキー記憶ファイルを、それがまだ存在していない場合には、前記媒体とは別体である記憶装置内に作成する、請求項１に記載の媒体。
【請求項１３】
前記コンピュータプログラムは、前記キーナビゲーションファイルを作成し、且つ、前記１つ又は複数のキー記憶ファイルを、それがまだ存在していない場合には記憶装置内に作成し、前記媒体は前記装置の一部である、請求項１に記載の媒体。
【請求項１４】
前記コンピュータプログラムは、前記キー記憶ファイル内の、各コンテンツファイルに対応する前記キーを記憶するのに使用されているか使用されることになる前記対応する場所を、そのコンテンツファイルの前記ヘッダ部分の前記場所情報を使用して見つける、請求項１に記載の媒体。
【請求項１５】
キーナビゲーション機構を記憶している不揮発性コンピュータ読取可能媒体であって、前記機構は、キーナビゲーションファイルと少なくとも１つのキー記憶ファイルを備えており、各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に複数のキーを保有しており、前記キーは、複数のコンテンツファイルの内の対応する１つを暗号化及び／又は暗号解読するために使用され、各コンテンツファイルはヘッダ部分を備えており、前記コンテンツファイルのそれぞれの前記ヘッダ部分の情報は、前記対応するキーが置かれている前記キー記憶ファイルの１つ、及び、そのキー記憶ファイル内のそのキーの前記対応する場所を示しており、前記キーナビゲーションファイルは、前記少なくとも１つのキー記憶ファイル内の１つ又はそれ以上の場所が有効キーを保有しているか否かを示す情報を保有している、不揮発性コンピュータ読取可能媒体。
【請求項１６】
前記媒体は、メモリカード内の不揮発性フラッシュメモリセルを備えている、請求項１５に記載の媒体。
【請求項１７】
前記媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記少なくとも１つのキー記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されており、前記キーナビゲーションファイルは、前記少なくとも１つの保護されていない領域に記憶されている、請求項１５に記載の媒体。
【請求項１８】
少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、キーナビゲーション機構を記憶している、不揮発性コンピュータ読取可能媒体であって、前記機構は、
キーナビゲーションファイルと少なくとも１つのキー記憶ファイルであって、各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に複数の暗号化されたキーを保有しており、前記キーのそれぞれは、複数のコンテンツファイルの対応する１つの暗号化及び／又は暗号解読のために使用される、キーナビゲーションファイルと少なくとも１つのキー記憶ファイルと、
前記媒体の前記少なくとも１つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記キーナビゲーションファイルを保有しているディレクトリを備えている、第１ディレクトリツリーと、
前記媒体の前記少なくとも１つの保護されている領域の、前記少なくとも１つのキー記憶ファイル内の前記キーの一覧を保有しているディレクトリを備えている、第２ディレクトリと、を備えており、前記２つのディレクトリツリーは互いに鏡像関係となる構造を有している、不揮発性コンピュータ読取可能媒体。
【請求項１９】
記憶装置の保護されている領域のキー記憶ファイル内の暗号解読／暗号化キーを使用して、コンテンツファイルを暗号解読／暗号化するコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンテンツファイルは、キー記憶ファイル内の、前記コンテンツファイルを暗号解読／暗号化するための前記暗号解読／暗号化キーへのアクセス経路を示すキーナビゲーション情報を保有しており、前記コンピュータプログラムは、
前記キーナビゲーション情報を前記コンテンツファイルから取り出し、
前記キーナビゲーション情報から、前記記憶装置の前記保護されている領域の前記キー記憶ファイル内の、前記暗号解読／暗号化キーが記憶されている場所を導き出し、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記キー記憶ファイルから前記暗号解読／暗号化キーを取得し、
前記暗号解読／暗号化キーを使用して、前記コンテンツファイルを暗号解読／暗号化する、コンピュータ読取可能媒体。
【請求項２０】
前記コンピュータプログラムは、それぞれがキーを記憶するためのｍ個の場所を有する複数のキー記憶ファイルを使用しており、前記キーナビゲーション情報は、インデクスを備えており、前記コンピュータプログラムは、前記インデクスをｍで割り、商を取得して、前記商の整数部分と等しい整数を取得すると共に、前記商の余り部分と等しいオフセットを取得することにより、前記複数のキー記憶ファイルの内のどの１つが、前記暗号解読／暗号化キーを記憶しているかということと、そのキー記憶ファイル内の、前記暗号解読／暗号化キーが記憶されている場所とを見つける、請求項１９に記載の媒体。
【請求項２１】
前記整数は、前記１つ又はそれ以上のキー記憶ファイルの内のどの１つが、前記暗号解読／暗号化キーを記憶しているかを示しており、前記オフセットは、そのキー記憶ファイル内の、前記暗号解読／暗号化キーが記憶されている前記場所を示している、請求項２０に記載の媒体。
【請求項２２】
前記記憶装置は、保護されていない領域を備えており、前記コンピュータプログラムは、更に、前記保護されていない領域内の或る場所へのアクセス経路を、前記保護されている領域にアクセスするためのアクセス経路に変換する、請求項１９に記載の媒体。
【請求項２３】
前記記憶装置は、
前記媒体の前記保護されていない領域の、複数のコンテンツファイルの一覧と少なくとも１つのキーナビゲーションファイルを備えているディレクトリを備えている、第１ディレクトリツリーと、
前記媒体の前記少なくとも１つの保護されている領域の、１つ又はそれ以上のキー記憶ファイルを備えているディレクトリを備えている、第２ディレクトリツリーと、を備えており、前記２つのディレクトリツリーは互いに鏡像関係となる構造を有しており、
前記コンピュータプログラムは、前記２つのディレクトリツリーを使って、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記キー記憶ファイル内の、前記暗号化／暗号解読キーが記憶されている前記場所にアクセスするための前記アクセス経路に変換する、請求項２２に記載の媒体。
【請求項２４】
前記媒体は、前記記憶装置の一部である、請求項１９に記載の媒体。
【請求項２５】
複数の権利オブジェクトの管理をやり易くするコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンピュータプログラムは、権利オブジェクトナビゲーションファイルを作成し、且つ、１つ又は複数の権利オブジェクト記憶ファイルを、それがまだ存在していない場合には作成し、各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に１つ又はそれ以上の権利オブジェクトを保有するために使用されているか使用されるものであり、前記権利オブジェクトのそれぞれは、複数のコンテンツファイルの内の対応する１つの使用及び／又は同ファイルへのアクセスを制御するために使用されているか使用されるものであり、各コンテンツファイルはヘッダ部分を備えており、前記コンテンツファイルのそれぞれの前記ヘッダ部分の場所情報は、前記対応する権利オブジェクトが置かれている前記権利オブジェクト記憶ファイルの１つと、その権利オブジェクト記憶ファイル内でのその権利オブジェクトの前記対応する場所とを示しており、前記権利オブジェクトナビゲーションファイルは、有効な権利オブジェクトが前記１つ又はそれ以上の権利オブジェクト記憶ファイル内の１つ又はそれ以上の場所に記憶されているか否かを示す状態情報を保有している、コンピュータ読取可能媒体。
【請求項２６】
前記権利オブジェクトナビゲーションファイルと１つ又はそれ以上の権利オブジェクト記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記少なくとも１つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記コンピュータプログラムは、暗号化された権利オブジェクトを記憶するための前記１つ又はそれ以上の権利オブジェクト記憶ファイルを、それがまだ存在していない場合には、前記少なくとも１つの保護されている領域に作成する、請求項２５に記載の媒体。
【請求項２７】
前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイルを、それがまだ存在していない場合には、前記少なくとも１つの保護されていない領域に作成する、請求項２６に記載の媒体。
【請求項２８】
前記権利オブジェクトナビゲーションファイルはエントリを保有しており、前記権利オブジェクトナビゲーションファイルの前記エントリのそれぞれは、前記１つ又はそれ以上の権利オブジェクト記憶ファイル内の、複数の権利オブジェクトの１つを記憶するための場所に対応しており、有効な権利オブジェクトがその場所に記憶されているか否かについての状態情報を提供する、請求項２５に記載の媒体。
【請求項２９】
前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイルの前記エントリにより提供される前記状態情報から、前記権利オブジェクト記憶ファイルの１つの、有効権利オブジェクトが記憶されていない対応する場所、を示している状態情報を提供するエントリを見つける、請求項２８に記載の媒体。
【請求項３０】
前記コンピュータプログラムは、前記複数のコンテンツファイルの使用及び／又は同ファイルへのアクセスを制御するための権利オブジェクトを生成し、前記生成された権利オブジェクトを、前記権利オブジェクト記憶ファイルの中の１つの、前記見つけられたエントリにより表示されている前記対応する場所に記憶し、前記場所情報をそのコンテンツファイルのヘッダ部分に挿入する、請求項２９に記載の媒体。
【請求項３１】
前記権利オブジェクナビゲーションファイル内の前記エントリのそれぞれは、インデクスｉの異なる値に対応しており、前記インデクス値のそれぞれは、前記１つ又はそれ以上の権利オブジェクト記憶ファイル内の前記対応する場所の状態情報と関係付けられており、前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイル内で見つけられた前記エントリの前記インデクスｉを、前記生成された権利オブジェクトを使用して制御されることになる対応するコンテンツファイルのヘッダ部分に挿入する、請求項３０に記載の媒体。
【請求項３２】
Ｎを１より大きい整数として、前記コンピュータプログラムは１からＮまでの番号が付されたＮ個までの権利オブジェクト記憶ファイルを使用しており、ｍを正の整数として、前記Ｎ個の権利オブジェクト記憶ファイルのそれぞれは、ｍ個の権利オブジェクトを記憶するためのｍ個の場所を保有しており、前記数ｉ／ｍの整数部分は、前記Ｎ個の権利オブジェクト記憶ファイルの中の、前記対応する権利オブジェクトが記憶されているか記憶されることになる特定の１つを示しており、ｉ  ｍｏｄ  ｍは、前記見つけられたエントリに対応している前記特定の権利オブジェクト記憶ファイル内の対応する権利オブジェクトの場所を示しており、前記コンピュータプログラムは、前記数ｉ／ｍの整数部分を見つけるための、及びｉ  ｍｏｄ  ｍを見つけるための演算を実行する、請求項３１に記載の媒体。
【請求項３３】
前記コンピュータプログラムは、前記整数部分によって、前記Ｎ個の権利オブジェクト記憶ファイルの中から、前記生成された権利オブジェクトを記憶するのに使用されることになる前記権利オブジェクト記憶ファイルを見つける、請求項３２に記載の媒体。
【請求項３４】
前記コンピュータプログラムは、ｉ  ｍｏｄ  ｍを使用して、前記生成された権利オブジェクトを記憶するのに使用されることになる、前記権利オブジェクト記憶ファイル内の前記対応する場所を見つける、請求項３３に記載の媒体。
【請求項３５】
前記権利オブジェクトナビゲーションファイルは、複数のビットを保有しており、各ビットは、有効な権利オブジェクトが前記１つ又はそれ以上の権利オブジェクト記憶ファイル内の対応する場所に記憶されているか否かを示している、請求項２５に記載の媒体。
【請求項３６】
前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイルを作成し、且つ、前記１つ又は複数の権利オブジェクト記憶ファイルを、それがまだ存在していない場合に、前記媒体とは別体の記憶装置内に作成する、請求項２５に記載の媒体。
【請求項３７】
前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイルを作成し、且つ、前記１つ又は複数の権利オブジェクト記憶ファイルを、それがまだ存在していない場合には、或る記憶装置内に作成し、前記媒体は前記記憶装置の一部である、請求項２５に記載の媒体。
【請求項３８】
前記コンピュータプログラムは、前記権利オブジェクト記憶ファイル内の、各コンテンツファイルに対応する前記権利オブジェクトを記憶するのに使用されているか使用されることになる前記対応する場所を、そのコンテンツファイルの前記ヘッダ部分の前記場所情報を使用して見つける、請求項２５に記載の媒体。
【請求項３９】
権利オブジェクトビゲーション機構を記憶している不揮発性コンピュータ読取可能媒体であって、前記機構は、権利オブジェクトナビゲーションファイルと少なくとも１つの権利オブジェクト記憶ファイルを備えており、各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に複数の権利オブジェクトを保有しており、前記権利オブジェクトは、複数のコンテンツファイルの内の対応する１つの使用及び／又は同ファイルへのアクセスのために使用され、各コンテンツファイルはヘッダ部分を備えており、前記コンテンツファイルのそれぞれの前記ヘッダ部分の情報は、前記対応する権利オブジェクトが置かれている前記権利オブジェクト記憶ファイルの１つと、その権利オブジェクト記憶ファイル内のその権利オブジェクトの対応する場所と、を表示しており、前記権利オブジェクトナビゲーションファイルは、前記少なくとも１つの権利オブジェクト記憶ファイル内の１つ又はそれ以上の場所が有効な権利オブジェクトを保有しているか否かを示す情報を保有している、不揮発性コンピュータ読取可能媒体。
【請求項４０】
前記媒体は、メモリカード内の不揮発性フラッシュメモリセルを備えている、請求項３９に記載の媒体。
【請求項４１】
前記媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記少なくとも１つの権利オブジェクト記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されており、前記権利オブジェクトナビゲーションファイルは、前記少なくとも１つの保護されていない領域に記憶されている、請求項３９に記載の媒体。
【請求項４２】
少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、権利オブジェクトナビゲーション機構を記憶している、不揮発性コンピュータ読取可能媒体にであって、前記機構は、
権利オブジェクトナビゲーションファイルと少なくとも１つの権利オブジェクト記憶ファイルであって、各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に複数の暗号化された権利オブジェクトを保有しており、前記権利オブジェクトのそれぞれは、複数のコンテンツファイルの対応する１つの使用及び／又は同ファイルへのアクセスを制御する、権利オブジェクトナビゲーションファイルと少なくとも１つの権利オブジェクト記憶ファイルと、
前記媒体の前記少なくとも１つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記権利オブジェクトナビゲーションファイルを保有しているディレクトリを備えている、第１ディレクトリツリーと、
前記媒体の前記少なくとも１つの保護されている領域の、前記少なくとも１つの権利オブジェクト記憶ファイル内の権利オブジェクトの一覧を保有しているディレクトリを備えている、第２ディレクトリと、を備えており、前記２つのディレクトリツリーは互い鏡像関係となる構造を有している、不揮発性コンピュータ読取媒体。
【請求項４３】
記憶装置の保護されている領域の権利オブジェクト記憶ファイル内の権利オブジェクトを使用して、コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御するコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンテンツファイルは、前記権利オブジェクト記憶ファイル内の、前記コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御するための前記権利オブジェクトへのアクセス経路を示す権利オブジェクトナビゲーション情報を保有しており、前記コンピュータプログラムは、
前記権利オブジェクトナビゲーション情報を前記コンテンツファイルから取り出し、
前記権利オブジェクトナビゲーション情報から、前記記憶装置の前記保護されている領域の前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている場所を導き出し、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記権利オブジェクト記憶ファイルから前記権利オブジェクトを取得し、
前記権利オブジェクトに従って、前記コンテンツファイルを使用及び／又は同ファイルにアクセスする、コンピュータ読取可能媒体。
【請求項４４】
前記コンピュータプログラムは、それぞれが権利オブジェクトを記憶するためのｍ個の場所を有する複数の権利オブジェクト記憶ファイルを使用しており、前記権利オブジェクトナビゲーション情報は、インデクスを備えており、前記コンピュータプログラムは、前記インデクスをｍで割り、商を取得して、前記商の前記整数部分と等しい整数を取得すると共に前記商の前記余り部分と等しいオフセットを取得することにより、前記複数の権利オブジェクト記憶ファイルの中のどの１つが、前記権利オブジェクトを記憶しているかと、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている場所とを見つける、請求項４３に記載の媒体。
【請求項４５】
前記整数は、前記１つ又はそれ以上の権利オブジェクト記憶ファイルの中のどの１つが、前記権利オブジェクトを記憶しているかを示しており、前記オフセットは、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所を示している、請求項４４に記載の媒体。
【請求項４６】
前記記憶装置は、保護されていない領域を備えており、前記コンピュータプログラムは、更に、前記保護されていない領域内の或る場所へのアクセス経路を、前記保護されている領域にアクセスするためのアクセス経路に変換する、請求項４３に記載の媒体。
【請求項４７】
前記記憶装置は、
前記媒体の前記保護されていない領域の、前記複数のコンテンツファイルの一覧と権利オブジェクトナビゲーションファイルを備えているディレクトリを備えている、第１ディレクトリツリーと、
前記媒体の前記少なくとも１つの保護されている領域の第、１つ又はそれ以上の権利オブジェクト記憶ファイルを備えているディレクトリを備えている第２ディレクトリツリーと、を備えており、前記２つのディレクトリツリーは互いに鏡像関係となる構造を有しており、
前記コンピュータプログラムは、前記２つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所にアクセスするためのアクセス経路に変換する、請求項４６に記載の媒体。
【請求項４８】
前記媒体は、前記記憶装置の一部である、請求項４３に記載の媒体。
【請求項４９】
キー記憶ファイル内に記憶され、且つ、コンテンツファイルを暗号化／暗号解読するのに使用される暗号化／暗号解読キーを、無効にするためのコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンテンツファイルは、前記キー記憶ファイル内に記憶された前記キーが有効か否かを示す状態情報を保有しているキーナビゲーションファイルを用いて、前記キー記憶ファイル内の前記キーの前記場所を示す場所情報を保有しているヘッダー部分を備え、前記コンピュータプログラムは、
前記コンテンツファイルの前記ヘッダ部分から、前記キーファイル内の前記キーの場所情報を取得し、
前記場所情報を使用して、前記キーナビゲーションファイル内の前記キーの前記状態情報を突き止め、
前記キーナビゲーションファイル内の前記キーの前記状態情報を変更して、前記キーが無効であることを表示する、コンピュータ読取可能媒体。
【請求項５０】
複数のキー記憶ファイルは、１つ又はそれ以上のコンテンツファイルを保護するためのキーを記憶するのに使用され、前記キーナビゲーションファイルは、前記複数のキー記憶ファイル内に記憶されている前記キーが有効であるか否かを示す状態情報を保有しており、前記場所情報は、更に、キー記憶ファイルの中のどの１つのファイルが、無効にされるべき前記キーを保有しているかを示している、請求項４９に記載の媒体。
【請求項５１】
前記キーナビゲーションファイルと前記キー記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記少なくとも１つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記キー記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されているので、前記キー記憶ファイル内の前記キーは、前記少なくとも１つの保護されている領域にアクセスすること無しに、無効であると表示される、請求項４９に記載の媒体。
【請求項５２】
権利オブジェクト記憶ファイル内に記憶され、且つ、コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御するのに使用される権利オブジェクトを、無効にするためのコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンテンツファイルは、前記権利オブジェクト記憶ファイル内に記憶された権利オブジェクトが有効であるか否かを示す状態情報を保有している前記権利オブジェクトナビゲーションファイルを用いて、前記権利オブジェクト記憶ファイル内の前記権利オブジェクトの前記場所を示す場所情報を保有しているヘッダー部分を備え、前記コンピュータプログラムは、
前記コンテンツファイルの前記ヘッダ部分から、前記権利オブジェクトファイル内の前記権利オブジェクトの場所情報を取得し、
前記場所情報を使用して、前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報を突き止め、
前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報を変更して、前記権利オブジェクトが無効であることを表示する、コンピュータ読取可能媒体。
【請求項５３】
複数の権利オブジェクト記憶ファイルは、１つ又はそれ以上のコンテンツファイルを保護するための権利オブジェクトを記憶するのに使用され、前記権利オブジェクトナビゲーションファイルは、前記複数の権利オブジェクト記憶ファイル内に記憶されている前記権利オブジェクトが有効であるか否かを示す状態情報を保有しており、前記場所情報は、更に、権利オブジェクト記憶ファイルの中のどの１つが、無効にされるべき前記権利オブジェクトを保有しているかを表示する、請求項５２に記載の媒体。
【請求項５４】
前記権利オブジェクトナビゲーションファイルと前記権利オブジェクト記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記少なくとも１つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記権利オブジェクト記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されているので、前記権利オブジェクト記憶ファイル内の前記権利オブジェクトは、前記少なくとも１つの保護されている領域にアクセスすること無しには、無効であると表示される、請求項５２に記載の媒体。
【請求項５５】
キーナビゲーションファイルと１つ又はそれ以上のキー記憶ファイルを使用して、コンテンツファイルを暗号化／暗号解読するための方法であって、前記キーナビゲーションファイル内の前記エントリのそれぞれは、前記１つ又はそれ以上のキー記憶ファイル内の複数の暗号化／暗号解読キーの１つを記憶するための場所に対応し、
キーナビゲーションファイルを開く段階と、
前記キーナビゲーションファイル内で、前記１つ又はそれ以上のキー記憶ファイル内の有効キーの場所に対応していないエントリを見つける段階と、
暗号化／暗号解読キーを生成する段階と、
前記暗号化／暗号解読キーを用いて前記コンテンツファイルを暗号化／暗号解読する段階と、
前記暗号化／暗号解読キーを、前記キー記憶ファイルの中の１つの、前記エントリに対応している前記場所に記憶する段階と、から成る方法。
【請求項５６】
前記方法は、前記キーナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイル用のキーナビゲーション情報を取得する段階を更に含んでいる、請求項５５に記載の方法。
【請求項５７】
前記方法は、それぞれがｍ個のエントリを有する複数のキー記憶ファイルを使用しており、前記キーナビゲーション情報は、前記キーナビゲーションファイル内の各エントリ毎に異なる値を有するインデクスを備えており、前記方法は、前記１つ又はそれ以上のキー記憶ファイル内の、前記暗号化／暗号解読キーを記憶するための前記エントリに対応する場所を見つける段階を更に含んでおり、前記見つける段階は、前記インデクスをｍで割り、商を取得して、前記商の前記整数部分と等しい整数を取得すると共に前記商の余り部分と等しいオフセットを取得する段階を含んでいる、請求項５６に記載の方法。
【請求項５８】
前記整数は、前記１つ又はそれ以上のキー記憶ファイルのどの１つに、前記暗号化／暗号解読キーが前記記憶する段階により記憶されることになるかを示しており、前記オフセットは、そのキー記憶ファイル内の、前記暗号化／暗号解読キーが前記記憶する段階により記憶されることになる前記場所を示している、請求項５７に記載の方法。
【請求項５９】
前記インデクスを前記暗号化／暗号解読されたコンテンツファイルのヘッダに挿入する段階を更に含んでいる、請求項５７に記載の方法。
【請求項６０】
前記キーナビゲーションファイル内の前記エントリを、それが前記少なくとも１つのキー記憶ファイル内の有効キーに対応するように変更する段階を更に備えている、請求項５５に記載の方法。
【請求項６１】
前記キーナビゲーションファイルと前記１つ又はそれ以上のキー記憶ファイルは、記憶媒体に記憶されており、前記媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記少なくとも１つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記１つ又はそれ以上のキー記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されているので、前記記憶する段階では、前記暗号化／暗号解読キーを前記少なくとも１つの保護されている領域に記憶する、請求項５５に記載の方法。
【請求項６２】
前記暗号化／暗号解読キーを記憶するための、前記エントリに対応する前記場所を保有している前記１つのキー記憶ファイルへのアクセス経路を構築する段階を更に含んでいる、請求項５５に記載の方法。
【請求項６３】
前記構築する段階は、前記キーナビゲーション情報からキーファイル名を形成する段階を含んでいる、請求項６２に記載の方法。
【請求項６４】
前記キーナビゲーションファイルと前記１つ又はそれ以上のキー記憶ファイルは、記憶媒体に記憶されており、前記媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記１つ又はそれ以上のキー記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されており、前記構築する段階は、前記ファイル名から、前記少なくとも１つの保護されている領域の前記１つのキー記憶ファイルへのアクセス経路を導き出す段階を更に含んでいる、請求項６３に記載の方法。
【請求項６５】
前記媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記構築する段階は、前記少なくとも１つの保護されていない領域内の或る場所へのアクセス経路を、前記少なくとも１つの保護されている領域へアクセスするためのアクセス経路に変換する、請求項６２に記載の方法。
【請求項６６】
前記媒体は、
前記媒体の前記少なくとも１つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記キーナビゲーションファイルを備えているディレクトリを備えている、第１ディレクトリツリーと、
前記媒体の前記少なくとも１つの保護されている領域の、前記１つ又はそれ以上のキー記憶ファイルを備えているディレクトリを備えている、第２ディレクトリツリーと、を備えており、前記２つのディレクトリツリーは互いに鏡像関係にあり、
前記変換する段階では、前記２つのディレクトリツリーを使用して、前記保護されていない領域内の或る場所にアクセスするためのアクセス経路を、前記保護されている領域の前記１つのキー記憶ファイル内の前記場所にアクセスするためのアクセス経路に変換する、請求項６５に記載の方法。
【請求項６７】
記憶媒体の保護されている領域のキー記憶ファイル内の暗号解読／暗号化キーを使用して、コンテンツファイルを暗号解読／暗号化するための方法であって、前記コンテンツファイルは、前記キー記憶ファイル内の、前記コンテンツファイルを暗号解読／暗号化するための前記暗号解読／暗号化キーの場所を示すキーナビゲーション情報を保有しており、
前記コンテンツファイルから前記キーナビゲーション情報を取り出す段階と、
前記キーナビゲーション情報から、前記記憶装置の前記保護されている領域の前記キー記憶ファイル内の、前記暗号化／暗号解読キーが記憶されている場所を導き出す段階と、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記キー記憶ファイルから前記暗号化／暗号解読キーを取得する段階と、
前記暗号化／暗号解読キーを使用して、前記コンテンツファイルを暗号化／暗号解読する段階と、から成る方法。
【請求項６８】
前記方法は、それぞれがキーを記憶するためのｍ個の場所を有する複数のキー記憶ファイルを使用しており、前記キーナビゲーション情報は、インデクスを備えており、前記方法は、前記インデクスをｍで割り、商を取得して、前記商の前記整数部分と等しい整数を取得すると共に前記商の余り部分と等しいオフセットを取得することにより、前記複数のキー記憶ファイルのどの１つのファイルが、前記暗号解読／暗号化キーを記憶しているかと、そのキー記憶ファイル内の、前記暗号解読／暗号化キーが記憶されている前記場所と、を見つける段階を更に含んでいる、請求項６７に記載の方法。
【請求項６９】
前記整数は、前記１つ又はそれ以上のキー記憶ファイルのどの１つが、前記暗号解読／暗号化キーを記憶しているかを示ししており、前記オフセットは、そのキー記憶ファイル内の、前記暗号解読／暗号化キーが記憶されている前記場所を示している、請求項６８に記載の方法。
【請求項７０】
前記媒体は、保護されていない領域を備えており、前記導き出す段階では、前記保護されていない領域内の或る場所へのアクセス経路を、前記保護されている領域にアクセスするためのアクセス経路に変換する、請求項６７に記載の方法。
【請求項７１】
前記媒体は、
前記媒体の前記保護されていない領域の、前記複数のコンテンツファイルの一覧と少なくとも１つのキーナビゲーションファイルを備えているディレクトリを備えている、第１ディレクトリツリーと、
前記媒体の前記少なくとも１つの保護されている領域の、１つ又はそれ以上のキー記憶ファイルを備えているディレクトリを備えている、第２ディレクトリツリーと、を備えており、前記２つのディレクトリツリーは互いに鏡像関係にある構造を有しており、
前記変換する段階は、前記２つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記キー記憶ファイル内の、前記暗号解読／暗号化が記憶されている前記場所にアクセスするための前記アクセス経路に変換する、請求項７０に記載の方法。
【請求項７２】
コンテンツファイルを暗号化／暗号解読するための方法であって、
キーナビゲーションファイルが存在していない場合には、そのファイルを作成する段階と、
少なくとも１つのキー記憶ファイルが存在していない場合には、少なくとも１つのそのファイルを作成する段階であって、前記キーナビゲーションファイル内のエントリのそれぞれは、前記少なくとも１つのキー記憶ファイル内の、複数の暗号化／暗号解読キーの１つを記憶するための場所に対応している、キー記憶ファイルを作成する段階と、
前記キーナビゲーションファイル内に、前記少なくとも１つのキー記憶ファイル内の有効キーに対応していないエントリを見つける段階と、
前記キーナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイルのキーナビゲーション情報を取得する段階と、
暗号化／暗号解読キーを生成する段階と、
前記暗号化／暗号解読キーを用いて、前記コンテンツファイルを暗号化／暗号解読する段階と、
前記暗号化／暗号解読キーを、前記エントリに対応する前記少なくとも１つのキー記憶ファイル内の場所に記憶する段階と、から成る方法。
【請求項７３】
権利オブジェクトナビゲーションファイルと１つ又はそれ以上の権利オブジェクト記憶ファイルを使用して、コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御するための方法であって、前記権利オブジェクトナビゲーションファイル内のエントリのそれぞれは、前記１つ又はそれ以上の権利オブジェクト記憶ファイル内の、複数の権利オブジェクトの１つを記憶するための場所に対応しており、
前記権利オブジェクトナビゲーションファイルを開く段階と、
前記権利オブジェクトナビゲーションファイル内に、前記１つ又はそれ以上の権利オブジェクト記憶ファイル内の、有効な権利オブジェクトの場所に対応していないエントリを見つける段階と、
権利オブジェクトを取得する段階と、
前記権利オブジェクトに従って前記コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御する段階と、
前記権利オブジェクトを、前記権利オブジェクト記憶ファイルの中の前記１つの、前記エントリに対応している場所に記憶する段階と、から成る方法。
【請求項７４】
前記方法は、前記権利オブジェクトナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイルの権利オブジェクトナビゲーション情報を取得する段階を更に含んでいる、請求項７３に記載の方法。
【請求項７５】
前記方法は、それぞれがｍ個のエントリ有する複数の権利オブジェクト記憶ファイルを使用しており、前記権利オブジェクトナビゲーション情報は、前記権利オブジェクトナビゲーションファイル内の各エントリ毎に異なる値を有するインデクスを備えており、前記方法は、前記１つ又はそれ以上の権利オブジェクト記憶ファイル内に、前記権利オブジェクトを記憶するための前記エントリに対応する前記場所を見つける段階を更に含んでおり、前記見つける段階は、前記インデクスをｍで割り、商を取得して、前記商の前記整数部分と等しい整数を取得すると共に前記商の余り部分と等しいオフセットを取得する段階を含んでいる、請求項７４に記載の方法。
【請求項７６】
前記整数は、前記１つ又はそれ以上の権利オブジェクト記憶ファイルの中のどの１つに、前記権利オブジェクトが前記記憶する段階により記憶されることになるかを示しており、前記オフセットは、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが前記記憶する段階により記憶されることになる前記場所を示している、請求項７５に記載の方法。
【請求項７７】
前記インデクスを前記コンテンツファイルのヘッダに挿入する段階を更に含んでいる、請求項７５に記載の方法。
【請求項７８】
前記権利オブジェクトナビゲーションファイ内の前記エントリを、それが前記少なくとも１つの権利オブジェクト記憶ファイル内の有効な権利オブジェクトに対応するように変更する段階を更に備えている、請求項７３に記載の方法。
【請求項７９】
前記権利オブジェクトナビゲーションファイルと前記１つ又はそれ以上の権利オブジェクト記憶ファイルは、記憶媒体に記憶されており、前記媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記少なくとも１つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記１つ又はそれ以上の権利オブジェクト記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されているので、前記記憶する段階では、前記権利オブジェクトを前記少なくとも１つの保護されている領域に記憶する、請求項７３に記載の方法。
【請求項８０】
前記権利オブジェクトを記憶するための、前記エントリに対応する前記場所を保有している前記１つの権利オブジェクト記憶ファイルへのアクセス経路を構築する段階を更に含んでいる、請求項７３に記載の方法。
【請求項８１】
前記構築する段階は、前記権利オブジェクトナビゲーション情報から権利オブジェクトファイル名を形成する段階を含んでいる、請求項８０に記載の方法。
【請求項８２】
前記権利オブジェクトナビゲーションファイルと前記１つ又はそれ以上の権利オブジェクト記憶ファイルは、記憶媒体内に記憶されており、前記媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記１つ又はそれ以上の権利オブジェクト記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されており、前記構築する段階は、前記ファイル名から、前記少なくとも１つの保護されている領域の前記１つの権利オブジェクト記憶ファイルへのアクセス経路を導き出す段階を更に含んでいる、請求項８１に記載の方法。
【請求項８３】
前記媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記構築する段階は、前記少なくとも１つの保護されていない領域内の或る場所へのアクセス経路を、前記少なくとも１つの保護されている領域へアクセスするためのアクセス経路に変換する、請求項８０に記載の方法。
【請求項８４】
前記媒体は、
前記媒体の前記少なくとも１つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記権利オブジェクトナビゲーションファイルを備えているディレクトリを備えている、第１ディレクトリツリーと、
前記媒体の少なくとも１つの保護されている領域の、前記１つ又はそれ以上の権利オブジェクト記憶ファイルを備えているディレクトリを備えている、第２ディレクトリツリーと、を備えており、前記２つのディレクトリツリーは互いに鏡像関係にあり、
前記変換する段階では、前記２つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記保護されている領域の前記１つの権利オブジェクト記憶ファイル内の前記場所にアクセスするためのアクセス経路に変換する、請求項８３に記載の方法。
【請求項８５】
前記取得する段階は、前記権利オブジェクトを生成する段階を含んでいる、請求項７３に記載の方法。
【請求項８６】
前記取得する段階は、前記権利オブジェクトをダウンロードする段階を含んでいる、請求項７３に記載の方法。
【請求項８７】
キーを生成する段階と、生成された前記キーを使用して前記コンテンツファイルを暗号化する段階を更に含んでいる、請求項８６に記載の方法。
【請求項８８】
前記権利オブジェクトからのキーを使用して前記コンテンツファイルを暗号解読する段階を更に含んでおり、前記暗号化する段階は、前記暗号解読する段階の後に起こる、請求項８７に記載の方法。
【請求項８９】
前記権利オブジェクト内のキーを前記生成されたキーで置き換える段階を更に含んでいる、請求項８７に記載の方法。
【請求項９０】
前記暗号化する段階は、前記権利オブジェクト内のキーを用いて既に暗号化されている前記コンテンツファイルを暗号化する、請求項８７に記載の方法。
【請求項９１】
前記生成されたキーを、前記権利オブジェクト内に記憶する段階を更に備えている、請求項９０に記載の方法。
【請求項９２】
記憶媒体の保護されている領域の権利オブジェクト記憶ファイル内の権利オブジェクトを使用して、コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御するための方法であって、前記コンテンツファイルは、前記権利オブジェクト記憶ファイル内の、前記コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御するための前記権利オブジェクトの場所を示す権利オブジェクトナビゲーション情報を保有しており、
前記コンテンツファイルから前記権利オブジェクトナビゲーション情報を取り出す段階と、
前記権利オブジェクトナビゲーション情報から、前記記憶装置の前記保護されている領域の前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所を導き出す段階と、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記権利オブジェクト記憶ファイルから前記権利オブジェクトを取得する段階と、
前記権利オブジェクトに従って、前記コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御する段階と、から成る方法。
【請求項９３】
前記方法は、それぞれが権利オブジェクトを記憶するためのｍ個の場所を有する複数の権利オブジェクト記憶ファイルを使用しており、前記権利オブジェクトナビゲーション情報は、インデクスを備えており、前記方法は、前記インデクスをｍで割り、商を取得して、前記商の整数部分と等しい整数を取得すると共に前記商の余り部分と等しいオフセットを取得することにより、前記複数の権利オブジェクト記憶ファイルのどの１つが、前記権利オブジェクトを記憶しているかと、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている場所と、を見つける段階を更に含んでいる、請求項９２に記載の方法。
【請求項９４】
前記整数は、前記１つ又はそれ以上の権利オブジェクト記憶ファイルのどの１つが、前記権利オブジェクトを記憶しているかを示しており、前記オフセットは、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所を示している、請求項９３に記載の方法。
【請求項９５】
前記媒体は、保護されていない領域を備えており、前記導き出す段階は、更に、前記保護されていない領域内の或る場所へのアクセス経路を、前記保護されている領域にアクセスするためのアクセス経路に変換する、請求項９２に記載の方法。
【請求項９６】
前記媒体は、
前記媒体の前記保護されていない領域の、前記複数のコンテンツファイルの一覧と権利オブジェクトナビゲーションファイルを備えているディレクトリを備えている、第１ディレクトリツリーと、
前記媒体の前記少なくとも１つの保護されている領域の、１つ又はそれ以上の権利オブジェクト記憶ファイルを備えているディレクトリを備えている、第２ディレクトリツリーと、を備えており、前記２つのディレクトリツリーは互いに鏡像関係にある構造を有しており、
前記変換する段階は、前記２つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所にアクセスするための前記アクセス経路に変換する、請求項９５に記載の方法。
【請求項９７】
コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御するための方法であって、
権利オブジェクトナビゲーションファイルを、それが存在していない場合には作成する段階と、
少なくとも１つの権利オブジェクト記憶ファイルを、それが存在していない場合には、作成する段階であって、前記権利オブジェクトナビゲーションファイル内のエントリのそれぞれは、前記少なくとも１つの権威オブジェクト記憶ファイル内の、複数の権利オブジェクトの１つを記憶するための場所に対応している、権利オブジェクト記憶ファイルを作成する段階と、
前記権利オブジェクトナビゲーションファイル内に、前記少なくとも１つの権利オブジェクト記憶ファイル内の有効な権利オブジェクトに対応していないエントリを見つける段階と、
前記権利オブジェクトナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイルの権利オブジェクトナビゲーション情報を取得する段階と、
権利オブジェクトを生成する段階と、
前記権利オブジェクトに従って、前記コンテンツファイルの使用及び／又は同ファイルへのアクセスを制御する段階と、
前記権利オブジェクトを、前記エントリに対応する前記少なくとも１つの権利オブジェクト記憶ファイル内の場所に記憶する段階と、から成る方法。
【請求項９８】
キー記憶ファイルに記憶され、且つ、コンテンツファイルを暗号化／暗号解読するのに使用される、暗号化／暗号解読キーを無効にするための方法であって、前記コンテンツファイルは、前記キー記憶ファイル内に記憶されている前記キーが有効であるか否かを示す状態情報を保有しているキーナビゲーションファイルを用いて、前記キー記憶ファイル内の前記キーの前記場所を示す場所情報を保有しているヘッダー部分を備え、
前記コンテンツファイルの前記ヘッダ部分から、前記キーファイル内の前記キーの場所情報を取得する段階と、
前記場所情報を使用して、前記キーナビゲーションファイル内の前記キーの前記状態情報を突き止める段階と、
前記キーナビゲーションファイル内の前記キーの前記状態情報を変更して、前記キーが無効であると表示する段階と、から成る方法。
【請求項９９】
前記キーナビゲーションファイルと前記キー記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記少なくとも１つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記キー記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されているので、前記少なくとも１つの保護されている領域にアクセスすること無しに、前記キー記憶ファイル内の前記キーは無効であると表示される、請求項９８に記載の方法。
【請求項１００】
権利オブジェクト記憶ファイル内に記憶されている権利オブジェクトであって、前記権利オブジェクト記憶ファイル内の前記権利オブジェクトの場所を示す場所情報を保有しているヘッダ部分を備えているコンテンツファイルの使用及び／又は同ファイルへのアクセスを制御するのに使用される権利オブジェクトを、前記権利オブジェクト記憶ファイル内に記憶されている前記権利オブジェクトが有効であるか否かを示す状態情報を保有している権利オブジェクトナビゲーションファイルを用いて、無効にするための方法において、
前記コンテンツファイルの前記ヘッダ部分から、前記権利オブジェクトファイル内の前記権利オブジェクトの場所情報を取得する段階と、
前記場所情報を使用して、前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報の位置を見つける段階と、
前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報を変更して、前記権利オブジェクトが無効であると表示する段階と、から成る方法。
【請求項１０１】
前記権利オブジェクトナビゲーションファイルと前記権利オブジェクト記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えており、前記少なくとも１つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記権利オブジェクト記憶ファイルは、前記少なくとも１つの保護されている領域に記憶されているので、前記少なくとも１つの保護されている領域にアクセスすること無しには、前記権利オブジェクト記憶ファイル内の前記権利オブジェクトは無効であると表示される、請求項１００に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的には、暗号化／暗号解読システムに関し、より詳細には、暗号化及び／又は暗号解読に使用されるキー、及び／又はコンテンツの使用又はコンテンツへのアクセスを制御する権利オブジェクトを、管理するためのシステムに関する。
【背景技術】
【０００２】
音楽、映像、及びゲームの様なメディアコンテンツは、デジタルファイルとして配給されることが増えている。その様なデジタルコンテンツは、インターネット及び記憶装置の使用を含め、複数のチャネルを介して広く配信されている。デジタルコンテンツは、例えば、磁気又は光ディスク、テープ、及びフラッシュメモリの様な不揮発性メモリなど、多種多様な装置に記憶されてもよい。それら記憶装置のデジタルコンテンツは、デスクトップ及びポータブル両様式のパーソナルコンピュータ、ｉＰｏｄ（商標）及び他の種類の内蔵型又は自立型メディアプレーヤー、携帯情報端末（「ＰＤＡ」）、ゲームコントローラ、ＭＰ３プレーヤー（商標）、及び携帯電話送受話器の様な多岐にわたる各種装置（ここでは総称的に「ホスト装置」と称する）により、再生され、記憶され、及び操作される。
【０００３】
デジタルコンテンツの所有者がコンテンツへの認可されていないアクセスを減らすか又は防止するために、デジタルコンテンツは、認可されているユーザーしかコンテンツにアクセスできないように暗号化されることが多い。歌曲の様な多種多様なデジタルファイルの急増に伴い、管理する必要があるキーの数は膨大になりつつある。また、セキュリティー強化のために、デジタルファイルのそれぞれの暗号化及び暗号解読に多数のキーが関与することになる。従って、デジタル権利管理（（ｄｉｇｉｔａｌ  ｒｉｇｈｔｓ  ｍａｎａｇｅｍｅｎｔ）「ＤＲＭ」）に予想される一つの問題は、膨大な数のキーを効率的に管理すると共に、何れの特定のデジタルファイルにおいても、それを暗号化及び／又は暗号解読するための公正なキーを判定する性能である。
【０００４】
複数のキー管理システムが使用されている。第１の型式のキー管理システムでは、暗号化及び／又は暗号解読キーを識別し見つけるのが更に容易になるように、コンテンツファイルに名前が付けられる。ファイル暗号化システム（（ｅｎｃｒｙｐｔｉｎｇ  ｆｉｌｅ  ｓｙｓｔｅｍ）「ＥＦＳ」）として知られている別の型式のキー管理システムでは、ファイルの暗号化に使用されるキー自体が暗号化され、この暗号化されたキーが、対応する暗号化されたコンテンツファイルのヘッダに記憶される。上記キー管理システムは、アプリケーションによっては有用であるが、それらはそれぞれ限界がある。上記システムはどれも全面的に満足のいくものではない。従って、更に柔軟性に富み、更に使用し易いキー管理システムを提供することが望まれている。
【０００５】
デジタル権利管理（ＤＲＭ）では、各コンテンツファイルは、コンテンツファイルがどのようにアクセスされ及び／又は使用されるかに関する又はそれを制御する規則と関係付けられてもよい。その様な規則を、ＤＲＭでは権利オブジェクトと称している。例えば、規則は、コンテンツファイルが、限定された回数のみ、又は特定の失効日以前にのみ、又は特定の期間中にのみ、アクセスできることを定めてもよい。従って、コンテンツファイルの使用及び／又はコンテンツファイルへのアクセスを制御することが望まれるときには、上で説明した規則並びにコンテンツファイルの暗号化及び／又は暗号解読に使用されるコンテンツ暗号化／暗号解読キーを保有することができる権利オブジェクトが作成される。権利オブジェクトは、そこで、更に、権利オブジェクトにより制御されるコンテンツファイルと関係付けられる。多くの場合、権利オブジェクトは、コンテンツファイルの暗号化／暗号解読に使用されるコンテンツ暗号化／暗号解読キーへのアクセスを制御することにより、コンテンツファイルの使用及び／又はコンテンツファイルへのアクセスを制御する。而して、保護されているコンテンツファイルを使用すること及び／又はコンテンツファイルにアクセスすることができるようになるには、先ず、それと関係付けられている権利オブジェクトを取り出すか何らかのやり方で取得し、その権利オブジェクトの規則を解読し、そこで、その規則に則ってコンテンツファイルを使用し又はコンテンツファイルにアクセスすることになる。コンテンツファイルが暗号化されている場合は、関係付けられている権利オブジェクトから単数又は複数のキーを取り出し、それを使用してファイルを暗号解読して、初めてその中のコンテンツを使用し又はコンテンツにアクセスすることができる。コンテンツファイルの使用及び／又はコンテンツファイルへのアクセスを制御することが望まれるときは、そのコンテンツファイルと関係付けられており、ファイルの使用及び／又はファイルへのアクセスを統制する規則を有し、且つコンテンツファイルの暗号化／暗号解読に使用される何らかの暗号化／暗号解読キーを有している、権利オブジェクトが作成される。
【０００６】
ＤＲＭでは、管理する必要がある権利オブジェクトは多数に上るであろう。而して、更に柔軟性に富み、使用し易く、多数の権利オブジェクトを管理することができる、権利オブジェクトを管理するための管理システムを提供することも望まれてよい。
【発明の開示】
【課題を解決するための手段】
【０００７】
本発明の１つの実施形態によれば、キー管理をやり易くするために、キーナビゲーションファイルと１つ又は複数のキー記憶ファイルが使用されてもよい。暗号化／暗号解読されることになるコンテンツファイルは、それぞれ、どのキー記憶ファイルが、当該コンテンツファイルを暗号化及び／又は暗号解読するために使用されることになるキーを保有しているか、を表す場所情報を保有しているヘッダ部分を備えている。キーナビゲーションファイルは、１つ又はそれ以上のキー記憶ファイル内の１つ又はそれ以上の場所に、有効キーが記憶されているか否かを示す状態情報を保有している。これは、１つ又はそれ以上のキー記憶ファイル内にキーを記憶するための場所を見つけ出すプロセスをやり易くする。状態情報は、１つ又は複数のキー記憶ファイル内の、１つ又はそれ以上の有効キーが記憶されていない１つ又はそれ以上の場所を示しているのが望ましい。
【０００８】
上で説明したキーナビゲーションファイルと１つ又はそれ以上のキー記憶ファイルを備えているキーナビゲーション機構は、不揮発性コンピュータ読取可能媒体に記憶されてもよい。
【０００９】
上の実施形態の１つの実施例では、キーナビゲーションファイルは、記憶媒体の公開の保護されていない領域に記憶されており、キーを記憶するための１つ又はそれ以上のキー記憶ファイルは、認証されたユーザー、アプリケーション又は装置しかアクセスすることができない、媒体の保護されている領域に記憶されている。明白な理由により、１つ又はそれ以上のキー記憶ファイルは、認可されていないアクセスに対してアクセス可能になっていない保護されている領域に記憶するのが望ましい。而して、キー記憶ファイル内の１つ又はそれ以上の場所が有効キーを保有しているか否かを示す状態情報を保有するキーナビゲーションファイルを、公開の領域に提供することにより、キー管理性能は一段と強化されることになる。而して、キー記憶ファイル内の特定のキーが有効か否かを見極めるために保護されている領域にアクセスする必要はなく、代わりに、この情報は、認証無しにアクセスすることができるキーナビゲーションファイル内で容易に取得できる。また、この特性は、特に、コンテンツファイル及びその暗号化／暗号解読キーを容易に削除できるようにする。１つの実施形態では、キーを削除するために、キーを保有している保護されている領域のキー記憶ファイルに実際にアクセスする必要なしに、単にキーナビゲーションファイル内の状態情報を変えるだけで、キーの削除が成し遂げられる。
【００１０】
本発明のもう１つの実施形態によれば、キーナビゲーションファイルと１つ又はそれ以上のキー記憶ファイルは、コンテンツファイルを暗号化／暗号解読するためのプロセスに容易に利用される。キーナビゲーションファイルのエントリのそれぞれは、１つ又はそれ以上のキー記憶ファイル内の、複数の暗号化／暗号解読キーの１つを記憶するための場所に対応している。キーナビゲーションファイルは、その中に、１つ又はそれ以上のキー記憶ファイル内の或る場所の有効キーに対応していないエントリを見つけることを許可するために開かれてもよい。暗号化／暗号解読キーが生成され、コンテンツファイルはそれにより暗号化／暗号解読される。次いで、暗号化／暗号解読キーは、前記１つのキー記憶ファイル内の、キーナビゲーションファイル内の見つけられた当該エントリに対応している場所に記憶される。
【００１１】
上で説明した実施形態の１つの実施例では、キーナビゲーション情報は、キーナビゲーションファイル内の、有効キーに対応していないことが見い出されたエントリの場所から導き出され、この場所情報が暗号化されたファイルのヘッダ部分に挿入される。而して、逆のプロセスでは、暗号化されたファイルのヘッダ部分の場所情報を解読することにより、単数又は複数のキー記憶ファイルの１つの中の暗号化／暗号解読キーの場所が判明し、取り出されて、暗号化されたファイルの暗号解読及び／又は暗号化が行われる。
【００１２】
本発明の別の実施形態によれば、コンテンツファイルは、記憶媒体の保護されている領域内のキー記憶ファイルの暗号解読キーを使用して暗号解読される。コンテンツファイルのヘッダ部分は、キー記憶ファイル内の、コンテンツファイルの／暗号解読のための暗号化／暗号解読キーの場所を示すキーナビゲーション情報を保有している。キーナビゲーション情報が、コンテンツファイルのヘッダ部分から取り出され、次いで、そのキーナビゲーション情報から、暗号解読キーが記憶されているキー記憶ファイル内の場所が導き出される。次いで、暗号解読キーが、保護されている領域から取得され、当該コンテンツファイルを暗号解読するのに使用される。このプロセスは、キー記憶ファイル内の、コンテンツファイルを暗号化するための特定のキーを発見するのにも利用でき、その場合は、そのキーの場所情報は、当該コンテンツファイルのヘッダ内で見つけられる。
【００１３】
直ぐ上で説明した実施形態の１つの特定の実施例では、キーを記憶するために複数のキー記憶ファイルが使用されている。この実施例では、コンテンツファイルのヘッダ部分のキーナビゲーション情報は、インデスクを備えており、このインデクスは整数である。キー記憶ファイルのそれぞれは、キーを記憶するためのｍ個の場所を保有している。インデクスをｍで割ると、商が得られる。商の整数部は、複数のキー記憶ファイルのどの１つが暗号解読／暗号化キーを記憶しているかを示しており、ここではオフセットとも呼ばれる余り部分は、そのようなキー記憶ファイル内の、暗号解読／暗号化キーが記憶されている場所を示している。
【００１４】
本発明の更に別の実施形態は、キー記憶ファイルに記憶されており、キー記憶ファイルに記憶されているキーが有効か否かを示す状態情報を保有しているキーナビゲーションファイルを用いたコンテンツファイルの暗号化／暗号解読に使用される、暗号化／暗号解読キーを、無効にするための方法に着眼している。コンテンツファイルは、キー記憶ファイル内のキーの場所を示す場所情報を保有しているヘッダ部分を備えている。キーファイル内のキーの場所情報は、コンテンツファイルのヘッダ部分から取得される。この場所情報を使用して、キーナビゲーションファイル内のキーの状態情報が見つけられる。
【００１５】
キーナビゲーションファイル内のキーの状態情報が変更されて、キーが無効であることが示される。
【００１６】
上で説明した方法は、何れも、プロセッサにより実行されるコンピュータプログラムにより行われてもよく、プログラムはコンピュータ読取可能記憶媒体に記憶されている。
【００１７】
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、キー管理をやり易くするために使用されてもよい。コンピュータプログラムは、キーナビゲーションファイルを作成し、１つ又はそれ以上のキー記憶ファイルを、それがまだ存在していない場合には作成する。各コンテンツファイルは、どのキー記憶ファイルがそのコンテンツファイルの暗号化／暗号解読キーを保有しているかを示す場所情報を保有しているヘッダ部分を備えている。キーナビゲーションファイルは、１つ又はそれ以上のキー記憶ファイル内の１つ又はそれ以上の場所が有効キーを保有しているか否かを示す状態情報を保有している。
【００１８】
上記実施形態の１つの実施例では、キーナビゲーションファイル内に、少なくとも１つのキー記憶ファイル内の有効キーに対応していないエントリが発見される。このコンテンツファイルのキーナビゲーション情報が、キーナビゲーションファイル内の前記エントリの場所から取得される。暗号化／暗号解読キーが生成され、それを使用して、当該コンテンツファイルが暗号化／暗号解読される。暗号化／暗号解読キーは、少なくとも１つのキー記憶ファイル内の、前記エントリに対応している場所に記憶される。
【００１９】
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、記憶装置の保護されている領域のキー記憶ファイル内の暗号化／暗号解読キーを使用して、コンテンツファイルを暗号化／暗号解読する。コンテンツファイルヘッダは、キー記憶ファイル内の暗号化／暗号解読キーの場所を示すキーナビゲーション情報を保有している。コンピュータプログラムは、コンテンツファイルからキーナビゲーション情報を取り出し、このキーナビゲーション情報から、キー記憶ファイル内の、暗号化／暗号解読キーが記憶されている場所を導き出し、暗号化／暗号解読キーを取得して、このキーを使用してコンテンツを暗号化／暗号解読する。この実施形態の１つの実施例では、それぞれｍ個の場所を保有している複数のキー記憶ファイルが、キーを記憶するのに使用されている。キーナビゲーション情報は、インデクスを備えており、このインデクスは整数であり、コンピュータプログラムは、このインデクスをｍで割って商を得ることにより、キー記憶ファイルのどの１つが暗号解読／暗号化キーを記憶しているかと、そのキー記憶ファイル内の、キーが記憶されている場所とを見つける。商の整数部は、複数のキー記憶ファイルのどの１つが暗号解読／暗号化キーを記憶しているかを示しており、ここではオフセットとも呼ばれている余り部分は、そのキー記憶ファイル内の、暗号解読／暗号化キーが記憶されている場所を示している。
【００２０】
上で説明したコンピュータプログラムにより実施される方法は、本発明の他の態様の対象である。
【００２１】
本発明の更に別の実施形態によれば、不揮発性コンピュータ読取可能媒体は、キーナビゲーション機構を記憶しており、この媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えている。この機構は、キーナビゲーションファイルと、少なくとも１つのキー記憶ファイルを備えている。各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に、複数のコンテンツファイルの対応する１つの暗号化及び／又は暗号解読に使用される複数のキーを保有している。この機構は、媒体の少なくとも１つの保護されていない領域に、複数のコンテンツファイルの一覧とキーナビゲーションファイルを保有しているディレクトリを備えている第１ディレクトリツリーを含んでいる。この機構は、更に、媒体の少なくとも１つの保護されている領域に、少なくとも１つのキー記憶ファイル内のキーの一覧を保有しているディレクトリを備えている第２ディレクトリツリーを含んでおり、前記２つのディレクトリツリーは、互いに鏡像となる構造を有している。
【００２２】
上で説明したシステムと方法は、キーの管理に代えて又はこれに加えて、コンテンツへのアクセス及び／又はコンテンツの使用を統制する規則の様なコンテンツ保護情報を管理するように適合させてもよい。而して、一使用例では、上で説明したシステムと方法は、コンテンツファイルの使用及び／又はコンテンツファイルへのアクセスを制御する権利オブジェクトを管理するように適合されてもよい。
【００２３】
而して、本発明の更に別の実施形態によれば、権利オブジェクト管理をやり易くするために、権利オブジェクトナビゲーションファイル及び１つ又はそれ以上の権利オブジェクト記憶ファイルが使用されてもよい。権利オブジェクトを用いて制御されることになるコンテンツファイルは、それぞれ、どの権利オブジェクト記憶ファイルが、コンテンツファイルの使用及び／又はコンテンツファイルへのアクセスを制御するのに使用されるべき権利オブジェクトを保有しているか、を示す場所情報を保有しているヘッダ部分を備えている。権利オブジェクトナビゲーションファイルは、１つ又はそれ以上の権利オブジェクト記憶ファイル内の１つ又はそれ以上の場所に、有効な権利オブジェクトが記憶されているか否かを示す状態情報を保有している。これは、１つ又はそれ以上の権利オブジェクト記憶ファイル内の権利オブジェクトキーを記憶するための場所を見つけ出すプロセスをやり易くする。状態情報は、１つ又は複数の権利オブジェクト記憶ファイル内の、１つ又はそれ以上の有効なキーが記憶されていない１つ又はそれ以上の場所を示すのが望ましい。
【００２４】
上で説明した権利オブジェクトナビゲーションファイルと１つ又はそれ以上の権利オブジェクト記憶ファイルを備えている権利オブジェクトナビゲーション機構は、不揮発性コンピュータ読取可能媒体に記憶されてもよい。
【００２５】
上の実施形態の１つの実施例では、権利オブジェクトナビゲーションファイルは、記憶媒体の公開の保護されていない領域に記憶されており、権利オブジェクトを記憶するための１つ又はそれ以上の権利オブジェクト記憶ファイルは、認証されたユーザー、アプリケーション、又は装置しかアクセスすることができない、媒体の保護されている領域に記憶されている。明白な理由により、１つ又はそれ以上の権利オブジェクト記憶ファイルは、認可されていないアクセスに対してはアクセス可能になっていない保護されている領域に記憶するのが望ましい。而して、権利オブジェクト記憶ファイルの１つ又はそれ以上の場所が有効な権利オブジェクトを保有しているか否かを示す状態情報を保有している権利オブジェクトナビゲーションファイルを、公開領域に提供することにより、権利オブジェクト管理性能は一段と強化されることになる。而して、権利オブジェクト記憶ファイル内の特定の権利オブジェクトが有効か否かを見極めるために保護されている領域にアクセスする必要はなく、代わりに、この情報は、認証無しにアクセスすることができる権利オブジェクトナビゲーションファイル内で容易に入手することができる。また、この特性は、特に、コンテンツファイル及びこれに関係付けられている権利オブジェクトを容易に削除できるようにする。１つの実施例では、権利オブジェクトを削除するために、権利オブジェクトを保有している保護されている領域の権利オブジェクト記憶ファイルに実際にアクセスする必要無しに、単に権利オブジェクトナビゲーションファイル内の状態情報を変えれば、権利オブジェクトの削除が成し遂げられる。
【００２６】
本発明の１つ又はそれ以上の実施形態によれば、権利オブジェクトナビゲーションファイルと１つ又はそれ以上の権利オブジェクト記憶ファイルは、権利オブジェクトをコンテンツファイルと関係付けるプロセスに容易に利用することができる。権利オブジェクトナビゲーションファイルのエントリのそれぞれは、１つ又はそれ以上の権利オブジェクト記憶ファイル内の、複数の権利オブジェクトの１つを記憶するための場所に対応している。権利オブジェクトナビゲーションファイルは、その中に、１つ又はそれ以上の権利オブジェクト記憶ファイル内の或る場所の有効な権利オブジェクトに対応していないエントリを見つけることを許可するために開かれてもよい。権利オブジェクトが生成され、コンテンツファイルはそれと関係付けられる。そこで、権利オブジェクトは、前記１つの権利オブジェクト記憶ファイル内の、権利オブジェクトナビゲーションファイル内で見つけられた当該エントリに対応している、場所に記憶される。
【００２７】
上の実施形態の１つの実施例では、権利オブジェクトナビゲーション情報は、権利オブジェクトナビゲーションファイル内の、有効な権利オブジェクトに対応していないことが見い出されたエントリの場所から導き出され、この場所情報が暗号化されたファイルのヘッダ部分に挿入される。而して、逆のプロセスでは、コンテンツファイルのヘッダ部分の場所情報を解読することにより、単数又は複数の権利オブジェクト記憶ファイルの１つの中の権利オブジェクトの場所が判明し、その権利オブジェクトが、コンテンツファイルの使用及び／又はアクセスを行うために取り出される。
【００２８】
本発明の別の実施形態によれば、コンテンツファイルは、記憶媒体の保護されている領域内の権利オブジェクト記憶ファイルの暗号化／暗号解読権利オブジェクトを使用して暗号化／暗号解読されてもよい。コンテンツファイルのヘッダ部分は、権利オブジェクト記憶ファイル内の、コンテンツファイルに関係付けられている権利オブジェクトの場所を示す権利オブジェクトナビゲーション情報を保有している。権利オブジェクトナビゲーション情報が、コンテンツファイルのヘッダ部分から取り出され、次いで、その権利オブジェクトナビゲーション情報から、権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所が導き出される。次いで、権利オブジェクトが、保護されている領域から取得され、当該コンテンツファイルにアクセスするため及び／又は何らかのやり方でコンテンツファイルを使用するために利用される。このプロセスは、コンテンツファイルの使用及び／又はコンテンツファイルへのアクセスが望まれるとき、権利オブジェクト記憶ファイル内の特定の権利オブジェクトを発見するのにも利用でき、その場合は、その権利オブジェクトの場所情報は当該コンテンツファイルのヘッダに見つけられる。
【００２９】
直ぐ上で説明した実施形態の１つの特定の実施例では、権利オブジェクトを記憶するために複数の権利オブジェクト記憶ファイルが使用されている。この実施例では、コンテンツファイルのヘッダ部分の権利オブジェクトナビゲーション情報は、インデスクを備えており、このインデクスは整数である。権利オブジェクト記憶ファイルのそれぞれは、権利オブジェクトを記憶するためのｍ個の場所を保有している。インデクスをｍで割ると、商が得られる。商の整数部分は、複数の権利オブジェクト記憶ファイルのどの１つが権利オブジェクトを記憶しているかを示しており、ここではオフセットとも呼ばれている余り部分は、その権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所を示している。
【００３０】
本発明の更に別の実施形態は、権利オブジェクト記憶ファイルに記憶されている権利オブジェクトが有効か否かを示す状態情報を保有している権利オブジェクトナビゲーションファイルを用いて、権利オブジェクト記憶ファイルに記憶されているコンテンツファイルの使用及び／又はコンテンツファイルへのアクセスの制御に使用される、権利オブジェクトを、無効にするための方法に着眼している。コンテンツファイルは、権利オブジェクト記憶ファイル内の権利オブジェクトの場所を示す場所情報を保有しているヘッダ部分を備えている。権利オブジェクトファイル内の権利オブジェクトの場所情報は、コンテンツファイルのヘッダ部分から取得される。権利オブジェクトナビゲーションファイル内の権利オブジェクトの状態情報は、場所情報を使用して見つけられる。権利オブジェクトナビゲーションファイルの権利オブジェクトの状態情報が変更され、権利オブジェクトは無効であると示される。
【００３１】
上で説明した方法は何れも、プロセッサにより実行されるコンピュータプログラムによって行われてもよく、プログラムはコンピュータ読取可能記憶媒体に記憶されている。
【００３２】
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、権利オブジェクト管理をやり易くするために使用されてもよい。コンピュータプログラムは、権利オブジェクトナビゲーションファイルを作成し、且つ、１つ又はそれ以上の権利オブジェクト記憶ファイルを、それがまだ存在していない場合には作成する。各コンテンツファイルは、どの権利オブジェクト記憶ファイルがそのコンテンツファイルの権利オブジェクトを保有しているかを示す場所情報を保有しているヘッダ部分を備えている。権利オブジェクトナビゲーションファイルは、１つ又はそれ以上の権利オブジェクト記憶ファイル内の１つ又はそれ以上の場所が有効な権利オブジェクトを保有しているか否かを示す状態情報を保有している。
【００３３】
上記実施形態の１つの実施例では、権利オブジェクトナビゲーションファイル内に、少なくとも１つの権利オブジェクト記憶ファイル内の有効な権利オブジェクトに対応していないエントリが発見される。このコンテンツファイルの権利オブジェクトナビゲーション情報は、権利オブジェクトナビゲーションファイル内の前記エントリの場所から取得される。権利オブジェクトが生成され、当該コンテンツファイルと関係付けられる。権利オブジェクトは、少なくとも１つの権利オブジェクト記憶ファイル内の、前記エントリに対応している場所に記憶される。
【００３４】
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、記憶装置の保護されている領域の権利オブジェクト記憶ファイル内の権利オブジェクトを用いて、コンテンツファイルの使用及び／又はコンテンツファイルへのアクセスを制御する。コンテンツファイルヘッダは、権利オブジェクト記憶ファイル内の権利オブジェクトの場所を示す権利オブジェクトナビゲーション情報を保有している。コンピュータプログラムは、コンテンツファイルから権利オブジェクトナビゲーション情報を取り出し、この権利オブジェクトナビゲーション情報から、権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所を導き出し、権利オブジェクトを取得して、その権利オブジェクトを用いてコンテンツファイルを使用し又はコンテンツファイルにアクセスする。この実施形態の１つの実施例では、それぞれｍ個の場所を保有している複数の権利オブジェクト記憶ファイルが、権利オブジェクトを記憶するのに使用されている。権利オブジェクトナビゲーション情報は、インデスクを備えており、このインデクスは整数であり、コンピュータプログラムは、このインデクスをｍで割って商を取得することにより、権利オブジェクト記憶ファイルのどの１つが権利オブジェクトを記憶しているかと、その権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所とを見つける。商の整数部分は、複数の権利オブジェクト記憶ファイルのどの１つが権利オブジェクトを記憶しているかを示しており、ここではオフセットとも呼ばれている余り部分は、その権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所を表している。
【００３５】
本発明の更に別の実施形態によれば、不揮発性コンピュータ読取可能媒体は、権利オブジェクトナビゲーション機構を記憶しており、この媒体は、少なくとも１つの保護されている領域と少なくとも１つの保護されていない領域を備えている。この機構は、権利オブジェクトナビゲーションファイルと少なくとも１つの権利オブジェクト記憶ファイルを備えている。各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に、複数のコンテンツファイルの対応する１つの使用及びファイルへのアクセスを制御するのに使用される複数の権利オブジェクトを保有している。この機構は、媒体の少なくとも１つの保護されていない領域に、複数のコンテンツファイルの一覧と権利オブジェクトナビゲーションファイルを保有しているディレクトリを備えている第１ディレクトリツリーを含んでいる。機構は、更に、媒体の少なくとも１つの保護されている領域に、少なくとも１つの権利オブジェクト記憶ファイル内の権利オブジェクトの一覧を保有しているディレクトリを備えている第２ディレクトリツリーを含んでおり、前記２つのディレクトリツリーは、互いを鏡像とする構造を有している。
【００３６】
上で説明したコンピュータプログラムにより実施される方法は、本発明の他の態様の対象である。
【００３７】
上の特性は、単独で、又は何れかの組み合わせで一緒に使用されてもよい。
【発明を実施するための最良の形態】
【００３８】
説明を分かり易くするために、本出願では、同一の構成要素は、同じ番号を付して識別している。
【００３９】
本発明の様々な実施形態を実施することができるメモリシステムの一例を図１のブロック図に示している。図１に示すように、メモリシステム１０は、中央演算処理ユニット（ＣＰＵ）１２、バッファ管理ユニット（ＢＭＵ）１４、ホストインターフェースモジュール（ＨＩＭ）１６とフラッシュインターフェースモジュール（ＦＩＭ）１８、フラッシュメモリ２０、及び周辺アクセスモジュール（ＰＡＭ）２２を含んでいる。メモリシステム１０は、ホストインターフェースバス２６及びポート２６ａを通してホスト装置２４と通信する。フラッシュメモリ２０は、ＮＡＮＤ型式でもよいが、ホスト装置２４のためのデータ記憶部を提供している。ＣＰＵ１２のソフトウェアコードもフラッシュメモリ２０に記憶されている。ＦＩＭ１８は、フラッシュインターフェースバス２８及びポート２８ａを通してフラッシュメモリ２０に接続されている。ＨＩＭ１６は、デジタルカメラ、デスクトップ又はポータブルパーソナルコンピュータ、携帯情報端末（ＰＤＡ）、デジタルメディアプレーヤー、ＭＰ３プレーヤー、ビデオゲームプレーヤー、及び携帯電話又は他のデジタル装置の様なホストシステムへの接続に適している。周辺アクセスモジュール２２は、ＣＰＵ１２と通信するため、ＦＩＭ、ＨＩＭ、及びＢＭＵの様な適切な制御モジュールを選択する。１つの実施形態では、システム１０の点線で囲んだボックス内の構成要素の全ては、メモリカード又はスティック１０’の様な単一のユニットに封入されてよく、望ましくは、同一ハウジング又は容器内のカード又はスティックにカプセル封入されてもよい。
【００４０】
バッファ管理ユニット１４は、ホストダイレクトメモリアクセス（ＨＤＭＡ）３２、フラッシュダイレクトメモリアクセス（ＦＤＭＡ）制御装置３４、アービター３６、バッファランダムアクセスメモリ（ＢＲＡＭ）３８、及び暗号エンジン４０を含んでいる。アービター３６は、常にたった１つのマスター又はイニシエータ（ＨＤＭＡ３２、ＦＤＭＡ３４、又はＣＰＵ１２が考えられる）だけがアクティブになるように共有型のバスアービターであり、スレーブ又はターゲットはＢＲＡＭ３８である。アービターは、ＢＲＡＭ３８への適切なインシエータ要求のチャネリングに責任を持つ。ＨＤＭＡ３２とＦＤＭＡ３４は、ＨＩＭ１６、ＦＩＭ１８、及びＢＲＡＭ３８又はＣＰＵランダムアクセスメモリ（ＣＰＵ  ＲＡＭ）１２ａの間を輸送されるデータに責任を持つ。ＨＤＭＡ３２及びＦＤＭＡ３４それぞれの動作は従来通りなので、ここでは詳しく説明する必要はない。ＢＲＡＭ３８は、ホスト装置２４、フアッシュメモリ２０、及びＣＰＵ  ＲＡＭ１２ａの間を送信されるデータをバッファリングするのに使用されている。ＨＤＭＡ３２とＦＤＭＡ３４は、ＨＩＭ１６／ＦＩＭ１８とＢＲＡＭ３８又はＣＰＵ  ＲＡＭ１２ａの間でデータを転送すること及びセクタ転送完了を表示することに責任を持つ。
【００４１】
先ず、フラッシュメモリ２０からのデータがホスト装置２４により読み取られるとき、メモリ２０内の暗号化されているデータは、バス２８、ＦＩＭ１８、ＦＤＭＡ３４、暗号エンジン４０を通して取り出され、暗号エンジン４０で、暗号化されているデータは暗号解読され、ＢＲＡＭ３８に記憶される。暗号解読されたデータは、次いで、ＢＲＡＭ３８から、ＨＤＭＡ３２、ＨＩＭ１６、バス２６を通して、ホスト装置２４に送られる。ＢＲＡＭ３８から取り出されたデータは、ＨＤＭＡ３２に送られる前に、暗号エンジン４０を用いて再度暗号化されてもよいので、ホスト装置２４に送られるデータは再度暗号化されるが、メモリ２０に記憶されているデータが暗号解読された際のキー及び／又はアルゴリズムとは異なるキー及び／又はアルゴリズムを用いて暗号化される。望ましくは、或る代わりの実施形態では、上で説明したプロセスの中で暗号解読されたデータをＢＲＡＭ３８に記憶するのではなく、というのも、その様なデータは認可されていないアクセスに曝されることになることがあるので、メモリ２０からのデータは、暗号解読されると、暗号エンジン４０により再度暗号化されてからＢＲＡＭ３８に送られる。ＢＲＡＭ３８内の暗号化されたデータは、次いで、先ほどのように、ホスト装置２４に送られる。以上、読出プロセスの際のデータの流れを説明した。
【００４２】
データがホスト装置２４によりメモリ２０に書き込まれるときには、データスの流れの方向は逆になる。例えば、暗号化されていないデータが、ホスト装置により、バス２６、ＨＩＭ１６、ＨＤＭＡ３２を通して、暗号エンジン４０に送られると、そのデータは、ＢＲＡＭ３８に記憶される前に、エンジン４０により暗号化されてもよい。代わりのやり方では、暗号化されていないデータがＢＲＡＭ３８に記憶されてもよい。データは、この場合、メモリ２０への途中でＦＤＭＡ３４に送られる前に暗号化される。書き込まれるデータが多段暗号化処理を受ける場合、エンジン４０がその処理を完遂して初めて、この処理されたデータがＢＲＡＭ３８に記憶されるのが望ましい。
【００４３】
図１に示すメモリシステム１０は、フラッシュメモリを保有しているが、システムは、別のやり方として、代わりに、磁気ディスク、光学ＣＤの様な別の型式の不揮発性メモリ、並びその他のあらゆる型式の書き換え可能な不揮発性メモリシステムを保有していてもよく、上で説明した様々な利点は、その様な代わりの実施形態にも等しく当てはまる。代わりの実施形態では、やはり望ましいやり方として、メモリは、同一の物理的個体（例えば、メモリカードやスティックなど）内に、メモリシステムの残りの構成要素と共にカプセル封入されている。
タイトルキー管理
【００４４】
図２は、本発明の１つの実施形態を例示するために、タイトルキーファイルの構造を示している概略図である。デジタル権利管理のために多数の暗号化／暗号解読キーが採用されている場合、それらキーを図２に示す様な複数の個別タイトルキーファイルに編成し記憶するのが便利であり得る。図２の実施形態では、タイトルキーファイル１０２は、１２７個のスロット又は場所を有し、１２７個までのキーを保有することができる設計である。図２に示すように、ファイル１０２は、合計１２８個のスロット又は場所を保有しており、一番最初のスロット又は場所１０２ａは、ヘッダ用に予約され、キーを記憶するのには使用されない。最初は、１２７個のスロット又は場所には、全て１又は０、或いは任意の値が入っていてもよく、それらは有効なキー値ではない。初期値に上書きすることにより、有効なタイトルキーエントリ（「ＴＫＥ」）が１２７個のスロット又は場所に連続的に書き込まれるのが望ましく、全１２７個のスロット又は場所が有効キー値で満たされたとき、それらは、以下の値、即ちＴＫＥ１、ＴＫＥ２、・・・ＴＫＥ１２７、を保有することになる。特定のタイトルキーエントリが有効キーであるか否かは、図３Ａに例示しているキーナビゲーションファイルに記憶されているタイトルキー状態ビットにより示されるのが望ましい。而して、ファイル１０２内の何がしかの特定のタイトルキーエントリの対応するタイトルキー状態ビットを調べれば、タイトルキーファイル１０２に実際にアクセスすること無く、そのエントリが有効キーから構成されているか又は有効キーを保有しているか否かを判定することができる。
【００４５】
図３Ａは、キーナビゲーションファイルの、その構造を示す概略図である。図３Ａに示すように、キーナビゲーションファイル１０４は、多数のキーファイル状態（「ＫＦＳ」）フィールド、即ちＫＦＳ０００、ＫＦＳ００１、・・・ＫＦＳ０３１、ＫＦＳ０３２、ＫＦＳ０３３、・・・ＫＦＳ０６３・・・を含んでいる。タイトルキー状態フィールドのそれぞれは、対応するタイトルキーファイルのタイトルキー状態ビットを保有している。而して、ＫＦＳ０００とタイトルが付けられたキーファイル状態フィールド１０４ａは、タイトルキーファイル１０２の１２７個のタイトルキーエントリの１２７個のタイトルキー状態ビットを保有することになるので、ファイル１０４ａは、１６バイトの記憶部を必要とする。暗号化／暗号解読に使用されるキーの個数が１２７を超えた場合は、タイトルキーファイル１０２のスロット又は場所は全て使い果たされているので、１２７個を越えている分のキーを記憶するための新しいタイトルキーファイルを作成することが必要になる。そこで、タイトルキー状態フィールド１０４ｂが、キーナビゲーションファイル１０４内に、その新しいタイトルキーファイル内の超過したタイトルキーエントリの状態を表示するタイトルキー状態ビットを記憶するために作成される。図３Ａは、少なくとも６４個のタイトルキーファイルが作成された状況を例示しており、キーナビゲーションファイル１０４は、ＫＦＳ０００からＫＦＳ０６３までの少なくとも６４個のタイトルキー状態フィールドを含んでいる。キーナビゲーションファイル１０４とタイトルキーファイルの間の関係は、図３Ｂに更に詳しく示されている。
【００４６】
図３Ａ及び図３Ｂに示すように、タイトルキーファイルは、フォーマット「key_file.xxx」で名前を付けられており、このxxxは、タイトルキーファイルの通し番号である。而して、最初に作成されたキーファイル１０２は、ファイル名key_file.000が与えられ、次に作成されたキーファイルにはkey_file.001という名前が割り当てられ、以下同様に名前が付けられる。
【００４７】
１つの実施形態では、キーナビゲーションファイル１０４内の各スロット又は場所及びその中のエントリは、タイトルキーファイルの内の１つのファイル内の或る特定のスロット又は場所及びそのスロット又は場所のタイトルキーエントリと既知の１対１対応関係を有している。このやり方では、特定のタイトルキーエントリが有効キーを有しているか否かを調べるには、キーナビゲーションファイル１０４内に、タイトルキーファイルのそのタイトルキーエントリに対応する場所又はスロットを見つけ、キーナビゲーションファイル１０４内のその場所のキーファイル状態ビットを調べるだけでよいことになる。
【００４８】
本発明のこの実施形態では、タイトルキーエントリは、図３Ｂに示すように、異なるタイトルキーファイルに亘って順にラベルが付けられている。而して、タイトルキーファイルkey_file.000内のタイトルキーエントリは、ＴＫＥ１−ＴＫＥ１２７のラベルが付けられる。タイトルキーファイルkey_file.001内のタイトルキーエントリは、ＴＫＥ１２９−ＴＫＥ２５５のラベルが付けられる。そして、タイトルキーファイルkey_file.002内のそれらは、ＴＫＥ２５７−ＴＫＥ３８３のラベルが付けられ、以下同様にラベルが付けられる。タイトルキーファイル（即ち、ＴＫＥ０、ＴＫＥ１２８、ＴＫＥ２５６・・・）のそれぞれの１番目の場所及びエントリは、ファイルの大きさ、バージョンナンバー、及びファイルに関する他の情報の様な情報を保有することができるヘッダ用に予約されている。而して、各タイトルキーエントリは、それに関係付けられた固有番号を有しており、この固有番号は、以下の番号、即ち１−１２７、１２９−２５５、２５７−３８３などの内の１つである。この固有番号は、そこで、キーナビゲーションファイル内の、対応するキーファイル状態ビットが置かれている特定の場所を識別するのにも使用されるのが望ましい。図３Ｂに示すように、タイトルキーエントリに対応するキーファイル状態ビットは、異なるタイトルキーファイルに亘って、タイトルキーエントリと同じ順序で各場所に記憶される。例えば、図３Ｂに示すように、タイトルキーエントリＴＫ
Ｅ[ｉ]が有効キーを保有しているか否かを表示するためのキーファイル状態ビット「ＫＦＳ[ｉ]」は、キーナビゲーションファイル１０４内の、第１キーファイル状態フィールドＫＦＳ０００の一番上の１番目の場所から数えてｉ番目の場所に記憶され、ｉ番目の場所がＫＦＳ０００とは異なるキーファイル状態フィールド内に在る場合にでもそうである。換言すると、この固有番号は、全キー状態フィールドに亘って固有であり、それは、全キーファイル状態フィールドＫＳＦ０００、ＫＦＳ００１・・・に亘って、ＫＦＳ０００の一番上の１番目のエントリから開始してキーナビゲーションファイル１０４内の最後のキーファイル状態エントリまで、順に番号が付られる。
【００４９】
このやり方では、キーファイル状態ビットの特定の場所と、キーナビゲーションファイル１０４内のそのビットと関係付けられている通し固有番号内の固有番号とを調べることにより、どの特定のタイトルキーファイル及びそのファイル内のどの場所かを容易に判定することができ、そうすれば、下に説明する単純なプロセスを使用して、対応するタイトルキーエントリを見つけることができる。逆のプロセスも、従って、真である。特定のタイトルキーファイルと関係付けられている固有番号と、特定のタイトルキーエントリの、そのファイル内の場所が分かれば、そのエントリに関する対応するキーファイル状態ビットも、キーナビゲーションファイル１０４内で見つけることができる。
【００５０】
この１つの実施形態では、キーナビゲーションファイル１０４内の特定のキーファイル状態ビットに対応するタイトルキーエントリを見つけるプロセスは、以下の様に実施される。各タイトルキーエントリとその対応するキーファイル状態ビットに関係付けられている固有番号は、キーナビゲーションインデクス（「ＫＮＩ」）と呼ばれている。而して、ＫＮＩ値０、１２８、２５６、３８４、・・・（Ｎ＋１２８）は規則違反であり、ここにＮは整数である。ＫＮＩは、従って、キーナビゲーションファイル１０４内のキーファイル状態ビットの、ＫＦＳ０００のヘッダ内の一番最初の状態ビットからのオフセットでもある。キーナビゲーションファイル１０４内の特定の状態ビットの場所、オフセット、従ってその対応するＫＮＩ値に留意することにより、対応するタイトルキーエントリの場所を容易に求めることができる。これは、ＫＮＩ値を、タイトルキーファイル及びキーファイル状態フィールドのそれぞれのスロットの個数、即ち図３Ｂの実施形態では１２８、で割ることにより行われる。ここで、商の整数部分は、対応するタイトルキーエントリを保有しているタイトルキーファイルの通し番号を提供する。換言すると、そのタイトルキーエントリを保有しているタイトルキーファイルの通し番号は、ＫＮＩ／１２８の整数部分により与えられる。そのエントリを保有しているタイトルキーファイル内のそのタイトルキーエントリの特定の場所は、その部分の余り部分から、又はＫＮＩ％１２８又はＫＮＩ  ｍｏｄ  １２８により、見つけることができ、この値は、そのタイトルキーエントリの特定の場所の、そのタイトルキーエントリが見つけられることになるそのタイトルキーファイル内における一番上のエントリからのオフセットである。
【００５１】
図３Ｂに示す１つの実施例では、タイトルキーエントリｉ（ＴＫＥ  ｉ）、即ちキーナビゲーションインデクス（ＫＮＩ）がｉであるエントリについて、特定のタイトルキーファイルとそのファイル内の場所を見つけようとしている状況を想定している。而して、そのタイトルキーエントリの状態を示すタイトルキーエントリは、ナビゲーションファイル１０４ではＫＦＳ[ｉ]である。図３Ｂに示す特定の実施例では、その状態ビットは、キーファイル状態フィールド００１、即ちＫＦＳ００１、に見い出される。そのタイトルキーエントリが見つけられる特定のタイトルキーファイルは、ｉ％１２８又はｉ  ｍｏｄ  １２８により与えられる。図３Ｂに例示している実施例では、ｉは１２９から２５５の間の値を有しているので、ｉを１２８で割ったものの整数部分は１となり、従って、タイトルキーファイルkey_file.001が対応するタイトルキーエントリｉを保有していることが容易に求められる。次に、演算ｉ  ｍｏｄ  １２８を行うことにより、除算の余り部分を求め、この余りから、タイトルキーエントリＴＫＥｉの、タイトルキーファイルkey_file.001内の一番上のエントリからのオフセットが与えられる。而して、上で説明した２つの非常に簡単な演算により、特定のタイトルキーファイルと、そのファイル内の、キーナビゲーションファイル内の特定の場所に対応するタイトルキーエントリを保有している場所が、見つけられる。
【００５２】
上記実施形態では、タイトルキーファイルのそれぞれは、各々１６バイトの１２８個のエントリを保有している。タイトルキーファイルが１２８個以外の個数のエントリを保有してもよく、その場合は各エントリが１６以外のバイト数を有することもあるのは明白である。而して、ｍを何れかの正の整数として、各タイトルキーファイルがｍ個のエントリを有している場合、上記演算は、ＫＮＩ又はキーナビゲーションインデクスを１２８の代わりにｍで割るように変更する必要がある。オフセットは、タイトルキーエントリＴＫＥｉの、そのタイトルキーファイル内の一番上のエントリからのオフセットを見つける代わりに、ｉ  ｍｏｄ  ｍにより見いだすことができる。その様な変形の全ては本発明の範囲内にある。
【００５３】
タイトルキーファイル内でキーの場所を突き止めるのに、又はキーナビゲーションファイル内の状態ビットの場所を突き止めるのに、上記のように固有番号ＫＮＩと演算ｉ／ｍ及びｉ  ｍｏｄ  ｍを使用する代わりに、キーナビゲーションファイル内のエントリと、タイトルキーファイルの各ファイル内のＴＫＥとの間の１対１の対応関係を、ルックアップ表を用いて確立することができる。ＣＰＵ１２は、この場合、キーナビゲーションファイル内の状態ビットの場所が与えられている対応するキーの場所を見つけるためにルックアップ表を調べる必要があり、逆の場合（即ち、特定のタイトルキーファイル内のキーの場所が与えられていることを前提として、キー状態を提示する、キーナビゲーションファイル内の状態ビットを見つける場合）も同様である。上記及びこの他の変形も、本発明の範囲内にある。
【００５４】
１つの実施形態では、１６バイト中の７バイトだけが、暗号化／暗号解読用のキーの値として各タイトルキーエントリに使用される。キー値は、別のキーを使用して暗号化又は暗号解読されるのが望ましい。図３Ｂの実施形態では、タイトルキー状態ビットが値０であるとき、このことはタイトルキーエントリがビジーであることを表しており、即ち、これは、各タイトルキーファイルのヘッダの場合のようにビットが予約されているか、対応するタイトルキーエントリが有効キーを保有しており、従って、新しいキーを記憶するのに利用することができないか、の何れかであることを意味する。タイトルキー状態ビットが値１である場合は、このことは、対応するタイトルキーエントリが空であるか、それが有効キー保有しておらず、従って、タイトルキーファイル内の対応するスロット又は場所は、タイトルキーエントリをそのスロット又は場所に上書きすることにより、暗号化／暗号解読キーを記憶するのに利用可能であることを表している。
【００５５】
キーナビゲーションファイルの長さは、定義されておらず、タイトルキーファイルの個数により決まる。図３Ａ及び図３Ｂに例示している実施形態では、キーナビゲーションファイルは５１２バイトの記録を備えている。従って、ファイルの長さが定義されていなくても、それは図３Ａ及び図３Ｂの実施形態では、５１２バイトの倍数になる。必要に応じて、新たな記録がファイルに追加される。タイトルキー状態ビット値は、ブール数であり、一方、タイトルキーファイルの通し番号、キーナビゲーションインデクスは、図３Ａ及び図３Ｂの実施形態では１０進数である。
【００５６】
図４は、本発明の１つの実施形態を例示するのに使用される、保護されていないユーザーデータ領域内のディレクトリツリー構造１３０の概略図である。図４のディレクトリツリー構造１３０は、フラッシュメモリ２０に記憶されているファイルであり、ここでは、ディレクトリ構造は、保護されていないユーザーデータ領域に記憶されているため、あらゆるユーザー、装置、又はアプリケーションが認証無しにアクセスすることができる。図４に示すように、ディレクトリツリー構造は、ルートディレクトリと２つのサイドブランチ、即ちプレーヤー１ディレクトリとプレーヤー２ディレクトリ、を有している。プレーヤー１又は２は、どの様なユーザー、装置、又はアプリケーションでもよい。２つのブランチは、２つの異なるプレーヤーが容易にアクセスできるようにしている。プレーヤー１ディレクトリは、「Ｍｙｓｏｎｇ．ＭＰ３」、「Ａｎｏｔｈｅｒ．ＭＰ３」・・・の様な複数の異なるコンテンツファイルと、キーナビゲーションファイル「ＫＮＦ．ｂｉｎ」を掲載している。プレーヤー２ディレクトリは、同様なコンテンツファイルの一覧と、別のキーナビゲーションファイル「ＫＮＦ．ｂｉｎ」を保有している。而して、プレーヤー１がユーザーデータ領域にアクセスしたとき、プレーヤー１は、プレーヤー１ディレクトリに、そしてそのディレクトリ下のコンテンツファイルとキーナビゲーションファイルに導かれる。プレーヤー２によるアクセスについても同じことが言え、プレーヤー２はプレーヤー２ディレクトリ内のコンテンツファイル並びにそのディレクトリ内のキーナビゲーションファイルに導かれる。このようにして、プレーヤー１がコンテンツファイルを作成するとき、このファイルは、作成されてプレーヤー１ディレクトリ下の一覧に加えられる。コンテンツファイルがプレーヤー２用に作成されるとき、この新たなコンテンツファイルは、やはりプレーヤー２ディレクトリ内に掲載される。
【００５７】
ツリー１３０内のコンテンツファイル（例えば、「Ｍｙｓｏｎｇ．ＭＰ３」、「Ａｎｏｔｈｅｒ．ＭＰ３」・・・）は、図５のツリー１５０のディレクトリに記憶されているキーを使用して暗号化される。幾つかのアプリケーションでは、暗号化されたコンテンツファイルと暗号化されていないコンテンツファイル（図４では図示せず）は、共に、認証無しにアクセスすることのできる同じ保護されていないユーザーデータ領域に記憶されてもよい。
【００５８】
図５は、メモリ装置２０の保護されている領域のディレクトリツリー１５０の概略図であり、図４と図５のディレクトリツリー１３０と１５０は互いに鏡像関係にある。従って図５では、ディレクトリツリーは、ルートディレクトリ並びにプレーヤー１ディレクトリとプレーヤー２ディレクトリを有している。プレーヤー１ディレクトリは、ツリー１３０内のプレーヤー１ディレクトリのコンテンツファイルを暗号化及び／又は暗号解読するための複数の異なるタイトルキーエントリを保有するタイトルキーファイルｋｅｙ＿ｆｉｌｅ．０００を掲載している。プレーヤー２ディレクトリも、複数のタイトルキーエントリを保有するタイトルキーファイルｋｅｙ＿ｆｉｌｅ．０００を保有している。なお、２つのディレクトリ下の２つのタイトルキーファイルが同一名（即ち、ｋｅｙ＿ｆｉｌｅ．０００）を有していても、それらは異なるディレクトリにあることから、混同されることはないことに留意されたい。図４のツリー１３０の２つのディレクトリ内のキーナビゲーションファイルについても同じことが言える。
【００５９】
２つのディレクトリツリー１３０と１５０は、同一のブランチ、即ちプレーヤー１ディレクトリとプレーヤー２ディレクトリ、を有しているため、たとえディレクトリプレーヤー１とプレーヤー２のコンテンツが２つのツリー１３０と１５０の間で異なっていたとしても、互いに鏡像関係にある。２つのディレクトリが、ツリー１３０と１５０のそれぞれの間で、プレーヤー１及びプレーヤー２と同じレベルのブランチを更に多く、例えばプレーヤー３（図４及び図５では図示せず）などを、有することもできる。２つのディレクトリプレーヤー１及びプレーヤー２が、サブディレクトリを有することもできる。例えば、ツリー１３０内のプレーヤー１ディレクトリは、２つのサブディレクトリ、即ち、映像ファイル用に１つと音声ファイル用に１つ（図４では図示せず）を有している。音声ファイルサブディレクトリは、歌曲の様な音声ファイルの一覧と、その様な音声ファイルの間をナビゲーションするためのキーナビゲーションファイルを保有することになる。映像サブディレクトリは、映像ファイルと、その様な音声ファイルの間をナビゲーションするためのキーナビゲーションファイルを保有してもよい。その様な場合には、図５のディレクトリツリー１５０も同様のツリー構造を有することになる。このようにして、ツリー１５０のプレーヤー１ディレクトリは、２つの異なるサブディレクトリ、即ち、音声及び映像のサブディレクトリ（図５には図示せず）を有してもよい。映像サブディレクトリは、それぞれディレクトリツリー１３０の映像サブディレクトリ内の映像ファイルの暗号化／暗号解読に使用されるタイトルキーエントリを保有する、単数又は複数のタイトルキーファイルの一覧を保有している。ディレクトリツリー１５０も、プレーヤー１ディレクトリ下に音声サブディレクトリを有することになり、この音声サブディレクトリは、それぞれディレクトリツリー１３０の音声サブディレクトリ内に掲載されている対応する音声ファイルを暗号化／暗号解読するために使用されるタイトルキーエントリを保有する、１つ又はそれ以上のタイトルキーファイルを保有することになる。下で説明しているように、保護されていない領域と保護されている領域に互いに鏡像関係にあるディレクトリツリー１３０と１５０を有することで、キーナビゲーション機構の動作が格段に円滑になる。
【００６０】
保護されているコンテンツファイルがメモリ装置２０内に作成される前は、通常、メモリ装置２０にはキーナビゲーションファイルもキー記憶ファイルも一切存在していない。その場合には、保護されるべき最初のコンテンツファイルが作成されると、ここではキーナビゲーション機構とも呼ぶキーマネジャが、保護されていないユーザー領域にキーナビゲーションファイルを作成し、保護されている領域に最初のタイトルキー記憶ファイルを作成する。
【００６１】
図６は、キーナビゲーションファイル機構により実行されるプロセス又は方法を例示しているフローチャートである。図６のプロセスを実行する機構は、コンテンツファイル、タイトルキーファイル、及びキーナビゲーションファイルが記憶されているメモリシステムにコマンドを送るホスト装置２４に記憶され実行されるコンピュータプログラムコードを備えていてもよい。代わりに、機構は、ＣＰＵ１２にロードされて実行される、フラッシュメモリ２０に記憶されているコンピュータプログラムコードを備えていてもよい。而して、図６及び図７のキーナビゲーション機構のためのコンピュータプログラムは、ホスト装置２４の一部であるかこれに接続されているコンピュータ読取可能媒体に記憶されていてもよいが、代わりに、その様なコンピュータプログラムは、タイトルキーファイル、キーナビゲーションファイル、及びコンテンツファイルが記憶されているフラッシュメモリ２０に記憶されていてもよい。全てのその様な変型は、本発明の範囲内にある。
【００６２】
図６を参照すると、図６の機構のプロセスは、保護されているコンテンツファイルを開くことが望まれている場合か、又は保護されるコンテンツファイルが作成されようとする時に開始される（ブロック２０２）。キーナビゲーション機構は、コンテンツファイルが存在するか否かを判定する（菱形２０４）。コンテンツファイルが存在していなければ、このことは、コンテンツファイルを作成すべきであることを意味するので、ホスト装置２４又はＣＰＵ１２は、ファイルを、例えば、プレーヤー１ではディレクトリツリー１３０内に、作成すること（ブロック２０６）に進む。コンテンツファイルが作成されると、キーナビゲーション機構は、キーナビゲーションファイルが既に存在しているか既に作成されているかを調べる（菱形２０７ａ）。存在していなければ、機構は、キーナビゲーションファイルを作成する（ブロック２０７ｂ）。存在していれば、機構は、図４に示すディレクトリ１３０の様なディレクトリ内の新しく作成されたコンテンツファイルと同じディレクトリ内に見つけられるキーナビゲーションファイルを開く（ブロック２０８）。何れの場合も、機構は、ここで、ツリー１３０のプレーヤー１ディレクトリ内のキーナビゲーションファイルを調べ、第１キーエントリが「空の」状態であることを見い出す。キーナビゲーションファイルのオフセットが「空の」状態であることにより、キーナビゲーションインデクス（ＫＮＩ）が与えられ（ブロック２０８及び２１０）、ＫＮＩを使用した上記実施形態が採用される。
【００６３】
タイトルキーファイルとキーナビゲーションファイルが上の実施例に使用されるとき、タイトルキーファイル内の場所又はタイトルキーエントリは順番に使用される。このことは、１つの暗号化／暗号解読キーが作成され、タイトルキーファイルに記憶される必要が生じるとき、タイトルキーファイル内のスロット又は場所は、それらキーを記憶するのに、タイトルキーファイルｋｅｙ＿ｆｉｌｅ．０００のタイトルキーエントリ１から開始して順に使用されるという意味である。そのキーが記憶され、キーエントリＴＫＥ１又はその一部を形成した後、その対応するキーファイル状態ビットＫＦＳ[１]の値は１から０に変更され、これにより、それが空ではなく今はビジーである、即ち、この場所はヘッダ用に予約されたものではないことから、今は有効キーが入っている、ということが表示される。最初、キーファイル状態ビットの全てが値１を有しているが、０、１２８、２５６・・・のキーファイル状態ビットは例外で、それらは値０を有している。
【００６４】
ＫＮＩを取得した後、キーナビゲーション機構は、次に、タイトルキーファイルのそれぞれが１２８個のスロット又は場所を有している場合、ＫＮＩ／１２８の整数部に等しいキーファイルインデクス又はｎｎｎを計算する（ブロック２１２）。ｎｎｎ又はキーファイルインデクスは、数ＫＮＩ／１２８の整数部分である。このｎｎｎ又はキーファイルインデクス値は、タイトルキーファイルの通し番号である。次いで、そのタイトルキーファイル内のオフセットを、量ＫＮＩ％１２８又はＫＮＩ  ｍｏｄ  １２８を計算することにより取得する（ブロック２１４）。
【００６５】
上で指摘したように、コンテンツファイルは、図４のディレクトリツリー１３０のプレーヤー１ディレクトリの様なディレクトリ内に作成される。保護されている領域のタイトルキーファイル内に、作成されたばかりのこのコンテンツファイルの暗号化／暗号解読に使用される暗号化／暗号解読キーを記憶するための場所を取得するために、キーナビゲーション機構は、ここで、保護されていないユーザーデータ領域の公開区画名を保護されている領域の保護されている区画名で置き換えることにより、保護されていないユーザーデータ領域内のディレクトリツリー１３０に従って構築されたアクセス経路を、保護されている領域又は区画内のディレクトリツリー１５０に従って構築されたものへ変換する（ブロック２１６）。キーナビゲーション機構は、次いで、キーファイル名、即ち「key_file.nnn」を形成する(ブロック２１８)。キーナビゲーション機構は、次いで、完全なキーファイル名を形成する（ブロック２２０）。一例として、プレーヤー１が、暗号化されることになる新しい歌曲ファイルを、ブロック２０８、２１０、２１２、２１４、２１６、２１８、及び２２０に従って作成している場合を仮定する。その場合には、作成される完全なキーファイル名は、「ｐｒｏｔ＿ｐａｒｔｉｔｉｏｎ／ｌａｙｅｒ１ｄｉｒｅｃｔｏｒｙ／ｋｅｙ＿ｆｉｌｅ．ｎｎｎ」となる。
【００６６】
キーナビゲーション機構は、次いで、このキーファイル名を有するタイトルキーファイルが存在するか否かを調べて判断する（菱形２２１ａ）。このタイトルキーファイルが存在していない場合、機構は、ファイルを１つ作成して、ディレクトリツリー１５０内の適切なディレクトリ（例えば、プレーヤー１）にそれを加える(ブロック２２１ｂ)。このタイトルキーファイルが存在する場合、機構は、完全なキーファイル名に基づくアクセス経路を使用して、当該タイトルキーファイルを開く（ブロック２２２）。キーナビゲーション機構は、次に、コンテンツファイルが、ブロック２０６の前に元からそこに存在していたか否かを調べる（菱形２２４）。上の例では、そのコンテンツファイルは、ブロック２０６でそれが作成される以前は存在しておらす、従ってキーナビゲーション機構は、ブロック２２６に進んで、ＫＮＩを作成されたファイルのファイルヘッダに挿入する。コンテンツ暗号化キー（ＣＥＫ）が暗号化エンジン４０により作成され、これを使用して、作成されたファイルが暗号化される（２２８）。暗号化された新規に作成されたファイルは、メモリ装置２０内のツリー１３０のディレクトリプレーヤー１に加えられる。この作成されたキーは、暗号化され、ブロック２１２で識別されたタイトルキーファイル内の、ブロック２１４で取得されたオフセットにより示される場所に挿入され（ブロック２３０）、ツリー１５０のディレクトリプレーヤー１のタイトルキーファイルに新規タイトルキーエントリとして加えられる。キーナビゲーション機構は、次いで、タイトルキーファイルを閉じ（ブロック２３２）、ツリー１３０のプレーヤー１ディレクトリのキーナビゲーションファイル内のその対応する状態ビットの値を１から０に変更するが、キーファイル状態ビットは、ＫＮＩの値をツリー１３０のプレーヤー１ディレクトリのキーナビゲーションファイル内のオフセットとして使用して突き止められる。次いで、キーナビゲーションファイルは閉じられる(ブロック２３４及び２３６)。
【００６７】
以上は、暗号化される（及び／又は暗号解読される）ことになるコンテンツファイルが最初に作成されるときの、２つのディレクトリツリー１３０と１５０を使用したキーナビゲーション機構のプロセスである。コンテンツファイルを暗号解読することが望まれ、従ってキーナビゲーション機構が、コンテンツファイルを暗号解読するのに必要とされる暗号解読キーを見つけることを要求されるとき、図６のキーナビゲーション機構は以下のように動作する。キーナビゲーション機構は、ツリー１３０のプレーヤー１ディレクトリの様な特定のディレクトリ内の保護されているコンテンツファイルを開き、コンテンツファイルが既に存在していることから、ブロック２５２に進むことになる。キーナビゲーション機構は、次いで、コンテンツファイルのファイルヘッダから値ＫＮＩを取り出す（ブロック２５２）。キーナビゲーション機構が、保護されているコンテンツファイルを開くとき、それは、保護されていないユーザーデータ領域のディレクトリツリー１３０内で動作していることになる。例えば、保護されているコンテンツファイルが、プレーヤー１ディレクトリ内の歌曲「ｍｙｓｏｎｇ．ＭＰ３」の様な歌曲ファイルの１つである場合、そのコンテンツファイルへのアクセス経路は、ディレクトリツリー１３０に従って構築される。キーナビゲーション機構は、そこで、ブロック２１２から２２２の動作を上で説明したやり方で行って、コンテンツファイルの暗号解読（及び／又は暗号化）に使用される暗号解読キーが記憶されている或る特定のタイトルキーファイルのキーファイルインデクス又はｎｎｎと、そのタイトルキーファイル内のキーの場所を示すオフセットを見つけ出す。キーナビゲーション機構は、更に、ディレクトリツリー１３０に従った公開の又は保護されていないユーザーデータ領域へのアクセス経路を、保護されている領域のディレクトリツリー１５０に従って構築されたアクセス経路に変換し、ブロック２１６、２１８、及び２２０に基づき、保護されている領域の暗号解読キーの完全なキーファイル名を確立する。認証プロセスの後、次いで、キーナビゲーション機構は、構築された完全なキーファイル名に従って、保護されている領域内のタイトルキーファイルを開いて（ブロック２２２）コンテンツ暗号解読キーが容易に入手し、取り出せるようにする。キーナビゲーション機構は、次いで、コンテンツファイルが上記動作以前に存在していたか否かを調べる。本例では、それは実際に存在しており、従って機構はブロック２５４に進んで、適正なタイトルキーファイルのキーエントリオフセットから暗号化されているコンテンツ暗号化キーを取り出す（ブロック２５４）。コンテンツ暗号化キーは、次いで、暗号解読され、暗号化によって保護されているか保護されることになるコンテンツファイルの暗号解読／暗号化に使用される。（ブロック２５６）。
【００６８】
上で説明したキーナビゲーションファイル、タイトルキーファイル構造を使用すると、コンテンツファイルを削除する際、特に簡単に行える。これを図７のフローチャートに例示している。而して、この目的に使用されるキーナビゲーション機構は、ホスト装置２４又はメモリシステム１０の何れかに記憶され、実行されるコンピュータプログラムであってもよく、最初に、ディレクトリ内で、削除されるべき保護されているコンテンツファイルを識別する（ブロック３０２）。コンテンツファイルは、メモリ２０の保護されていない公開領域にあってもよい。キーナビゲーション機構は、そこで、コンテンツファイルを開き、ファイルヘッダからＫＮＩを取得して、ファイルを閉じる（ブロック３０４）。次いで、機構は、コンテンツファイルと同じディレクトリ内のキーナビゲーションファイルを開く（ブロック３０６）。例えば、削除されるべきコンテンツファイルが、例えば、ディレクトリツリー１３０のプレーヤー１ディレクトリにある場合、ビットオフセットが、コンテンツファイルと同じディレクトリ（本例ではプレーヤー１ディレクトリ）内のキーナビゲーションファイルで見つけ出される。キーナビゲーション機構は、そこで、ＫＮＩをキーナビゲーションファイル内の１番目のエントリからのオフセットとして使用し、削除されるべきコンテンツファイルを暗号化／暗号解読するために使用されるタイトルキーエントリの、タイトルキーファイル内での状態を示しているキーファイル状態ビットの位置を見つける。機構は、次に、オフセット場所で見つけられたキーファイル状態ビットを０から１にリセットし、これにより、当該ファイル状態ビットの、タイトルキーファイル内での対応するタイトルキーエントリ（ＴＫＥ）が、有効キーを保有していないことを表示する（ブロック３０８）。これは、従って、タイトルキーファイル内のその対応するＴＫＥの場所は、これより、新たなキーを記憶するのに使用することができ、実質的に「空である」ことを表示している。実際に、保護されている領域（通常、認証を要する）に入り込んで、タイトルキーファイル内のその場所のキーを削除する必要はない。キーナビゲーション機構は、次に、キーナビゲーションファイルを閉じて、コンテンツファイルの削除に進む（ブロック３１０と３１２）。
【００６９】
（権利オブジェクト管理）
上で説明したキーを管理するためのシステムは、コンテンツファイルが、限定された回数だけ、又は特定の失効日以前にのみ、又は特定の期間中にのみ、アクセスできることを規定している規則の様な、他の型式のコンテンツ保護情報を管理するのにも使用される。ＤＲＭでは、その様な規則は、権利オブジェクトとして知られているオブジェクト内のコンテンツを保護するために使用されるコンテンツ暗号化／暗号解読キーと共に取り扱われる。暗号化されているコンテンツファイルがどの様に使用され及び／又はアクセスされてもよいかかを見極めるために、まず、その権利オブジェクトを突き止め、そこから暗号化／暗号解読キーを抽出し、その使用を統制している規則を抽出する。次いで、キーを使用してコンテンツファイルが暗号解読／暗号化され、コンテンツにアクセスすることができる。コンテンツファイルは、ダウンロードされるか別のやり方で受け取られることがあるが、その場合、その権利オブジェクトを見つけることが必要になる。ダウンロード時にファイルが暗号化される場合は、アクセスの権利を購入する必要があることがあり、その場合には、権利オブジェクトは購入後に供給されることになり、ダウンロードすることができる。ダウンロードされたファイルが暗号化されていない場合、権利オブジェクトを、コンテンツファイルを保護するために作成することができる。権利オブジェクトが取得されると、権利オブジェクト内のキーが権利オブジェクトから抽出され、そのキーを使用して、コンテンツファイルが暗号化又は暗号解読される。ファイルは、その後、必要に応じて更に処理される。対照的に、ファイルが作成された後、そのファイル用に権利オブジェクトが作成されることもあるが、その場合、このオブジェクトは、その暗号化／暗号解読のために使用されるキーを含んでいる。
【００７０】
追加的なセキュリティが求められている場合、暗号解読されたコンテンツファイルは、権利オブジェクト内のものとは異なるキーを使用して再度暗号化されてもい。このやり方では、コンテンツファイルの権利オブジェクトに対するアクセスを同様に有している認可されていないユーザーは、その様な再暗号化されたコンテンツファイルにはアクセスすることができなくなる。而して、コンテンツファイルをダウンロードしたユーザーは、権利発行者から取得した権利オブジェクト内のものとは異なっていて、コンテンツファイルが権利発行者から取得した権利オブジェクト内のキーを使用して暗号解読された後でこのコンテンツファイルを再度暗号化する、キーを生成してもよい。権利オブジェクト内のキーは、そこで、ユーザーにより生成されたキーと置き換えられる。代わりのやり方では、ユーザーは、コンテンツファイルを最初に暗号解読することなく、自分が生成したキーを使用して単純にコンテンツファイルを暗号化するだけであり、これにより、コンテンツファイルは、２つの異なるキー、即ち、権利発行者によるキー（即ち、コンテンツファイルは権利オブジェクト内の第１のキーを用いて暗号解読することができる）と、ユーザーが生成して、当該ユーザーにしか利用することのできない第２のキー、によって暗号化される。ユーザーは、そこで、権利オブジェクト内に同様にこの追加の第２キーを保管する。
【００７１】
図８は、権利オブジェクト管理の、権利オブジェクト（ＲＯ）ナビゲーション機構を例示しているフローチャートである。図８のプロセスを行うＲＯナビゲーション機構は、コンテンツファイル、ＲＯファイル、及びキーナビゲーションファイルが記憶されているメモリシステムにコマンドを送るホスト装置２４に記憶され実行されるコンピュータプログラムコードを備えていてもよい。代わりに、機構は、ＣＰＵ１２にロードされ実行される、フラッシュメモリ２０に記憶されているコンピュータプログラムコードを備えていてもよい。従って、図８び図９のＲＯナビゲーション機構に使用されるコンピュータプログラムは、ホスト装置２４の一部であるかこれに接続されているコンピュータ読取可能媒体に記憶されていてもよいし、或いは、その様なコンピュータプログラムは、ＲＯファイル、権利オブジェクトナビゲーションファイル、及びコンテンツファイルが記憶されているフラッシュメモリ２０に記憶されていてもよい。全てのその様な変形は、本発明の範囲内にある。一方の図６、図７を、他方の図８及び図９と比較すると、それらは極めて似ており、図８及び図９のＲＯ管理プロセスは、それぞれ、図６及び図７のキー管理プロセスと極めて似通っていることがわかる。
【００７２】
そのような事象では、上で説明したキー管理とよく似たＲＯ管理用のアーキテクチャ及びコンセプトが使用されてもよく、例えば、ＲＯファイルに亘るＲＯエントリ（ＲＯＥ）のラベル付けには、図３に例示しているのと同様のやり方で、ＲＯＮＩが使用されている（ＫＮＩとコンセプトは同様）。ＲＯナビゲーションファイル内の状態ビットＲＯＳ[ｉ]は、対応するｉ番目のＲＯがＲＯファイルの１つのファイル内で有効であるか否かを表すのに使用される。ＲＯナビゲーションファイルは、図４に示す、キー管理が関与しているやり方と同じやり方で、ディレクトリツリーのディレクトリ内のコンテンツファイルと共に公開区画又は領域に記憶されている。ＲＯファイルは、図５に示すキー管理でのやり方と同じやり方で、ディレクトリツリーのディレクトリ内の保護されている区画又は領域に記憶されており、２つの領域のツリーは、互いに鏡像関係にある（図示せず）。
【００７３】
図８を参照すると、図８の機構のプロセスは、保護されているコンテンツファイルを開くか又はダウンロードすることが所望される場合に開始される（ブロック４０２）。ＲＯナビゲーション機構は、コンテンツファイルがダウンロードされているか否かを判定する（菱形４０４）。コンテンツファイルがダウンロードされていない場合、コンテンツファイルが既に存在しており、ダウンロードの必要性は無いという意味になる。コンテンツファイルはダウンロードされており、保護される必要があると仮定すると、機構は、ブロック４０６に進み、ファイルを公開ドメイン（図４の公開領域と同様）の割り当てられたディレクトリに記憶する。ＲＯナビゲーション機構は、ＲＯナビゲーションファイルが同じディレクトリ内に存在するか否かを調べる（菱形４０７ａ）。存在していなければ、機構は、ＲＯナビゲーションファイルを作成する（ブロック４０７ｂ）。存在していれば、機構は、図４に見られるものと同様に、ダウンロードされたコンテンツファイルと同じディレクトリ内で見つけ出されたＲＯナビゲーションファイルを開く（ブロック４０８）。何れの場合も、機構は、ディレクトリツリーの適切なディレクトリ内のＲＯナビゲーションファイルを調べ、「空の」又は「有効でない」状態を有する最初のＲＯエントリを見つける。ＲＯナビゲーションファイルの「空の」又は「有効でない」状態のオフセットにより、ＲＯナビゲーションインデクス（ＲＯＮＩ）が与えられ(ブロック４０８と４１０)、ＲＯＩＮを使用する上の実施形態が採用される。
【００７４】
ＲＯファイル及びＲＯナビゲーションファイルが上記実施例に使用されるとき、ＲＯファイル内の場所又はＲＯエントリは、順番に使用される。これは、１つのＲＯが作成されＲＯファイルに記憶される必要が生じたときに、ＲＯファイル内のスロット又は場所は、ＲＯファイルＲＯ＿ｆｉｌｅ．０００内のＲＯエントリ１から開始して順にＲＯを記憶するのに使用されるという意味である。その様なＲＯが記憶され、最初のＲＯエントリ又はその一部を形成した後、その対応するＲＯファイル状態ビットＲＯＳ[１]値は１から０に変更され、それが空ではなく今はビジーであること、即ち、この場所はヘッダ用に予約されたものではないことから、今は有効なＲＯが入っていることが表示される。最初は、ＲＯファイル状態ビットは全て値１を有しているが、０、１２８、２５６・・・のＲＯファイル状態ビットは例外であり、それらは値０を有している。但し、この実施形態の代わりに、キーナビゲーション機構の場合のように代わりにルックアップ表を使用してもよく、全てのその様な変形は本発明の範囲内にあるものと理解頂きたい。
【００７５】
ＲＯＮＩを取得すると、次に、ＲＯナビゲーション機構は、ＲＯファイルのそれぞれが１２８個のスロット又は場所を有している場合、ＲＯＮＩ／１２８の整数部分に等しいＲＯファイルインデクス又はｎｎｎを計算する（ブロック４１２）。ｎｎｎ又はＲＯファイルインデクスは、数ＲＯＮＩ／１２８の整数部分である。このｎｎｎ又はＲＯファイルインデクス値は、ＲＯファイルの通し番号である。次いで、そのＲＯファイル内のオフセットを、ＲＯＮＩ％１２８すなわちＲＯＮＩ  ｍｏｄ  １２８の値を計算することにより取得する（ブロック４１４）。
【００７６】
上で指摘したように、ダウンロードされたコンテンツファイルは、（図４のディレクトリツリー１３０のプレーヤー１ディレクトリと同様のディレクトリの様な）ディレクトリに割り当てられる。保護されている領域のＲＯファイル内に、ダウンロードされたばかりのこのコンテンツファイルの使用及び／又はコンテンツファイルへのアクセスを制御するのに使用されるＲＯを記憶するための場所を取得するために、ＲＯナビゲーション機構は、図６のやり方と同様なやり方で、保護されていないユーザーデータ領域の公開区画名を保護されている領域の保護されている区画名で置き換えることにより、保護されていないユーザーデータ領域内のディレクトリツリーに従って構築されたアクセス経路を、保護されている領域又は区画内のディレクトリツリーに従って構築されたものへ変換する（ブロック４１６）。ＲＯナビゲーション機構は、次いで、ＲＯファイル名、即ち「RO_file.nnn」を形成する(ブロック４１８)。ＲＯナビゲーション機構は、次いで、完全なＲＯファイル名を形成する（ブロック４２０）。一例として、プレーヤーｘが、ＲＯにより制御され、作成されるかダウンロードされることになる新規コンテンツファイルを作成する場合を想定すると、このＲＯが記憶されることになる完全なＲＯファイル名は、ブロック４０８、４１０、４１２、４１４、４１６、４１８、及び４２０に従って構築される。その場合には、作成される完全なＲＯファイル名は、「prot_partition/playerxdirectory/RO_file.nnn」となる。
【００７７】
ＲＯナビゲーション機構は、次いで、このＲＯファイル名を有するＲＯファイルが存在するか否かを調べて判断する（菱形４２１ａ）。このＲＯファイルが存在しない場合、機構は、ファイルを１つ作成して、保護されている領域又は区画のディレクトリツリー内の適切なディレクトリ（例えば、プレーヤーｘ）にそれを加える(ブロック４２１ｂ)。このＲＯファイルが存在する場合、機構は、完全なＲＯファイル名に基づくアクセス経路を使用して、当該ＲＯファイルを開く（ブロック４２２）。ＲＯナビゲーション機構は、次に、コンテンツファイルが、ブロック４０６でダウンロードされたのか即ち元はなかったのか否かを調べる（菱形４２４）。上の例では、そのコンテンツファイルはダウンロードされていたので、ＲＯナビゲーション機構は、ブロック４２６に進んで、ＲＯＮＩをダウンロードされたファイルのファイルヘッダに挿入する。而して、ＲＯＮＩは、各ＲＯを、それが制御しているコンテンツファイルと関係付ける役目も果たすと同時に、ＲＯナビゲーションと管理のための上で説明した機能も果たしている。
【００７８】
ＲＯ（キーを含む）が暗号化エンジン４０により作成されるか別のやり方（例えば、購入後にダウンロード）で取得されると、生成されるか上記のように取得されたキーが使用され、ダウンロードされたファイルが暗号化される（４２８）。暗号化された新しくダウンロードされたファイルは、メモリ装置２０内の公開領域又は区画のツリーのディレクトリプレーヤーｘに加えられる。このＲＯは、暗号化され、ブロック４１２で識別されたＲＯファイル内の、ブロック４１４で取得されたオフセットにより示された場所に挿入され（ブロック４３０）、保護されている区画又は領域のツリーのディレクトリプレーヤーｘのＲＯファイルに新しいＲＯエントリとして加えられる。ＲＯナビゲーション機構は、次にＲＯファイルを閉じ（ブロック４３２）、公開領域内のツリーのプレーヤーｘディレクトリのＲＯナビゲーションファイル内のその対応する状態ビットの値を、１から０に変更するが、ＲＯファイル状態ビットは、ＲＯＮＩの値を公開領域内のツリーのプレーヤーｘディレクトリのＲＯナビゲーションファイル内のオフセットとして使用して突き止められる。次いで、ＲＯナビゲーションファイルが閉じられる（ブロック４３４及び４３６）。
【００７９】
上記は、ＲＯと関係付けられることになるコンテンツファイルが最初にダウンロードされ暗号化される（及び／又は暗号解読される）ときの、２つのディレクトリツリーを使用したＲＯナビゲーション機構のプロセスである。既存のコンテンツファイル（即ち、ダウンロードされたものではないファイル）にアクセスすることが所望され、従ってＲＯナビゲーション機構が、コンテンツファイルにアクセスするのに必要なＲＯを見つけるよう要求される場合、図８のＲＯナビゲーション機構は以下のように動作する。ＲＯナビゲーション機構は、公開領域内のプレーヤーｘディレクトリの様な特定のディレクトリ内の保護されているコンテンツファイルを開き、コンテンツファイルが既に存在していることから、ブロック４５２に進むことになる。ＲＯナビゲーション機構は、次いで、コンテンツファイルのファイルヘッダから値ＲＯＮＩを取り出す（ブロック４５２）。ＲＯナビゲーション機構が、保護されているコンテンツファイルを開くとき、それは、保護されていないユーザーデータ領域のディレクトリツリー内で動作していることになる。例えば、保護されているコンテンツファイルが、プレーヤーｘディレクトリ内の歌曲ファイルの１つである場合、そのコンテンツファイルへのアクセス経路は、そのディレクトリツリーに従って構築される。ＲＯナビゲーション機構は、そこで、ブロック４１２から４２２の動作を上で説明したやり方で行って、コンテンツファイルと関係付けられているＲＯが記憶されている或る特定のＲＯファイルのＲＯファイルインデクス又はｎｎｎと、そのＲＯファイル内のＲＯの場所を示すオフセットを見つけ出す。ＲＯナビゲーション機構は、更に、公開領域内のディレクトリツリーに従った公開の又は保護されていないユーザーデータ領域へのアクセス経路を、保護されている領域内のディレクトリツリーに従って構築されたアクセス経路に変換し、ブロック４１６、４１８、及び４２０に基づき、保護されている領域の暗号解読ＲＯの完全なＲＯファイル名を確立する。認証プロセスの後、次いで、ＲＯナビゲーション機構は、構築された完全なＲＯファイル名に基づいて、保護されている領域内のＲＯファイルを開いて（ブロック４２２）ＲＯが容易に入手でき、取り出すことができるようにする。ＲＯナビゲーション機構は、次いで、コンテンツファイルが上記動作以前に存在していたか否かを調べる。本例では、それは存在しているので、機構はブロック４５４に進んで、適正なＲＯファイルのオフセットのＲＯエントリから暗号化されているＲＯを取り出す（ブロック２５４）。ＲＯは、次いで、暗号解読され、その中のキーを使用して、ＲＯの規則に従ってコンテンツファイルが暗号解読／暗号化されることになる（ブロック４５６）。
【００８０】
図９は、権利オブジェクト管理システムの更なる特性を説明するため、権利オブジェクトナビゲーション機構のファイルを削除する動作を例示しているフローチャートである。上で説明したＲＯナビゲーションファイル、ＲＯファイル構造を使用すると、コンテンツファイルを削除するのが特に簡単になる。これを図９のフローチャートに例示している。而して、この目的に使用されるＲＯナビゲーション機構は、ホスト装置２４又はメモリシステム１０の何れかに記憶され、実行されるコンピュータプログラムであってもよく、最初に、ディレクトリ内で、削除されるべき保護されているコンテンツファイルを識別する（ブロック５０２）。コンテンツファイルは、メモリ２０の保護されていない公開領域にあってもよい。ＲＯナビゲーション機構は、そこで、コンテンツファイルを開き、ファイルヘッダからＲＯＮＩを取得して、ファイルを閉じる（ブロック５０４）。次いで、機構は、コンテンツファイルと同じディレクトリ内のＲＯナビゲーションファイルを開く（ブロック５０６）。例えば、削除されるべきコンテンツファイルが、例えば、公開領域又は区画内のディレクトリツリーのプレーヤーｘディレクトリにある場合、ビットオフセットは、コンテンツファイルと同じディレクトリ（本例ではプレーヤーｘディレクトリ）内のＲＯナビゲーションファイル内で見つけ出される。ＲＯナビゲーション機構は、そこで、ＲＯＮＩをＲＯナビゲーションファイル内の１番目のエントリからのオフセットとして使用し、削除されるべきコンテンツファイルと関係付けられているＲＯエントリの、ＲＯファイル内での状態を示しているＲＯファイル状態ビットの位置を見つける。機構は、次にオフセット場所で見つけられたＲＯファイル状態ビットを０から１にリセットし、これにより、当該ファイル状態ビットの、ＲＯファイル内での対応するＲＯエントリ（ＲＯＥ）が、有効なＲＯを保有していないことを表示する（ブロック５０８）。これは、従って、ＲＯファイル内のその対応するＲＯＥの場所は、これより、新しいＲＯを記憶するのに使用することができ、実質的に「空である」又は「有効でない」ことを示している。実際に、保護されている領域（通常、認証を要する）に入り込んで、ＲＯファイル内のその場所のＲＯを削除する必要はない。ＲＯナビゲーション機構は、次に、ＲＯナビゲーションファイルを閉じて、コンテンツファイルの削除に進む（ブロック５１０と５１２）。
【００８１】
以上、本発明を、様々な実施形態を参照しながら説明してきたが、本発明の範囲から逸脱することなく変更及び修正を施すことができること、及び本発明の範囲は、特許請求の範囲並びにその等価物によってのみ定義されるものであることを理解されたい。例えば、図６のものと同様のプロセスは、タイトルキー記憶ファイルの１つのファイル内に、作成された暗号解読用のキーを記憶するための場所を見つけるのに、及び、タイトルキー記憶ファイルの１つのファイル内で、既存のファイルを暗号化するための既存の暗号化キーを見つけるのに、適用することもできる。キー又はＲＯは、歌曲、映画、ゲームの様なメディアタイトル、並びにタイトルの有無にかかわらず他の型式のコンテンツを含め、あらゆるコンテンツの保護に使用されてもよい。ナビゲーション又は場所情報は、ヘッダとは異なっているコンテンツファイルの部分、例えばファイル名の中に記憶してもよい。ここで参照した全ての引例は、参考文献として援用されるものとする。
【図面の簡単な説明】
【００８２】
【図１】本発明を例示している、ホスト装置と通信しているメモリシステムのブロック図である。
【図２】タイトルキーファイルの構造を例示している図である。
【図３Ａ】キーナビゲーションファイルの構造を例示している図である。
【図３Ｂ】図３Ａのキーナビゲーションファイルと図２に示す型式の複数のタイトルキーファイルを示している図であり、それらの間の関係を例示している図である。
【図４】キーナビゲーション及びキー管理に有用な、保護されていないユーザーデータ領域のディレクトリツリーを例示している図である。
【図５】キーナビゲーション及びキー管理に有用な、保護されている領域のディレクトリツリーの図である。
【図６】キー管理のキーナビゲーション機構を例示しているフローチャートである。
【図７】キー管理システムの更なる特性を例示するために、ファイルを削除するためのキーナビゲーション機構を例示しているフローチャートである。
【図８】権利オブジェクト管理のための権利オブジェクトナビゲーション機構を例示しているフローチャートである。
【図９】権利オブジェクト管理システムの更なる特性を例示するために、ファイルを削除するための権利オブジェクトナビゲーション機構を例示しているフローチャートである。
【図１】
2009516961.tif 000003
【図２】
2009516961.tif 000004
【図３Ａ】
2009516961.tif 000005
【図３Ｂ】
2009516961.tif 000006
【図４】
2009516961.tif 000007
【図５】
2009516961.tif 000008
【図６】
2009516961.tif 000009
【図７】
2009516961.tif 000010
【図８】
2009516961.tif 000011
【図９】
2009516961.tif 000012
【国際調査報告】
2009516961.tif 000013
2009516961.tif 000014
2009516961.tif 000015