説明

キー及び/又は権利オブジェクトを管理する方法及びシステム

権利オブジェクト(RO)を、望ましくは、認証されたユーザーだけがアクセス可能になっている保護されている領域に、記憶するのに、1つ又はそれ以上の権利オブジェクト(RO)ファイルを使用することができる。ROナビゲーションファイルは、望ましくは、ROファイル内の或る場所が有効なROを保有しているか否かを識別する各状態ビットを保有している保護されていない公開領域に記憶されている。ROファイル内のROの場所と、ROナビゲーションファイル内の、ROファイル内のその対応する場所が有効なROを保有しているか否かを識別する状態ビットの場所との間には、1対1の対応関係が在るのが望ましい。ROファイル内の特定の場所が有効なROを保有しているか否かは、ROナビゲーションファイル内のその対応する状態ビットを調べることにより見つけることができる。ROファイル内の特定の場所が有効なROを保有しているか否かをこのやり方で見極めることにより、認証プロセスを通過する必要無しに、ROを削除することが可能になる。ROファイル内に、新しいROを記憶するための空のスロットを見つけるプロセスも簡単になる。これにより、RO管理の効率は格段に向上する。同様のシステムは、コンテンツファイルを保護するためのコンテンツ暗号化/暗号化キーの管理にも使用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概括的には、暗号化/暗号解読システムに関し、より詳細には、暗号化及び/又は暗号解読に使用されるキー、及び/又はコンテンツの使用又はコンテンツへのアクセスを制御する権利オブジェクトを、管理するためのシステムに関する。
【背景技術】
【0002】
音楽、映像、及びゲームの様なメディアコンテンツは、デジタルファイルとして配給されることが増えている。その様なデジタルコンテンツは、インターネット及び記憶装置の使用を含め、複数のチャネルを介して広く配信されている。デジタルコンテンツは、例えば、磁気又は光ディスク、テープ、及びフラッシュメモリの様な不揮発性メモリなど、多種多様な装置に記憶されてもよい。それら記憶装置のデジタルコンテンツは、デスクトップ及びポータブル両様式のパーソナルコンピュータ、iPod(商標)及び他の種類の内蔵型又は自立型メディアプレーヤー、携帯情報端末(「PDA」)、ゲームコントローラ、MP3プレーヤー(商標)、及び携帯電話送受話器の様な多岐にわたる各種装置(ここでは総称的に「ホスト装置」と称する)により、再生され、記憶され、及び操作される。
【0003】
デジタルコンテンツの所有者がコンテンツへの認可されていないアクセスを減らすか又は防止するために、デジタルコンテンツは、認可されているユーザーしかコンテンツにアクセスできないように暗号化されることが多い。歌曲の様な多種多様なデジタルファイルの急増に伴い、管理する必要があるキーの数は膨大になりつつある。また、セキュリティー強化のために、デジタルファイルのそれぞれの暗号化及び暗号解読に多数のキーが関与することになる。従って、デジタル権利管理((digital rights management)「DRM」)に予想される一つの問題は、膨大な数のキーを効率的に管理すると共に、何れの特定のデジタルファイルにおいても、それを暗号化及び/又は暗号解読するための公正なキーを判定する性能である。
【0004】
複数のキー管理システムが使用されている。第1の型式のキー管理システムでは、暗号化及び/又は暗号解読キーを識別し見つけるのが更に容易になるように、コンテンツファイルに名前が付けられる。ファイル暗号化システム((encrypting file system)「EFS」)として知られている別の型式のキー管理システムでは、ファイルの暗号化に使用されるキー自体が暗号化され、この暗号化されたキーが、対応する暗号化されたコンテンツファイルのヘッダに記憶される。上記キー管理システムは、アプリケーションによっては有用であるが、それらはそれぞれ限界がある。上記システムはどれも全面的に満足のいくものではない。従って、更に柔軟性に富み、更に使用し易いキー管理システムを提供することが望まれている。
【0005】
デジタル権利管理(DRM)では、各コンテンツファイルは、コンテンツファイルがどのようにアクセスされ及び/又は使用されるかに関する又はそれを制御する規則と関係付けられてもよい。その様な規則を、DRMでは権利オブジェクトと称している。例えば、規則は、コンテンツファイルが、限定された回数のみ、又は特定の失効日以前にのみ、又は特定の期間中にのみ、アクセスできることを定めてもよい。従って、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御することが望まれるときには、上で説明した規則並びにコンテンツファイルの暗号化及び/又は暗号解読に使用されるコンテンツ暗号化/暗号解読キーを保有することができる権利オブジェクトが作成される。権利オブジェクトは、そこで、更に、権利オブジェクトにより制御されるコンテンツファイルと関係付けられる。多くの場合、権利オブジェクトは、コンテンツファイルの暗号化/暗号解読に使用されるコンテンツ暗号化/暗号解読キーへのアクセスを制御することにより、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御する。而して、保護されているコンテンツファイルを使用すること及び/又はコンテンツファイルにアクセスすることができるようになるには、先ず、それと関係付けられている権利オブジェクトを取り出すか何らかのやり方で取得し、その権利オブジェクトの規則を解読し、そこで、その規則に則ってコンテンツファイルを使用し又はコンテンツファイルにアクセスすることになる。コンテンツファイルが暗号化されている場合は、関係付けられている権利オブジェクトから単数又は複数のキーを取り出し、それを使用してファイルを暗号解読して、初めてその中のコンテンツを使用し又はコンテンツにアクセスすることができる。コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御することが望まれるときは、そのコンテンツファイルと関係付けられており、ファイルの使用及び/又はファイルへのアクセスを統制する規則を有し、且つコンテンツファイルの暗号化/暗号解読に使用される何らかの暗号化/暗号解読キーを有している、権利オブジェクトが作成される。
【0006】
DRMでは、管理する必要がある権利オブジェクトは多数に上るであろう。而して、更に柔軟性に富み、使用し易く、多数の権利オブジェクトを管理することができる、権利オブジェクトを管理するための管理システムを提供することも望まれてよい。
【発明の開示】
【課題を解決するための手段】
【0007】
本発明の1つの実施形態によれば、キー管理をやり易くするために、キーナビゲーションファイルと1つ又は複数のキー記憶ファイルが使用されてもよい。暗号化/暗号解読されることになるコンテンツファイルは、それぞれ、どのキー記憶ファイルが、当該コンテンツファイルを暗号化及び/又は暗号解読するために使用されることになるキーを保有しているか、を表す場所情報を保有しているヘッダ部分を備えている。キーナビゲーションファイルは、1つ又はそれ以上のキー記憶ファイル内の1つ又はそれ以上の場所に、有効キーが記憶されているか否かを示す状態情報を保有している。これは、1つ又はそれ以上のキー記憶ファイル内にキーを記憶するための場所を見つけ出すプロセスをやり易くする。状態情報は、1つ又は複数のキー記憶ファイル内の、1つ又はそれ以上の有効キーが記憶されていない1つ又はそれ以上の場所を示しているのが望ましい。
【0008】
上で説明したキーナビゲーションファイルと1つ又はそれ以上のキー記憶ファイルを備えているキーナビゲーション機構は、不揮発性コンピュータ読取可能媒体に記憶されてもよい。
【0009】
上の実施形態の1つの実施例では、キーナビゲーションファイルは、記憶媒体の公開の保護されていない領域に記憶されており、キーを記憶するための1つ又はそれ以上のキー記憶ファイルは、認証されたユーザー、アプリケーション又は装置しかアクセスすることができない、媒体の保護されている領域に記憶されている。明白な理由により、1つ又はそれ以上のキー記憶ファイルは、認可されていないアクセスに対してアクセス可能になっていない保護されている領域に記憶するのが望ましい。而して、キー記憶ファイル内の1つ又はそれ以上の場所が有効キーを保有しているか否かを示す状態情報を保有するキーナビゲーションファイルを、公開の領域に提供することにより、キー管理性能は一段と強化されることになる。而して、キー記憶ファイル内の特定のキーが有効か否かを見極めるために保護されている領域にアクセスする必要はなく、代わりに、この情報は、認証無しにアクセスすることができるキーナビゲーションファイル内で容易に取得できる。また、この特性は、特に、コンテンツファイル及びその暗号化/暗号解読キーを容易に削除できるようにする。1つの実施形態では、キーを削除するために、キーを保有している保護されている領域のキー記憶ファイルに実際にアクセスする必要なしに、単にキーナビゲーションファイル内の状態情報を変えるだけで、キーの削除が成し遂げられる。
【0010】
本発明のもう1つの実施形態によれば、キーナビゲーションファイルと1つ又はそれ以上のキー記憶ファイルは、コンテンツファイルを暗号化/暗号解読するためのプロセスに容易に利用される。キーナビゲーションファイルのエントリのそれぞれは、1つ又はそれ以上のキー記憶ファイル内の、複数の暗号化/暗号解読キーの1つを記憶するための場所に対応している。キーナビゲーションファイルは、その中に、1つ又はそれ以上のキー記憶ファイル内の或る場所の有効キーに対応していないエントリを見つけることを許可するために開かれてもよい。暗号化/暗号解読キーが生成され、コンテンツファイルはそれにより暗号化/暗号解読される。次いで、暗号化/暗号解読キーは、前記1つのキー記憶ファイル内の、キーナビゲーションファイル内の見つけられた当該エントリに対応している場所に記憶される。
【0011】
上で説明した実施形態の1つの実施例では、キーナビゲーション情報は、キーナビゲーションファイル内の、有効キーに対応していないことが見い出されたエントリの場所から導き出され、この場所情報が暗号化されたファイルのヘッダ部分に挿入される。而して、逆のプロセスでは、暗号化されたファイルのヘッダ部分の場所情報を解読することにより、単数又は複数のキー記憶ファイルの1つの中の暗号化/暗号解読キーの場所が判明し、取り出されて、暗号化されたファイルの暗号解読及び/又は暗号化が行われる。
【0012】
本発明の別の実施形態によれば、コンテンツファイルは、記憶媒体の保護されている領域内のキー記憶ファイルの暗号解読キーを使用して暗号解読される。コンテンツファイルのヘッダ部分は、キー記憶ファイル内の、コンテンツファイルの/暗号解読のための暗号化/暗号解読キーの場所を示すキーナビゲーション情報を保有している。キーナビゲーション情報が、コンテンツファイルのヘッダ部分から取り出され、次いで、そのキーナビゲーション情報から、暗号解読キーが記憶されているキー記憶ファイル内の場所が導き出される。次いで、暗号解読キーが、保護されている領域から取得され、当該コンテンツファイルを暗号解読するのに使用される。このプロセスは、キー記憶ファイル内の、コンテンツファイルを暗号化するための特定のキーを発見するのにも利用でき、その場合は、そのキーの場所情報は、当該コンテンツファイルのヘッダ内で見つけられる。
【0013】
直ぐ上で説明した実施形態の1つの特定の実施例では、キーを記憶するために複数のキー記憶ファイルが使用されている。この実施例では、コンテンツファイルのヘッダ部分のキーナビゲーション情報は、インデスクを備えており、このインデクスは整数である。キー記憶ファイルのそれぞれは、キーを記憶するためのm個の場所を保有している。インデクスをmで割ると、商が得られる。商の整数部は、複数のキー記憶ファイルのどの1つが暗号解読/暗号化キーを記憶しているかを示しており、ここではオフセットとも呼ばれる余り部分は、そのようなキー記憶ファイル内の、暗号解読/暗号化キーが記憶されている場所を示している。
【0014】
本発明の更に別の実施形態は、キー記憶ファイルに記憶されており、キー記憶ファイルに記憶されているキーが有効か否かを示す状態情報を保有しているキーナビゲーションファイルを用いたコンテンツファイルの暗号化/暗号解読に使用される、暗号化/暗号解読キーを、無効にするための方法に着眼している。コンテンツファイルは、キー記憶ファイル内のキーの場所を示す場所情報を保有しているヘッダ部分を備えている。キーファイル内のキーの場所情報は、コンテンツファイルのヘッダ部分から取得される。この場所情報を使用して、キーナビゲーションファイル内のキーの状態情報が見つけられる。
【0015】
キーナビゲーションファイル内のキーの状態情報が変更されて、キーが無効であることが示される。
【0016】
上で説明した方法は、何れも、プロセッサにより実行されるコンピュータプログラムにより行われてもよく、プログラムはコンピュータ読取可能記憶媒体に記憶されている。
【0017】
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、キー管理をやり易くするために使用されてもよい。コンピュータプログラムは、キーナビゲーションファイルを作成し、1つ又はそれ以上のキー記憶ファイルを、それがまだ存在していない場合には作成する。各コンテンツファイルは、どのキー記憶ファイルがそのコンテンツファイルの暗号化/暗号解読キーを保有しているかを示す場所情報を保有しているヘッダ部分を備えている。キーナビゲーションファイルは、1つ又はそれ以上のキー記憶ファイル内の1つ又はそれ以上の場所が有効キーを保有しているか否かを示す状態情報を保有している。
【0018】
上記実施形態の1つの実施例では、キーナビゲーションファイル内に、少なくとも1つのキー記憶ファイル内の有効キーに対応していないエントリが発見される。このコンテンツファイルのキーナビゲーション情報が、キーナビゲーションファイル内の前記エントリの場所から取得される。暗号化/暗号解読キーが生成され、それを使用して、当該コンテンツファイルが暗号化/暗号解読される。暗号化/暗号解読キーは、少なくとも1つのキー記憶ファイル内の、前記エントリに対応している場所に記憶される。
【0019】
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、記憶装置の保護されている領域のキー記憶ファイル内の暗号化/暗号解読キーを使用して、コンテンツファイルを暗号化/暗号解読する。コンテンツファイルヘッダは、キー記憶ファイル内の暗号化/暗号解読キーの場所を示すキーナビゲーション情報を保有している。コンピュータプログラムは、コンテンツファイルからキーナビゲーション情報を取り出し、このキーナビゲーション情報から、キー記憶ファイル内の、暗号化/暗号解読キーが記憶されている場所を導き出し、暗号化/暗号解読キーを取得して、このキーを使用してコンテンツを暗号化/暗号解読する。この実施形態の1つの実施例では、それぞれm個の場所を保有している複数のキー記憶ファイルが、キーを記憶するのに使用されている。キーナビゲーション情報は、インデクスを備えており、このインデクスは整数であり、コンピュータプログラムは、このインデクスをmで割って商を得ることにより、キー記憶ファイルのどの1つが暗号解読/暗号化キーを記憶しているかと、そのキー記憶ファイル内の、キーが記憶されている場所とを見つける。商の整数部は、複数のキー記憶ファイルのどの1つが暗号解読/暗号化キーを記憶しているかを示しており、ここではオフセットとも呼ばれている余り部分は、そのキー記憶ファイル内の、暗号解読/暗号化キーが記憶されている場所を示している。
【0020】
上で説明したコンピュータプログラムにより実施される方法は、本発明の他の態様の対象である。
【0021】
本発明の更に別の実施形態によれば、不揮発性コンピュータ読取可能媒体は、キーナビゲーション機構を記憶しており、この媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えている。この機構は、キーナビゲーションファイルと、少なくとも1つのキー記憶ファイルを備えている。各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に、複数のコンテンツファイルの対応する1つの暗号化及び/又は暗号解読に使用される複数のキーを保有している。この機構は、媒体の少なくとも1つの保護されていない領域に、複数のコンテンツファイルの一覧とキーナビゲーションファイルを保有しているディレクトリを備えている第1ディレクトリツリーを含んでいる。この機構は、更に、媒体の少なくとも1つの保護されている領域に、少なくとも1つのキー記憶ファイル内のキーの一覧を保有しているディレクトリを備えている第2ディレクトリツリーを含んでおり、前記2つのディレクトリツリーは、互いに鏡像となる構造を有している。
【0022】
上で説明したシステムと方法は、キーの管理に代えて又はこれに加えて、コンテンツへのアクセス及び/又はコンテンツの使用を統制する規則の様なコンテンツ保護情報を管理するように適合させてもよい。而して、一使用例では、上で説明したシステムと方法は、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御する権利オブジェクトを管理するように適合されてもよい。
【0023】
而して、本発明の更に別の実施形態によれば、権利オブジェクト管理をやり易くするために、権利オブジェクトナビゲーションファイル及び1つ又はそれ以上の権利オブジェクト記憶ファイルが使用されてもよい。権利オブジェクトを用いて制御されることになるコンテンツファイルは、それぞれ、どの権利オブジェクト記憶ファイルが、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御するのに使用されるべき権利オブジェクトを保有しているか、を示す場所情報を保有しているヘッダ部分を備えている。権利オブジェクトナビゲーションファイルは、1つ又はそれ以上の権利オブジェクト記憶ファイル内の1つ又はそれ以上の場所に、有効な権利オブジェクトが記憶されているか否かを示す状態情報を保有している。これは、1つ又はそれ以上の権利オブジェクト記憶ファイル内の権利オブジェクトキーを記憶するための場所を見つけ出すプロセスをやり易くする。状態情報は、1つ又は複数の権利オブジェクト記憶ファイル内の、1つ又はそれ以上の有効なキーが記憶されていない1つ又はそれ以上の場所を示すのが望ましい。
【0024】
上で説明した権利オブジェクトナビゲーションファイルと1つ又はそれ以上の権利オブジェクト記憶ファイルを備えている権利オブジェクトナビゲーション機構は、不揮発性コンピュータ読取可能媒体に記憶されてもよい。
【0025】
上の実施形態の1つの実施例では、権利オブジェクトナビゲーションファイルは、記憶媒体の公開の保護されていない領域に記憶されており、権利オブジェクトを記憶するための1つ又はそれ以上の権利オブジェクト記憶ファイルは、認証されたユーザー、アプリケーション、又は装置しかアクセスすることができない、媒体の保護されている領域に記憶されている。明白な理由により、1つ又はそれ以上の権利オブジェクト記憶ファイルは、認可されていないアクセスに対してはアクセス可能になっていない保護されている領域に記憶するのが望ましい。而して、権利オブジェクト記憶ファイルの1つ又はそれ以上の場所が有効な権利オブジェクトを保有しているか否かを示す状態情報を保有している権利オブジェクトナビゲーションファイルを、公開領域に提供することにより、権利オブジェクト管理性能は一段と強化されることになる。而して、権利オブジェクト記憶ファイル内の特定の権利オブジェクトが有効か否かを見極めるために保護されている領域にアクセスする必要はなく、代わりに、この情報は、認証無しにアクセスすることができる権利オブジェクトナビゲーションファイル内で容易に入手することができる。また、この特性は、特に、コンテンツファイル及びこれに関係付けられている権利オブジェクトを容易に削除できるようにする。1つの実施例では、権利オブジェクトを削除するために、権利オブジェクトを保有している保護されている領域の権利オブジェクト記憶ファイルに実際にアクセスする必要無しに、単に権利オブジェクトナビゲーションファイル内の状態情報を変えれば、権利オブジェクトの削除が成し遂げられる。
【0026】
本発明の1つ又はそれ以上の実施形態によれば、権利オブジェクトナビゲーションファイルと1つ又はそれ以上の権利オブジェクト記憶ファイルは、権利オブジェクトをコンテンツファイルと関係付けるプロセスに容易に利用することができる。権利オブジェクトナビゲーションファイルのエントリのそれぞれは、1つ又はそれ以上の権利オブジェクト記憶ファイル内の、複数の権利オブジェクトの1つを記憶するための場所に対応している。権利オブジェクトナビゲーションファイルは、その中に、1つ又はそれ以上の権利オブジェクト記憶ファイル内の或る場所の有効な権利オブジェクトに対応していないエントリを見つけることを許可するために開かれてもよい。権利オブジェクトが生成され、コンテンツファイルはそれと関係付けられる。そこで、権利オブジェクトは、前記1つの権利オブジェクト記憶ファイル内の、権利オブジェクトナビゲーションファイル内で見つけられた当該エントリに対応している、場所に記憶される。
【0027】
上の実施形態の1つの実施例では、権利オブジェクトナビゲーション情報は、権利オブジェクトナビゲーションファイル内の、有効な権利オブジェクトに対応していないことが見い出されたエントリの場所から導き出され、この場所情報が暗号化されたファイルのヘッダ部分に挿入される。而して、逆のプロセスでは、コンテンツファイルのヘッダ部分の場所情報を解読することにより、単数又は複数の権利オブジェクト記憶ファイルの1つの中の権利オブジェクトの場所が判明し、その権利オブジェクトが、コンテンツファイルの使用及び/又はアクセスを行うために取り出される。
【0028】
本発明の別の実施形態によれば、コンテンツファイルは、記憶媒体の保護されている領域内の権利オブジェクト記憶ファイルの暗号化/暗号解読権利オブジェクトを使用して暗号化/暗号解読されてもよい。コンテンツファイルのヘッダ部分は、権利オブジェクト記憶ファイル内の、コンテンツファイルに関係付けられている権利オブジェクトの場所を示す権利オブジェクトナビゲーション情報を保有している。権利オブジェクトナビゲーション情報が、コンテンツファイルのヘッダ部分から取り出され、次いで、その権利オブジェクトナビゲーション情報から、権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所が導き出される。次いで、権利オブジェクトが、保護されている領域から取得され、当該コンテンツファイルにアクセスするため及び/又は何らかのやり方でコンテンツファイルを使用するために利用される。このプロセスは、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスが望まれるとき、権利オブジェクト記憶ファイル内の特定の権利オブジェクトを発見するのにも利用でき、その場合は、その権利オブジェクトの場所情報は当該コンテンツファイルのヘッダに見つけられる。
【0029】
直ぐ上で説明した実施形態の1つの特定の実施例では、権利オブジェクトを記憶するために複数の権利オブジェクト記憶ファイルが使用されている。この実施例では、コンテンツファイルのヘッダ部分の権利オブジェクトナビゲーション情報は、インデスクを備えており、このインデクスは整数である。権利オブジェクト記憶ファイルのそれぞれは、権利オブジェクトを記憶するためのm個の場所を保有している。インデクスをmで割ると、商が得られる。商の整数部分は、複数の権利オブジェクト記憶ファイルのどの1つが権利オブジェクトを記憶しているかを示しており、ここではオフセットとも呼ばれている余り部分は、その権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所を示している。
【0030】
本発明の更に別の実施形態は、権利オブジェクト記憶ファイルに記憶されている権利オブジェクトが有効か否かを示す状態情報を保有している権利オブジェクトナビゲーションファイルを用いて、権利オブジェクト記憶ファイルに記憶されているコンテンツファイルの使用及び/又はコンテンツファイルへのアクセスの制御に使用される、権利オブジェクトを、無効にするための方法に着眼している。コンテンツファイルは、権利オブジェクト記憶ファイル内の権利オブジェクトの場所を示す場所情報を保有しているヘッダ部分を備えている。権利オブジェクトファイル内の権利オブジェクトの場所情報は、コンテンツファイルのヘッダ部分から取得される。権利オブジェクトナビゲーションファイル内の権利オブジェクトの状態情報は、場所情報を使用して見つけられる。権利オブジェクトナビゲーションファイルの権利オブジェクトの状態情報が変更され、権利オブジェクトは無効であると示される。
【0031】
上で説明した方法は何れも、プロセッサにより実行されるコンピュータプログラムによって行われてもよく、プログラムはコンピュータ読取可能記憶媒体に記憶されている。
【0032】
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、権利オブジェクト管理をやり易くするために使用されてもよい。コンピュータプログラムは、権利オブジェクトナビゲーションファイルを作成し、且つ、1つ又はそれ以上の権利オブジェクト記憶ファイルを、それがまだ存在していない場合には作成する。各コンテンツファイルは、どの権利オブジェクト記憶ファイルがそのコンテンツファイルの権利オブジェクトを保有しているかを示す場所情報を保有しているヘッダ部分を備えている。権利オブジェクトナビゲーションファイルは、1つ又はそれ以上の権利オブジェクト記憶ファイル内の1つ又はそれ以上の場所が有効な権利オブジェクトを保有しているか否かを示す状態情報を保有している。
【0033】
上記実施形態の1つの実施例では、権利オブジェクトナビゲーションファイル内に、少なくとも1つの権利オブジェクト記憶ファイル内の有効な権利オブジェクトに対応していないエントリが発見される。このコンテンツファイルの権利オブジェクトナビゲーション情報は、権利オブジェクトナビゲーションファイル内の前記エントリの場所から取得される。権利オブジェクトが生成され、当該コンテンツファイルと関係付けられる。権利オブジェクトは、少なくとも1つの権利オブジェクト記憶ファイル内の、前記エントリに対応している場所に記憶される。
【0034】
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、記憶装置の保護されている領域の権利オブジェクト記憶ファイル内の権利オブジェクトを用いて、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御する。コンテンツファイルヘッダは、権利オブジェクト記憶ファイル内の権利オブジェクトの場所を示す権利オブジェクトナビゲーション情報を保有している。コンピュータプログラムは、コンテンツファイルから権利オブジェクトナビゲーション情報を取り出し、この権利オブジェクトナビゲーション情報から、権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所を導き出し、権利オブジェクトを取得して、その権利オブジェクトを用いてコンテンツファイルを使用し又はコンテンツファイルにアクセスする。この実施形態の1つの実施例では、それぞれm個の場所を保有している複数の権利オブジェクト記憶ファイルが、権利オブジェクトを記憶するのに使用されている。権利オブジェクトナビゲーション情報は、インデスクを備えており、このインデクスは整数であり、コンピュータプログラムは、このインデクスをmで割って商を取得することにより、権利オブジェクト記憶ファイルのどの1つが権利オブジェクトを記憶しているかと、その権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所とを見つける。商の整数部分は、複数の権利オブジェクト記憶ファイルのどの1つが権利オブジェクトを記憶しているかを示しており、ここではオフセットとも呼ばれている余り部分は、その権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所を表している。
【0035】
本発明の更に別の実施形態によれば、不揮発性コンピュータ読取可能媒体は、権利オブジェクトナビゲーション機構を記憶しており、この媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えている。この機構は、権利オブジェクトナビゲーションファイルと少なくとも1つの権利オブジェクト記憶ファイルを備えている。各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に、複数のコンテンツファイルの対応する1つの使用及びファイルへのアクセスを制御するのに使用される複数の権利オブジェクトを保有している。この機構は、媒体の少なくとも1つの保護されていない領域に、複数のコンテンツファイルの一覧と権利オブジェクトナビゲーションファイルを保有しているディレクトリを備えている第1ディレクトリツリーを含んでいる。機構は、更に、媒体の少なくとも1つの保護されている領域に、少なくとも1つの権利オブジェクト記憶ファイル内の権利オブジェクトの一覧を保有しているディレクトリを備えている第2ディレクトリツリーを含んでおり、前記2つのディレクトリツリーは、互いを鏡像とする構造を有している。
【0036】
上で説明したコンピュータプログラムにより実施される方法は、本発明の他の態様の対象である。
【0037】
上の特性は、単独で、又は何れかの組み合わせで一緒に使用されてもよい。
【発明を実施するための最良の形態】
【0038】
説明を分かり易くするために、本出願では、同一の構成要素は、同じ番号を付して識別している。
【0039】
本発明の様々な実施形態を実施することができるメモリシステムの一例を図1のブロック図に示している。図1に示すように、メモリシステム10は、中央演算処理ユニット(CPU)12、バッファ管理ユニット(BMU)14、ホストインターフェースモジュール(HIM)16とフラッシュインターフェースモジュール(FIM)18、フラッシュメモリ20、及び周辺アクセスモジュール(PAM)22を含んでいる。メモリシステム10は、ホストインターフェースバス26及びポート26aを通してホスト装置24と通信する。フラッシュメモリ20は、NAND型式でもよいが、ホスト装置24のためのデータ記憶部を提供している。CPU12のソフトウェアコードもフラッシュメモリ20に記憶されている。FIM18は、フラッシュインターフェースバス28及びポート28aを通してフラッシュメモリ20に接続されている。HIM16は、デジタルカメラ、デスクトップ又はポータブルパーソナルコンピュータ、携帯情報端末(PDA)、デジタルメディアプレーヤー、MP3プレーヤー、ビデオゲームプレーヤー、及び携帯電話又は他のデジタル装置の様なホストシステムへの接続に適している。周辺アクセスモジュール22は、CPU12と通信するため、FIM、HIM、及びBMUの様な適切な制御モジュールを選択する。1つの実施形態では、システム10の点線で囲んだボックス内の構成要素の全ては、メモリカード又はスティック10’の様な単一のユニットに封入されてよく、望ましくは、同一ハウジング又は容器内のカード又はスティックにカプセル封入されてもよい。
【0040】
バッファ管理ユニット14は、ホストダイレクトメモリアクセス(HDMA)32、フラッシュダイレクトメモリアクセス(FDMA)制御装置34、アービター36、バッファランダムアクセスメモリ(BRAM)38、及び暗号エンジン40を含んでいる。アービター36は、常にたった1つのマスター又はイニシエータ(HDMA32、FDMA34、又はCPU12が考えられる)だけがアクティブになるように共有型のバスアービターであり、スレーブ又はターゲットはBRAM38である。アービターは、BRAM38への適切なインシエータ要求のチャネリングに責任を持つ。HDMA32とFDMA34は、HIM16、FIM18、及びBRAM38又はCPUランダムアクセスメモリ(CPU RAM)12aの間を輸送されるデータに責任を持つ。HDMA32及びFDMA34それぞれの動作は従来通りなので、ここでは詳しく説明する必要はない。BRAM38は、ホスト装置24、フアッシュメモリ20、及びCPU RAM12aの間を送信されるデータをバッファリングするのに使用されている。HDMA32とFDMA34は、HIM16/FIM18とBRAM38又はCPU RAM12aの間でデータを転送すること及びセクタ転送完了を表示することに責任を持つ。
【0041】
先ず、フラッシュメモリ20からのデータがホスト装置24により読み取られるとき、メモリ20内の暗号化されているデータは、バス28、FIM18、FDMA34、暗号エンジン40を通して取り出され、暗号エンジン40で、暗号化されているデータは暗号解読され、BRAM38に記憶される。暗号解読されたデータは、次いで、BRAM38から、HDMA32、HIM16、バス26を通して、ホスト装置24に送られる。BRAM38から取り出されたデータは、HDMA32に送られる前に、暗号エンジン40を用いて再度暗号化されてもよいので、ホスト装置24に送られるデータは再度暗号化されるが、メモリ20に記憶されているデータが暗号解読された際のキー及び/又はアルゴリズムとは異なるキー及び/又はアルゴリズムを用いて暗号化される。望ましくは、或る代わりの実施形態では、上で説明したプロセスの中で暗号解読されたデータをBRAM38に記憶するのではなく、というのも、その様なデータは認可されていないアクセスに曝されることになることがあるので、メモリ20からのデータは、暗号解読されると、暗号エンジン40により再度暗号化されてからBRAM38に送られる。BRAM38内の暗号化されたデータは、次いで、先ほどのように、ホスト装置24に送られる。以上、読出プロセスの際のデータの流れを説明した。
【0042】
データがホスト装置24によりメモリ20に書き込まれるときには、データスの流れの方向は逆になる。例えば、暗号化されていないデータが、ホスト装置により、バス26、HIM16、HDMA32を通して、暗号エンジン40に送られると、そのデータは、BRAM38に記憶される前に、エンジン40により暗号化されてもよい。代わりのやり方では、暗号化されていないデータがBRAM38に記憶されてもよい。データは、この場合、メモリ20への途中でFDMA34に送られる前に暗号化される。書き込まれるデータが多段暗号化処理を受ける場合、エンジン40がその処理を完遂して初めて、この処理されたデータがBRAM38に記憶されるのが望ましい。
【0043】
図1に示すメモリシステム10は、フラッシュメモリを保有しているが、システムは、別のやり方として、代わりに、磁気ディスク、光学CDの様な別の型式の不揮発性メモリ、並びその他のあらゆる型式の書き換え可能な不揮発性メモリシステムを保有していてもよく、上で説明した様々な利点は、その様な代わりの実施形態にも等しく当てはまる。代わりの実施形態では、やはり望ましいやり方として、メモリは、同一の物理的個体(例えば、メモリカードやスティックなど)内に、メモリシステムの残りの構成要素と共にカプセル封入されている。
タイトルキー管理
【0044】
図2は、本発明の1つの実施形態を例示するために、タイトルキーファイルの構造を示している概略図である。デジタル権利管理のために多数の暗号化/暗号解読キーが採用されている場合、それらキーを図2に示す様な複数の個別タイトルキーファイルに編成し記憶するのが便利であり得る。図2の実施形態では、タイトルキーファイル102は、127個のスロット又は場所を有し、127個までのキーを保有することができる設計である。図2に示すように、ファイル102は、合計128個のスロット又は場所を保有しており、一番最初のスロット又は場所102aは、ヘッダ用に予約され、キーを記憶するのには使用されない。最初は、127個のスロット又は場所には、全て1又は0、或いは任意の値が入っていてもよく、それらは有効なキー値ではない。初期値に上書きすることにより、有効なタイトルキーエントリ(「TKE」)が127個のスロット又は場所に連続的に書き込まれるのが望ましく、全127個のスロット又は場所が有効キー値で満たされたとき、それらは、以下の値、即ちTKE1、TKE2、・・・TKE127、を保有することになる。特定のタイトルキーエントリが有効キーであるか否かは、図3Aに例示しているキーナビゲーションファイルに記憶されているタイトルキー状態ビットにより示されるのが望ましい。而して、ファイル102内の何がしかの特定のタイトルキーエントリの対応するタイトルキー状態ビットを調べれば、タイトルキーファイル102に実際にアクセスすること無く、そのエントリが有効キーから構成されているか又は有効キーを保有しているか否かを判定することができる。
【0045】
図3Aは、キーナビゲーションファイルの、その構造を示す概略図である。図3Aに示すように、キーナビゲーションファイル104は、多数のキーファイル状態(「KFS」)フィールド、即ちKFS000、KFS001、・・・KFS031、KFS032、KFS033、・・・KFS063・・・を含んでいる。タイトルキー状態フィールドのそれぞれは、対応するタイトルキーファイルのタイトルキー状態ビットを保有している。而して、KFS000とタイトルが付けられたキーファイル状態フィールド104aは、タイトルキーファイル102の127個のタイトルキーエントリの127個のタイトルキー状態ビットを保有することになるので、ファイル104aは、16バイトの記憶部を必要とする。暗号化/暗号解読に使用されるキーの個数が127を超えた場合は、タイトルキーファイル102のスロット又は場所は全て使い果たされているので、127個を越えている分のキーを記憶するための新しいタイトルキーファイルを作成することが必要になる。そこで、タイトルキー状態フィールド104bが、キーナビゲーションファイル104内に、その新しいタイトルキーファイル内の超過したタイトルキーエントリの状態を表示するタイトルキー状態ビットを記憶するために作成される。図3Aは、少なくとも64個のタイトルキーファイルが作成された状況を例示しており、キーナビゲーションファイル104は、KFS000からKFS063までの少なくとも64個のタイトルキー状態フィールドを含んでいる。キーナビゲーションファイル104とタイトルキーファイルの間の関係は、図3Bに更に詳しく示されている。
【0046】
図3A及び図3Bに示すように、タイトルキーファイルは、フォーマット「key_file.xxx」で名前を付けられており、このxxxは、タイトルキーファイルの通し番号である。而して、最初に作成されたキーファイル102は、ファイル名key_file.000が与えられ、次に作成されたキーファイルにはkey_file.001という名前が割り当てられ、以下同様に名前が付けられる。
【0047】
1つの実施形態では、キーナビゲーションファイル104内の各スロット又は場所及びその中のエントリは、タイトルキーファイルの内の1つのファイル内の或る特定のスロット又は場所及びそのスロット又は場所のタイトルキーエントリと既知の1対1対応関係を有している。このやり方では、特定のタイトルキーエントリが有効キーを有しているか否かを調べるには、キーナビゲーションファイル104内に、タイトルキーファイルのそのタイトルキーエントリに対応する場所又はスロットを見つけ、キーナビゲーションファイル104内のその場所のキーファイル状態ビットを調べるだけでよいことになる。
【0048】
本発明のこの実施形態では、タイトルキーエントリは、図3Bに示すように、異なるタイトルキーファイルに亘って順にラベルが付けられている。而して、タイトルキーファイルkey_file.000内のタイトルキーエントリは、TKE1−TKE127のラベルが付けられる。タイトルキーファイルkey_file.001内のタイトルキーエントリは、TKE129−TKE255のラベルが付けられる。そして、タイトルキーファイルkey_file.002内のそれらは、TKE257−TKE383のラベルが付けられ、以下同様にラベルが付けられる。タイトルキーファイル(即ち、TKE0、TKE128、TKE256・・・)のそれぞれの1番目の場所及びエントリは、ファイルの大きさ、バージョンナンバー、及びファイルに関する他の情報の様な情報を保有することができるヘッダ用に予約されている。而して、各タイトルキーエントリは、それに関係付けられた固有番号を有しており、この固有番号は、以下の番号、即ち1−127、129−255、257−383などの内の1つである。この固有番号は、そこで、キーナビゲーションファイル内の、対応するキーファイル状態ビットが置かれている特定の場所を識別するのにも使用されるのが望ましい。図3Bに示すように、タイトルキーエントリに対応するキーファイル状態ビットは、異なるタイトルキーファイルに亘って、タイトルキーエントリと同じ順序で各場所に記憶される。例えば、図3Bに示すように、タイトルキーエントリTK
E[i]が有効キーを保有しているか否かを表示するためのキーファイル状態ビット「KFS[i]」は、キーナビゲーションファイル104内の、第1キーファイル状態フィールドKFS000の一番上の1番目の場所から数えてi番目の場所に記憶され、i番目の場所がKFS000とは異なるキーファイル状態フィールド内に在る場合にでもそうである。換言すると、この固有番号は、全キー状態フィールドに亘って固有であり、それは、全キーファイル状態フィールドKSF000、KFS001・・・に亘って、KFS000の一番上の1番目のエントリから開始してキーナビゲーションファイル104内の最後のキーファイル状態エントリまで、順に番号が付られる。
【0049】
このやり方では、キーファイル状態ビットの特定の場所と、キーナビゲーションファイル104内のそのビットと関係付けられている通し固有番号内の固有番号とを調べることにより、どの特定のタイトルキーファイル及びそのファイル内のどの場所かを容易に判定することができ、そうすれば、下に説明する単純なプロセスを使用して、対応するタイトルキーエントリを見つけることができる。逆のプロセスも、従って、真である。特定のタイトルキーファイルと関係付けられている固有番号と、特定のタイトルキーエントリの、そのファイル内の場所が分かれば、そのエントリに関する対応するキーファイル状態ビットも、キーナビゲーションファイル104内で見つけることができる。
【0050】
この1つの実施形態では、キーナビゲーションファイル104内の特定のキーファイル状態ビットに対応するタイトルキーエントリを見つけるプロセスは、以下の様に実施される。各タイトルキーエントリとその対応するキーファイル状態ビットに関係付けられている固有番号は、キーナビゲーションインデクス(「KNI」)と呼ばれている。而して、KNI値0、128、256、384、・・・(N+128)は規則違反であり、ここにNは整数である。KNIは、従って、キーナビゲーションファイル104内のキーファイル状態ビットの、KFS000のヘッダ内の一番最初の状態ビットからのオフセットでもある。キーナビゲーションファイル104内の特定の状態ビットの場所、オフセット、従ってその対応するKNI値に留意することにより、対応するタイトルキーエントリの場所を容易に求めることができる。これは、KNI値を、タイトルキーファイル及びキーファイル状態フィールドのそれぞれのスロットの個数、即ち図3Bの実施形態では128、で割ることにより行われる。ここで、商の整数部分は、対応するタイトルキーエントリを保有しているタイトルキーファイルの通し番号を提供する。換言すると、そのタイトルキーエントリを保有しているタイトルキーファイルの通し番号は、KNI/128の整数部分により与えられる。そのエントリを保有しているタイトルキーファイル内のそのタイトルキーエントリの特定の場所は、その部分の余り部分から、又はKNI%128又はKNI mod 128により、見つけることができ、この値は、そのタイトルキーエントリの特定の場所の、そのタイトルキーエントリが見つけられることになるそのタイトルキーファイル内における一番上のエントリからのオフセットである。
【0051】
図3Bに示す1つの実施例では、タイトルキーエントリi(TKE i)、即ちキーナビゲーションインデクス(KNI)がiであるエントリについて、特定のタイトルキーファイルとそのファイル内の場所を見つけようとしている状況を想定している。而して、そのタイトルキーエントリの状態を示すタイトルキーエントリは、ナビゲーションファイル104ではKFS[i]である。図3Bに示す特定の実施例では、その状態ビットは、キーファイル状態フィールド001、即ちKFS001、に見い出される。そのタイトルキーエントリが見つけられる特定のタイトルキーファイルは、i%128又はi mod 128により与えられる。図3Bに例示している実施例では、iは129から255の間の値を有しているので、iを128で割ったものの整数部分は1となり、従って、タイトルキーファイルkey_file.001が対応するタイトルキーエントリiを保有していることが容易に求められる。次に、演算i mod 128を行うことにより、除算の余り部分を求め、この余りから、タイトルキーエントリTKEiの、タイトルキーファイルkey_file.001内の一番上のエントリからのオフセットが与えられる。而して、上で説明した2つの非常に簡単な演算により、特定のタイトルキーファイルと、そのファイル内の、キーナビゲーションファイル内の特定の場所に対応するタイトルキーエントリを保有している場所が、見つけられる。
【0052】
上記実施形態では、タイトルキーファイルのそれぞれは、各々16バイトの128個のエントリを保有している。タイトルキーファイルが128個以外の個数のエントリを保有してもよく、その場合は各エントリが16以外のバイト数を有することもあるのは明白である。而して、mを何れかの正の整数として、各タイトルキーファイルがm個のエントリを有している場合、上記演算は、KNI又はキーナビゲーションインデクスを128の代わりにmで割るように変更する必要がある。オフセットは、タイトルキーエントリTKEiの、そのタイトルキーファイル内の一番上のエントリからのオフセットを見つける代わりに、i mod mにより見いだすことができる。その様な変形の全ては本発明の範囲内にある。
【0053】
タイトルキーファイル内でキーの場所を突き止めるのに、又はキーナビゲーションファイル内の状態ビットの場所を突き止めるのに、上記のように固有番号KNIと演算i/m及びi mod mを使用する代わりに、キーナビゲーションファイル内のエントリと、タイトルキーファイルの各ファイル内のTKEとの間の1対1の対応関係を、ルックアップ表を用いて確立することができる。CPU12は、この場合、キーナビゲーションファイル内の状態ビットの場所が与えられている対応するキーの場所を見つけるためにルックアップ表を調べる必要があり、逆の場合(即ち、特定のタイトルキーファイル内のキーの場所が与えられていることを前提として、キー状態を提示する、キーナビゲーションファイル内の状態ビットを見つける場合)も同様である。上記及びこの他の変形も、本発明の範囲内にある。
【0054】
1つの実施形態では、16バイト中の7バイトだけが、暗号化/暗号解読用のキーの値として各タイトルキーエントリに使用される。キー値は、別のキーを使用して暗号化又は暗号解読されるのが望ましい。図3Bの実施形態では、タイトルキー状態ビットが値0であるとき、このことはタイトルキーエントリがビジーであることを表しており、即ち、これは、各タイトルキーファイルのヘッダの場合のようにビットが予約されているか、対応するタイトルキーエントリが有効キーを保有しており、従って、新しいキーを記憶するのに利用することができないか、の何れかであることを意味する。タイトルキー状態ビットが値1である場合は、このことは、対応するタイトルキーエントリが空であるか、それが有効キー保有しておらず、従って、タイトルキーファイル内の対応するスロット又は場所は、タイトルキーエントリをそのスロット又は場所に上書きすることにより、暗号化/暗号解読キーを記憶するのに利用可能であることを表している。
【0055】
キーナビゲーションファイルの長さは、定義されておらず、タイトルキーファイルの個数により決まる。図3A及び図3Bに例示している実施形態では、キーナビゲーションファイルは512バイトの記録を備えている。従って、ファイルの長さが定義されていなくても、それは図3A及び図3Bの実施形態では、512バイトの倍数になる。必要に応じて、新たな記録がファイルに追加される。タイトルキー状態ビット値は、ブール数であり、一方、タイトルキーファイルの通し番号、キーナビゲーションインデクスは、図3A及び図3Bの実施形態では10進数である。
【0056】
図4は、本発明の1つの実施形態を例示するのに使用される、保護されていないユーザーデータ領域内のディレクトリツリー構造130の概略図である。図4のディレクトリツリー構造130は、フラッシュメモリ20に記憶されているファイルであり、ここでは、ディレクトリ構造は、保護されていないユーザーデータ領域に記憶されているため、あらゆるユーザー、装置、又はアプリケーションが認証無しにアクセスすることができる。図4に示すように、ディレクトリツリー構造は、ルートディレクトリと2つのサイドブランチ、即ちプレーヤー1ディレクトリとプレーヤー2ディレクトリ、を有している。プレーヤー1又は2は、どの様なユーザー、装置、又はアプリケーションでもよい。2つのブランチは、2つの異なるプレーヤーが容易にアクセスできるようにしている。プレーヤー1ディレクトリは、「Mysong.MP3」、「Another.MP3」・・・の様な複数の異なるコンテンツファイルと、キーナビゲーションファイル「KNF.bin」を掲載している。プレーヤー2ディレクトリは、同様なコンテンツファイルの一覧と、別のキーナビゲーションファイル「KNF.bin」を保有している。而して、プレーヤー1がユーザーデータ領域にアクセスしたとき、プレーヤー1は、プレーヤー1ディレクトリに、そしてそのディレクトリ下のコンテンツファイルとキーナビゲーションファイルに導かれる。プレーヤー2によるアクセスについても同じことが言え、プレーヤー2はプレーヤー2ディレクトリ内のコンテンツファイル並びにそのディレクトリ内のキーナビゲーションファイルに導かれる。このようにして、プレーヤー1がコンテンツファイルを作成するとき、このファイルは、作成されてプレーヤー1ディレクトリ下の一覧に加えられる。コンテンツファイルがプレーヤー2用に作成されるとき、この新たなコンテンツファイルは、やはりプレーヤー2ディレクトリ内に掲載される。
【0057】
ツリー130内のコンテンツファイル(例えば、「Mysong.MP3」、「Another.MP3」・・・)は、図5のツリー150のディレクトリに記憶されているキーを使用して暗号化される。幾つかのアプリケーションでは、暗号化されたコンテンツファイルと暗号化されていないコンテンツファイル(図4では図示せず)は、共に、認証無しにアクセスすることのできる同じ保護されていないユーザーデータ領域に記憶されてもよい。
【0058】
図5は、メモリ装置20の保護されている領域のディレクトリツリー150の概略図であり、図4と図5のディレクトリツリー130と150は互いに鏡像関係にある。従って図5では、ディレクトリツリーは、ルートディレクトリ並びにプレーヤー1ディレクトリとプレーヤー2ディレクトリを有している。プレーヤー1ディレクトリは、ツリー130内のプレーヤー1ディレクトリのコンテンツファイルを暗号化及び/又は暗号解読するための複数の異なるタイトルキーエントリを保有するタイトルキーファイルkey_file.000を掲載している。プレーヤー2ディレクトリも、複数のタイトルキーエントリを保有するタイトルキーファイルkey_file.000を保有している。なお、2つのディレクトリ下の2つのタイトルキーファイルが同一名(即ち、key_file.000)を有していても、それらは異なるディレクトリにあることから、混同されることはないことに留意されたい。図4のツリー130の2つのディレクトリ内のキーナビゲーションファイルについても同じことが言える。
【0059】
2つのディレクトリツリー130と150は、同一のブランチ、即ちプレーヤー1ディレクトリとプレーヤー2ディレクトリ、を有しているため、たとえディレクトリプレーヤー1とプレーヤー2のコンテンツが2つのツリー130と150の間で異なっていたとしても、互いに鏡像関係にある。2つのディレクトリが、ツリー130と150のそれぞれの間で、プレーヤー1及びプレーヤー2と同じレベルのブランチを更に多く、例えばプレーヤー3(図4及び図5では図示せず)などを、有することもできる。2つのディレクトリプレーヤー1及びプレーヤー2が、サブディレクトリを有することもできる。例えば、ツリー130内のプレーヤー1ディレクトリは、2つのサブディレクトリ、即ち、映像ファイル用に1つと音声ファイル用に1つ(図4では図示せず)を有している。音声ファイルサブディレクトリは、歌曲の様な音声ファイルの一覧と、その様な音声ファイルの間をナビゲーションするためのキーナビゲーションファイルを保有することになる。映像サブディレクトリは、映像ファイルと、その様な音声ファイルの間をナビゲーションするためのキーナビゲーションファイルを保有してもよい。その様な場合には、図5のディレクトリツリー150も同様のツリー構造を有することになる。このようにして、ツリー150のプレーヤー1ディレクトリは、2つの異なるサブディレクトリ、即ち、音声及び映像のサブディレクトリ(図5には図示せず)を有してもよい。映像サブディレクトリは、それぞれディレクトリツリー130の映像サブディレクトリ内の映像ファイルの暗号化/暗号解読に使用されるタイトルキーエントリを保有する、単数又は複数のタイトルキーファイルの一覧を保有している。ディレクトリツリー150も、プレーヤー1ディレクトリ下に音声サブディレクトリを有することになり、この音声サブディレクトリは、それぞれディレクトリツリー130の音声サブディレクトリ内に掲載されている対応する音声ファイルを暗号化/暗号解読するために使用されるタイトルキーエントリを保有する、1つ又はそれ以上のタイトルキーファイルを保有することになる。下で説明しているように、保護されていない領域と保護されている領域に互いに鏡像関係にあるディレクトリツリー130と150を有することで、キーナビゲーション機構の動作が格段に円滑になる。
【0060】
保護されているコンテンツファイルがメモリ装置20内に作成される前は、通常、メモリ装置20にはキーナビゲーションファイルもキー記憶ファイルも一切存在していない。その場合には、保護されるべき最初のコンテンツファイルが作成されると、ここではキーナビゲーション機構とも呼ぶキーマネジャが、保護されていないユーザー領域にキーナビゲーションファイルを作成し、保護されている領域に最初のタイトルキー記憶ファイルを作成する。
【0061】
図6は、キーナビゲーションファイル機構により実行されるプロセス又は方法を例示しているフローチャートである。図6のプロセスを実行する機構は、コンテンツファイル、タイトルキーファイル、及びキーナビゲーションファイルが記憶されているメモリシステムにコマンドを送るホスト装置24に記憶され実行されるコンピュータプログラムコードを備えていてもよい。代わりに、機構は、CPU12にロードされて実行される、フラッシュメモリ20に記憶されているコンピュータプログラムコードを備えていてもよい。而して、図6及び図7のキーナビゲーション機構のためのコンピュータプログラムは、ホスト装置24の一部であるかこれに接続されているコンピュータ読取可能媒体に記憶されていてもよいが、代わりに、その様なコンピュータプログラムは、タイトルキーファイル、キーナビゲーションファイル、及びコンテンツファイルが記憶されているフラッシュメモリ20に記憶されていてもよい。全てのその様な変型は、本発明の範囲内にある。
【0062】
図6を参照すると、図6の機構のプロセスは、保護されているコンテンツファイルを開くことが望まれている場合か、又は保護されるコンテンツファイルが作成されようとする時に開始される(ブロック202)。キーナビゲーション機構は、コンテンツファイルが存在するか否かを判定する(菱形204)。コンテンツファイルが存在していなければ、このことは、コンテンツファイルを作成すべきであることを意味するので、ホスト装置24又はCPU12は、ファイルを、例えば、プレーヤー1ではディレクトリツリー130内に、作成すること(ブロック206)に進む。コンテンツファイルが作成されると、キーナビゲーション機構は、キーナビゲーションファイルが既に存在しているか既に作成されているかを調べる(菱形207a)。存在していなければ、機構は、キーナビゲーションファイルを作成する(ブロック207b)。存在していれば、機構は、図4に示すディレクトリ130の様なディレクトリ内の新しく作成されたコンテンツファイルと同じディレクトリ内に見つけられるキーナビゲーションファイルを開く(ブロック208)。何れの場合も、機構は、ここで、ツリー130のプレーヤー1ディレクトリ内のキーナビゲーションファイルを調べ、第1キーエントリが「空の」状態であることを見い出す。キーナビゲーションファイルのオフセットが「空の」状態であることにより、キーナビゲーションインデクス(KNI)が与えられ(ブロック208及び210)、KNIを使用した上記実施形態が採用される。
【0063】
タイトルキーファイルとキーナビゲーションファイルが上の実施例に使用されるとき、タイトルキーファイル内の場所又はタイトルキーエントリは順番に使用される。このことは、1つの暗号化/暗号解読キーが作成され、タイトルキーファイルに記憶される必要が生じるとき、タイトルキーファイル内のスロット又は場所は、それらキーを記憶するのに、タイトルキーファイルkey_file.000のタイトルキーエントリ1から開始して順に使用されるという意味である。そのキーが記憶され、キーエントリTKE1又はその一部を形成した後、その対応するキーファイル状態ビットKFS[1]の値は1から0に変更され、これにより、それが空ではなく今はビジーである、即ち、この場所はヘッダ用に予約されたものではないことから、今は有効キーが入っている、ということが表示される。最初、キーファイル状態ビットの全てが値1を有しているが、0、128、256・・・のキーファイル状態ビットは例外で、それらは値0を有している。
【0064】
KNIを取得した後、キーナビゲーション機構は、次に、タイトルキーファイルのそれぞれが128個のスロット又は場所を有している場合、KNI/128の整数部に等しいキーファイルインデクス又はnnnを計算する(ブロック212)。nnn又はキーファイルインデクスは、数KNI/128の整数部分である。このnnn又はキーファイルインデクス値は、タイトルキーファイルの通し番号である。次いで、そのタイトルキーファイル内のオフセットを、量KNI%128又はKNI mod 128を計算することにより取得する(ブロック214)。
【0065】
上で指摘したように、コンテンツファイルは、図4のディレクトリツリー130のプレーヤー1ディレクトリの様なディレクトリ内に作成される。保護されている領域のタイトルキーファイル内に、作成されたばかりのこのコンテンツファイルの暗号化/暗号解読に使用される暗号化/暗号解読キーを記憶するための場所を取得するために、キーナビゲーション機構は、ここで、保護されていないユーザーデータ領域の公開区画名を保護されている領域の保護されている区画名で置き換えることにより、保護されていないユーザーデータ領域内のディレクトリツリー130に従って構築されたアクセス経路を、保護されている領域又は区画内のディレクトリツリー150に従って構築されたものへ変換する(ブロック216)。キーナビゲーション機構は、次いで、キーファイル名、即ち「key_file.nnn」を形成する(ブロック218)。キーナビゲーション機構は、次いで、完全なキーファイル名を形成する(ブロック220)。一例として、プレーヤー1が、暗号化されることになる新しい歌曲ファイルを、ブロック208、210、212、214、216、218、及び220に従って作成している場合を仮定する。その場合には、作成される完全なキーファイル名は、「prot_partition/layer1directory/key_file.nnn」となる。
【0066】
キーナビゲーション機構は、次いで、このキーファイル名を有するタイトルキーファイルが存在するか否かを調べて判断する(菱形221a)。このタイトルキーファイルが存在していない場合、機構は、ファイルを1つ作成して、ディレクトリツリー150内の適切なディレクトリ(例えば、プレーヤー1)にそれを加える(ブロック221b)。このタイトルキーファイルが存在する場合、機構は、完全なキーファイル名に基づくアクセス経路を使用して、当該タイトルキーファイルを開く(ブロック222)。キーナビゲーション機構は、次に、コンテンツファイルが、ブロック206の前に元からそこに存在していたか否かを調べる(菱形224)。上の例では、そのコンテンツファイルは、ブロック206でそれが作成される以前は存在しておらす、従ってキーナビゲーション機構は、ブロック226に進んで、KNIを作成されたファイルのファイルヘッダに挿入する。コンテンツ暗号化キー(CEK)が暗号化エンジン40により作成され、これを使用して、作成されたファイルが暗号化される(228)。暗号化された新規に作成されたファイルは、メモリ装置20内のツリー130のディレクトリプレーヤー1に加えられる。この作成されたキーは、暗号化され、ブロック212で識別されたタイトルキーファイル内の、ブロック214で取得されたオフセットにより示される場所に挿入され(ブロック230)、ツリー150のディレクトリプレーヤー1のタイトルキーファイルに新規タイトルキーエントリとして加えられる。キーナビゲーション機構は、次いで、タイトルキーファイルを閉じ(ブロック232)、ツリー130のプレーヤー1ディレクトリのキーナビゲーションファイル内のその対応する状態ビットの値を1から0に変更するが、キーファイル状態ビットは、KNIの値をツリー130のプレーヤー1ディレクトリのキーナビゲーションファイル内のオフセットとして使用して突き止められる。次いで、キーナビゲーションファイルは閉じられる(ブロック234及び236)。
【0067】
以上は、暗号化される(及び/又は暗号解読される)ことになるコンテンツファイルが最初に作成されるときの、2つのディレクトリツリー130と150を使用したキーナビゲーション機構のプロセスである。コンテンツファイルを暗号解読することが望まれ、従ってキーナビゲーション機構が、コンテンツファイルを暗号解読するのに必要とされる暗号解読キーを見つけることを要求されるとき、図6のキーナビゲーション機構は以下のように動作する。キーナビゲーション機構は、ツリー130のプレーヤー1ディレクトリの様な特定のディレクトリ内の保護されているコンテンツファイルを開き、コンテンツファイルが既に存在していることから、ブロック252に進むことになる。キーナビゲーション機構は、次いで、コンテンツファイルのファイルヘッダから値KNIを取り出す(ブロック252)。キーナビゲーション機構が、保護されているコンテンツファイルを開くとき、それは、保護されていないユーザーデータ領域のディレクトリツリー130内で動作していることになる。例えば、保護されているコンテンツファイルが、プレーヤー1ディレクトリ内の歌曲「mysong.MP3」の様な歌曲ファイルの1つである場合、そのコンテンツファイルへのアクセス経路は、ディレクトリツリー130に従って構築される。キーナビゲーション機構は、そこで、ブロック212から222の動作を上で説明したやり方で行って、コンテンツファイルの暗号解読(及び/又は暗号化)に使用される暗号解読キーが記憶されている或る特定のタイトルキーファイルのキーファイルインデクス又はnnnと、そのタイトルキーファイル内のキーの場所を示すオフセットを見つけ出す。キーナビゲーション機構は、更に、ディレクトリツリー130に従った公開の又は保護されていないユーザーデータ領域へのアクセス経路を、保護されている領域のディレクトリツリー150に従って構築されたアクセス経路に変換し、ブロック216、218、及び220に基づき、保護されている領域の暗号解読キーの完全なキーファイル名を確立する。認証プロセスの後、次いで、キーナビゲーション機構は、構築された完全なキーファイル名に従って、保護されている領域内のタイトルキーファイルを開いて(ブロック222)コンテンツ暗号解読キーが容易に入手し、取り出せるようにする。キーナビゲーション機構は、次いで、コンテンツファイルが上記動作以前に存在していたか否かを調べる。本例では、それは実際に存在しており、従って機構はブロック254に進んで、適正なタイトルキーファイルのキーエントリオフセットから暗号化されているコンテンツ暗号化キーを取り出す(ブロック254)。コンテンツ暗号化キーは、次いで、暗号解読され、暗号化によって保護されているか保護されることになるコンテンツファイルの暗号解読/暗号化に使用される。(ブロック256)。
【0068】
上で説明したキーナビゲーションファイル、タイトルキーファイル構造を使用すると、コンテンツファイルを削除する際、特に簡単に行える。これを図7のフローチャートに例示している。而して、この目的に使用されるキーナビゲーション機構は、ホスト装置24又はメモリシステム10の何れかに記憶され、実行されるコンピュータプログラムであってもよく、最初に、ディレクトリ内で、削除されるべき保護されているコンテンツファイルを識別する(ブロック302)。コンテンツファイルは、メモリ20の保護されていない公開領域にあってもよい。キーナビゲーション機構は、そこで、コンテンツファイルを開き、ファイルヘッダからKNIを取得して、ファイルを閉じる(ブロック304)。次いで、機構は、コンテンツファイルと同じディレクトリ内のキーナビゲーションファイルを開く(ブロック306)。例えば、削除されるべきコンテンツファイルが、例えば、ディレクトリツリー130のプレーヤー1ディレクトリにある場合、ビットオフセットが、コンテンツファイルと同じディレクトリ(本例ではプレーヤー1ディレクトリ)内のキーナビゲーションファイルで見つけ出される。キーナビゲーション機構は、そこで、KNIをキーナビゲーションファイル内の1番目のエントリからのオフセットとして使用し、削除されるべきコンテンツファイルを暗号化/暗号解読するために使用されるタイトルキーエントリの、タイトルキーファイル内での状態を示しているキーファイル状態ビットの位置を見つける。機構は、次に、オフセット場所で見つけられたキーファイル状態ビットを0から1にリセットし、これにより、当該ファイル状態ビットの、タイトルキーファイル内での対応するタイトルキーエントリ(TKE)が、有効キーを保有していないことを表示する(ブロック308)。これは、従って、タイトルキーファイル内のその対応するTKEの場所は、これより、新たなキーを記憶するのに使用することができ、実質的に「空である」ことを表示している。実際に、保護されている領域(通常、認証を要する)に入り込んで、タイトルキーファイル内のその場所のキーを削除する必要はない。キーナビゲーション機構は、次に、キーナビゲーションファイルを閉じて、コンテンツファイルの削除に進む(ブロック310と312)。

