JP2009516961A - Method and system for managing key and / or rights objects - Google Patents
Method and system for managing key and / or rights objects Download PDFInfo
- Publication number
- JP2009516961A JP2009516961A JP2008541468A JP2008541468A JP2009516961A JP 2009516961 A JP2009516961 A JP 2009516961A JP 2008541468 A JP2008541468 A JP 2008541468A JP 2008541468 A JP2008541468 A JP 2008541468A JP 2009516961 A JP2009516961 A JP 2009516961A
- Authority
- JP
- Japan
- Prior art keywords
- file
- key
- rights object
- medium
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 230000007246 mechanism Effects 0.000 claims description 101
- 238000004590 computer program Methods 0.000 claims description 69
- 238000006243 chemical reaction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 29
- 238000007726 management method Methods 0.000 description 35
- 238000005192 partition Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 229910003460 diamond Inorganic materials 0.000 description 8
- 239000010432 diamond Substances 0.000 description 8
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000005465 channeling Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
権利オブジェクト(RO)を、望ましくは、認証されたユーザーだけがアクセス可能になっている保護されている領域に、記憶するのに、1つ又はそれ以上の権利オブジェクト(RO)ファイルを使用することができる。ROナビゲーションファイルは、望ましくは、ROファイル内の或る場所が有効なROを保有しているか否かを識別する各状態ビットを保有している保護されていない公開領域に記憶されている。ROファイル内のROの場所と、ROナビゲーションファイル内の、ROファイル内のその対応する場所が有効なROを保有しているか否かを識別する状態ビットの場所との間には、1対1の対応関係が在るのが望ましい。ROファイル内の特定の場所が有効なROを保有しているか否かは、ROナビゲーションファイル内のその対応する状態ビットを調べることにより見つけることができる。ROファイル内の特定の場所が有効なROを保有しているか否かをこのやり方で見極めることにより、認証プロセスを通過する必要無しに、ROを削除することが可能になる。ROファイル内に、新しいROを記憶するための空のスロットを見つけるプロセスも簡単になる。これにより、RO管理の効率は格段に向上する。同様のシステムは、コンテンツファイルを保護するためのコンテンツ暗号化/暗号化キーの管理にも使用することができる。 Using one or more rights object (RO) files to store the rights object (RO), preferably in a protected area that is accessible only to authorized users Can do. The RO navigation file is preferably stored in an unprotected public area that holds each status bit that identifies whether a location in the RO file has a valid RO. There is a one-to-one correspondence between the location of the RO in the RO file and the location of the status bit in the RO navigation file that identifies whether the corresponding location in the RO file has a valid RO. It is desirable that there is a corresponding relationship. Whether a particular location in the RO file has a valid RO can be found by examining its corresponding status bit in the RO navigation file. By determining in this manner whether a particular location in the RO file has a valid RO, it is possible to delete the RO without having to go through the authentication process. The process of finding an empty slot for storing a new RO in the RO file is also simplified. Thereby, the efficiency of RO management is remarkably improved. A similar system can be used for content encryption / encryption key management to protect content files.
Description
本発明は、概括的には、暗号化/暗号解読システムに関し、より詳細には、暗号化及び/又は暗号解読に使用されるキー、及び/又はコンテンツの使用又はコンテンツへのアクセスを制御する権利オブジェクトを、管理するためのシステムに関する。 The present invention relates generally to encryption / decryption systems, and more particularly to keys used for encryption and / or decryption and / or the right to control the use or access to content. The present invention relates to a system for managing objects.
音楽、映像、及びゲームの様なメディアコンテンツは、デジタルファイルとして配給されることが増えている。その様なデジタルコンテンツは、インターネット及び記憶装置の使用を含め、複数のチャネルを介して広く配信されている。デジタルコンテンツは、例えば、磁気又は光ディスク、テープ、及びフラッシュメモリの様な不揮発性メモリなど、多種多様な装置に記憶されてもよい。それら記憶装置のデジタルコンテンツは、デスクトップ及びポータブル両様式のパーソナルコンピュータ、iPod(商標)及び他の種類の内蔵型又は自立型メディアプレーヤー、携帯情報端末(「PDA」)、ゲームコントローラ、MP3プレーヤー(商標)、及び携帯電話送受話器の様な多岐にわたる各種装置(ここでは総称的に「ホスト装置」と称する)により、再生され、記憶され、及び操作される。 Media content such as music, video, and games is increasingly distributed as digital files. Such digital content is widely distributed over multiple channels, including the use of the Internet and storage devices. Digital content may be stored on a wide variety of devices, such as magnetic or optical disks, tapes, and non-volatile memory such as flash memory. The digital content of these storage devices includes both desktop and portable personal computers, iPod (TM) and other types of built-in or self-supporting media players, personal digital assistants ("PDA"), game controllers, MP3 players (TM) ), And various devices (generally referred to herein as “host devices”), such as mobile phone handsets, are played, stored, and operated.
デジタルコンテンツの所有者がコンテンツへの認可されていないアクセスを減らすか又は防止するために、デジタルコンテンツは、認可されているユーザーしかコンテンツにアクセスできないように暗号化されることが多い。歌曲の様な多種多様なデジタルファイルの急増に伴い、管理する必要があるキーの数は膨大になりつつある。また、セキュリティー強化のために、デジタルファイルのそれぞれの暗号化及び暗号解読に多数のキーが関与することになる。従って、デジタル権利管理((digital rights management)「DRM」)に予想される一つの問題は、膨大な数のキーを効率的に管理すると共に、何れの特定のデジタルファイルにおいても、それを暗号化及び/又は暗号解読するための公正なキーを判定する性能である。 In order for digital content owners to reduce or prevent unauthorized access to content, digital content is often encrypted such that only authorized users can access the content. With the proliferation of a wide variety of digital files such as songs, the number of keys that need to be managed is increasing. In order to enhance security, a large number of keys are involved in the encryption and decryption of each digital file. Thus, one possible problem with digital rights management ("DRM") is to efficiently manage a large number of keys and encrypt any particular digital file. And / or the ability to determine a fair key for decryption.
複数のキー管理システムが使用されている。第1の型式のキー管理システムでは、暗号化及び/又は暗号解読キーを識別し見つけるのが更に容易になるように、コンテンツファイルに名前が付けられる。ファイル暗号化システム((encrypting file system)「EFS」)として知られている別の型式のキー管理システムでは、ファイルの暗号化に使用されるキー自体が暗号化され、この暗号化されたキーが、対応する暗号化されたコンテンツファイルのヘッダに記憶される。上記キー管理システムは、アプリケーションによっては有用であるが、それらはそれぞれ限界がある。上記システムはどれも全面的に満足のいくものではない。従って、更に柔軟性に富み、更に使用し易いキー管理システムを提供することが望まれている。 Multiple key management systems are used. In a first type of key management system, content files are named so that it is easier to identify and find encryption and / or decryption keys. In another type of key management system known as a file encryption system (“EFS”), the key itself used to encrypt the file is encrypted, and the encrypted key is stored in the encrypted file system. , Stored in the header of the corresponding encrypted content file. The key management system is useful for some applications, but each has its limitations. None of the above systems are entirely satisfactory. Accordingly, it is desired to provide a key management system that is more flexible and easier to use.
デジタル権利管理(DRM)では、各コンテンツファイルは、コンテンツファイルがどのようにアクセスされ及び/又は使用されるかに関する又はそれを制御する規則と関係付けられてもよい。その様な規則を、DRMでは権利オブジェクトと称している。例えば、規則は、コンテンツファイルが、限定された回数のみ、又は特定の失効日以前にのみ、又は特定の期間中にのみ、アクセスできることを定めてもよい。従って、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御することが望まれるときには、上で説明した規則並びにコンテンツファイルの暗号化及び/又は暗号解読に使用されるコンテンツ暗号化/暗号解読キーを保有することができる権利オブジェクトが作成される。権利オブジェクトは、そこで、更に、権利オブジェクトにより制御されるコンテンツファイルと関係付けられる。多くの場合、権利オブジェクトは、コンテンツファイルの暗号化/暗号解読に使用されるコンテンツ暗号化/暗号解読キーへのアクセスを制御することにより、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御する。而して、保護されているコンテンツファイルを使用すること及び/又はコンテンツファイルにアクセスすることができるようになるには、先ず、それと関係付けられている権利オブジェクトを取り出すか何らかのやり方で取得し、その権利オブジェクトの規則を解読し、そこで、その規則に則ってコンテンツファイルを使用し又はコンテンツファイルにアクセスすることになる。コンテンツファイルが暗号化されている場合は、関係付けられている権利オブジェクトから単数又は複数のキーを取り出し、それを使用してファイルを暗号解読して、初めてその中のコンテンツを使用し又はコンテンツにアクセスすることができる。コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御することが望まれるときは、そのコンテンツファイルと関係付けられており、ファイルの使用及び/又はファイルへのアクセスを統制する規則を有し、且つコンテンツファイルの暗号化/暗号解読に使用される何らかの暗号化/暗号解読キーを有している、権利オブジェクトが作成される。 In digital rights management (DRM), each content file may be associated with rules relating to or controlling how the content file is accessed and / or used. Such a rule is called a rights object in DRM. For example, a rule may define that a content file can be accessed only a limited number of times, only before a specific expiration date, or only during a specific period of time. Thus, when it is desired to control the use of and / or access to the content file, the rules described above and the content encryption / decryption key used to encrypt and / or decrypt the content file A rights object is created that can hold The rights object is then further associated with a content file controlled by the rights object. In many cases, rights objects control content file usage and / or access to content files by controlling access to content encryption / decryption keys used to encrypt / decrypt content files. To do. Thus, in order to be able to use and / or access a protected content file, first retrieve or otherwise obtain the rights object associated with it, and the rights The rule of the object is deciphered, and the content file is used or accessed according to the rule. If the content file is encrypted, take the key or keys from the associated rights object and use it to decrypt the file before using or converting it to the content for the first time Can be accessed. When it is desired to control the use and / or access to a content file, it is associated with that content file and has rules governing the use and / or access to the file; A rights object is created that has some encryption / decryption key used to encrypt / decrypt the content file.
DRMでは、管理する必要がある権利オブジェクトは多数に上るであろう。而して、更に柔軟性に富み、使用し易く、多数の権利オブジェクトを管理することができる、権利オブジェクトを管理するための管理システムを提供することも望まれてよい。 In DRM, there will be many rights objects that need to be managed. Thus, it may also be desirable to provide a management system for managing rights objects that is more flexible, easy to use, and capable of managing multiple rights objects.
本発明の1つの実施形態によれば、キー管理をやり易くするために、キーナビゲーションファイルと1つ又は複数のキー記憶ファイルが使用されてもよい。暗号化/暗号解読されることになるコンテンツファイルは、それぞれ、どのキー記憶ファイルが、当該コンテンツファイルを暗号化及び/又は暗号解読するために使用されることになるキーを保有しているか、を表す場所情報を保有しているヘッダ部分を備えている。キーナビゲーションファイルは、1つ又はそれ以上のキー記憶ファイル内の1つ又はそれ以上の場所に、有効キーが記憶されているか否かを示す状態情報を保有している。これは、1つ又はそれ以上のキー記憶ファイル内にキーを記憶するための場所を見つけ出すプロセスをやり易くする。状態情報は、1つ又は複数のキー記憶ファイル内の、1つ又はそれ以上の有効キーが記憶されていない1つ又はそれ以上の場所を示しているのが望ましい。 According to one embodiment of the present invention, a key navigation file and one or more key storage files may be used to facilitate key management. Each content file that is to be encrypted / decrypted indicates which key storage file has a key that will be used to encrypt and / or decrypt the content file. It has a header part that holds location information. The key navigation file holds state information indicating whether a valid key is stored at one or more locations in one or more key storage files. This facilitates the process of finding a place to store the key in one or more key storage files. The status information preferably indicates one or more locations in one or more key storage files where one or more valid keys are not stored.
上で説明したキーナビゲーションファイルと1つ又はそれ以上のキー記憶ファイルを備えているキーナビゲーション機構は、不揮発性コンピュータ読取可能媒体に記憶されてもよい。 The key navigation mechanism comprising the key navigation file described above and one or more key storage files may be stored on a non-volatile computer readable medium.
上の実施形態の1つの実施例では、キーナビゲーションファイルは、記憶媒体の公開の保護されていない領域に記憶されており、キーを記憶するための1つ又はそれ以上のキー記憶ファイルは、認証されたユーザー、アプリケーション又は装置しかアクセスすることができない、媒体の保護されている領域に記憶されている。明白な理由により、1つ又はそれ以上のキー記憶ファイルは、認可されていないアクセスに対してアクセス可能になっていない保護されている領域に記憶するのが望ましい。而して、キー記憶ファイル内の1つ又はそれ以上の場所が有効キーを保有しているか否かを示す状態情報を保有するキーナビゲーションファイルを、公開の領域に提供することにより、キー管理性能は一段と強化されることになる。而して、キー記憶ファイル内の特定のキーが有効か否かを見極めるために保護されている領域にアクセスする必要はなく、代わりに、この情報は、認証無しにアクセスすることができるキーナビゲーションファイル内で容易に取得できる。また、この特性は、特に、コンテンツファイル及びその暗号化/暗号解読キーを容易に削除できるようにする。1つの実施形態では、キーを削除するために、キーを保有している保護されている領域のキー記憶ファイルに実際にアクセスする必要なしに、単にキーナビゲーションファイル内の状態情報を変えるだけで、キーの削除が成し遂げられる。 In one example of the above embodiment, the key navigation file is stored in a public unprotected area of the storage medium, and the one or more key storage files for storing the keys are authenticated. Stored in a protected area of the media that can only be accessed by a designated user, application or device. For obvious reasons, it is desirable to store one or more key storage files in a protected area that is not accessible for unauthorized access. Thus, key management performance is provided by providing a public area with a key navigation file that holds state information indicating whether one or more locations in the key storage file hold a valid key. Will be further strengthened. Thus, there is no need to access a protected area to determine if a particular key in a key storage file is valid, but instead this information can be accessed without authentication. Can be easily obtained in a file. This property also makes it particularly easy to delete a content file and its encryption / decryption key. In one embodiment, to delete a key, without having to actually access the key storage file of the protected area holding the key, simply change the state information in the key navigation file, Key deletion is accomplished.
本発明のもう1つの実施形態によれば、キーナビゲーションファイルと1つ又はそれ以上のキー記憶ファイルは、コンテンツファイルを暗号化/暗号解読するためのプロセスに容易に利用される。キーナビゲーションファイルのエントリのそれぞれは、1つ又はそれ以上のキー記憶ファイル内の、複数の暗号化/暗号解読キーの1つを記憶するための場所に対応している。キーナビゲーションファイルは、その中に、1つ又はそれ以上のキー記憶ファイル内の或る場所の有効キーに対応していないエントリを見つけることを許可するために開かれてもよい。暗号化/暗号解読キーが生成され、コンテンツファイルはそれにより暗号化/暗号解読される。次いで、暗号化/暗号解読キーは、前記1つのキー記憶ファイル内の、キーナビゲーションファイル内の見つけられた当該エントリに対応している場所に記憶される。 According to another embodiment of the present invention, the key navigation file and one or more key storage files are easily utilized in a process for encrypting / decrypting content files. Each entry in the key navigation file corresponds to a location for storing one of a plurality of encryption / decryption keys in one or more key storage files. The key navigation file may be opened to allow it to find an entry that does not correspond to a valid key at a location in one or more key storage files. An encryption / decryption key is generated and the content file is encrypted / decrypted thereby. The encryption / decryption key is then stored in the location corresponding to the entry found in the key navigation file in the one key storage file.
上で説明した実施形態の1つの実施例では、キーナビゲーション情報は、キーナビゲーションファイル内の、有効キーに対応していないことが見い出されたエントリの場所から導き出され、この場所情報が暗号化されたファイルのヘッダ部分に挿入される。而して、逆のプロセスでは、暗号化されたファイルのヘッダ部分の場所情報を解読することにより、単数又は複数のキー記憶ファイルの1つの中の暗号化/暗号解読キーの場所が判明し、取り出されて、暗号化されたファイルの暗号解読及び/又は暗号化が行われる。 In one example of the embodiment described above, the key navigation information is derived from the location of the entry found in the key navigation file that does not correspond to a valid key, and this location information is encrypted. Inserted in the header of the file. Thus, in the reverse process, by decrypting the location information in the header portion of the encrypted file, the location of the encryption / decryption key in one of the one or more key storage files is determined, Once extracted, the encrypted file is decrypted and / or encrypted.
本発明の別の実施形態によれば、コンテンツファイルは、記憶媒体の保護されている領域内のキー記憶ファイルの暗号解読キーを使用して暗号解読される。コンテンツファイルのヘッダ部分は、キー記憶ファイル内の、コンテンツファイルの/暗号解読のための暗号化/暗号解読キーの場所を示すキーナビゲーション情報を保有している。キーナビゲーション情報が、コンテンツファイルのヘッダ部分から取り出され、次いで、そのキーナビゲーション情報から、暗号解読キーが記憶されているキー記憶ファイル内の場所が導き出される。次いで、暗号解読キーが、保護されている領域から取得され、当該コンテンツファイルを暗号解読するのに使用される。このプロセスは、キー記憶ファイル内の、コンテンツファイルを暗号化するための特定のキーを発見するのにも利用でき、その場合は、そのキーの場所情報は、当該コンテンツファイルのヘッダ内で見つけられる。 According to another embodiment of the invention, the content file is decrypted using the decryption key of the key storage file in the protected area of the storage medium. The header portion of the content file holds key navigation information indicating the location of the encryption / decryption key for decrypting / decrypting the content file in the key storage file. Key navigation information is retrieved from the header portion of the content file, and then the location in the key storage file where the decryption key is stored is derived from the key navigation information. A decryption key is then obtained from the protected area and used to decrypt the content file. This process can also be used to find a specific key in the key storage file for encrypting the content file, in which case the key location information can be found in the header of the content file .
直ぐ上で説明した実施形態の1つの特定の実施例では、キーを記憶するために複数のキー記憶ファイルが使用されている。この実施例では、コンテンツファイルのヘッダ部分のキーナビゲーション情報は、インデスクを備えており、このインデクスは整数である。キー記憶ファイルのそれぞれは、キーを記憶するためのm個の場所を保有している。インデクスをmで割ると、商が得られる。商の整数部は、複数のキー記憶ファイルのどの1つが暗号解読/暗号化キーを記憶しているかを示しており、ここではオフセットとも呼ばれる余り部分は、そのようなキー記憶ファイル内の、暗号解読/暗号化キーが記憶されている場所を示している。 In one particular example of the embodiment just described, multiple key storage files are used to store the keys. In this embodiment, the key navigation information in the header portion of the content file includes an indesk, and this index is an integer. Each key storage file has m locations for storing keys. Divide the index by m to get the quotient. The integer part of the quotient indicates which one of the key storage files stores the decryption / encryption key, where the remainder, also referred to as an offset, is the encryption in such a key storage file. It shows where the decryption / encryption key is stored.
本発明の更に別の実施形態は、キー記憶ファイルに記憶されており、キー記憶ファイルに記憶されているキーが有効か否かを示す状態情報を保有しているキーナビゲーションファイルを用いたコンテンツファイルの暗号化/暗号解読に使用される、暗号化/暗号解読キーを、無効にするための方法に着眼している。コンテンツファイルは、キー記憶ファイル内のキーの場所を示す場所情報を保有しているヘッダ部分を備えている。キーファイル内のキーの場所情報は、コンテンツファイルのヘッダ部分から取得される。この場所情報を使用して、キーナビゲーションファイル内のキーの状態情報が見つけられる。 Yet another embodiment of the present invention provides a content file using a key navigation file stored in a key storage file and having state information indicating whether or not the key stored in the key storage file is valid It focuses on a method for revoking the encryption / decryption key used for encryption / decryption. The content file includes a header portion that holds location information indicating the location of the key in the key storage file. The key location information in the key file is obtained from the header portion of the content file. This location information is used to find key status information in the key navigation file.
キーナビゲーションファイル内のキーの状態情報が変更されて、キーが無効であることが示される。 The key status information in the key navigation file is changed to indicate that the key is invalid.
上で説明した方法は、何れも、プロセッサにより実行されるコンピュータプログラムにより行われてもよく、プログラムはコンピュータ読取可能記憶媒体に記憶されている。 Any of the methods described above may be performed by a computer program executed by a processor, and the program is stored in a computer-readable storage medium.
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、キー管理をやり易くするために使用されてもよい。コンピュータプログラムは、キーナビゲーションファイルを作成し、1つ又はそれ以上のキー記憶ファイルを、それがまだ存在していない場合には作成する。各コンテンツファイルは、どのキー記憶ファイルがそのコンテンツファイルの暗号化/暗号解読キーを保有しているかを示す場所情報を保有しているヘッダ部分を備えている。キーナビゲーションファイルは、1つ又はそれ以上のキー記憶ファイル内の1つ又はそれ以上の場所が有効キーを保有しているか否かを示す状態情報を保有している。 According to another embodiment of the present invention, a computer program stored on a computer readable medium may be used to facilitate key management. The computer program creates a key navigation file and creates one or more key storage files if they do not already exist. Each content file has a header portion that holds location information indicating which key storage file holds the encryption / decryption key for that content file. The key navigation file holds state information indicating whether one or more locations in the one or more key storage files have valid keys.
上記実施形態の1つの実施例では、キーナビゲーションファイル内に、少なくとも1つのキー記憶ファイル内の有効キーに対応していないエントリが発見される。このコンテンツファイルのキーナビゲーション情報が、キーナビゲーションファイル内の前記エントリの場所から取得される。暗号化/暗号解読キーが生成され、それを使用して、当該コンテンツファイルが暗号化/暗号解読される。暗号化/暗号解読キーは、少なくとも1つのキー記憶ファイル内の、前記エントリに対応している場所に記憶される。 In one example of the above embodiment, an entry is found in the key navigation file that does not correspond to a valid key in at least one key storage file. The key navigation information of this content file is obtained from the location of the entry in the key navigation file. An encryption / decryption key is generated and used to encrypt / decrypt the content file. The encryption / decryption key is stored in a location corresponding to the entry in at least one key storage file.
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、記憶装置の保護されている領域のキー記憶ファイル内の暗号化/暗号解読キーを使用して、コンテンツファイルを暗号化/暗号解読する。コンテンツファイルヘッダは、キー記憶ファイル内の暗号化/暗号解読キーの場所を示すキーナビゲーション情報を保有している。コンピュータプログラムは、コンテンツファイルからキーナビゲーション情報を取り出し、このキーナビゲーション情報から、キー記憶ファイル内の、暗号化/暗号解読キーが記憶されている場所を導き出し、暗号化/暗号解読キーを取得して、このキーを使用してコンテンツを暗号化/暗号解読する。この実施形態の1つの実施例では、それぞれm個の場所を保有している複数のキー記憶ファイルが、キーを記憶するのに使用されている。キーナビゲーション情報は、インデクスを備えており、このインデクスは整数であり、コンピュータプログラムは、このインデクスをmで割って商を得ることにより、キー記憶ファイルのどの1つが暗号解読/暗号化キーを記憶しているかと、そのキー記憶ファイル内の、キーが記憶されている場所とを見つける。商の整数部は、複数のキー記憶ファイルのどの1つが暗号解読/暗号化キーを記憶しているかを示しており、ここではオフセットとも呼ばれている余り部分は、そのキー記憶ファイル内の、暗号解読/暗号化キーが記憶されている場所を示している。 According to another embodiment of the present invention, a computer program stored on a computer readable medium uses an encryption / decryption key in a key storage file in a protected area of a storage device to Encrypt / decrypt files. The content file header holds key navigation information indicating the location of the encryption / decryption key in the key storage file. The computer program extracts the key navigation information from the content file, derives the location where the encryption / decryption key is stored in the key storage file from the key navigation information, and obtains the encryption / decryption key. , This key is used to encrypt / decrypt the content. In one example of this embodiment, a plurality of key storage files, each having m locations, are used to store the keys. The key navigation information includes an index, which is an integer, and the computer program divides this index by m to obtain the quotient, so that one of the key storage files stores the decryption / encryption key. And the location where the key is stored in the key storage file. The integer part of the quotient indicates which one of the plurality of key storage files stores the decryption / encryption key, and the remainder, also referred to herein as the offset, is in the key storage file, It shows where the decryption / encryption key is stored.
上で説明したコンピュータプログラムにより実施される方法は、本発明の他の態様の対象である。 The method implemented by the computer program described above is the subject of another aspect of the present invention.
本発明の更に別の実施形態によれば、不揮発性コンピュータ読取可能媒体は、キーナビゲーション機構を記憶しており、この媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えている。この機構は、キーナビゲーションファイルと、少なくとも1つのキー記憶ファイルを備えている。各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に、複数のコンテンツファイルの対応する1つの暗号化及び/又は暗号解読に使用される複数のキーを保有している。この機構は、媒体の少なくとも1つの保護されていない領域に、複数のコンテンツファイルの一覧とキーナビゲーションファイルを保有しているディレクトリを備えている第1ディレクトリツリーを含んでいる。この機構は、更に、媒体の少なくとも1つの保護されている領域に、少なくとも1つのキー記憶ファイル内のキーの一覧を保有しているディレクトリを備えている第2ディレクトリツリーを含んでおり、前記2つのディレクトリツリーは、互いに鏡像となる構造を有している。 According to yet another embodiment of the invention, a non-volatile computer readable medium stores a key navigation mechanism, the medium comprising at least one protected area and at least one unprotected area. It has. This mechanism comprises a key navigation file and at least one key storage file. Each key storage file has a plurality of keys used for corresponding one encryption and / or decryption of a plurality of content files at a corresponding location in the key storage file. The mechanism includes a first directory tree comprising a directory holding a list of content files and a key navigation file in at least one unprotected area of the medium. The mechanism further includes a second directory tree comprising a directory holding a list of keys in at least one key storage file in at least one protected area of the medium, the 2 Two directory trees have structures that are mirror images of each other.
上で説明したシステムと方法は、キーの管理に代えて又はこれに加えて、コンテンツへのアクセス及び/又はコンテンツの使用を統制する規則の様なコンテンツ保護情報を管理するように適合させてもよい。而して、一使用例では、上で説明したシステムと方法は、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御する権利オブジェクトを管理するように適合されてもよい。 The systems and methods described above may be adapted to manage content protection information such as rules governing access to and / or use of content instead of or in addition to key management. Good. Thus, in one use case, the systems and methods described above may be adapted to manage rights objects that control the use and / or access to content files.
而して、本発明の更に別の実施形態によれば、権利オブジェクト管理をやり易くするために、権利オブジェクトナビゲーションファイル及び1つ又はそれ以上の権利オブジェクト記憶ファイルが使用されてもよい。権利オブジェクトを用いて制御されることになるコンテンツファイルは、それぞれ、どの権利オブジェクト記憶ファイルが、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御するのに使用されるべき権利オブジェクトを保有しているか、を示す場所情報を保有しているヘッダ部分を備えている。権利オブジェクトナビゲーションファイルは、1つ又はそれ以上の権利オブジェクト記憶ファイル内の1つ又はそれ以上の場所に、有効な権利オブジェクトが記憶されているか否かを示す状態情報を保有している。これは、1つ又はそれ以上の権利オブジェクト記憶ファイル内の権利オブジェクトキーを記憶するための場所を見つけ出すプロセスをやり易くする。状態情報は、1つ又は複数の権利オブジェクト記憶ファイル内の、1つ又はそれ以上の有効なキーが記憶されていない1つ又はそれ以上の場所を示すのが望ましい。 Thus, according to yet another embodiment of the present invention, a rights object navigation file and one or more rights object storage files may be used to facilitate rights object management. Each content file that is to be controlled with a rights object has a rights object that should be used to control which rights object storage file uses and / or accesses the content file. It has a header portion that holds location information indicating whether or not it exists. The rights object navigation file holds state information indicating whether a valid rights object is stored in one or more locations within one or more rights object storage files. This facilitates the process of finding a location for storing rights object keys in one or more rights object storage files. The status information preferably indicates one or more locations in the one or more rights object storage files where one or more valid keys are not stored.
上で説明した権利オブジェクトナビゲーションファイルと1つ又はそれ以上の権利オブジェクト記憶ファイルを備えている権利オブジェクトナビゲーション機構は、不揮発性コンピュータ読取可能媒体に記憶されてもよい。 The rights object navigation mechanism comprising the rights object navigation file described above and one or more rights object storage files may be stored on a non-volatile computer readable medium.
上の実施形態の1つの実施例では、権利オブジェクトナビゲーションファイルは、記憶媒体の公開の保護されていない領域に記憶されており、権利オブジェクトを記憶するための1つ又はそれ以上の権利オブジェクト記憶ファイルは、認証されたユーザー、アプリケーション、又は装置しかアクセスすることができない、媒体の保護されている領域に記憶されている。明白な理由により、1つ又はそれ以上の権利オブジェクト記憶ファイルは、認可されていないアクセスに対してはアクセス可能になっていない保護されている領域に記憶するのが望ましい。而して、権利オブジェクト記憶ファイルの1つ又はそれ以上の場所が有効な権利オブジェクトを保有しているか否かを示す状態情報を保有している権利オブジェクトナビゲーションファイルを、公開領域に提供することにより、権利オブジェクト管理性能は一段と強化されることになる。而して、権利オブジェクト記憶ファイル内の特定の権利オブジェクトが有効か否かを見極めるために保護されている領域にアクセスする必要はなく、代わりに、この情報は、認証無しにアクセスすることができる権利オブジェクトナビゲーションファイル内で容易に入手することができる。また、この特性は、特に、コンテンツファイル及びこれに関係付けられている権利オブジェクトを容易に削除できるようにする。1つの実施例では、権利オブジェクトを削除するために、権利オブジェクトを保有している保護されている領域の権利オブジェクト記憶ファイルに実際にアクセスする必要無しに、単に権利オブジェクトナビゲーションファイル内の状態情報を変えれば、権利オブジェクトの削除が成し遂げられる。 In one example of the above embodiment, the rights object navigation file is stored in a public unprotected area of the storage medium, and one or more rights object storage files for storing rights objects. Is stored in a protected area of the media that can only be accessed by authorized users, applications or devices. For obvious reasons, it is desirable to store one or more rights object storage files in a protected area that is not accessible for unauthorized access. Thus, by providing to the public area a rights object navigation file that holds state information indicating whether one or more locations of the rights object storage file have valid rights objects. The rights object management performance will be further enhanced. Thus, there is no need to access the protected area to determine whether a particular rights object in the rights object storage file is valid, instead this information can be accessed without authentication. It can be easily obtained in the rights object navigation file. This property also makes it particularly easy to delete content files and rights objects associated with them. In one embodiment, in order to delete a rights object, the state information in the rights object navigation file is simply stored without having to actually access the rights object storage file of the protected area holding the rights object. In other words, the deletion of the rights object is accomplished.
本発明の1つ又はそれ以上の実施形態によれば、権利オブジェクトナビゲーションファイルと1つ又はそれ以上の権利オブジェクト記憶ファイルは、権利オブジェクトをコンテンツファイルと関係付けるプロセスに容易に利用することができる。権利オブジェクトナビゲーションファイルのエントリのそれぞれは、1つ又はそれ以上の権利オブジェクト記憶ファイル内の、複数の権利オブジェクトの1つを記憶するための場所に対応している。権利オブジェクトナビゲーションファイルは、その中に、1つ又はそれ以上の権利オブジェクト記憶ファイル内の或る場所の有効な権利オブジェクトに対応していないエントリを見つけることを許可するために開かれてもよい。権利オブジェクトが生成され、コンテンツファイルはそれと関係付けられる。そこで、権利オブジェクトは、前記1つの権利オブジェクト記憶ファイル内の、権利オブジェクトナビゲーションファイル内で見つけられた当該エントリに対応している、場所に記憶される。 In accordance with one or more embodiments of the present invention, the rights object navigation file and one or more rights object storage files can be readily utilized in the process of associating rights objects with content files. Each entry in the rights object navigation file corresponds to a location for storing one of a plurality of rights objects in one or more rights object storage files. The rights object navigation file may be opened to allow it to find an entry that does not correspond to a valid rights object at a location in one or more rights object storage files. A rights object is created and the content file is associated with it. Thus, the rights object is stored in a location in the one rights object storage file corresponding to the entry found in the rights object navigation file.
上の実施形態の1つの実施例では、権利オブジェクトナビゲーション情報は、権利オブジェクトナビゲーションファイル内の、有効な権利オブジェクトに対応していないことが見い出されたエントリの場所から導き出され、この場所情報が暗号化されたファイルのヘッダ部分に挿入される。而して、逆のプロセスでは、コンテンツファイルのヘッダ部分の場所情報を解読することにより、単数又は複数の権利オブジェクト記憶ファイルの1つの中の権利オブジェクトの場所が判明し、その権利オブジェクトが、コンテンツファイルの使用及び/又はアクセスを行うために取り出される。 In one example of the above embodiment, rights object navigation information is derived from the location of an entry found in the rights object navigation file that does not correspond to a valid rights object, and the location information is encrypted. It is inserted into the header part of the converted file. Thus, in the reverse process, the location information of the header portion of the content file is decrypted to determine the location of the rights object in one of the rights object storage file or files, and the rights object is the content object. Retrieved for file use and / or access.
本発明の別の実施形態によれば、コンテンツファイルは、記憶媒体の保護されている領域内の権利オブジェクト記憶ファイルの暗号化/暗号解読権利オブジェクトを使用して暗号化/暗号解読されてもよい。コンテンツファイルのヘッダ部分は、権利オブジェクト記憶ファイル内の、コンテンツファイルに関係付けられている権利オブジェクトの場所を示す権利オブジェクトナビゲーション情報を保有している。権利オブジェクトナビゲーション情報が、コンテンツファイルのヘッダ部分から取り出され、次いで、その権利オブジェクトナビゲーション情報から、権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所が導き出される。次いで、権利オブジェクトが、保護されている領域から取得され、当該コンテンツファイルにアクセスするため及び/又は何らかのやり方でコンテンツファイルを使用するために利用される。このプロセスは、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスが望まれるとき、権利オブジェクト記憶ファイル内の特定の権利オブジェクトを発見するのにも利用でき、その場合は、その権利オブジェクトの場所情報は当該コンテンツファイルのヘッダに見つけられる。 According to another embodiment of the invention, the content file may be encrypted / decrypted using the rights object storage file encryption / decryption rights object in the protected area of the storage medium. . The header portion of the content file holds rights object navigation information indicating the location of the rights object associated with the content file in the rights object storage file. Rights object navigation information is retrieved from the header portion of the content file, and then from the rights object navigation information, the location in the rights object storage file where the rights object is stored is derived. A rights object is then obtained from the protected area and utilized to access the content file and / or use the content file in some way. This process can also be used to find a particular rights object in a rights object storage file when use of and / or access to the content file is desired, in which case location information for that rights object Is found in the header of the content file.
直ぐ上で説明した実施形態の1つの特定の実施例では、権利オブジェクトを記憶するために複数の権利オブジェクト記憶ファイルが使用されている。この実施例では、コンテンツファイルのヘッダ部分の権利オブジェクトナビゲーション情報は、インデスクを備えており、このインデクスは整数である。権利オブジェクト記憶ファイルのそれぞれは、権利オブジェクトを記憶するためのm個の場所を保有している。インデクスをmで割ると、商が得られる。商の整数部分は、複数の権利オブジェクト記憶ファイルのどの1つが権利オブジェクトを記憶しているかを示しており、ここではオフセットとも呼ばれている余り部分は、その権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所を示している。 In one particular example of the embodiment just described, multiple rights object storage files are used to store rights objects. In this embodiment, the rights object navigation information in the header portion of the content file includes an indesk, and this index is an integer. Each rights object storage file has m locations for storing rights objects. Divide the index by m to get the quotient. The integer part of the quotient indicates which one of the plurality of rights object storage files stores the rights object, and the remainder part, also referred to as offset here, is the rights object in the rights object storage file. Indicates the location where is stored.
本発明の更に別の実施形態は、権利オブジェクト記憶ファイルに記憶されている権利オブジェクトが有効か否かを示す状態情報を保有している権利オブジェクトナビゲーションファイルを用いて、権利オブジェクト記憶ファイルに記憶されているコンテンツファイルの使用及び/又はコンテンツファイルへのアクセスの制御に使用される、権利オブジェクトを、無効にするための方法に着眼している。コンテンツファイルは、権利オブジェクト記憶ファイル内の権利オブジェクトの場所を示す場所情報を保有しているヘッダ部分を備えている。権利オブジェクトファイル内の権利オブジェクトの場所情報は、コンテンツファイルのヘッダ部分から取得される。権利オブジェクトナビゲーションファイル内の権利オブジェクトの状態情報は、場所情報を使用して見つけられる。権利オブジェクトナビゲーションファイルの権利オブジェクトの状態情報が変更され、権利オブジェクトは無効であると示される。 Yet another embodiment of the present invention is stored in a rights object storage file using a rights object navigation file that holds state information indicating whether the rights object stored in the rights object storage file is valid. Focus on methods for revoking rights objects that are used to control the use of and / or access to content files. The content file has a header portion that holds location information indicating the location of the rights object in the rights object storage file. The location information of the rights object in the rights object file is obtained from the header portion of the content file. The status information of the rights object in the rights object navigation file is found using the location information. The status information of the rights object in the rights object navigation file is changed to indicate that the rights object is invalid.
上で説明した方法は何れも、プロセッサにより実行されるコンピュータプログラムによって行われてもよく、プログラムはコンピュータ読取可能記憶媒体に記憶されている。 Any of the methods described above may be performed by a computer program executed by a processor, and the program is stored in a computer-readable storage medium.
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、権利オブジェクト管理をやり易くするために使用されてもよい。コンピュータプログラムは、権利オブジェクトナビゲーションファイルを作成し、且つ、1つ又はそれ以上の権利オブジェクト記憶ファイルを、それがまだ存在していない場合には作成する。各コンテンツファイルは、どの権利オブジェクト記憶ファイルがそのコンテンツファイルの権利オブジェクトを保有しているかを示す場所情報を保有しているヘッダ部分を備えている。権利オブジェクトナビゲーションファイルは、1つ又はそれ以上の権利オブジェクト記憶ファイル内の1つ又はそれ以上の場所が有効な権利オブジェクトを保有しているか否かを示す状態情報を保有している。 According to another embodiment of the invention, a computer program stored on a computer readable medium may be used to facilitate rights object management. The computer program creates a rights object navigation file and creates one or more rights object storage files if they do not already exist. Each content file has a header portion that holds location information indicating which rights object storage file holds the rights object of the content file. The rights object navigation file holds state information indicating whether one or more locations in the one or more rights object storage files have valid rights objects.
上記実施形態の1つの実施例では、権利オブジェクトナビゲーションファイル内に、少なくとも1つの権利オブジェクト記憶ファイル内の有効な権利オブジェクトに対応していないエントリが発見される。このコンテンツファイルの権利オブジェクトナビゲーション情報は、権利オブジェクトナビゲーションファイル内の前記エントリの場所から取得される。権利オブジェクトが生成され、当該コンテンツファイルと関係付けられる。権利オブジェクトは、少なくとも1つの権利オブジェクト記憶ファイル内の、前記エントリに対応している場所に記憶される。 In one example of the above embodiment, an entry is found in the rights object navigation file that does not correspond to a valid rights object in at least one rights object storage file. The rights object navigation information of the content file is obtained from the location of the entry in the rights object navigation file. A rights object is generated and associated with the content file. The rights object is stored in a location corresponding to the entry in at least one rights object storage file.
本発明の別の実施形態によれば、コンピュータ読取可能媒体に記憶されているコンピュータプログラムは、記憶装置の保護されている領域の権利オブジェクト記憶ファイル内の権利オブジェクトを用いて、コンテンツファイルの使用及び/又はコンテンツファイルへのアクセスを制御する。コンテンツファイルヘッダは、権利オブジェクト記憶ファイル内の権利オブジェクトの場所を示す権利オブジェクトナビゲーション情報を保有している。コンピュータプログラムは、コンテンツファイルから権利オブジェクトナビゲーション情報を取り出し、この権利オブジェクトナビゲーション情報から、権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所を導き出し、権利オブジェクトを取得して、その権利オブジェクトを用いてコンテンツファイルを使用し又はコンテンツファイルにアクセスする。この実施形態の1つの実施例では、それぞれm個の場所を保有している複数の権利オブジェクト記憶ファイルが、権利オブジェクトを記憶するのに使用されている。権利オブジェクトナビゲーション情報は、インデスクを備えており、このインデクスは整数であり、コンピュータプログラムは、このインデクスをmで割って商を取得することにより、権利オブジェクト記憶ファイルのどの1つが権利オブジェクトを記憶しているかと、その権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所とを見つける。商の整数部分は、複数の権利オブジェクト記憶ファイルのどの1つが権利オブジェクトを記憶しているかを示しており、ここではオフセットとも呼ばれている余り部分は、その権利オブジェクト記憶ファイル内の、権利オブジェクトが記憶されている場所を表している。 According to another embodiment of the present invention, a computer program stored on a computer readable medium uses a rights object in a rights object storage file of a protected area of a storage device to use the content file and Control access to content files. The content file header holds rights object navigation information indicating the location of the rights object in the rights object storage file. The computer program extracts the rights object navigation information from the content file, derives from the rights object navigation information the location where the rights object is stored in the rights object storage file, obtains the rights object, and obtains the rights object. Use to use or access content files. In one example of this embodiment, multiple rights object storage files, each having m locations, are used to store rights objects. The rights object navigation information includes an index, the index is an integer, and the computer program divides the index by m to obtain the quotient, so that one of the rights object storage files stores the rights object. And the location where the rights object is stored in the rights object storage file. The integer part of the quotient indicates which one of the plurality of rights object storage files stores the rights object, and the remainder part, also referred to as offset here, is the rights object in the rights object storage file. Represents the location where is stored.
本発明の更に別の実施形態によれば、不揮発性コンピュータ読取可能媒体は、権利オブジェクトナビゲーション機構を記憶しており、この媒体は、少なくとも1つの保護されている領域と少なくとも1つの保護されていない領域を備えている。この機構は、権利オブジェクトナビゲーションファイルと少なくとも1つの権利オブジェクト記憶ファイルを備えている。各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に、複数のコンテンツファイルの対応する1つの使用及びファイルへのアクセスを制御するのに使用される複数の権利オブジェクトを保有している。この機構は、媒体の少なくとも1つの保護されていない領域に、複数のコンテンツファイルの一覧と権利オブジェクトナビゲーションファイルを保有しているディレクトリを備えている第1ディレクトリツリーを含んでいる。機構は、更に、媒体の少なくとも1つの保護されている領域に、少なくとも1つの権利オブジェクト記憶ファイル内の権利オブジェクトの一覧を保有しているディレクトリを備えている第2ディレクトリツリーを含んでおり、前記2つのディレクトリツリーは、互いを鏡像とする構造を有している。 According to yet another embodiment of the invention, a non-volatile computer readable medium stores a rights object navigation mechanism, the medium having at least one protected area and at least one unprotected. Has an area. This mechanism comprises a rights object navigation file and at least one rights object storage file. Each rights object storage file has a plurality of rights objects that are used to control one corresponding use of the plurality of content files and access to the file at a corresponding location in the rights object storage file. Yes. The mechanism includes a first directory tree comprising a directory holding a list of content files and a rights object navigation file in at least one unprotected area of the medium. The mechanism further includes a second directory tree comprising a directory holding a list of rights objects in the at least one rights object storage file in at least one protected area of the medium; The two directory trees have a structure in which each other is a mirror image.
上で説明したコンピュータプログラムにより実施される方法は、本発明の他の態様の対象である。 The method implemented by the computer program described above is the subject of another aspect of the present invention.
上の特性は、単独で、又は何れかの組み合わせで一緒に使用されてもよい。 The above properties may be used alone or together in any combination.
説明を分かり易くするために、本出願では、同一の構成要素は、同じ番号を付して識別している。 For ease of explanation, in this application, identical components are identified with the same numbers.
本発明の様々な実施形態を実施することができるメモリシステムの一例を図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’の様な単一のユニットに封入されてよく、望ましくは、同一ハウジング又は容器内のカード又はスティックにカプセル封入されてもよい。
An example of a memory system in which various embodiments of the present invention can be implemented is shown in the block diagram of FIG. As shown in FIG. 1, the
バッファ管理ユニット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の間でデータを転送すること及びセクタ転送完了を表示することに責任を持つ。
The
先ず、フラッシュメモリ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に送られる。以上、読出プロセスの際のデータの流れを説明した。
First, when data from the
データがホスト装置24によりメモリ20に書き込まれるときには、データスの流れの方向は逆になる。例えば、暗号化されていないデータが、ホスト装置により、バス26、HIM16、HDMA32を通して、暗号エンジン40に送られると、そのデータは、BRAM38に記憶される前に、エンジン40により暗号化されてもよい。代わりのやり方では、暗号化されていないデータがBRAM38に記憶されてもよい。データは、この場合、メモリ20への途中でFDMA34に送られる前に暗号化される。書き込まれるデータが多段暗号化処理を受ける場合、エンジン40がその処理を完遂して初めて、この処理されたデータがBRAM38に記憶されるのが望ましい。
When data is written into the
図1に示すメモリシステム10は、フラッシュメモリを保有しているが、システムは、別のやり方として、代わりに、磁気ディスク、光学CDの様な別の型式の不揮発性メモリ、並びその他のあらゆる型式の書き換え可能な不揮発性メモリシステムを保有していてもよく、上で説明した様々な利点は、その様な代わりの実施形態にも等しく当てはまる。代わりの実施形態では、やはり望ましいやり方として、メモリは、同一の物理的個体(例えば、メモリカードやスティックなど)内に、メモリシステムの残りの構成要素と共にカプセル封入されている。
タイトルキー管理
Although the
Title key management
図2は、本発明の1つの実施形態を例示するために、タイトルキーファイルの構造を示している概略図である。デジタル権利管理のために多数の暗号化/暗号解読キーが採用されている場合、それらキーを図2に示す様な複数の個別タイトルキーファイルに編成し記憶するのが便利であり得る。図2の実施形態では、タイトルキーファイル102は、127個のスロット又は場所を有し、127個までのキーを保有することができる設計である。図2に示すように、ファイル102は、合計128個のスロット又は場所を保有しており、一番最初のスロット又は場所102aは、ヘッダ用に予約され、キーを記憶するのには使用されない。最初は、127個のスロット又は場所には、全て1又は0、或いは任意の値が入っていてもよく、それらは有効なキー値ではない。初期値に上書きすることにより、有効なタイトルキーエントリ(「TKE」)が127個のスロット又は場所に連続的に書き込まれるのが望ましく、全127個のスロット又は場所が有効キー値で満たされたとき、それらは、以下の値、即ちTKE1、TKE2、・・・TKE127、を保有することになる。特定のタイトルキーエントリが有効キーであるか否かは、図3Aに例示しているキーナビゲーションファイルに記憶されているタイトルキー状態ビットにより示されるのが望ましい。而して、ファイル102内の何がしかの特定のタイトルキーエントリの対応するタイトルキー状態ビットを調べれば、タイトルキーファイル102に実際にアクセスすること無く、そのエントリが有効キーから構成されているか又は有効キーを保有しているか否かを判定することができる。
FIG. 2 is a schematic diagram illustrating the structure of a title key file to illustrate one embodiment of the present invention. If multiple encryption / decryption keys are employed for digital rights management, it may be convenient to organize and store these keys into a plurality of individual title key files as shown in FIG. In the embodiment of FIG. 2, the title
図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に更に詳しく示されている。
FIG. 3A is a schematic diagram showing the structure of a key navigation file. As shown in FIG. 3A, the
図3A及び図3Bに示すように、タイトルキーファイルは、フォーマット「key_file.xxx」で名前を付けられており、このxxxは、タイトルキーファイルの通し番号である。而して、最初に作成されたキーファイル102は、ファイル名key_file.000が与えられ、次に作成されたキーファイルにはkey_file.001という名前が割り当てられ、以下同様に名前が付けられる。
As shown in FIGS. 3A and 3B, the title key file is named in the format “key_file.xxx”, where xxx is the serial number of the title key file. Thus, the first created
1つの実施形態では、キーナビゲーションファイル104内の各スロット又は場所及びその中のエントリは、タイトルキーファイルの内の1つのファイル内の或る特定のスロット又は場所及びそのスロット又は場所のタイトルキーエントリと既知の1対1対応関係を有している。このやり方では、特定のタイトルキーエントリが有効キーを有しているか否かを調べるには、キーナビゲーションファイル104内に、タイトルキーファイルのそのタイトルキーエントリに対応する場所又はスロットを見つけ、キーナビゲーションファイル104内のその場所のキーファイル状態ビットを調べるだけでよいことになる。
In one embodiment, each slot or location in
本発明のこの実施形態では、タイトルキーエントリは、図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内の最後のキーファイル状態エントリまで、順に番号が付られる。
In this embodiment of the invention, title key entries are labeled sequentially across different title key files, as shown in FIG. 3B. Thus, the title key entries in the title key file key_file.000 are labeled TKE1-TKE127. The title key entry in the title key file key_file.001 is labeled TKE129-TKE255. Those in the title key file key_file.002 are labeled TKE257-TKE383, and so on. Each first location and entry of the title key file (ie, TKE0, TKE128, TKE256...) Can hold information such as file size, version number, and other information about the file. Reserved for header use. Thus, each title key entry has a unique number associated with it, which is one of the following numbers: 1-127, 129-255, 257-383, etc. It is. This unique number is then preferably also used to identify the specific location within the key navigation file where the corresponding key file status bit is located. As shown in FIG. 3B, the key file status bits corresponding to the title key entry are stored at each location in the same order as the title key entry across different title key files. For example, as shown in FIG. 3B, the title key entry TK
The key file status bit “KFS [i]” for indicating whether or not E [i] has a valid key is at the top of the first key file status field KFS000 in the
このやり方では、キーファイル状態ビットの特定の場所と、キーナビゲーションファイル104内のそのビットと関係付けられている通し固有番号内の固有番号とを調べることにより、どの特定のタイトルキーファイル及びそのファイル内のどの場所かを容易に判定することができ、そうすれば、下に説明する単純なプロセスを使用して、対応するタイトルキーエントリを見つけることができる。逆のプロセスも、従って、真である。特定のタイトルキーファイルと関係付けられている固有番号と、特定のタイトルキーエントリの、そのファイル内の場所が分かれば、そのエントリに関する対応するキーファイル状態ビットも、キーナビゲーションファイル104内で見つけることができる。
In this manner, by examining the specific location of the key file status bit and the unique number in the serial unique number associated with that bit in the
この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により、見つけることができ、この値は、そのタイトルキーエントリの特定の場所の、そのタイトルキーエントリが見つけられることになるそのタイトルキーファイル内における一番上のエントリからのオフセットである。
In this one embodiment, the process of finding a title key entry corresponding to a particular key file status bit in the
図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つの非常に簡単な演算により、特定のタイトルキーファイルと、そのファイル内の、キーナビゲーションファイル内の特定の場所に対応するタイトルキーエントリを保有している場所が、見つけられる。
In one embodiment shown in FIG. 3B, for a title key entry i (TKE i), i.e., an entry with a key navigation index (KNI) i, a situation is being attempted to find a specific title key file and the location within that file. Is assumed. Thus, the title key entry indicating the state of the title key entry is KFS [i] in the
上記実施形態では、タイトルキーファイルのそれぞれは、各々16バイトの128個のエントリを保有している。タイトルキーファイルが128個以外の個数のエントリを保有してもよく、その場合は各エントリが16以外のバイト数を有することもあるのは明白である。而して、mを何れかの正の整数として、各タイトルキーファイルがm個のエントリを有している場合、上記演算は、KNI又はキーナビゲーションインデクスを128の代わりにmで割るように変更する必要がある。オフセットは、タイトルキーエントリTKEiの、そのタイトルキーファイル内の一番上のエントリからのオフセットを見つける代わりに、i mod mにより見いだすことができる。その様な変形の全ては本発明の範囲内にある。 In the above embodiment, each title key file has 128 entries of 16 bytes each. Obviously, the title key file may have a number of entries other than 128, in which case each entry may have a number of bytes other than 16. Thus, if m is any positive integer and each title key file has m entries, the above operation is changed to divide KNI or key navigation index by m instead of 128 There is a need to. The offset can be found by i mod m instead of finding the offset of the title key entry TKEi from the top entry in its title key file. All such variations are within the scope of the present invention.
タイトルキーファイル内でキーの場所を突き止めるのに、又はキーナビゲーションファイル内の状態ビットの場所を突き止めるのに、上記のように固有番号KNIと演算i/m及びi mod mを使用する代わりに、キーナビゲーションファイル内のエントリと、タイトルキーファイルの各ファイル内のTKEとの間の1対1の対応関係を、ルックアップ表を用いて確立することができる。CPU12は、この場合、キーナビゲーションファイル内の状態ビットの場所が与えられている対応するキーの場所を見つけるためにルックアップ表を調べる必要があり、逆の場合(即ち、特定のタイトルキーファイル内のキーの場所が与えられていることを前提として、キー状態を提示する、キーナビゲーションファイル内の状態ビットを見つける場合)も同様である。上記及びこの他の変形も、本発明の範囲内にある。
Instead of using the unique number KNI and the operations i / m and i mod m as described above to locate the key in the title key file or to locate the status bit in the key navigation file, A one-to-one correspondence between entries in the key navigation file and the TKE in each file of the title key file can be established using a lookup table. In this case, the
1つの実施形態では、16バイト中の7バイトだけが、暗号化/暗号解読用のキーの値として各タイトルキーエントリに使用される。キー値は、別のキーを使用して暗号化又は暗号解読されるのが望ましい。図3Bの実施形態では、タイトルキー状態ビットが値0であるとき、このことはタイトルキーエントリがビジーであることを表しており、即ち、これは、各タイトルキーファイルのヘッダの場合のようにビットが予約されているか、対応するタイトルキーエントリが有効キーを保有しており、従って、新しいキーを記憶するのに利用することができないか、の何れかであることを意味する。タイトルキー状態ビットが値1である場合は、このことは、対応するタイトルキーエントリが空であるか、それが有効キー保有しておらず、従って、タイトルキーファイル内の対応するスロット又は場所は、タイトルキーエントリをそのスロット又は場所に上書きすることにより、暗号化/暗号解読キーを記憶するのに利用可能であることを表している。 In one embodiment, only 7 of the 16 bytes are used for each title key entry as the key value for encryption / decryption. The key value is preferably encrypted or decrypted using another key. In the embodiment of FIG. 3B, when the title key status bit has a value of 0, this indicates that the title key entry is busy, i.e., as in the header of each title key file. It means that either the bit is reserved or the corresponding title key entry has a valid key and therefore cannot be used to store a new key. If the title key status bit is a value of 1, this means that the corresponding title key entry is empty or does not have a valid key, so the corresponding slot or location in the title key file is , Indicating that it can be used to store the encryption / decryption key by overwriting the slot or location of the title key entry.
キーナビゲーションファイルの長さは、定義されておらず、タイトルキーファイルの個数により決まる。図3A及び図3Bに例示している実施形態では、キーナビゲーションファイルは512バイトの記録を備えている。従って、ファイルの長さが定義されていなくても、それは図3A及び図3Bの実施形態では、512バイトの倍数になる。必要に応じて、新たな記録がファイルに追加される。タイトルキー状態ビット値は、ブール数であり、一方、タイトルキーファイルの通し番号、キーナビゲーションインデクスは、図3A及び図3Bの実施形態では10進数である。 The length of the key navigation file is not defined and is determined by the number of title key files. In the embodiment illustrated in FIGS. 3A and 3B, the key navigation file comprises a 512 byte record. Thus, even if the length of the file is not defined, it is a multiple of 512 bytes in the embodiment of FIGS. 3A and 3B. New records are added to the file as needed. The title key status bit value is a Boolean number, while the serial number of the title key file and the key navigation index are decimal numbers in the embodiment of FIGS. 3A and 3B.
図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ディレクトリ内に掲載される。
FIG. 4 is a schematic diagram of a
ツリー130内のコンテンツファイル(例えば、「Mysong.MP3」、「Another.MP3」・・・)は、図5のツリー150のディレクトリに記憶されているキーを使用して暗号化される。幾つかのアプリケーションでは、暗号化されたコンテンツファイルと暗号化されていないコンテンツファイル(図4では図示せず)は、共に、認証無しにアクセスすることのできる同じ保護されていないユーザーデータ領域に記憶されてもよい。
The content files in the tree 130 (for example, “Myson.MP3”, “Another.MP3”...) Are encrypted using the keys stored in the directory of the
図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つのディレクトリ内のキーナビゲーションファイルについても同じことが言える。
FIG. 5 is a schematic diagram of the
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を有することで、キーナビゲーション機構の動作が格段に円滑になる。
Since the two
保護されているコンテンツファイルがメモリ装置20内に作成される前は、通常、メモリ装置20にはキーナビゲーションファイルもキー記憶ファイルも一切存在していない。その場合には、保護されるべき最初のコンテンツファイルが作成されると、ここではキーナビゲーション機構とも呼ぶキーマネジャが、保護されていないユーザー領域にキーナビゲーションファイルを作成し、保護されている領域に最初のタイトルキー記憶ファイルを作成する。
Before a protected content file is created in the
図6は、キーナビゲーションファイル機構により実行されるプロセス又は方法を例示しているフローチャートである。図6のプロセスを実行する機構は、コンテンツファイル、タイトルキーファイル、及びキーナビゲーションファイルが記憶されているメモリシステムにコマンドを送るホスト装置24に記憶され実行されるコンピュータプログラムコードを備えていてもよい。代わりに、機構は、CPU12にロードされて実行される、フラッシュメモリ20に記憶されているコンピュータプログラムコードを備えていてもよい。而して、図6及び図7のキーナビゲーション機構のためのコンピュータプログラムは、ホスト装置24の一部であるかこれに接続されているコンピュータ読取可能媒体に記憶されていてもよいが、代わりに、その様なコンピュータプログラムは、タイトルキーファイル、キーナビゲーションファイル、及びコンテンツファイルが記憶されているフラッシュメモリ20に記憶されていてもよい。全てのその様な変型は、本発明の範囲内にある。
FIG. 6 is a flowchart illustrating a process or method performed by the key navigation file mechanism. The mechanism for performing the process of FIG. 6 may comprise computer program code stored and executed on the
図6を参照すると、図6の機構のプロセスは、保護されているコンテンツファイルを開くことが望まれている場合か、又は保護されるコンテンツファイルが作成されようとする時に開始される(ブロック202)。キーナビゲーション機構は、コンテンツファイルが存在するか否かを判定する(菱形204)。コンテンツファイルが存在していなければ、このことは、コンテンツファイルを作成すべきであることを意味するので、ホスト装置24又はCPU12は、ファイルを、例えば、プレーヤー1ではディレクトリツリー130内に、作成すること(ブロック206)に進む。コンテンツファイルが作成されると、キーナビゲーション機構は、キーナビゲーションファイルが既に存在しているか既に作成されているかを調べる(菱形207a)。存在していなければ、機構は、キーナビゲーションファイルを作成する(ブロック207b)。存在していれば、機構は、図4に示すディレクトリ130の様なディレクトリ内の新しく作成されたコンテンツファイルと同じディレクトリ内に見つけられるキーナビゲーションファイルを開く(ブロック208)。何れの場合も、機構は、ここで、ツリー130のプレーヤー1ディレクトリ内のキーナビゲーションファイルを調べ、第1キーエントリが「空の」状態であることを見い出す。キーナビゲーションファイルのオフセットが「空の」状態であることにより、キーナビゲーションインデクス(KNI)が与えられ(ブロック208及び210)、KNIを使用した上記実施形態が採用される。
Referring to FIG. 6, the process of the mechanism of FIG. 6 is initiated when it is desired to open a protected content file or when a protected content file is about to be created (block 202). ). The key navigation mechanism determines whether a content file exists (diamond 204). If the content file does not exist, this means that the content file should be created. Therefore, the
タイトルキーファイルとキーナビゲーションファイルが上の実施例に使用されるとき、タイトルキーファイル内の場所又はタイトルキーエントリは順番に使用される。このことは、1つの暗号化/暗号解読キーが作成され、タイトルキーファイルに記憶される必要が生じるとき、タイトルキーファイル内のスロット又は場所は、それらキーを記憶するのに、タイトルキーファイルkey_file.000のタイトルキーエントリ1から開始して順に使用されるという意味である。そのキーが記憶され、キーエントリTKE1又はその一部を形成した後、その対応するキーファイル状態ビットKFS[1]の値は1から0に変更され、これにより、それが空ではなく今はビジーである、即ち、この場所はヘッダ用に予約されたものではないことから、今は有効キーが入っている、ということが表示される。最初、キーファイル状態ビットの全てが値1を有しているが、0、128、256・・・のキーファイル状態ビットは例外で、それらは値0を有している。
When a title key file and a key navigation file are used in the above embodiment, the locations or title key entries in the title key file are used in turn. This means that when one encryption / decryption key is created and needs to be stored in the title key file, the slot or location in the title key file stores the key in the title key file key_file. . It means that the
KNIを取得した後、キーナビゲーション機構は、次に、タイトルキーファイルのそれぞれが128個のスロット又は場所を有している場合、KNI/128の整数部に等しいキーファイルインデクス又はnnnを計算する(ブロック212)。nnn又はキーファイルインデクスは、数KNI/128の整数部分である。このnnn又はキーファイルインデクス値は、タイトルキーファイルの通し番号である。次いで、そのタイトルキーファイル内のオフセットを、量KNI%128又はKNI mod 128を計算することにより取得する(ブロック214)。
After obtaining the KNI, the key navigation mechanism then calculates a key file index or nnn equal to the integer part of KNI / 128 if each of the title key files has 128 slots or locations ( Block 212). The nnn or key file index is an integer part of several KNI / 128. The nnn or key file index value is a serial number of the title key file. The offset in the title key file is then obtained by calculating the
上で指摘したように、コンテンツファイルは、図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」となる。
As pointed out above, the content file is created in a directory such as the
キーナビゲーション機構は、次いで、このキーファイル名を有するタイトルキーファイルが存在するか否かを調べて判断する(菱形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)。
The key navigation mechanism then determines whether there is a title key file having this key file name (
以上は、暗号化される(及び/又は暗号解読される)ことになるコンテンツファイルが最初に作成されるときの、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)。
The above is the process of a key navigation mechanism using two
上で説明したキーナビゲーションファイル、タイトルキーファイル構造を使用すると、コンテンツファイルを削除する際、特に簡単に行える。これを図7のフローチャートに例示している。而して、この目的に使用されるキーナビゲーション機構は、ホスト装置24又はメモリシステム10の何れかに記憶され、実行されるコンピュータプログラムであってもよく、最初に、ディレクトリ内で、削除されるべき保護されているコンテンツファイルを識別する(ブロック302)。コンテンツファイルは、メモリ20の保護されていない公開領域にあってもよい。キーナビゲーション機構は、そこで、コンテンツファイルを開き、ファイルヘッダからKNIを取得して、ファイルを閉じる(ブロック304)。次いで、機構は、コンテンツファイルと同じディレクトリ内のキーナビゲーションファイルを開く(ブロック306)。例えば、削除されるべきコンテンツファイルが、例えば、ディレクトリツリー130のプレーヤー1ディレクトリにある場合、ビットオフセットが、コンテンツファイルと同じディレクトリ(本例ではプレーヤー1ディレクトリ)内のキーナビゲーションファイルで見つけ出される。キーナビゲーション機構は、そこで、KNIをキーナビゲーションファイル内の1番目のエントリからのオフセットとして使用し、削除されるべきコンテンツファイルを暗号化/暗号解読するために使用されるタイトルキーエントリの、タイトルキーファイル内での状態を示しているキーファイル状態ビットの位置を見つける。機構は、次に、オフセット場所で見つけられたキーファイル状態ビットを0から1にリセットし、これにより、当該ファイル状態ビットの、タイトルキーファイル内での対応するタイトルキーエントリ(TKE)が、有効キーを保有していないことを表示する(ブロック308)。これは、従って、タイトルキーファイル内のその対応するTKEの場所は、これより、新たなキーを記憶するのに使用することができ、実質的に「空である」ことを表示している。実際に、保護されている領域(通常、認証を要する)に入り込んで、タイトルキーファイル内のその場所のキーを削除する必要はない。キーナビゲーション機構は、次に、キーナビゲーションファイルを閉じて、コンテンツファイルの削除に進む(ブロック310と312)。
Using the key navigation file and title key file structure described above is particularly easy when deleting content files. This is illustrated in the flowchart of FIG. Thus, the key navigation mechanism used for this purpose may be a computer program stored and executed in either the
(権利オブジェクト管理)
上で説明したキーを管理するためのシステムは、コンテンツファイルが、限定された回数だけ、又は特定の失効日以前にのみ、又は特定の期間中にのみ、アクセスできることを規定している規則の様な、他の型式のコンテンツ保護情報を管理するのにも使用される。DRMでは、その様な規則は、権利オブジェクトとして知られているオブジェクト内のコンテンツを保護するために使用されるコンテンツ暗号化/暗号解読キーと共に取り扱われる。暗号化されているコンテンツファイルがどの様に使用され及び/又はアクセスされてもよいかかを見極めるために、まず、その権利オブジェクトを突き止め、そこから暗号化/暗号解読キーを抽出し、その使用を統制している規則を抽出する。次いで、キーを使用してコンテンツファイルが暗号解読/暗号化され、コンテンツにアクセスすることができる。コンテンツファイルは、ダウンロードされるか別のやり方で受け取られることがあるが、その場合、その権利オブジェクトを見つけることが必要になる。ダウンロード時にファイルが暗号化される場合は、アクセスの権利を購入する必要があることがあり、その場合には、権利オブジェクトは購入後に供給されることになり、ダウンロードすることができる。ダウンロードされたファイルが暗号化されていない場合、権利オブジェクトを、コンテンツファイルを保護するために作成することができる。権利オブジェクトが取得されると、権利オブジェクト内のキーが権利オブジェクトから抽出され、そのキーを使用して、コンテンツファイルが暗号化又は暗号解読される。ファイルは、その後、必要に応じて更に処理される。対照的に、ファイルが作成された後、そのファイル用に権利オブジェクトが作成されることもあるが、その場合、このオブジェクトは、その暗号化/暗号解読のために使用されるキーを含んでいる。
(Rights object management)
The system for managing keys described above is like a rule that stipulates that a content file can be accessed only a limited number of times, only before a specific expiration date, or only during a specific period of time. It is also used to manage other types of content protection information. In DRM, such rules are handled with a content encryption / decryption key that is used to protect content in an object known as a rights object. To determine how an encrypted content file may be used and / or accessed, first locate the rights object, extract the encryption / decryption key from it, and use it Extract rules governing The content file can then be decrypted / encrypted using the key to access the content. A content file may be downloaded or otherwise received, in which case it will be necessary to find its rights object. If the file is encrypted at download time, it may be necessary to purchase access rights, in which case the rights object will be supplied after purchase and can be downloaded. If the downloaded file is not encrypted, a rights object can be created to protect the content file. When the rights object is obtained, the key in the rights object is extracted from the rights object and the content file is encrypted or decrypted using the key. The file is then further processed as needed. In contrast, after a file is created, a rights object may be created for the file, in which case this object contains the key used for the encryption / decryption .
追加的なセキュリティが求められている場合、暗号解読されたコンテンツファイルは、権利オブジェクト内のものとは異なるキーを使用して再度暗号化されてもい。このやり方では、コンテンツファイルの権利オブジェクトに対するアクセスを同様に有している認可されていないユーザーは、その様な再暗号化されたコンテンツファイルにはアクセスすることができなくなる。而して、コンテンツファイルをダウンロードしたユーザーは、権利発行者から取得した権利オブジェクト内のものとは異なっていて、コンテンツファイルが権利発行者から取得した権利オブジェクト内のキーを使用して暗号解読された後でこのコンテンツファイルを再度暗号化する、キーを生成してもよい。権利オブジェクト内のキーは、そこで、ユーザーにより生成されたキーと置き換えられる。代わりのやり方では、ユーザーは、コンテンツファイルを最初に暗号解読することなく、自分が生成したキーを使用して単純にコンテンツファイルを暗号化するだけであり、これにより、コンテンツファイルは、2つの異なるキー、即ち、権利発行者によるキー(即ち、コンテンツファイルは権利オブジェクト内の第1のキーを用いて暗号解読することができる)と、ユーザーが生成して、当該ユーザーにしか利用することのできない第2のキー、によって暗号化される。ユーザーは、そこで、権利オブジェクト内に同様にこの追加の第2キーを保管する。 If additional security is required, the decrypted content file may be re-encrypted using a different key than that in the rights object. In this manner, unauthorized users who also have access to the rights object of the content file will not be able to access such re-encrypted content files. Thus, the user who downloaded the content file is different from the one in the rights object obtained from the rights issuer, and the content file is decrypted using the key in the rights object obtained from the rights issuer. After that, the content file may be encrypted again to generate a key. The key in the rights object is then replaced with the key generated by the user. In the alternative, the user simply encrypts the content file using his generated key without first decrypting the content file, which makes the content file two different A key, i.e. a key by the rights issuer (i.e. the content file can be decrypted using the first key in the rights object) and can be generated by the user and used only by that user Encrypted by the second key. The user then stores this additional second key in the rights object as well.
図8は、権利オブジェクト管理の、権利オブジェクト(RO)ナビゲーション機構を例示しているフローチャートである。図8のプロセスを行うROナビゲーション機構は、コンテンツファイル、ROファイル、及びキーナビゲーションファイルが記憶されているメモリシステムにコマンドを送るホスト装置24に記憶され実行されるコンピュータプログラムコードを備えていてもよい。代わりに、機構は、CPU12にロードされ実行される、フラッシュメモリ20に記憶されているコンピュータプログラムコードを備えていてもよい。従って、図8び図9のROナビゲーション機構に使用されるコンピュータプログラムは、ホスト装置24の一部であるかこれに接続されているコンピュータ読取可能媒体に記憶されていてもよいし、或いは、その様なコンピュータプログラムは、ROファイル、権利オブジェクトナビゲーションファイル、及びコンテンツファイルが記憶されているフラッシュメモリ20に記憶されていてもよい。全てのその様な変形は、本発明の範囲内にある。一方の図6、図7を、他方の図8及び図9と比較すると、それらは極めて似ており、図8及び図9のRO管理プロセスは、それぞれ、図6及び図7のキー管理プロセスと極めて似通っていることがわかる。
FIG. 8 is a flowchart illustrating a rights object (RO) navigation mechanism for rights object management. The RO navigation mechanism that performs the process of FIG. 8 may comprise computer program code stored and executed in the
そのような事象では、上で説明したキー管理とよく似たRO管理用のアーキテクチャ及びコンセプトが使用されてもよく、例えば、ROファイルに亘るROエントリ(ROE)のラベル付けには、図3に例示しているのと同様のやり方で、RONIが使用されている(KNIとコンセプトは同様)。ROナビゲーションファイル内の状態ビットROS[i]は、対応するi番目のROがROファイルの1つのファイル内で有効であるか否かを表すのに使用される。ROナビゲーションファイルは、図4に示す、キー管理が関与しているやり方と同じやり方で、ディレクトリツリーのディレクトリ内のコンテンツファイルと共に公開区画又は領域に記憶されている。ROファイルは、図5に示すキー管理でのやり方と同じやり方で、ディレクトリツリーのディレクトリ内の保護されている区画又は領域に記憶されており、2つの領域のツリーは、互いに鏡像関係にある(図示せず)。 In such an event, an architecture and concept for RO management that is very similar to the key management described above may be used, for example, for labeling RO entries (ROE) across RO files, see FIG. RONI is used in the same way as illustrated (similar concept to KNI). The status bit ROS [i] in the RO navigation file is used to indicate whether the corresponding i-th RO is valid in one of the RO files. The RO navigation file is stored in the public section or region along with the content files in the directory tree directory in the same way that key management is involved, as shown in FIG. The RO file is stored in a protected partition or area within the directory tree directory in the same manner as in the key management shown in FIG. 5, and the two area trees are mirror images of each other ( Not shown).
図8を参照すると、図8の機構のプロセスは、保護されているコンテンツファイルを開くか又はダウンロードすることが所望される場合に開始される(ブロック402)。ROナビゲーション機構は、コンテンツファイルがダウンロードされているか否かを判定する(菱形404)。コンテンツファイルがダウンロードされていない場合、コンテンツファイルが既に存在しており、ダウンロードの必要性は無いという意味になる。コンテンツファイルはダウンロードされており、保護される必要があると仮定すると、機構は、ブロック406に進み、ファイルを公開ドメイン(図4の公開領域と同様)の割り当てられたディレクトリに記憶する。ROナビゲーション機構は、ROナビゲーションファイルが同じディレクトリ内に存在するか否かを調べる(菱形407a)。存在していなければ、機構は、ROナビゲーションファイルを作成する(ブロック407b)。存在していれば、機構は、図4に見られるものと同様に、ダウンロードされたコンテンツファイルと同じディレクトリ内で見つけ出されたROナビゲーションファイルを開く(ブロック408)。何れの場合も、機構は、ディレクトリツリーの適切なディレクトリ内のROナビゲーションファイルを調べ、「空の」又は「有効でない」状態を有する最初のROエントリを見つける。ROナビゲーションファイルの「空の」又は「有効でない」状態のオフセットにより、ROナビゲーションインデクス(RONI)が与えられ(ブロック408と410)、ROINを使用する上の実施形態が採用される。
Referring to FIG. 8, the process of the mechanism of FIG. 8 begins when it is desired to open or download a protected content file (block 402). The RO navigation mechanism determines whether the content file has been downloaded (diamond 404). If the content file has not been downloaded, it means that the content file already exists and there is no need for downloading. Assuming that the content file has been downloaded and needs to be protected, the mechanism proceeds to block 406 and stores the file in the assigned directory of the public domain (similar to the public area of FIG. 4). The RO navigation mechanism checks whether the RO navigation file exists in the same directory (
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を有している。但し、この実施形態の代わりに、キーナビゲーション機構の場合のように代わりにルックアップ表を使用してもよく、全てのその様な変形は本発明の範囲内にあるものと理解頂きたい。
When RO files and RO navigation files are used in the above embodiment, the locations or RO entries in the RO file are used in sequence. This means that when one RO needs to be created and stored in the RO file, the slot or location in the RO file is stored in the RO file RO_file. Meaning that it is used to store ROs in sequence starting from
RONIを取得すると、次に、ROナビゲーション機構は、ROファイルのそれぞれが128個のスロット又は場所を有している場合、RONI/128の整数部分に等しいROファイルインデクス又はnnnを計算する(ブロック412)。nnn又はROファイルインデクスは、数RONI/128の整数部分である。このnnn又はROファイルインデクス値は、ROファイルの通し番号である。次いで、そのROファイル内のオフセットを、RONI%128すなわちRONI mod 128の値を計算することにより取得する(ブロック414)。 Having obtained the RONI, the RO navigation mechanism then calculates the RO file index or nnn equal to the integer portion of the RONI / 128 if each of the RO files has 128 slots or locations (block 412). ). The nnn or RO file index is the integer part of the number RONI / 128. This nnn or RO file index value is a serial number of the RO file. The offset in the RO file is then obtained by calculating the value of RONI% 128 or RONI mod 128 (block 414).
上で指摘したように、ダウンロードされたコンテンツファイルは、(図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」となる。
As pointed out above, the downloaded content file is assigned to a directory (such as a directory similar to the
ROナビゲーション機構は、次いで、このROファイル名を有するROファイルが存在するか否かを調べて判断する(菱形421a)。このROファイルが存在しない場合、機構は、ファイルを1つ作成して、保護されている領域又は区画のディレクトリツリー内の適切なディレクトリ(例えば、プレーヤーx)にそれを加える(ブロック421b)。このROファイルが存在する場合、機構は、完全なROファイル名に基づくアクセス経路を使用して、当該ROファイルを開く(ブロック422)。ROナビゲーション機構は、次に、コンテンツファイルが、ブロック406でダウンロードされたのか即ち元はなかったのか否かを調べる(菱形424)。上の例では、そのコンテンツファイルはダウンロードされていたので、ROナビゲーション機構は、ブロック426に進んで、RONIをダウンロードされたファイルのファイルヘッダに挿入する。而して、RONIは、各ROを、それが制御しているコンテンツファイルと関係付ける役目も果たすと同時に、ROナビゲーションと管理のための上で説明した機能も果たしている。
Next, the RO navigation mechanism determines whether or not there is an RO file having this RO file name (
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)。
When the RO (including the key) is created by the
上記は、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)。
The above is the process of the RO navigation mechanism using two directory trees when the content file to be associated with the RO is first downloaded and encrypted (and / or decrypted). If it is desired to access an existing content file (ie, a file that has not been downloaded) and therefore the RO navigation mechanism is required to find the RO needed to access the content file, FIG. The RO navigation mechanism operates as follows. The RO navigation mechanism opens the protected content file in a particular directory, such as the player x directory in the open area, and proceeds to block 452 because the content file already exists. The RO navigation mechanism then retrieves the value RONI from the file header of the content file (block 452). When the RO navigation mechanism opens a protected content file, it will be operating in the directory tree of the unprotected user data area. For example, if the protected content file is one of the song files in the player x directory, the access path to the content file is constructed according to the directory tree. The RO navigation mechanism then performs the operations of
図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)。
FIG. 9 is a flowchart illustrating an operation for deleting a file of the rights object navigation mechanism in order to explain further characteristics of the rights object management system. Using the RO navigation file and RO file structure described above makes it particularly easy to delete content files. This is illustrated in the flowchart of FIG. Thus, the RO navigation mechanism used for this purpose may be a computer program that is stored and executed either in the
以上、本発明を、様々な実施形態を参照しながら説明してきたが、本発明の範囲から逸脱することなく変更及び修正を施すことができること、及び本発明の範囲は、特許請求の範囲並びにその等価物によってのみ定義されるものであることを理解されたい。例えば、図6のものと同様のプロセスは、タイトルキー記憶ファイルの1つのファイル内に、作成された暗号解読用のキーを記憶するための場所を見つけるのに、及び、タイトルキー記憶ファイルの1つのファイル内で、既存のファイルを暗号化するための既存の暗号化キーを見つけるのに、適用することもできる。キー又はROは、歌曲、映画、ゲームの様なメディアタイトル、並びにタイトルの有無にかかわらず他の型式のコンテンツを含め、あらゆるコンテンツの保護に使用されてもよい。ナビゲーション又は場所情報は、ヘッダとは異なっているコンテンツファイルの部分、例えばファイル名の中に記憶してもよい。ここで参照した全ての引例は、参考文献として援用されるものとする。 The present invention has been described above with reference to various embodiments. However, changes and modifications can be made without departing from the scope of the present invention, and the scope of the present invention is defined by the claims and the scope thereof. It should be understood that it is defined only by the equivalents. For example, a process similar to that of FIG. 6 finds a place in one file of the title key storage file to store the created decryption key and 1 of the title key storage file. It can also be applied to find an existing encryption key for encrypting an existing file within one file. The key or RO may be used to protect any content, including songs, movies, media titles such as games, and other types of content with or without a title. Navigation or location information may be stored in a portion of the content file that is different from the header, eg, the file name. All references referred to herein are incorporated by reference.
Claims (101)
キーナビゲーションファイルと少なくとも1つのキー記憶ファイルであって、各キー記憶ファイルは、そのキー記憶ファイル内の対応する場所に複数の暗号化されたキーを保有しており、前記キーのそれぞれは、複数のコンテンツファイルの対応する1つの暗号化及び/又は暗号解読のために使用される、キーナビゲーションファイルと少なくとも1つのキー記憶ファイルと、
前記媒体の前記少なくとも1つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記キーナビゲーションファイルを保有しているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、前記少なくとも1つのキー記憶ファイル内の前記キーの一覧を保有しているディレクトリを備えている、第2ディレクトリと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係となる構造を有している、不揮発性コンピュータ読取可能媒体。 A non-volatile computer-readable medium comprising at least one protected area and at least one unprotected area and storing a key navigation mechanism, the mechanism comprising:
A key navigation file and at least one key storage file, each key storage file having a plurality of encrypted keys at corresponding locations in the key storage file, each of said keys being a plurality of A key navigation file and at least one key storage file used for a corresponding encryption and / or decryption of a content file of
A first directory tree comprising a directory holding the list of the plurality of content files and the key navigation file of the at least one unprotected area of the medium;
A second directory comprising a directory holding a list of the keys in the at least one key storage file of the at least one protected area of the medium; and A non-volatile computer-readable medium in which two directory trees have structures that are mirror images of each other.
前記キーナビゲーション情報を前記コンテンツファイルから取り出し、
前記キーナビゲーション情報から、前記記憶装置の前記保護されている領域の前記キー記憶ファイル内の、前記暗号解読/暗号化キーが記憶されている場所を導き出し、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記キー記憶ファイルから前記暗号解読/暗号化キーを取得し、
前記暗号解読/暗号化キーを使用して、前記コンテンツファイルを暗号解読/暗号化する、コンピュータ読取可能媒体。 A computer readable medium storing a computer program for decrypting / encrypting a content file using a decryption / encryption key in a key storage file of a protected area of a storage device, comprising: The content file has key navigation information indicating an access path to the decryption / encryption key for decrypting / encrypting the content file in the key storage file, and the computer program includes:
Extracting the key navigation information from the content file;
Deriving from the key navigation information where the decryption / encryption key is stored in the key storage file of the protected area of the storage device;
Obtaining the decryption / encryption key from the key storage file of the protected area of the storage medium using the derived location;
A computer readable medium for decrypting / encrypting the content file using the decryption / encryption key.
前記媒体の前記保護されていない領域の、複数のコンテンツファイルの一覧と少なくとも1つのキーナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、1つ又はそれ以上のキー記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係となる構造を有しており、
前記コンピュータプログラムは、前記2つのディレクトリツリーを使って、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記キー記憶ファイル内の、前記暗号化/暗号解読キーが記憶されている前記場所にアクセスするための前記アクセス経路に変換する、請求項22に記載の媒体。 The storage device
A first directory tree comprising a directory comprising a list of a plurality of content files and at least one key navigation file of the unprotected area of the medium;
A second directory tree comprising a directory comprising one or more key storage files of the at least one protected area of the medium, wherein the two directory trees are They have structures that are mirror images of each other,
The computer program uses the two directory trees to store the encryption / decryption key in the key storage file for an access path for accessing a location in the unprotected area. 23. The medium of claim 22, wherein the medium translates to the access path for accessing the location.
権利オブジェクトナビゲーションファイルと少なくとも1つの権利オブジェクト記憶ファイルであって、各権利オブジェクト記憶ファイルは、その権利オブジェクト記憶ファイル内の対応する場所に複数の暗号化された権利オブジェクトを保有しており、前記権利オブジェクトのそれぞれは、複数のコンテンツファイルの対応する1つの使用及び/又は同ファイルへのアクセスを制御する、権利オブジェクトナビゲーションファイルと少なくとも1つの権利オブジェクト記憶ファイルと、
前記媒体の前記少なくとも1つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記権利オブジェクトナビゲーションファイルを保有しているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、前記少なくとも1つの権利オブジェクト記憶ファイル内の権利オブジェクトの一覧を保有しているディレクトリを備えている、第2ディレクトリと、を備えており、前記2つのディレクトリツリーは互い鏡像関係となる構造を有している、不揮発性コンピュータ読取媒体。 A non-volatile computer readable medium comprising at least one protected area and at least one unprotected area and storing a rights object navigation mechanism, the mechanism comprising:
A rights object navigation file and at least one rights object storage file, each rights object storage file having a plurality of encrypted rights objects at corresponding locations in the rights object storage file, Each of the objects includes a rights object navigation file and at least one rights object storage file that control a corresponding use and / or access to the plurality of content files,
A first directory tree comprising a directory holding the list of the plurality of content files and the rights object navigation file of the at least one unprotected area of the medium;
A second directory comprising a directory holding a list of rights objects in the at least one rights object storage file of the at least one protected area of the medium; and A non-volatile computer-readable medium in which two directory trees have a structure that is a mirror image of each other.
前記権利オブジェクトナビゲーション情報を前記コンテンツファイルから取り出し、
前記権利オブジェクトナビゲーション情報から、前記記憶装置の前記保護されている領域の前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている場所を導き出し、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記権利オブジェクト記憶ファイルから前記権利オブジェクトを取得し、
前記権利オブジェクトに従って、前記コンテンツファイルを使用及び/又は同ファイルにアクセスする、コンピュータ読取可能媒体。 A computer readable medium storing a computer program for controlling the use of and / or access to a content file using a rights object in a rights object storage file of a protected area of a storage device. The content file has rights object navigation information indicating an access path to the rights object for controlling use of the content file and / or access to the content file in the rights object storage file. And the computer program is
Retrieving the rights object navigation information from the content file;
Deriving from the rights object navigation information the location where the rights object is stored in the rights object storage file of the protected area of the storage device;
Using the derived location to obtain the rights object from the rights object storage file of the protected area of the storage medium;
A computer readable medium for using and / or accessing the content file according to the rights object.
前記媒体の前記保護されていない領域の、前記複数のコンテンツファイルの一覧と権利オブジェクトナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の第、1つ又はそれ以上の権利オブジェクト記憶ファイルを備えているディレクトリを備えている第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係となる構造を有しており、
前記コンピュータプログラムは、前記2つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所にアクセスするためのアクセス経路に変換する、請求項46に記載の媒体。 The storage device
A first directory tree comprising a directory comprising a list of the plurality of content files and a rights object navigation file of the unprotected area of the medium;
A second directory tree comprising a directory comprising a first or more rights object storage files of the at least one protected area of the medium, the two directory trees Have structures that are mirror images of each other,
The computer program uses the two directory trees to store an access path for accessing a certain location in the unprotected area, in which the rights object is stored in the rights object storage file. 47. The medium of claim 46, wherein the medium is converted into an access path for accessing the location.
前記コンテンツファイルの前記ヘッダ部分から、前記キーファイル内の前記キーの場所情報を取得し、
前記場所情報を使用して、前記キーナビゲーションファイル内の前記キーの前記状態情報を突き止め、
前記キーナビゲーションファイル内の前記キーの前記状態情報を変更して、前記キーが無効であることを表示する、コンピュータ読取可能媒体。 A computer readable medium storing a computer program for invalidating an encryption / decryption key stored in a key storage file and used to encrypt / decrypt a content file. The content file uses the key navigation file that holds state information indicating whether the key stored in the key storage file is valid or not, and the location of the key in the key storage file. Including a header portion holding location information indicating the computer program,
Obtaining the key location information in the key file from the header portion of the content file;
Using the location information to locate the state information of the key in the key navigation file;
A computer readable medium that changes the status information of the key in the key navigation file to indicate that the key is invalid.
前記コンテンツファイルの前記ヘッダ部分から、前記権利オブジェクトファイル内の前記権利オブジェクトの場所情報を取得し、
前記場所情報を使用して、前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報を突き止め、
前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報を変更して、前記権利オブジェクトが無効であることを表示する、コンピュータ読取可能媒体。 A computer readable storing a computer program for invalidating a rights object stored in a rights object storage file and used to control the use and / or access to the content file The content file is a medium that uses the rights object navigation file having status information indicating whether or not the rights object stored in the rights object storage file is valid. A header portion holding location information indicating the location of the rights object in a storage file;
Obtaining the location information of the rights object in the rights object file from the header portion of the content file;
Using the location information to locate the status information of the rights object in the rights object navigation file;
A computer readable medium for changing the status information of the rights object in the rights object navigation file to indicate that the rights object is invalid.
キーナビゲーションファイルを開く段階と、
前記キーナビゲーションファイル内で、前記1つ又はそれ以上のキー記憶ファイル内の有効キーの場所に対応していないエントリを見つける段階と、
暗号化/暗号解読キーを生成する段階と、
前記暗号化/暗号解読キーを用いて前記コンテンツファイルを暗号化/暗号解読する段階と、
前記暗号化/暗号解読キーを、前記キー記憶ファイルの中の1つの、前記エントリに対応している前記場所に記憶する段階と、から成る方法。 A method for encrypting / decrypting a content file using a key navigation file and one or more key storage files, wherein each of the entries in the key navigation file is the one or Corresponds to a location for storing one of a plurality of encryption / decryption keys in a further key storage file;
Opening the key navigation file;
Finding an entry in the key navigation file that does not correspond to a valid key location in the one or more key storage files;
Generating an encryption / decryption key;
Encrypting / decrypting the content file using the encryption / decryption key;
Storing the encryption / decryption key in one of the key storage files at the location corresponding to the entry.
The key navigation file and the one or more key storage files are stored on a storage medium, the medium comprising at least one protected area and at least one unprotected area. The at least one protected area is accessible only to authorized users and the one or more key storage files are stored in the at least one protected area 56. The method of claim 55, wherein the storing step stores the encryption / decryption key in the at least one protected area.
前記媒体の前記少なくとも1つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記キーナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、前記1つ又はそれ以上のキー記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係にあり、
前記変換する段階では、前記2つのディレクトリツリーを使用して、前記保護されていない領域内の或る場所にアクセスするためのアクセス経路を、前記保護されている領域の前記1つのキー記憶ファイル内の前記場所にアクセスするためのアクセス経路に変換する、請求項65に記載の方法。 The medium is
A first directory tree comprising a directory comprising the list of the plurality of content files and the key navigation file of the at least one unprotected area of the medium;
A second directory tree comprising a directory comprising the one or more key storage files of the at least one protected area of the medium, the two directory trees Are mirror images of each other,
In the converting step, using the two directory trees, an access path for accessing a certain place in the unprotected area is set in the one key storage file of the protected area. 66. The method of claim 65, wherein the method converts to an access path for accessing the location.
前記コンテンツファイルから前記キーナビゲーション情報を取り出す段階と、
前記キーナビゲーション情報から、前記記憶装置の前記保護されている領域の前記キー記憶ファイル内の、前記暗号化/暗号解読キーが記憶されている場所を導き出す段階と、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記キー記憶ファイルから前記暗号化/暗号解読キーを取得する段階と、
前記暗号化/暗号解読キーを使用して、前記コンテンツファイルを暗号化/暗号解読する段階と、から成る方法。 A method for decrypting / encrypting a content file using a decryption / encryption key in a key storage file of a protected area of a storage medium, wherein the content file is the key storage file The key navigation information indicating the location of the decryption / encryption key for decrypting / encrypting the content file,
Retrieving the key navigation information from the content file;
Deriving from the key navigation information a location in the key storage file of the protected area of the storage device where the encryption / decryption key is stored;
Obtaining the encryption / decryption key from the key storage file of the protected area of the storage medium using the derived location;
Encrypting / decrypting the content file using the encryption / decryption key.
前記媒体の前記保護されていない領域の、前記複数のコンテンツファイルの一覧と少なくとも1つのキーナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、1つ又はそれ以上のキー記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係にある構造を有しており、
前記変換する段階は、前記2つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記キー記憶ファイル内の、前記暗号解読/暗号化が記憶されている前記場所にアクセスするための前記アクセス経路に変換する、請求項70に記載の方法。 The medium is
A first directory tree comprising a directory comprising a list of the plurality of content files and at least one key navigation file of the unprotected area of the medium;
A second directory tree comprising a directory comprising one or more key storage files of the at least one protected area of the medium, wherein the two directory trees are Have structures that are mirror images of each other,
The converting step uses the two directory trees to store an access path for accessing a location in the unprotected area by the decryption / encryption in the key storage file. 71. The method of claim 70, wherein the method translates to the access path for accessing the location being accessed.
キーナビゲーションファイルが存在していない場合には、そのファイルを作成する段階と、
少なくとも1つのキー記憶ファイルが存在していない場合には、少なくとも1つのそのファイルを作成する段階であって、前記キーナビゲーションファイル内のエントリのそれぞれは、前記少なくとも1つのキー記憶ファイル内の、複数の暗号化/暗号解読キーの1つを記憶するための場所に対応している、キー記憶ファイルを作成する段階と、
前記キーナビゲーションファイル内に、前記少なくとも1つのキー記憶ファイル内の有効キーに対応していないエントリを見つける段階と、
前記キーナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイルのキーナビゲーション情報を取得する段階と、
暗号化/暗号解読キーを生成する段階と、
前記暗号化/暗号解読キーを用いて、前記コンテンツファイルを暗号化/暗号解読する段階と、
前記暗号化/暗号解読キーを、前記エントリに対応する前記少なくとも1つのキー記憶ファイル内の場所に記憶する段階と、から成る方法。 A method for encrypting / decrypting a content file, comprising:
If the key navigation file does not exist, create the file,
If at least one key storage file does not exist, creating at least one of the files, wherein each of the entries in the key navigation file includes a plurality of entries in the at least one key storage file; Creating a key storage file corresponding to a location for storing one of the encryption / decryption keys of
Finding an entry in the key navigation file that does not correspond to a valid key in the at least one key storage file;
Obtaining key navigation information of the content file from the location of the entry in the key navigation file;
Generating an encryption / decryption key;
Using the encryption / decryption key to encrypt / decrypt the content file;
Storing the encryption / decryption key in a location in the at least one key storage file corresponding to the entry.
前記権利オブジェクトナビゲーションファイルを開く段階と、
前記権利オブジェクトナビゲーションファイル内に、前記1つ又はそれ以上の権利オブジェクト記憶ファイル内の、有効な権利オブジェクトの場所に対応していないエントリを見つける段階と、
権利オブジェクトを取得する段階と、
前記権利オブジェクトに従って前記コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御する段階と、
前記権利オブジェクトを、前記権利オブジェクト記憶ファイルの中の前記1つの、前記エントリに対応している場所に記憶する段階と、から成る方法。 A method for controlling the use of and / or access to a content file using a rights object navigation file and one or more rights object storage files, the entries in the rights object navigation file Each corresponds to a location for storing one of a plurality of rights objects in the one or more rights object storage files;
Opening the rights object navigation file;
Finding an entry in the rights object navigation file that does not correspond to a valid rights object location in the one or more rights object storage files;
Obtaining a rights object;
Controlling the use of and / or access to the content file according to the rights object;
Storing the rights object at a location corresponding to the entry in the rights object storage file.
前記媒体の前記少なくとも1つの保護されていない領域の、前記複数のコンテンツファイルの一覧と前記権利オブジェクトナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の少なくとも1つの保護されている領域の、前記1つ又はそれ以上の権利オブジェクト記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係にあり、
前記変換する段階では、前記2つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記保護されている領域の前記1つの権利オブジェクト記憶ファイル内の前記場所にアクセスするためのアクセス経路に変換する、請求項83に記載の方法。 The medium is
A first directory tree comprising a directory comprising the list of the plurality of content files and the rights object navigation file of the at least one unprotected area of the medium;
A second directory tree comprising a directory comprising the one or more rights object storage files of at least one protected area of the medium, the two directory trees Are mirror images of each other,
In the converting step, an access path for accessing a location in the unprotected area using the two directory trees is stored in the one rights object storage file in the protected area. 84. The method of claim 83, wherein the method translates to an access path for accessing the location.
前記コンテンツファイルから前記権利オブジェクトナビゲーション情報を取り出す段階と、
前記権利オブジェクトナビゲーション情報から、前記記憶装置の前記保護されている領域の前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所を導き出す段階と、
前記導き出された場所を使用して、前記記憶媒体の前記保護されている領域の前記権利オブジェクト記憶ファイルから前記権利オブジェクトを取得する段階と、
前記権利オブジェクトに従って、前記コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御する段階と、から成る方法。 A method for controlling the use and / or access of a content file using a rights object in a rights object storage file of a protected area of a storage medium, the content file comprising: Possessing rights object navigation information indicating the location of the rights object for controlling use of and / or access to the content file in the rights object storage file;
Retrieving the rights object navigation information from the content file;
Deriving from the rights object navigation information the location where the rights object is stored in the rights object storage file of the protected area of the storage device;
Obtaining the rights object from the rights object storage file of the protected area of the storage medium using the derived location;
Controlling the use of and / or access to the content file according to the rights object.
前記媒体の前記保護されていない領域の、前記複数のコンテンツファイルの一覧と権利オブジェクトナビゲーションファイルを備えているディレクトリを備えている、第1ディレクトリツリーと、
前記媒体の前記少なくとも1つの保護されている領域の、1つ又はそれ以上の権利オブジェクト記憶ファイルを備えているディレクトリを備えている、第2ディレクトリツリーと、を備えており、前記2つのディレクトリツリーは互いに鏡像関係にある構造を有しており、
前記変換する段階は、前記2つのディレクトリツリーを使用して、前記保護されていない領域の或る場所にアクセスするためのアクセス経路を、前記権利オブジェクト記憶ファイル内の、前記権利オブジェクトが記憶されている前記場所にアクセスするための前記アクセス経路に変換する、請求項95に記載の方法。 The medium is
A first directory tree comprising a directory comprising a list of the plurality of content files and a rights object navigation file of the unprotected area of the medium;
A second directory tree comprising a directory comprising one or more rights object storage files of the at least one protected area of the medium, the two directory trees Have structures that are mirror images of each other,
In the converting step, the rights object in the rights object storage file is stored in an access path for accessing a location in the unprotected area using the two directory trees. 96. The method of claim 95, wherein the method translates to the access path for accessing the location.
権利オブジェクトナビゲーションファイルを、それが存在していない場合には作成する段階と、
少なくとも1つの権利オブジェクト記憶ファイルを、それが存在していない場合には、作成する段階であって、前記権利オブジェクトナビゲーションファイル内のエントリのそれぞれは、前記少なくとも1つの権威オブジェクト記憶ファイル内の、複数の権利オブジェクトの1つを記憶するための場所に対応している、権利オブジェクト記憶ファイルを作成する段階と、
前記権利オブジェクトナビゲーションファイル内に、前記少なくとも1つの権利オブジェクト記憶ファイル内の有効な権利オブジェクトに対応していないエントリを見つける段階と、
前記権利オブジェクトナビゲーションファイル内の前記エントリの場所から、前記コンテンツファイルの権利オブジェクトナビゲーション情報を取得する段階と、
権利オブジェクトを生成する段階と、
前記権利オブジェクトに従って、前記コンテンツファイルの使用及び/又は同ファイルへのアクセスを制御する段階と、
前記権利オブジェクトを、前記エントリに対応する前記少なくとも1つの権利オブジェクト記憶ファイル内の場所に記憶する段階と、から成る方法。 A method for controlling use of and / or access to a content file comprising:
Creating a rights object navigation file if it does not exist;
Creating at least one rights object storage file if it does not exist, each of the entries in the rights object navigation file comprising a plurality of entries in the at least one authority object storage file; Creating a rights object storage file corresponding to a location for storing one of the rights objects;
Finding an entry in the rights object navigation file that does not correspond to a valid rights object in the at least one rights object storage file;
Obtaining rights object navigation information of the content file from the location of the entry in the rights object navigation file;
Creating a rights object;
Controlling the use of and / or access to the content file according to the rights object;
Storing the rights object in a location in the at least one rights object storage file corresponding to the entry.
前記コンテンツファイルの前記ヘッダ部分から、前記キーファイル内の前記キーの場所情報を取得する段階と、
前記場所情報を使用して、前記キーナビゲーションファイル内の前記キーの前記状態情報を突き止める段階と、
前記キーナビゲーションファイル内の前記キーの前記状態情報を変更して、前記キーが無効であると表示する段階と、から成る方法。 A method for invalidating an encryption / decryption key stored in a key storage file and used to encrypt / decrypt a content file, wherein the content file is the key storage file Using a key navigation file that holds state information indicating whether or not the key stored in the key is valid, holding location information indicating the location of the key in the key storage file With a header part that
Obtaining the key location information in the key file from the header portion of the content file;
Using the location information to locate the state information of the key in the key navigation file;
Changing the status information of the key in the key navigation file to indicate that the key is invalid.
前記コンテンツファイルの前記ヘッダ部分から、前記権利オブジェクトファイル内の前記権利オブジェクトの場所情報を取得する段階と、
前記場所情報を使用して、前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報の位置を見つける段階と、
前記権利オブジェクトナビゲーションファイル内の前記権利オブジェクトの前記状態情報を変更して、前記権利オブジェクトが無効であると表示する段階と、から成る方法。 Use of a content object that is stored in a rights object storage file and comprises a header portion that holds location information indicating the location of the rights object in the rights object storage file and / or Rights object navigation that holds status information indicating whether or not the rights object stored in the rights object storage file is valid as a rights object used to control access to the file In a way to invalidate using a file,
Obtaining location information of the rights object in the rights object file from the header portion of the content file;
Using the location information to find the position of the state information of the rights object in the rights object navigation file;
Changing the status information of the rights object in the rights object navigation file to indicate that the rights object is invalid.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/283,225 US20070116288A1 (en) | 2005-11-18 | 2005-11-18 | System for managing keys and/or rights objects |
US11/283,221 US8156563B2 (en) | 2005-11-18 | 2005-11-18 | Method for managing keys and/or rights objects |
PCT/US2006/060928 WO2007094874A2 (en) | 2005-11-18 | 2006-11-15 | Method and system for managing keys and/or rights objects |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009516961A true JP2009516961A (en) | 2009-04-23 |
Family
ID=38371958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008541468A Withdrawn JP2009516961A (en) | 2005-11-18 | 2006-11-15 | Method and system for managing key and / or rights objects |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1949294A2 (en) |
JP (1) | JP2009516961A (en) |
KR (1) | KR20080068757A (en) |
TW (1) | TW200736954A (en) |
WO (1) | WO2007094874A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013109399A (en) * | 2011-11-17 | 2013-06-06 | Sony Corp | Information processing device, information storage device, information processing system, and information processing method, and program |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5209945B2 (en) * | 2007-12-12 | 2013-06-12 | 株式会社日立製作所 | Storage device, encryption content validation method, and terminal device |
KR101416542B1 (en) | 2012-12-24 | 2014-07-09 | 주식회사 로웸 | Method for Apparatus for managing passcode |
KR102289478B1 (en) * | 2019-08-02 | 2021-08-13 | 주식회사 티모넷 | System and method for providing electronic signature service |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4288751B2 (en) * | 1999-05-25 | 2009-07-01 | ソニー株式会社 | Recording medium, data processing device |
BR0006882B1 (en) * | 1999-05-28 | 2014-03-18 | Panasonic Corp | SEMICONDUCTORY MEMORY CARD, IMPLEMENTATION APPLIANCE, RECORDER, IMPLEMENTATION METHOD, RECORDING METHOD AND RECORDING MEDIA |
TWI240250B (en) * | 2001-07-09 | 2005-09-21 | Matsushita Electric Ind Co Ltd | Content management system and information recording medium |
-
2006
- 2006-11-15 JP JP2008541468A patent/JP2009516961A/en not_active Withdrawn
- 2006-11-15 KR KR1020087014728A patent/KR20080068757A/en not_active Application Discontinuation
- 2006-11-15 EP EP06850155A patent/EP1949294A2/en not_active Withdrawn
- 2006-11-15 WO PCT/US2006/060928 patent/WO2007094874A2/en active Application Filing
- 2006-11-17 TW TW095142629A patent/TW200736954A/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013109399A (en) * | 2011-11-17 | 2013-06-06 | Sony Corp | Information processing device, information storage device, information processing system, and information processing method, and program |
Also Published As
Publication number | Publication date |
---|---|
KR20080068757A (en) | 2008-07-23 |
WO2007094874A3 (en) | 2007-12-06 |
EP1949294A2 (en) | 2008-07-30 |
WO2007094874A2 (en) | 2007-08-23 |
TW200736954A (en) | 2007-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8913750B2 (en) | Method for managing keys and/or rights objects | |
US20070116288A1 (en) | System for managing keys and/or rights objects | |
KR100608585B1 (en) | Method and apparatus for searching rights objects stored in portable storage device using object location data | |
US7269741B2 (en) | Recording apparatus, medium, method, and related computer program | |
US8145900B2 (en) | Crypto-pointers for secure data storage | |
KR100463842B1 (en) | Apparatus for managing key in afile security system and method for managing security key | |
JP2004185152A (en) | License moving device and program | |
US8032941B2 (en) | Method and apparatus for searching for rights objects stored in portable storage device object identifier | |
KR20100031497A (en) | Method of storing and accessing header data from memory | |
CN105718808A (en) | File encryption storage system and method based on multiple network disks | |
CN101114296A (en) | Method and apparatus for managing license | |
JP2009516961A (en) | Method and system for managing key and / or rights objects | |
KR100608604B1 (en) | Method and apparatus for searching right objects stored in portable storage device using object identifier | |
KR100857760B1 (en) | A method and device to store secret key in flash memory | |
KR100859651B1 (en) | Storage medium of recording data structure for storing variable size data, method of storing variable size data, and computer-readable storage medium of storing program for executing method of storing variable size data | |
JP6205272B2 (en) | Digital information protection method, apparatus, and computer-accessible recording medium | |
JPH10340232A (en) | File copy preventing device, and file reader | |
US20130036474A1 (en) | Method and Apparatus for Secure Data Representation Allowing Efficient Collection, Search and Retrieval | |
US20120124314A1 (en) | Recording medium | |
Ellefsen | A Secure Steganographic File System with Non-Duplicating Properties | |
JP2010510575A (en) | Method and apparatus for linking content with a license |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100202 |