【0069】
(権利オブジェクト管理)
上で説明したキーを管理するためのシステムは、コンテンツファイルが、限定された回数だけ、又は特定の失効日以前にのみ、又は特定の期間中にのみ、アクセスできることを規定している規則の様な、他の型式のコンテンツ保護情報を管理するのにも使用される。DRMでは、その様な規則は、権利オブジェクトとして知られているオブジェクト内のコンテンツを保護するために使用されるコンテンツ暗号化/暗号解読キーと共に取り扱われる。暗号化されているコンテンツファイルがどの様に使用され及び/又はアクセスされてもよいかかを見極めるために、まず、その権利オブジェクトを突き止め、そこから暗号化/暗号解読キーを抽出し、その使用を統制している規則を抽出する。次いで、キーを使用してコンテンツファイルが暗号解読/暗号化され、コンテンツにアクセスすることができる。コンテンツファイルは、ダウンロードされるか別のやり方で受け取られることがあるが、その場合、その権利オブジェクトを見つけることが必要になる。ダウンロード時にファイルが暗号化される場合は、アクセスの権利を購入する必要があることがあり、その場合には、権利オブジェクトは購入後に供給されることになり、ダウンロードすることができる。ダウンロードされたファイルが暗号化されていない場合、権利オブジェクトを、コンテンツファイルを保護するために作成することができる。権利オブジェクトが取得されると、権利オブジェクト内のキーが権利オブジェクトから抽出され、そのキーを使用して、コンテンツファイルが暗号化又は暗号解読される。ファイルは、その後、必要に応じて更に処理される。対照的に、ファイルが作成された後、そのファイル用に権利オブジェクトが作成されることもあるが、その場合、このオブジェクトは、その暗号化/暗号解読のために使用されるキーを含んでいる。
【0070】
追加的なセキュリティが求められている場合、暗号解読されたコンテンツファイルは、権利オブジェクト内のものとは異なるキーを使用して再度暗号化されてもい。このやり方では、コンテンツファイルの権利オブジェクトに対するアクセスを同様に有している認可されていないユーザーは、その様な再暗号化されたコンテンツファイルにはアクセスすることができなくなる。而して、コンテンツファイルをダウンロードしたユーザーは、権利発行者から取得した権利オブジェクト内のものとは異なっていて、コンテンツファイルが権利発行者から取得した権利オブジェクト内のキーを使用して暗号解読された後でこのコンテンツファイルを再度暗号化する、キーを生成してもよい。権利オブジェクト内のキーは、そこで、ユーザーにより生成されたキーと置き換えられる。代わりのやり方では、ユーザーは、コンテンツファイルを最初に暗号解読することなく、自分が生成したキーを使用して単純にコンテンツファイルを暗号化するだけであり、これにより、コンテンツファイルは、2つの異なるキー、即ち、権利発行者によるキー(即ち、コンテンツファイルは権利オブジェクト内の第1のキーを用いて暗号解読することができる)と、ユーザーが生成して、当該ユーザーにしか利用することのできない第2のキー、によって暗号化される。ユーザーは、そこで、権利オブジェクト内に同様にこの追加の第2キーを保管する。
【0071】
図8は、権利オブジェクト管理の、権利オブジェクト(RO)ナビゲーション機構を例示しているフローチャートである。図8のプロセスを行うROナビゲーション機構は、コンテンツファイル、ROファイル、及びキーナビゲーションファイルが記憶されているメモリシステムにコマンドを送るホスト装置24に記憶され実行されるコンピュータプログラムコードを備えていてもよい。代わりに、機構は、CPU12にロードされ実行される、フラッシュメモリ20に記憶されているコンピュータプログラムコードを備えていてもよい。従って、図8び図9のROナビゲーション機構に使用されるコンピュータプログラムは、ホスト装置24の一部であるかこれに接続されているコンピュータ読取可能媒体に記憶されていてもよいし、或いは、その様なコンピュータプログラムは、ROファイル、権利オブジェクトナビゲーションファイル、及びコンテンツファイルが記憶されているフラッシュメモリ20に記憶されていてもよい。全てのその様な変形は、本発明の範囲内にある。一方の図6、図7を、他方の図8及び図9と比較すると、それらは極めて似ており、図8及び図9のRO管理プロセスは、それぞれ、図6及び図7のキー管理プロセスと極めて似通っていることがわかる。
【0072】
そのような事象では、上で説明したキー管理とよく似たRO管理用のアーキテクチャ及びコンセプトが使用されてもよく、例えば、ROファイルに亘るROエントリ(ROE)のラベル付けには、図3に例示しているのと同様のやり方で、RONIが使用されている(KNIとコンセプトは同様)。ROナビゲーションファイル内の状態ビットROS[i]は、対応するi番目のROがROファイルの1つのファイル内で有効であるか否かを表すのに使用される。ROナビゲーションファイルは、図4に示す、キー管理が関与しているやり方と同じやり方で、ディレクトリツリーのディレクトリ内のコンテンツファイルと共に公開区画又は領域に記憶されている。ROファイルは、図5に示すキー管理でのやり方と同じやり方で、ディレクトリツリーのディレクトリ内の保護されている区画又は領域に記憶されており、2つの領域のツリーは、互いに鏡像関係にある(図示せず)。
【0073】
図8を参照すると、図8の機構のプロセスは、保護されているコンテンツファイルを開くか又はダウンロードすることが所望される場合に開始される(ブロック402)。ROナビゲーション機構は、コンテンツファイルがダウンロードされているか否かを判定する(菱形404)。コンテンツファイルがダウンロードされていない場合、コンテンツファイルが既に存在しており、ダウンロードの必要性は無いという意味になる。コンテンツファイルはダウンロードされており、保護される必要があると仮定すると、機構は、ブロック406に進み、ファイルを公開ドメイン(図4の公開領域と同様)の割り当てられたディレクトリに記憶する。ROナビゲーション機構は、ROナビゲーションファイルが同じディレクトリ内に存在するか否かを調べる(菱形407a)。存在していなければ、機構は、ROナビゲーションファイルを作成する(ブロック407b)。存在していれば、機構は、図4に見られるものと同様に、ダウンロードされたコンテンツファイルと同じディレクトリ内で見つけ出されたROナビゲーションファイルを開く(ブロック408)。何れの場合も、機構は、ディレクトリツリーの適切なディレクトリ内のROナビゲーションファイルを調べ、「空の」又は「有効でない」状態を有する最初のROエントリを見つける。ROナビゲーションファイルの「空の」又は「有効でない」状態のオフセットにより、ROナビゲーションインデクス(RONI)が与えられ(ブロック408と410)、ROINを使用する上の実施形態が採用される。
【0074】
ROファイル及びROナビゲーションファイルが上記実施例に使用されるとき、ROファイル内の場所又はROエントリは、順番に使用される。これは、1つのROが作成されROファイルに記憶される必要が生じたときに、ROファイル内のスロット又は場所は、ROファイルRO_file.000内のROエントリ1から開始して順にROを記憶するのに使用されるという意味である。その様なROが記憶され、最初のROエントリ又はその一部を形成した後、その対応するROファイル状態ビットROS[1]値は1から0に変更され、それが空ではなく今はビジーであること、即ち、この場所はヘッダ用に予約されたものではないことから、今は有効なROが入っていることが表示される。最初は、ROファイル状態ビットは全て値1を有しているが、0、128、256・・・のROファイル状態ビットは例外であり、それらは値0を有している。但し、この実施形態の代わりに、キーナビゲーション機構の場合のように代わりにルックアップ表を使用してもよく、全てのその様な変形は本発明の範囲内にあるものと理解頂きたい。
【0075】
RONIを取得すると、次に、ROナビゲーション機構は、ROファイルのそれぞれが128個のスロット又は場所を有している場合、RONI/128の整数部分に等しいROファイルインデクス又はnnnを計算する(ブロック412)。nnn又はROファイルインデクスは、数RONI/128の整数部分である。このnnn又はROファイルインデクス値は、ROファイルの通し番号である。次いで、そのROファイル内のオフセットを、RONI%128すなわちRONI mod 128の値を計算することにより取得する(ブロック414)。
【0076】
上で指摘したように、ダウンロードされたコンテンツファイルは、(図4のディレクトリツリー130のプレーヤー1ディレクトリと同様のディレクトリの様な)ディレクトリに割り当てられる。保護されている領域のROファイル内に、ダウンロードされたばかりのこのコンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御するのに使用されるROを記憶するための場所を取得するために、ROナビゲーション機構は、図6のやり方と同様なやり方で、保護されていないユーザーデータ領域の公開区画名を保護されている領域の保護されている区画名で置き換えることにより、保護されていないユーザーデータ領域内のディレクトリツリーに従って構築されたアクセス経路を、保護されている領域又は区画内のディレクトリツリーに従って構築されたものへ変換する(ブロック416)。ROナビゲーション機構は、次いで、ROファイル名、即ち「RO_file.nnn」を形成する(ブロック418)。ROナビゲーション機構は、次いで、完全なROファイル名を形成する(ブロック420)。一例として、プレーヤーxが、ROにより制御され、作成されるかダウンロードされることになる新規コンテンツファイルを作成する場合を想定すると、このROが記憶されることになる完全なROファイル名は、ブロック408、410、412、414、416、418、及び420に従って構築される。その場合には、作成される完全なROファイル名は、「prot_partition/playerxdirectory/RO_file.nnn」となる。
【0077】
ROナビゲーション機構は、次いで、このROファイル名を有するROファイルが存在するか否かを調べて判断する(菱形421a)。このROファイルが存在しない場合、機構は、ファイルを1つ作成して、保護されている領域又は区画のディレクトリツリー内の適切なディレクトリ(例えば、プレーヤーx)にそれを加える(ブロック421b)。このROファイルが存在する場合、機構は、完全なROファイル名に基づくアクセス経路を使用して、当該ROファイルを開く(ブロック422)。ROナビゲーション機構は、次に、コンテンツファイルが、ブロック406でダウンロードされたのか即ち元はなかったのか否かを調べる(菱形424)。上の例では、そのコンテンツファイルはダウンロードされていたので、ROナビゲーション機構は、ブロック426に進んで、RONIをダウンロードされたファイルのファイルヘッダに挿入する。而して、RONIは、各ROを、それが制御しているコンテンツファイルと関係付ける役目も果たすと同時に、ROナビゲーションと管理のための上で説明した機能も果たしている。
【0078】
RO(キーを含む)が暗号化エンジン40により作成されるか別のやり方(例えば、購入後にダウンロード)で取得されると、生成されるか上記のように取得されたキーが使用され、ダウンロードされたファイルが暗号化される(428)。暗号化された新しくダウンロードされたファイルは、メモリ装置20内の公開領域又は区画のツリーのディレクトリプレーヤーxに加えられる。このROは、暗号化され、ブロック412で識別されたROファイル内の、ブロック414で取得されたオフセットにより示された場所に挿入され(ブロック430)、保護されている区画又は領域のツリーのディレクトリプレーヤーxのROファイルに新しいROエントリとして加えられる。ROナビゲーション機構は、次にROファイルを閉じ(ブロック432)、公開領域内のツリーのプレーヤーxディレクトリのROナビゲーションファイル内のその対応する状態ビットの値を、1から0に変更するが、ROファイル状態ビットは、RONIの値を公開領域内のツリーのプレーヤーxディレクトリのROナビゲーションファイル内のオフセットとして使用して突き止められる。次いで、ROナビゲーションファイルが閉じられる(ブロック434及び436)。
【0079】
上記は、ROと関係付けられることになるコンテンツファイルが最初にダウンロードされ暗号化される(及び/又は暗号解読される)ときの、2つのディレクトリツリーを使用したROナビゲーション機構のプロセスである。既存のコンテンツファイル(即ち、ダウンロードされたものではないファイル)にアクセスすることが所望され、従ってROナビゲーション機構が、コンテンツファイルにアクセスするのに必要なROを見つけるよう要求される場合、図8のROナビゲーション機構は以下のように動作する。ROナビゲーション機構は、公開領域内のプレーヤーxディレクトリの様な特定のディレクトリ内の保護されているコンテンツファイルを開き、コンテンツファイルが既に存在していることから、ブロック452に進むことになる。ROナビゲーション機構は、次いで、コンテンツファイルのファイルヘッダから値RONIを取り出す(ブロック452)。ROナビゲーション機構が、保護されているコンテンツファイルを開くとき、それは、保護されていないユーザーデータ領域のディレクトリツリー内で動作していることになる。例えば、保護されているコンテンツファイルが、プレーヤーxディレクトリ内の歌曲ファイルの1つである場合、そのコンテンツファイルへのアクセス経路は、そのディレクトリツリーに従って構築される。ROナビゲーション機構は、そこで、ブロック412から422の動作を上で説明したやり方で行って、コンテンツファイルと関係付けられているROが記憶されている或る特定のROファイルのROファイルインデクス又はnnnと、そのROファイル内のROの場所を示すオフセットを見つけ出す。ROナビゲーション機構は、更に、公開領域内のディレクトリツリーに従った公開の又は保護されていないユーザーデータ領域へのアクセス経路を、保護されている領域内のディレクトリツリーに従って構築されたアクセス経路に変換し、ブロック416、418、及び420に基づき、保護されている領域の暗号解読ROの完全なROファイル名を確立する。認証プロセスの後、次いで、ROナビゲーション機構は、構築された完全なROファイル名に基づいて、保護されている領域内のROファイルを開いて(ブロック422)ROが容易に入手でき、取り出すことができるようにする。ROナビゲーション機構は、次いで、コンテンツファイルが上記動作以前に存在していたか否かを調べる。本例では、それは存在しているので、機構はブロック454に進んで、適正なROファイルのオフセットのROエントリから暗号化されているROを取り出す(ブロック254)。ROは、次いで、暗号解読され、その中のキーを使用して、ROの規則に従ってコンテンツファイルが暗号解読/暗号化されることになる(ブロック456)。
【0080】
図9は、権利オブジェクト管理システムの更なる特性を説明するため、権利オブジェクトナビゲーション機構のファイルを削除する動作を例示しているフローチャートである。上で説明したROナビゲーションファイル、ROファイル構造を使用すると、コンテンツファイルを削除するのが特に簡単になる。これを図9のフローチャートに例示している。而して、この目的に使用されるROナビゲーション機構は、ホスト装置24又はメモリシステム10の何れかに記憶され、実行されるコンピュータプログラムであってもよく、最初に、ディレクトリ内で、削除されるべき保護されているコンテンツファイルを識別する(ブロック502)。コンテンツファイルは、メモリ20の保護されていない公開領域にあってもよい。ROナビゲーション機構は、そこで、コンテンツファイルを開き、ファイルヘッダからRONIを取得して、ファイルを閉じる(ブロック504)。次いで、機構は、コンテンツファイルと同じディレクトリ内のROナビゲーションファイルを開く(ブロック506)。例えば、削除されるべきコンテンツファイルが、例えば、公開領域又は区画内のディレクトリツリーのプレーヤーxディレクトリにある場合、ビットオフセットは、コンテンツファイルと同じディレクトリ(本例ではプレーヤーxディレクトリ)内のROナビゲーションファイル内で見つけ出される。ROナビゲーション機構は、そこで、RONIをROナビゲーションファイル内の1番目のエントリからのオフセットとして使用し、削除されるべきコンテンツファイルと関係付けられているROエントリの、ROファイル内での状態を示しているROファイル状態ビットの位置を見つける。機構は、次にオフセット場所で見つけられたROファイル状態ビットを0から1にリセットし、これにより、当該ファイル状態ビットの、ROファイル内での対応するROエントリ(ROE)が、有効なROを保有していないことを表示する(ブロック508)。これは、従って、ROファイル内のその対応するROEの場所は、これより、新しいROを記憶するのに使用することができ、実質的に「空である」又は「有効でない」ことを示している。実際に、保護されている領域(通常、認証を要する)に入り込んで、ROファイル内のその場所のROを削除する必要はない。ROナビゲーション機構は、次に、ROナビゲーションファイルを閉じて、コンテンツファイルの削除に進む(ブロック510と512)。
【0081】
以上、本発明を、様々な実施形態を参照しながら説明してきたが、本発明の範囲から逸脱することなく変更及び修正を施すことができること、及び本発明の範囲は、特許請求の範囲並びにその等価物によってのみ定義されるものであることを理解されたい。例えば、図6のものと同様のプロセスは、タイトルキー記憶ファイルの1つのファイル内に、作成された暗号解読用のキーを記憶するための場所を見つけるのに、及び、タイトルキー記憶ファイルの1つのファイル内で、既存のファイルを暗号化するための既存の暗号化キーを見つけるのに、適用することもできる。キー又はROは、歌曲、映画、ゲームの様なメディアタイトル、並びにタイトルの有無にかかわらず他の型式のコンテンツを含め、あらゆるコンテンツの保護に使用されてもよい。ナビゲーション又は場所情報は、ヘッダとは異なっているコンテンツファイルの部分、例えばファイル名の中に記憶してもよい。ここで参照した全ての引例は、参考文献として援用されるものとする。
【図面の簡単な説明】
【0082】
【図1】本発明を例示している、ホスト装置と通信しているメモリシステムのブロック図である。
【図2】タイトルキーファイルの構造を例示している図である。
【図3A】キーナビゲーションファイルの構造を例示している図である。
【図3B】図3Aのキーナビゲーションファイルと図2に示す型式の複数のタイトルキーファイルを示している図であり、それらの間の関係を例示している図である。
【図4】キーナビゲーション及びキー管理に有用な、保護されていないユーザーデータ領域のディレクトリツリーを例示している図である。
【図5】キーナビゲーション及びキー管理に有用な、保護されている領域のディレクトリツリーの図である。
【図6】キー管理のキーナビゲーション機構を例示しているフローチャートである。
【図7】キー管理システムの更なる特性を例示するために、ファイルを削除するためのキーナビゲーション機構を例示しているフローチャートである。
【図8】権利オブジェクト管理のための権利オブジェクトナビゲーション機構を例示しているフローチャートである。
【図9】権利オブジェクト管理システムの更なる特性を例示するために、ファイルを削除するための権利オブジェクトナビゲーション機構を例示しているフローチャートである。

【特許請求の範囲】
【請求項1】
複数のキーの管理をやり易くするコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンピュータプログラムは、キーナビゲーションファイルを作成し、且つ、1つ又は複数のキー記憶ファイルを、それがまだ存在していない場合には作成し、各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に1つ又はそれ以上のキーを保有するために使用されているか使用されるものであり、前記キーのそれぞれは、複数のコンテンツファイルの内の対応する1つのファイルの暗号化及び/又は暗号解読に使用されているか使用されるものであり、各コンテンツファイルはヘッダ部分を備えており、前記コンテンツファイルのそれぞれの前記ヘッダ部分の場所情報は、前記対応するキーが置かれている前記キー記憶ファイルの1つ、及び、そのキー記憶ファイル内でのそのキーの前記対応する場所を表しており、前記キーナビゲーションファイルは、有効キーが前記1つ又はそれ以上のキー記憶ファイル内の1つ又はそれ以上の場所に記憶されているか否かを示す状態情報を保有している、コンピュータ読取可能媒体。
【請求項2】
前記キーナビゲーションファイルと1つ又はそれ以上のキー記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記少なくとも1つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記コンピュータプログラムは、暗号化されたキーを記憶するための前記1つ又はそれ以上のキー記憶ファイルを、それがまだ存在していない場合には、前記少なくとも1つの保護されている領域に作成する、請求項1に記載の媒体。
【請求項3】
前記コンピュータプログラムは、前記キーナビゲーションファイルを、それがまだ存在していない場合には、前記少なくとも1つの保護されていない領域に作成する、請求項2に記載の媒体。
【請求項4】
前記キーナビゲーションファイルはエントリを含み、前記キーナビゲーションファイルの前記エントリのそれぞれは、前記1つ又はそれ以上のキー記憶ファイル内の、複数の暗号化/暗号解読キーの1つを記憶するための場所に対応しており、有効キーがその場所に記憶されているか否かについての状態情報を提供する、請求項1に記載の媒体。
【請求項5】
前記コンピュータプログラムは、前記キーナビゲーションファイルの前記エントリにより提供される前記状態情報から、有効キーが記憶されていない前記キー記憶ファイルの1つの対応する場所を示している状態情報を提供しているエントリを見つける、請求項4に記載の媒体。
【請求項6】
前記コンピュータプログラムは、前記複数のコンテンツファイルの1つを暗号化及び/又は暗号解読するためのキーを生成し、前記生成されたキーを、前記キー記憶ファイルの1つの、前記見つけられたエントリにより示されている前記対応する場所に記憶し、前記場所情報をそのコンテンツファイルのヘッダ部分に挿入する、請求項5に記載の媒体。
【請求項7】
前記キーナビゲーションファイル内の前記エントリのそれぞれは、インデクスiの異なる値に対応しており、前記インデクス値のそれぞれは、前記1つ又はそれ以上のキー記憶ファイル内の前記対応する場所の状態情報と関係付けられており、前記コンピュータプログラムは、前記キーナビゲーションファイル内で見つけられた前記エントリの前記インデクスiを、前記生成されたキーを使用して暗号化/暗号解読されることになる対応するコンテンツファイルのヘッダ部分に挿入する、請求項6に記載の媒体。
【請求項8】
Nを1より大きい整数として、前記コンピュータプログラムは1からNまでの番号が付されたN個までのキー記憶ファイルを使用しており、mを正の整数として、前記N個のキー記憶ファイルのそれぞれは、m個のキーを記憶するためのm個の場所を保有しており、数値i/mの整数部分は、前記N個のキー記憶ファイルの内の、前記対応するキーが記憶されているか記憶されることになる特定の1つを示しており、i mod mは、前記見つけられたエントリに対応している前記特定のキー記憶ファイル内の対応するキーの場所を示しており、前記コンピュータプログラムは、前記数値i/mの整数部分を見つけるため、及びi mod mを見つけるための動作を実行する、請求項7に記載の媒体。
【請求項9】
前記コンピュータプログラムは、前記整数部分によって、前記N個のキー記憶ファイルの中から、前記生成されたキーを記憶するのに使用されることになる前記キー記憶ファイルを見つける、請求項8に記載の媒体。
【請求項10】
前記コンピュータプログラムは、i mod mを使用して、前記生成されたキーを記憶するのに使用されることになる、前記キー記憶ファイル内の前記対応する場所を見つける、請求項9に記載の媒体。
【請求項11】
前記キーナビゲーションファイルは、複数のビットを保有しており、各ビットは、有効キーが前記1つ又はそれ以上のキー記憶ファイル内の対応する場所に記憶されているか否かを示している、請求項1に記載の媒体。
【請求項12】
前記コンピュータプログラムは、前記キーナビゲーションファイルを作成し、且つ、前記1つ又は複数のキー記憶ファイルを、それがまだ存在していない場合には、前記媒体とは別体である記憶装置内に作成する、請求項1に記載の媒体。
【請求項13】
前記コンピュータプログラムは、前記キーナビゲーションファイルを作成し、且つ、前記1つ又は複数のキー記憶ファイルを、それがまだ存在していない場合には記憶装置内に作成し、前記媒体は前記装置の一部である、請求項1に記載の媒体。
【請求項14】
前記コンピュータプログラムは、前記キー記憶ファイル内の、各コンテンツファイルに対応する前記キーを記憶するのに使用されているか使用されることになる前記対応する場所を、そのコンテンツファイルの前記ヘッダ部分の前記場所情報を使用して見つける、請求項1に記載の媒体。
【請求項15】
キーナビゲーション機構を記憶している不揮発性コンピュータ読取可能媒体であって、前記機構は、キーナビゲーションファイルと少なくとも1つのキー記憶ファイルを備えており、各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に複数のキーを保有しており、前記キーは、複数のコンテンツファイルの内の対応する1つを暗号化及び/又は暗号解読するために使用され、各コンテンツファイルはヘッダ部分を備えており、前記コンテンツファイルのそれぞれの前記ヘッダ部分の情報は、前記対応するキーが置かれている前記キー記憶ファイルの1つ、及び、そのキー記憶ファイル内のそのキーの前記対応する場所を示しており、前記キーナビゲーションファイルは、前記少なくとも1つのキー記憶ファイル内の1つ又はそれ以上の場所が有効キーを保有しているか否かを示す情報を保有している、不揮発性コンピュータ読取可能媒体。
【請求項16】
前記媒体は、メモリカード内の不揮発性フラッシュメモリセルを備えている、請求項15に記載の媒体。
【請求項17】
前記媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記少なくとも1つのキー記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されており、前記キーナビゲーションファイルは、前記少なくとも1つの保護されていない領域に記憶されている、請求項15に記載の媒体。
【請求項18】
少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、キーナビゲーション機構を記憶している、不揮発性コンピュータ読取可能媒体であって、前記機構は、
キーナビゲーションファイルと少なくとも1つのキー記憶ファイルであって、各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に複数の暗号化されたキーを保有しており、前記キーのそれぞれは、複数のコンテンツファイルの対応する1つの暗号化及び/又は暗号解読のために使用される、キーナビゲーションファイルと少なくとも1つのキー記憶ファイルと、
前記媒体の前記少なくとも1つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記キーナビゲーションファイルを保有しているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、前記少なくとも1つのキー記憶ファイル内の前記キーの一覧を保有しているディレクトリを備えている、第2ディレクトリと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係となる構造を有している、不揮発性コンピュータ読取可能媒体。
【請求項19】
記憶装置の保護されている領域のキー記憶ファイル内の暗号解読/暗号化キーを使用して、コンテンツファイルを暗号解読/暗号化するコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンテンツファイルは、キー記憶ファイル内の、前記コンテンツファイルを暗号解読/暗号化するための前記暗号解読/暗号化キーへのアクセス経路を示すキーナビゲーション情報を保有しており、前記コンピュータプログラムは、
前記キーナビゲーション情報を前記コンテンツファイルから取り出し、
前記キーナビゲーション情報から、前記記憶装置の前記保護されている領域の前記キー記憶ファイル内の、前記暗号解読/暗号化キーが記憶されている場所を導き出し、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記キー記憶ファイルから前記暗号解読/暗号化キーを取得し、
前記暗号解読/暗号化キーを使用して、前記コンテンツファイルを暗号解読/暗号化する、コンピュータ読取可能媒体。
【請求項20】
前記コンピュータプログラムは、それぞれがキーを記憶するためのm個の場所を有する複数のキー記憶ファイルを使用しており、前記キーナビゲーション情報は、インデクスを備えており、前記コンピュータプログラムは、前記インデクスをmで割り、商を取得して、前記商の整数部分と等しい整数を取得すると共に、前記商の余り部分と等しいオフセットを取得することにより、前記複数のキー記憶ファイルの内のどの1つが、前記暗号解読/暗号化キーを記憶しているかということと、そのキー記憶ファイル内の、前記暗号解読/暗号化キーが記憶されている場所とを見つける、請求項19に記載の媒体。
【請求項21】
前記整数は、前記1つ又はそれ以上のキー記憶ファイルの内のどの1つが、前記暗号解読/暗号化キーを記憶しているかを示しており、前記オフセットは、そのキー記憶ファイル内の、前記暗号解読/暗号化キーが記憶されている前記場所を示している、請求項20に記載の媒体。
【請求項22】
前記記憶装置は、保護されていない領域を備えており、前記コンピュータプログラムは、更に、前記保護されていない領域内の或る場所へのアクセス経路を、前記保護されている領域にアクセスするためのアクセス経路に変換する、請求項19に記載の媒体。
【請求項23】
前記記憶装置は、
前記媒体の前記保護されていない領域の、複数のコンテンツファイルの一覧と少なくとも1つのキーナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、1つ又はそれ以上のキー記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係となる構造を有しており、
前記コンピュータプログラムは、前記2つのディレクトリツリーを使って、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記キー記憶ファイル内の、前記暗号化/暗号解読キーが記憶されている前記場所にアクセスするための前記アクセス経路に変換する、請求項22に記載の媒体。
【請求項24】
前記媒体は、前記記憶装置の一部である、請求項19に記載の媒体。
【請求項25】
複数の権利オブジェクトの管理をやり易くするコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンピュータプログラムは、権利オブジェクトナビゲーションファイルを作成し、且つ、1つ又は複数の権利オブジェクト記憶ファイルを、それがまだ存在していない場合には作成し、各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に1つ又はそれ以上の権利オブジェクトを保有するために使用されているか使用されるものであり、前記権利オブジェクトのそれぞれは、複数のコンテンツファイルの内の対応する1つの使用及び/又は同ファイルへのアクセスを制御するために使用されているか使用されるものであり、各コンテンツファイルはヘッダ部分を備えており、前記コンテンツファイルのそれぞれの前記ヘッダ部分の場所情報は、前記対応する権利オブジェクトが置かれている前記権利オブジェクト記憶ファイルの1つと、その権利オブジェクト記憶ファイル内でのその権利オブジェクトの前記対応する場所とを示しており、前記権利オブジェクトナビゲーションファイルは、有効な権利オブジェクトが前記1つ又はそれ以上の権利オブジェクト記憶ファイル内の1つ又はそれ以上の場所に記憶されているか否かを示す状態情報を保有している、コンピュータ読取可能媒体。
【請求項26】
前記権利オブジェクトナビゲーションファイルと1つ又はそれ以上の権利オブジェクト記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記少なくとも1つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記コンピュータプログラムは、暗号化された権利オブジェクトを記憶するための前記1つ又はそれ以上の権利オブジェクト記憶ファイルを、それがまだ存在していない場合には、前記少なくとも1つの保護されている領域に作成する、請求項25に記載の媒体。
【請求項27】
前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイルを、それがまだ存在していない場合には、前記少なくとも1つの保護されていない領域に作成する、請求項26に記載の媒体。
【請求項28】
前記権利オブジェクトナビゲーションファイルはエントリを保有しており、前記権利オブジェクトナビゲーションファイルの前記エントリのそれぞれは、前記1つ又はそれ以上の権利オブジェクト記憶ファイル内の、複数の権利オブジェクトの1つを記憶するための場所に対応しており、有効な権利オブジェクトがその場所に記憶されているか否かについての状態情報を提供する、請求項25に記載の媒体。
【請求項29】
前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイルの前記エントリにより提供される前記状態情報から、前記権利オブジェクト記憶ファイルの1つの、有効権利オブジェクトが記憶されていない対応する場所、を示している状態情報を提供するエントリを見つける、請求項28に記載の媒体。
【請求項30】
前記コンピュータプログラムは、前記複数のコンテンツファイルの使用及び/又は同ファイルへのアクセスを制御するための権利オブジェクトを生成し、前記生成された権利オブジェクトを、前記権利オブジェクト記憶ファイルの中の1つの、前記見つけられたエントリにより表示されている前記対応する場所に記憶し、前記場所情報をそのコンテンツファイルのヘッダ部分に挿入する、請求項29に記載の媒体。
【請求項31】
前記権利オブジェクナビゲーションファイル内の前記エントリのそれぞれは、インデクスiの異なる値に対応しており、前記インデクス値のそれぞれは、前記1つ又はそれ以上の権利オブジェクト記憶ファイル内の前記対応する場所の状態情報と関係付けられており、前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイル内で見つけられた前記エントリの前記インデクスiを、前記生成された権利オブジェクトを使用して制御されることになる対応するコンテンツファイルのヘッダ部分に挿入する、請求項30に記載の媒体。
【請求項32】
Nを1より大きい整数として、前記コンピュータプログラムは1からNまでの番号が付されたN個までの権利オブジェクト記憶ファイルを使用しており、mを正の整数として、前記N個の権利オブジェクト記憶ファイルのそれぞれは、m個の権利オブジェクトを記憶するためのm個の場所を保有しており、前記数i/mの整数部分は、前記N個の権利オブジェクト記憶ファイルの中の、前記対応する権利オブジェクトが記憶されているか記憶されることになる特定の1つを示しており、i mod mは、前記見つけられたエントリに対応している前記特定の権利オブジェクト記憶ファイル内の対応する権利オブジェクトの場所を示しており、前記コンピュータプログラムは、前記数i/mの整数部分を見つけるための、及びi mod mを見つけるための演算を実行する、請求項31に記載の媒体。
【請求項33】
前記コンピュータプログラムは、前記整数部分によって、前記N個の権利オブジェクト記憶ファイルの中から、前記生成された権利オブジェクトを記憶するのに使用されることになる前記権利オブジェクト記憶ファイルを見つける、請求項32に記載の媒体。
【請求項34】
前記コンピュータプログラムは、i mod mを使用して、前記生成された権利オブジェクトを記憶するのに使用されることになる、前記権利オブジェクト記憶ファイル内の前記対応する場所を見つける、請求項33に記載の媒体。
【請求項35】
前記権利オブジェクトナビゲーションファイルは、複数のビットを保有しており、各ビットは、有効な権利オブジェクトが前記1つ又はそれ以上の権利オブジェクト記憶ファイル内の対応する場所に記憶されているか否かを示している、請求項25に記載の媒体。
【請求項36】
前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイルを作成し、且つ、前記1つ又は複数の権利オブジェクト記憶ファイルを、それがまだ存在していない場合に、前記媒体とは別体の記憶装置内に作成する、請求項25に記載の媒体。
【請求項37】
前記コンピュータプログラムは、前記権利オブジェクトナビゲーションファイルを作成し、且つ、前記1つ又は複数の権利オブジェクト記憶ファイルを、それがまだ存在していない場合には、或る記憶装置内に作成し、前記媒体は前記記憶装置の一部である、請求項25に記載の媒体。
【請求項38】
前記コンピュータプログラムは、前記権利オブジェクト記憶ファイル内の、各コンテンツファイルに対応する前記権利オブジェクトを記憶するのに使用されているか使用されることになる前記対応する場所を、そのコンテンツファイルの前記ヘッダ部分の前記場所情報を使用して見つける、請求項25に記載の媒体。
【請求項39】
権利オブジェクトビゲーション機構を記憶している不揮発性コンピュータ読取可能媒体であって、前記機構は、権利オブジェクトナビゲーションファイルと少なくとも1つの権利オブジェクト記憶ファイルを備えており、各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に複数の権利オブジェクトを保有しており、前記権利オブジェクトは、複数のコンテンツファイルの内の対応する1つの使用及び/又は同ファイルへのアクセスのために使用され、各コンテンツファイルはヘッダ部分を備えており、前記コンテンツファイルのそれぞれの前記ヘッダ部分の情報は、前記対応する権利オブジェクトが置かれている前記権利オブジェクト記憶ファイルの1つと、その権利オブジェクト記憶ファイル内のその権利オブジェクトの対応する場所と、を表示しており、前記権利オブジェクトナビゲーションファイルは、前記少なくとも1つの権利オブジェクト記憶ファイル内の1つ又はそれ以上の場所が有効な権利オブジェクトを保有しているか否かを示す情報を保有している、不揮発性コンピュータ読取可能媒体。
【請求項40】
前記媒体は、メモリカード内の不揮発性フラッシュメモリセルを備えている、請求項39に記載の媒体。
【請求項41】
前記媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記少なくとも1つの権利オブジェクト記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されており、前記権利オブジェクトナビゲーションファイルは、前記少なくとも1つの保護されていない領域に記憶されている、請求項39に記載の媒体。
【請求項42】
少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、権利オブジェクトナビゲーション機構を記憶している、不揮発性コンピュータ読取可能媒体にであって、前記機構は、
権利オブジェクトナビゲーションファイルと少なくとも1つの権利オブジェクト記憶ファイルであって、各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に複数の暗号化された権利オブジェクトを保有しており、前記権利オブジェクトのそれぞれは、複数のコンテンツファイルの対応する1つの使用及び/又は同ファイルへのアクセスを制御する、権利オブジェクトナビゲーションファイルと少なくとも1つの権利オブジェクト記憶ファイルと、
前記媒体の前記少なくとも1つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記権利オブジェクトナビゲーションファイルを保有しているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、前記少なくとも1つの権利オブジェクト記憶ファイル内の権利オブジェクトの一覧を保有しているディレクトリを備えている、第2ディレクトリと、を備えており、前記2つのディレクトリツリーは互い鏡像関係となる構造を有している、不揮発性コンピュータ読取媒体。
【請求項43】
記憶装置の保護されている領域の権利オブジェクト記憶ファイル内の権利オブジェクトを使用して、コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御するコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンテンツファイルは、前記権利オブジェクト記憶ファイル内の、前記コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御するための前記権利オブジェクトへのアクセス経路を示す権利オブジェクトナビゲーション情報を保有しており、前記コンピュータプログラムは、
前記権利オブジェクトナビゲーション情報を前記コンテンツファイルから取り出し、
前記権利オブジェクトナビゲーション情報から、前記記憶装置の前記保護されている領域の前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている場所を導き出し、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記権利オブジェクト記憶ファイルから前記権利オブジェクトを取得し、
前記権利オブジェクトに従って、前記コンテンツファイルを使用及び/又は同ファイルにアクセスする、コンピュータ読取可能媒体。
【請求項44】
前記コンピュータプログラムは、それぞれが権利オブジェクトを記憶するためのm個の場所を有する複数の権利オブジェクト記憶ファイルを使用しており、前記権利オブジェクトナビゲーション情報は、インデクスを備えており、前記コンピュータプログラムは、前記インデクスをmで割り、商を取得して、前記商の前記整数部分と等しい整数を取得すると共に前記商の前記余り部分と等しいオフセットを取得することにより、前記複数の権利オブジェクト記憶ファイルの中のどの1つが、前記権利オブジェクトを記憶しているかと、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている場所とを見つける、請求項43に記載の媒体。
【請求項45】
前記整数は、前記1つ又はそれ以上の権利オブジェクト記憶ファイルの中のどの1つが、前記権利オブジェクトを記憶しているかを示しており、前記オフセットは、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所を示している、請求項44に記載の媒体。
【請求項46】
前記記憶装置は、保護されていない領域を備えており、前記コンピュータプログラムは、更に、前記保護されていない領域内の或る場所へのアクセス経路を、前記保護されている領域にアクセスするためのアクセス経路に変換する、請求項43に記載の媒体。
【請求項47】
前記記憶装置は、
前記媒体の前記保護されていない領域の、前記複数のコンテンツファイルの一覧と権利オブジェクトナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の第、1つ又はそれ以上の権利オブジェクト記憶ファイルを備えているディレクトリを備えている第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係となる構造を有しており、
前記コンピュータプログラムは、前記2つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所にアクセスするためのアクセス経路に変換する、請求項46に記載の媒体。
【請求項48】
前記媒体は、前記記憶装置の一部である、請求項43に記載の媒体。
【請求項49】
キー記憶ファイル内に記憶され、且つ、コンテンツファイルを暗号化/暗号解読するのに使用される暗号化/暗号解読キーを、無効にするためのコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンテンツファイルは、前記キー記憶ファイル内に記憶された前記キーが有効か否かを示す状態情報を保有しているキーナビゲーションファイルを用いて、前記キー記憶ファイル内の前記キーの前記場所を示す場所情報を保有しているヘッダー部分を備え、前記コンピュータプログラムは、
前記コンテンツファイルの前記ヘッダ部分から、前記キーファイル内の前記キーの場所情報を取得し、
前記場所情報を使用して、前記キーナビゲーションファイル内の前記キーの前記状態情報を突き止め、
前記キーナビゲーションファイル内の前記キーの前記状態情報を変更して、前記キーが無効であることを表示する、コンピュータ読取可能媒体。
【請求項50】
複数のキー記憶ファイルは、1つ又はそれ以上のコンテンツファイルを保護するためのキーを記憶するのに使用され、前記キーナビゲーションファイルは、前記複数のキー記憶ファイル内に記憶されている前記キーが有効であるか否かを示す状態情報を保有しており、前記場所情報は、更に、キー記憶ファイルの中のどの1つのファイルが、無効にされるべき前記キーを保有しているかを示している、請求項49に記載の媒体。
【請求項51】
前記キーナビゲーションファイルと前記キー記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記少なくとも1つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記キー記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されているので、前記キー記憶ファイル内の前記キーは、前記少なくとも1つの保護されている領域にアクセスすること無しに、無効であると表示される、請求項49に記載の媒体。
【請求項52】
権利オブジェクト記憶ファイル内に記憶され、且つ、コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御するのに使用される権利オブジェクトを、無効にするためのコンピュータプログラムを記憶しているコンピュータ読取可能媒体であって、前記コンテンツファイルは、前記権利オブジェクト記憶ファイル内に記憶された権利オブジェクトが有効であるか否かを示す状態情報を保有している前記権利オブジェクトナビゲーションファイルを用いて、前記権利オブジェクト記憶ファイル内の前記権利オブジェクトの前記場所を示す場所情報を保有しているヘッダー部分を備え、前記コンピュータプログラムは、
前記コンテンツファイルの前記ヘッダ部分から、前記権利オブジェクトファイル内の前記権利オブジェクトの場所情報を取得し、
前記場所情報を使用して、前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報を突き止め、
前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報を変更して、前記権利オブジェクトが無効であることを表示する、コンピュータ読取可能媒体。
【請求項53】
複数の権利オブジェクト記憶ファイルは、1つ又はそれ以上のコンテンツファイルを保護するための権利オブジェクトを記憶するのに使用され、前記権利オブジェクトナビゲーションファイルは、前記複数の権利オブジェクト記憶ファイル内に記憶されている前記権利オブジェクトが有効であるか否かを示す状態情報を保有しており、前記場所情報は、更に、権利オブジェクト記憶ファイルの中のどの1つが、無効にされるべき前記権利オブジェクトを保有しているかを表示する、請求項52に記載の媒体。
【請求項54】
前記権利オブジェクトナビゲーションファイルと前記権利オブジェクト記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記少なくとも1つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記権利オブジェクト記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されているので、前記権利オブジェクト記憶ファイル内の前記権利オブジェクトは、前記少なくとも1つの保護されている領域にアクセスすること無しには、無効であると表示される、請求項52に記載の媒体。
【請求項55】
キーナビゲーションファイルと1つ又はそれ以上のキー記憶ファイルを使用して、コンテンツファイルを暗号化/暗号解読するための方法であって、前記キーナビゲーションファイル内の前記エントリのそれぞれは、前記1つ又はそれ以上のキー記憶ファイル内の複数の暗号化/暗号解読キーの1つを記憶するための場所に対応し、
キーナビゲーションファイルを開く段階と、
前記キーナビゲーションファイル内で、前記1つ又はそれ以上のキー記憶ファイル内の有効キーの場所に対応していないエントリを見つける段階と、
暗号化/暗号解読キーを生成する段階と、
前記暗号化/暗号解読キーを用いて前記コンテンツファイルを暗号化/暗号解読する段階と、
前記暗号化/暗号解読キーを、前記キー記憶ファイルの中の1つの、前記エントリに対応している前記場所に記憶する段階と、から成る方法。
【請求項56】
前記方法は、前記キーナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイル用のキーナビゲーション情報を取得する段階を更に含んでいる、請求項55に記載の方法。
【請求項57】
前記方法は、それぞれがm個のエントリを有する複数のキー記憶ファイルを使用しており、前記キーナビゲーション情報は、前記キーナビゲーションファイル内の各エントリ毎に異なる値を有するインデクスを備えており、前記方法は、前記1つ又はそれ以上のキー記憶ファイル内の、前記暗号化/暗号解読キーを記憶するための前記エントリに対応する場所を見つける段階を更に含んでおり、前記見つける段階は、前記インデクスをmで割り、商を取得して、前記商の前記整数部分と等しい整数を取得すると共に前記商の余り部分と等しいオフセットを取得する段階を含んでいる、請求項56に記載の方法。
【請求項58】
前記整数は、前記1つ又はそれ以上のキー記憶ファイルのどの1つに、前記暗号化/暗号解読キーが前記記憶する段階により記憶されることになるかを示しており、前記オフセットは、そのキー記憶ファイル内の、前記暗号化/暗号解読キーが前記記憶する段階により記憶されることになる前記場所を示している、請求項57に記載の方法。
【請求項59】
前記インデクスを前記暗号化/暗号解読されたコンテンツファイルのヘッダに挿入する段階を更に含んでいる、請求項57に記載の方法。
【請求項60】
前記キーナビゲーションファイル内の前記エントリを、それが前記少なくとも1つのキー記憶ファイル内の有効キーに対応するように変更する段階を更に備えている、請求項55に記載の方法。
【請求項61】
前記キーナビゲーションファイルと前記1つ又はそれ以上のキー記憶ファイルは、記憶媒体に記憶されており、前記媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記少なくとも1つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記1つ又はそれ以上のキー記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されているので、前記記憶する段階では、前記暗号化/暗号解読キーを前記少なくとも1つの保護されている領域に記憶する、請求項55に記載の方法。
【請求項62】
前記暗号化/暗号解読キーを記憶するための、前記エントリに対応する前記場所を保有している前記1つのキー記憶ファイルへのアクセス経路を構築する段階を更に含んでいる、請求項55に記載の方法。
【請求項63】
前記構築する段階は、前記キーナビゲーション情報からキーファイル名を形成する段階を含んでいる、請求項62に記載の方法。
【請求項64】
前記キーナビゲーションファイルと前記1つ又はそれ以上のキー記憶ファイルは、記憶媒体に記憶されており、前記媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記1つ又はそれ以上のキー記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されており、前記構築する段階は、前記ファイル名から、前記少なくとも1つの保護されている領域の前記1つのキー記憶ファイルへのアクセス経路を導き出す段階を更に含んでいる、請求項63に記載の方法。
【請求項65】
前記媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記構築する段階は、前記少なくとも1つの保護されていない領域内の或る場所へのアクセス経路を、前記少なくとも1つの保護されている領域へアクセスするためのアクセス経路に変換する、請求項62に記載の方法。
【請求項66】
前記媒体は、
前記媒体の前記少なくとも1つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記キーナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、前記1つ又はそれ以上のキー記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係にあり、
前記変換する段階では、前記2つのディレクトリツリーを使用して、前記保護されていない領域内の或る場所にアクセスするためのアクセス経路を、前記保護されている領域の前記1つのキー記憶ファイル内の前記場所にアクセスするためのアクセス経路に変換する、請求項65に記載の方法。
【請求項67】
記憶媒体の保護されている領域のキー記憶ファイル内の暗号解読/暗号化キーを使用して、コンテンツファイルを暗号解読/暗号化するための方法であって、前記コンテンツファイルは、前記キー記憶ファイル内の、前記コンテンツファイルを暗号解読/暗号化するための前記暗号解読/暗号化キーの場所を示すキーナビゲーション情報を保有しており、
前記コンテンツファイルから前記キーナビゲーション情報を取り出す段階と、
前記キーナビゲーション情報から、前記記憶装置の前記保護されている領域の前記キー記憶ファイル内の、前記暗号化/暗号解読キーが記憶されている場所を導き出す段階と、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記キー記憶ファイルから前記暗号化/暗号解読キーを取得する段階と、
前記暗号化/暗号解読キーを使用して、前記コンテンツファイルを暗号化/暗号解読する段階と、から成る方法。
【請求項68】
前記方法は、それぞれがキーを記憶するためのm個の場所を有する複数のキー記憶ファイルを使用しており、前記キーナビゲーション情報は、インデクスを備えており、前記方法は、前記インデクスをmで割り、商を取得して、前記商の前記整数部分と等しい整数を取得すると共に前記商の余り部分と等しいオフセットを取得することにより、前記複数のキー記憶ファイルのどの1つのファイルが、前記暗号解読/暗号化キーを記憶しているかと、そのキー記憶ファイル内の、前記暗号解読/暗号化キーが記憶されている前記場所と、を見つける段階を更に含んでいる、請求項67に記載の方法。
【請求項69】
前記整数は、前記1つ又はそれ以上のキー記憶ファイルのどの1つが、前記暗号解読/暗号化キーを記憶しているかを示ししており、前記オフセットは、そのキー記憶ファイル内の、前記暗号解読/暗号化キーが記憶されている前記場所を示している、請求項68に記載の方法。
【請求項70】
前記媒体は、保護されていない領域を備えており、前記導き出す段階では、前記保護されていない領域内の或る場所へのアクセス経路を、前記保護されている領域にアクセスするためのアクセス経路に変換する、請求項67に記載の方法。
【請求項71】
前記媒体は、
前記媒体の前記保護されていない領域の、前記複数のコンテンツファイルの一覧と少なくとも1つのキーナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、1つ又はそれ以上のキー記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係にある構造を有しており、
前記変換する段階は、前記2つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記キー記憶ファイル内の、前記暗号解読/暗号化が記憶されている前記場所にアクセスするための前記アクセス経路に変換する、請求項70に記載の方法。
【請求項72】
コンテンツファイルを暗号化/暗号解読するための方法であって、
キーナビゲーションファイルが存在していない場合には、そのファイルを作成する段階と、
少なくとも1つのキー記憶ファイルが存在していない場合には、少なくとも1つのそのファイルを作成する段階であって、前記キーナビゲーションファイル内のエントリのそれぞれは、前記少なくとも1つのキー記憶ファイル内の、複数の暗号化/暗号解読キーの1つを記憶するための場所に対応している、キー記憶ファイルを作成する段階と、
前記キーナビゲーションファイル内に、前記少なくとも1つのキー記憶ファイル内の有効キーに対応していないエントリを見つける段階と、
前記キーナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイルのキーナビゲーション情報を取得する段階と、
暗号化/暗号解読キーを生成する段階と、
前記暗号化/暗号解読キーを用いて、前記コンテンツファイルを暗号化/暗号解読する段階と、
前記暗号化/暗号解読キーを、前記エントリに対応する前記少なくとも1つのキー記憶ファイル内の場所に記憶する段階と、から成る方法。
【請求項73】
権利オブジェクトナビゲーションファイルと1つ又はそれ以上の権利オブジェクト記憶ファイルを使用して、コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御するための方法であって、前記権利オブジェクトナビゲーションファイル内のエントリのそれぞれは、前記1つ又はそれ以上の権利オブジェクト記憶ファイル内の、複数の権利オブジェクトの1つを記憶するための場所に対応しており、
前記権利オブジェクトナビゲーションファイルを開く段階と、
前記権利オブジェクトナビゲーションファイル内に、前記1つ又はそれ以上の権利オブジェクト記憶ファイル内の、有効な権利オブジェクトの場所に対応していないエントリを見つける段階と、
権利オブジェクトを取得する段階と、
前記権利オブジェクトに従って前記コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御する段階と、
前記権利オブジェクトを、前記権利オブジェクト記憶ファイルの中の前記1つの、前記エントリに対応している場所に記憶する段階と、から成る方法。
【請求項74】
前記方法は、前記権利オブジェクトナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイルの権利オブジェクトナビゲーション情報を取得する段階を更に含んでいる、請求項73に記載の方法。
【請求項75】
前記方法は、それぞれがm個のエントリ有する複数の権利オブジェクト記憶ファイルを使用しており、前記権利オブジェクトナビゲーション情報は、前記権利オブジェクトナビゲーションファイル内の各エントリ毎に異なる値を有するインデクスを備えており、前記方法は、前記1つ又はそれ以上の権利オブジェクト記憶ファイル内に、前記権利オブジェクトを記憶するための前記エントリに対応する前記場所を見つける段階を更に含んでおり、前記見つける段階は、前記インデクスをmで割り、商を取得して、前記商の前記整数部分と等しい整数を取得すると共に前記商の余り部分と等しいオフセットを取得する段階を含んでいる、請求項74に記載の方法。
【請求項76】
前記整数は、前記1つ又はそれ以上の権利オブジェクト記憶ファイルの中のどの1つに、前記権利オブジェクトが前記記憶する段階により記憶されることになるかを示しており、前記オフセットは、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが前記記憶する段階により記憶されることになる前記場所を示している、請求項75に記載の方法。
【請求項77】
前記インデクスを前記コンテンツファイルのヘッダに挿入する段階を更に含んでいる、請求項75に記載の方法。
【請求項78】
前記権利オブジェクトナビゲーションファイ内の前記エントリを、それが前記少なくとも1つの権利オブジェクト記憶ファイル内の有効な権利オブジェクトに対応するように変更する段階を更に備えている、請求項73に記載の方法。
【請求項79】
前記権利オブジェクトナビゲーションファイルと前記1つ又はそれ以上の権利オブジェクト記憶ファイルは、記憶媒体に記憶されており、前記媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記少なくとも1つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記1つ又はそれ以上の権利オブジェクト記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されているので、前記記憶する段階では、前記権利オブジェクトを前記少なくとも1つの保護されている領域に記憶する、請求項73に記載の方法。
【請求項80】
前記権利オブジェクトを記憶するための、前記エントリに対応する前記場所を保有している前記1つの権利オブジェクト記憶ファイルへのアクセス経路を構築する段階を更に含んでいる、請求項73に記載の方法。
【請求項81】
前記構築する段階は、前記権利オブジェクトナビゲーション情報から権利オブジェクトファイル名を形成する段階を含んでいる、請求項80に記載の方法。
【請求項82】
前記権利オブジェクトナビゲーションファイルと前記1つ又はそれ以上の権利オブジェクト記憶ファイルは、記憶媒体内に記憶されており、前記媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記1つ又はそれ以上の権利オブジェクト記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されており、前記構築する段階は、前記ファイル名から、前記少なくとも1つの保護されている領域の前記1つの権利オブジェクト記憶ファイルへのアクセス経路を導き出す段階を更に含んでいる、請求項81に記載の方法。
【請求項83】
前記媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記構築する段階は、前記少なくとも1つの保護されていない領域内の或る場所へのアクセス経路を、前記少なくとも1つの保護されている領域へアクセスするためのアクセス経路に変換する、請求項80に記載の方法。
【請求項84】
前記媒体は、
前記媒体の前記少なくとも1つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記権利オブジェクトナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の少なくとも1つの保護されている領域の、前記1つ又はそれ以上の権利オブジェクト記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係にあり、
前記変換する段階では、前記2つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記保護されている領域の前記1つの権利オブジェクト記憶ファイル内の前記場所にアクセスするためのアクセス経路に変換する、請求項83に記載の方法。
【請求項85】
前記取得する段階は、前記権利オブジェクトを生成する段階を含んでいる、請求項73に記載の方法。
【請求項86】
前記取得する段階は、前記権利オブジェクトをダウンロードする段階を含んでいる、請求項73に記載の方法。
【請求項87】
キーを生成する段階と、生成された前記キーを使用して前記コンテンツファイルを暗号化する段階を更に含んでいる、請求項86に記載の方法。
【請求項88】
前記権利オブジェクトからのキーを使用して前記コンテンツファイルを暗号解読する段階を更に含んでおり、前記暗号化する段階は、前記暗号解読する段階の後に起こる、請求項87に記載の方法。
【請求項89】
前記権利オブジェクト内のキーを前記生成されたキーで置き換える段階を更に含んでいる、請求項87に記載の方法。
【請求項90】
前記暗号化する段階は、前記権利オブジェクト内のキーを用いて既に暗号化されている前記コンテンツファイルを暗号化する、請求項87に記載の方法。
【請求項91】
前記生成されたキーを、前記権利オブジェクト内に記憶する段階を更に備えている、請求項90に記載の方法。
【請求項92】
記憶媒体の保護されている領域の権利オブジェクト記憶ファイル内の権利オブジェクトを使用して、コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御するための方法であって、前記コンテンツファイルは、前記権利オブジェクト記憶ファイル内の、前記コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御するための前記権利オブジェクトの場所を示す権利オブジェクトナビゲーション情報を保有しており、
前記コンテンツファイルから前記権利オブジェクトナビゲーション情報を取り出す段階と、
前記権利オブジェクトナビゲーション情報から、前記記憶装置の前記保護されている領域の前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所を導き出す段階と、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記権利オブジェクト記憶ファイルから前記権利オブジェクトを取得する段階と、
前記権利オブジェクトに従って、前記コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御する段階と、から成る方法。
【請求項93】
前記方法は、それぞれが権利オブジェクトを記憶するためのm個の場所を有する複数の権利オブジェクト記憶ファイルを使用しており、前記権利オブジェクトナビゲーション情報は、インデクスを備えており、前記方法は、前記インデクスをmで割り、商を取得して、前記商の整数部分と等しい整数を取得すると共に前記商の余り部分と等しいオフセットを取得することにより、前記複数の権利オブジェクト記憶ファイルのどの1つが、前記権利オブジェクトを記憶しているかと、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている場所と、を見つける段階を更に含んでいる、請求項92に記載の方法。
【請求項94】
前記整数は、前記1つ又はそれ以上の権利オブジェクト記憶ファイルのどの1つが、前記権利オブジェクトを記憶しているかを示しており、前記オフセットは、その権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所を示している、請求項93に記載の方法。
【請求項95】
前記媒体は、保護されていない領域を備えており、前記導き出す段階は、更に、前記保護されていない領域内の或る場所へのアクセス経路を、前記保護されている領域にアクセスするためのアクセス経路に変換する、請求項92に記載の方法。
【請求項96】
前記媒体は、
前記媒体の前記保護されていない領域の、前記複数のコンテンツファイルの一覧と権利オブジェクトナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、1つ又はそれ以上の権利オブジェクト記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係にある構造を有しており、
前記変換する段階は、前記2つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所にアクセスするための前記アクセス経路に変換する、請求項95に記載の方法。
【請求項97】
コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御するための方法であって、
権利オブジェクトナビゲーションファイルを、それが存在していない場合には作成する段階と、
少なくとも1つの権利オブジェクト記憶ファイルを、それが存在していない場合には、作成する段階であって、前記権利オブジェクトナビゲーションファイル内のエントリのそれぞれは、前記少なくとも1つの権威オブジェクト記憶ファイル内の、複数の権利オブジェクトの1つを記憶するための場所に対応している、権利オブジェクト記憶ファイルを作成する段階と、
前記権利オブジェクトナビゲーションファイル内に、前記少なくとも1つの権利オブジェクト記憶ファイル内の有効な権利オブジェクトに対応していないエントリを見つける段階と、
前記権利オブジェクトナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイルの権利オブジェクトナビゲーション情報を取得する段階と、
権利オブジェクトを生成する段階と、
前記権利オブジェクトに従って、前記コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御する段階と、
前記権利オブジェクトを、前記エントリに対応する前記少なくとも1つの権利オブジェクト記憶ファイル内の場所に記憶する段階と、から成る方法。
【請求項98】
キー記憶ファイルに記憶され、且つ、コンテンツファイルを暗号化/暗号解読するのに使用される、暗号化/暗号解読キーを無効にするための方法であって、前記コンテンツファイルは、前記キー記憶ファイル内に記憶されている前記キーが有効であるか否かを示す状態情報を保有しているキーナビゲーションファイルを用いて、前記キー記憶ファイル内の前記キーの前記場所を示す場所情報を保有しているヘッダー部分を備え、
前記コンテンツファイルの前記ヘッダ部分から、前記キーファイル内の前記キーの場所情報を取得する段階と、
前記場所情報を使用して、前記キーナビゲーションファイル内の前記キーの前記状態情報を突き止める段階と、
前記キーナビゲーションファイル内の前記キーの前記状態情報を変更して、前記キーが無効であると表示する段階と、から成る方法。
【請求項99】
前記キーナビゲーションファイルと前記キー記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記少なくとも1つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記キー記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されているので、前記少なくとも1つの保護されている領域にアクセスすること無しに、前記キー記憶ファイル内の前記キーは無効であると表示される、請求項98に記載の方法。
【請求項100】
権利オブジェクト記憶ファイル内に記憶されている権利オブジェクトであって、前記権利オブジェクト記憶ファイル内の前記権利オブジェクトの場所を示す場所情報を保有しているヘッダ部分を備えているコンテンツファイルの使用及び/又は同ファイルへのアクセスを制御するのに使用される権利オブジェクトを、前記権利オブジェクト記憶ファイル内に記憶されている前記権利オブジェクトが有効であるか否かを示す状態情報を保有している権利オブジェクトナビゲーションファイルを用いて、無効にするための方法において、
前記コンテンツファイルの前記ヘッダ部分から、前記権利オブジェクトファイル内の前記権利オブジェクトの場所情報を取得する段階と、
前記場所情報を使用して、前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報の位置を見つける段階と、
前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報を変更して、前記権利オブジェクトが無効であると表示する段階と、から成る方法。
【請求項101】
前記権利オブジェクトナビゲーションファイルと前記権利オブジェクト記憶ファイルは、記憶装置に記憶されており、前記装置は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えており、前記少なくとも1つの保護されている領域は、認証されたユーザーだけがアクセス可能であり、前記権利オブジェクト記憶ファイルは、前記少なくとも1つの保護されている領域に記憶されているので、前記少なくとも1つの保護されている領域にアクセスすること無しには、前記権利オブジェクト記憶ファイル内の前記権利オブジェクトは無効であると表示される、請求項100に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2009−516961(P2009−516961A)
【公表日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願番号】特願2008−541468(P2008−541468)
【出願日】平成18年11月15日(2006.11.15)
【国際出願番号】PCT/US2006/060928
【国際公開番号】WO2007/094874
【国際公開日】平成19年8月23日(2007.8.23)
【出願人】(507208288)サンディスク コーポレーション (11)
【Fターム(参考)】