KR20080068757A - Method and system for managing keys and/or rights objects - Google Patents
Method and system for managing keys and/or rights objects Download PDFInfo
- Publication number
- KR20080068757A KR20080068757A KR1020087014728A KR20087014728A KR20080068757A KR 20080068757 A KR20080068757 A KR 20080068757A KR 1020087014728 A KR1020087014728 A KR 1020087014728A KR 20087014728 A KR20087014728 A KR 20087014728A KR 20080068757 A KR20080068757 A KR 20080068757A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- key
- rights object
- storage
- navigation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 149
- 230000007246 mechanism Effects 0.000 claims description 99
- 238000004590 computer program Methods 0.000 claims description 66
- 230000008859 change Effects 0.000 claims description 4
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical group [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 27
- 238000007726 management method Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 14
- 238000005192 partition Methods 0.000 description 14
- 229910003460 diamond Inorganic materials 0.000 description 8
- 239000010432 diamond Substances 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 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
- 238000012545 processing Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013459 approach Methods 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
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
-
- 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
- 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
Description
본 발명은 일반적으로 암호화/복호화 시스템, 특히 암호화/복호화를 위해 사용되는 키 및/또는 콘텐츠의 사용 또는 콘텐츠로의 접근을 제어하는 권리 객체를 관리하는 시스템에 관한 것이다. The present invention relates generally to an encryption / decryption system, in particular to a system for managing rights objects that control the use or access to content and the keys and / or content used for encryption / decryption.
음악, 비디오 및 게임과 같은 미디어 콘텐츠는 디지털 파일로 더욱 분산된다. 이와 같은 디지털 콘텐츠는 인터넷 및 저장 장치의 사용을 포함하는, 다수의 채널을 통해 광범위하게 분산되어 왔다. 디지털 콘텐츠는 플래시 메모리와 같은 비휘발성 메모리, 자기 또는 광 디스크 및 테이프와 같은, 다수의 다른 종류의 장치에 저장될 수 있다. 이들 저장 장치에서 디지털 콘텐츠는 데스크 탑 및 휴대 유형의 개인용 컴퓨터, iPod 및 다른 유형의 내장형 또는 독립형 미디어 플레이어, PDA(personal digital assistant), 게임 컨트롤러, MP3 플레이어 및 셀룰러 폰 핸드셋("호스트 장치"로 본 발명에서 전체적으로 언급됨)와 같은 매우 다양한 장치에 의해 재생되고, 저장되고 작동될 수 있다.Media content such as music, video, and games is further distributed into digital files. Such digital content has been widely distributed over a number of channels, including the use of the Internet and storage devices. Digital content may be stored in a number of other types of devices, such as nonvolatile memory such as flash memory, magnetic or optical disks and tapes. On these storage devices, digital content can be viewed as desktop and portable types of personal computers, iPods and other types of built-in or stand-alone media players, personal digital assistants, game controllers, MP3 players, and cellular phone handsets ("host devices"). Can be reproduced, stored and operated by a wide variety of devices.
디지털 콘텐츠의 소유자를 위해 콘텐츠로의 인증되지 않은 접근을 감소시키거나 또는 방지하기 위해, 디지털 콘텐츠는 인증된 사용자만이 콘텐츠에 접근할 수 있도록 자주 암호화된다. 노래와 같은, 다수의 다른 디지털 파일의 확산과 함께, 관리되기 위해 필요한 키의 개수는 꽤 클 수 있다. 또한, 강화된 보안에 대해, 다수의 키는 각각의 디지털 파일의 암호화 및 복호화에 포함될 수 있다. 그러므로, 디지털 저작권 관리(DRM)에서 기대될 수 있는 문제는 다수의 키를 효율적으로 관리하고 임의의 특정 디지털 파일을 암호하고 복호하기 위한 권리 키를 결정하기 위한 능력이다. To reduce or prevent unauthorized access to content for owners of digital content, digital content is frequently encrypted so that only authorized users can access the content. With the proliferation of many other digital files, such as songs, the number of keys needed to be managed can be quite large. Also, for enhanced security, multiple keys can be included in the encryption and decryption of each digital file. Therefore, a problem that can be expected in digital rights management (DRM) is the ability to efficiently manage multiple keys and determine right keys for encrypting and decrypting any particular digital file.
다수의 키 관리 시스템이 사용되어 왔다. 제 1 유형의 키 관리 시스템에서, 콘텐츠 파일은 암호화 및/또는 복호화 키를 쉽게 식별하고 찾도록(locate) 이름이 붙여진다. 암호화 파일 시스템(EFS)으로 공지된 또다른 유형의 키 관리 시스템에서, 파일을 암호화하는데 사용되는 키 자체가 암호화되고 암호화된 키는 대응 암호화된 콘텐츠 파일의 헤더에 저장된다. 상기 키 관리 시스템이 몇 개의 애플리케이션에 유용할 수 있는 반면, 이들은 각각 한계를 가진다. 위의 시스템 중 어느 것도 완전히 만족스럽지 않다. 그러므로 사용하기에 더 쉽고 더 유동적인(flexoble) 키 관리 시스템을 제공하는 것이 바람직하다.Many key management systems have been used. In a first type of key management system, a content file is named to easily identify and locate an encryption and / or decryption key. In another type of key management system known as an encrypted file system (EFS), the key itself used to encrypt the file is encrypted and the encrypted key is stored in the header of the corresponding encrypted content file. While the key management system may be useful for several applications, they each have limitations. None of the above systems are completely satisfactory. It would therefore be desirable to provide a key management system that is easier and more flexible to use.
디지털 저작권 관리(DRM)에서, 각각의 콘텐츠 파일은 어떻게 콘텐츠 파일이 접근될 수 있고/있거나 사용되는 지를 제어하거나 또는 주의하는 규칙과 연관될 수 있다. 이와 같은 규칙은 DRM에서 권리 객체로서 언급된다. 예를 들어, 규칙은, 소정의 만료 날짜 전에 또는 소정의 기간(time duration) 동안에만, 제한된 횟수 동안 접근될 수 있음을 명기할 수 있다. 그러므로, 콘텐츠 파일로의 접근 및/또는 사용을 제어하는 것이 요구되는 경우, 권리 객체가 생성되며, 이는 콘텐츠 프로파일 을 암호/복호하는데 사용되는 콘텐츠 암호화/복호화 키뿐만 아니라 위에서 설명된 규칙을 포함할 수 있다. 또한 권리 객체는 이때 권리 객체에 의해 제어되는 콘텐츠 파일과 관련된다. 종종, 권리 객체는 콘텐츠 파일을 암호/복호하기 위해 사용되는 콘텐츠 암호화/복호화 키로의 접근을 제어힘으로써 콘텐츠 파일로의 접근 및/또는 이의 사용을 제어한다. 따라서, 보호된 콘텐츠 파일을 사용하고/하거나 접근할 수 있기 위해, 이와 관련된 권리 객체를 검색하거나 다른 방법으로 획득할 수 있고, 권리 객체에서 규칙을 해독하고, 이후 규칙에 따라 콘텐츠 파일을 사용하거나 접근한다. 콘텐츠 파일이 암호화되는 경우, 키(들)는 관련 권리 객체로부터 검색되고 콘텐츠가 사용되거나 접근될 수 있기 전에 파일을 복호하기 위해 사용된다. 콘텐츠 파일의 사용 및/또는 접근을 제어하는 것이 요구되는 경우, 권리 객체는 파일로의 접근 및/또는 사용을 지배하는 규칙 및 콘텐츠 파일을 암호/복호하는데 사용되는 임의의 암호화/복호화 키를 가지고 생성되며, 객체는 이와 같은 콘텐츠 파일과 관련된다. In digital rights management (DRM), each content file may be associated with rules that control or note how the content file can be accessed and / or used. Such rules are referred to as rights objects in DRM. For example, a rule may specify that it can be accessed for a limited number of times, either before a predetermined expiration date or only for a predetermined time duration. Therefore, if it is desired to control access and / or use of the content file, a rights object is created, which may contain the rules described above as well as the content encryption / decryption key used to encrypt / decrypt the content profile. have. The rights object is then also associated with a content file controlled by the rights object. Often, rights objects control access to and / or use of content files by controlling access to content encryption / decryption keys used to encrypt / decrypt content files. Thus, in order to be able to use and / or access a protected content file, it can retrieve or otherwise obtain the rights object associated with it, decipher the rules in the rights object, and subsequently use or access the content file according to the rules. do. If the content file is encrypted, the key (s) is retrieved from the relevant rights object and used to decrypt the file before the content can be used or accessed. If it is desired to control the use and / or access of the content file, the rights object is created with rules governing access and / or use of the file and any encryption / decryption keys used to encrypt / decrypt the content file. The object is associated with such a content file.
DRM에서, 관리되기 위해 필요한 다수의 권리 객체가 있을 수 있다. 따라서, 사용하는데 더 유동적이고 더 쉬우며 다수의 권리 객체를 관리할 수 있는 권리 객체를 관리하기 위한 관리 시스템을 제공하는 것이 또한 바람직할 수 있다. In DRM, there may be a number of rights objects needed to be managed. Thus, it may also be desirable to provide a management system for managing rights objects that is more flexible and easier to use and capable of managing multiple rights objects.
본 발명의 일 실시예에 따라, 키 탐색(navigation) 파일 및 하나 이상의 저장 파일은 키 관리를 용이하게 하는데 사용될 수 있다. 암호화 및/또는 복호화되는 콘텐츠 파일은 각각 키 저장 파일이 콘텐츠 파일을 암호 및/또는 복호하기 위해 사용되는 키를 포함하는 것을 나타내는 위치 정보를 포함하는 헤더부를 각각 포함한다. 키 탐색 파일은 유효 키가 하나 이상의 키 저장 파일에 하나 이상의 위치에 저장되어 있는지 여부를 나타내는 상태 정보를 포함한다. 이는 키를 저장하기 위한 하나 이상의 키 저장 파일에서 위치를 찾는(locate) 과정을 용이하게 한다. 바람직하게는 상태 정보는 하나 이상의 유효 키(들)가 저장되어 있지 않은 하나 이상이 키 저장 파일에서 하나 이상의 위치를 나타낸다. In accordance with one embodiment of the present invention, a key navigation file and one or more storage files may be used to facilitate key management. The content file to be encrypted and / or decrypted each includes a header portion containing location information indicating that the key storage file contains a key used to encrypt and / or decrypt the content file. The key navigation file includes status information indicating whether the valid key is stored in one or more locations in one or more key storage files. This facilitates the process of locating a location in one or more key storage files for storing keys. Preferably, the status information indicates one or more locations in the key storage file where one or more valid key (s) are not stored.
전술된 키 탐색 파일 및 하나 이상의 키 저장 파일을 포함하는 키 탐색 메커니즘은 비-휘발성 컴퓨터 판독가능 매체에 저장될 수 있다. The key navigation mechanism, including the key navigation file described above and one or more key storage files, can be stored on a non-volatile computer readable medium.
상기 실시예의 하나의 이행에서, 키 탐색 파일은 저장 매체의 공중(public) 비보호 영역에 저장되고 키를 저장하기 위한 하나 이상의 키 저장 파일은 인증된 사용자, 애플리케이션 또는 장치에 의해서만 접근될 수 있는 매체의 보호된 영역에 저장된다. 명백한 이유로, 인증되지 않은 접근에 접근가능하지 않은 보호 영역에 하나 이상의 키 저장 파일을 저장하는 것이 바람직하다. 따라서, 키 저장 파일(들)에서 하나 이상의 위치가 유효 키를 포함하는지 아닌지를 나타내는 상태 정보를 포함하는 공중 영역에 키 탐색 파일을 제공함으로써, 이는 크게 키 관리 성능을 향상시킨다. 따라서, 키 저장 파일에서의 특정 키가 유효한지 아닌지를 발견하기 위해 보호 영역에 접근할 필요가 없다; 대신에, 이 정보는 인증 없이 접근될 수 있는 키 탐색 파일에서 쉽게 이용가능하다. 이 특성은 또한 콘텐츠 파일 및 이의 암호화/복호화 키를 삭제하는 것을 특히 쉽게 한다. 키의 삭제는 키를 삭제하기 위해 키를 포함하는 보호 영역에서 키 저장 파일로 실제로 접근하지 않고, 키 탐색 파일에서 상태 정보를 변경함으로써 하나의 이행으로 간단히 수행될 수 있다. In one implementation of this 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 key are stored on a medium that can only be accessed by an authenticated user, application, or device. It is stored in a protected area. For obvious reasons, it is desirable to store one or more key storage files in a protected area that is not accessible to unauthorized access. Thus, by providing a key navigation file in the public area containing status information indicating whether one or more locations in the key storage file (s) contain a valid key, this greatly improves key management performance. Thus, there is no need to access the protected area to find out whether a particular key in the keystore file is valid or not; Instead, this information is readily available in key navigation files that can be accessed without authentication. This feature also makes it particularly easy to delete content files and their encryption / decryption keys. Deletion of a key can be performed in one implementation simply by changing state information in the key navigation file, without actually accessing the key storage file in the protected area containing the key to delete the key.
본 발명의 다른 하나의 실시예에 따라, 키 탐색 파일 및 하나 이상의 키 저장 파일은 콘텐츠 파일을 암호/복호하기 위한 과정에 쉽게 사용될 수 있다. 키 탐색 파일에서 각각의 엔트리(entry)는 복수의 암호화/복호화 키 중 하나를 저장하기 위한 하나 이상의 키 저장 파일에서의 위치에 대응한다. 키 탐색 파일은 하나 이상의 키 저장 파일에서 위치에 유효 키에 대응하지 않는 엔트리의 발견을 허용하도록 열릴 수 있다. 암호화/복호화 키가 발생되고 콘텐츠 파일이 암호화/복호화된ㄷ.k 암호화/복호화 키는 이때 발견되는 키 탐색 파일에서의 엔트리에 대응하는 하나의 키 저장 파일에 위치에서 저장된다. According to another embodiment of the present invention, the key navigation file and one or more key storage files can be easily used in the process for encrypting / decrypting the content file. Each entry in the key navigation file corresponds to a location in one or more key storage files for storing one of a plurality of encryption / decryption keys. The key navigation file may be opened to allow the discovery of 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. The .k encryption / decryption key is stored at a location in one key storage file corresponding to the entry in the key navigation file found at that time.
위의 실시예에 대한 하나의 이행에서, 키 탐색 정보는 유효 키에 대응하지 않도록 발견된 키 탐색 파일에서의 엔트리의 위치로부터 얻을(derive) 수 있고 이 위치 정보는 암호화된 파일의 헤더부에 삽입된다. 따라서, 역 과정에서, 암호화된 파일의 헤더부에서의 정보의 위치를 해독함으로써, 키 저장 파일 또는 파일들 중 하나에 암호화/복호화 키의 위치가 발견될 수 있고 암호화된 파일의 암호화 및/또는 복호화를 위해 검색될 수 있다. In one implementation of the above embodiment, the key navigation information may be derived from the location of the entry in the key navigation file found so that it does not correspond to a valid key and this location information is inserted into the header of the encrypted file. do. Thus, in the reverse process, by decrypting the location of the information in the header portion of the encrypted file, the location of the encryption / decryption key can be found in the key storage file or one of the files and the encryption and / or decryption of the encrypted file. Can be searched for.
본 발명의 또다른 실시예에 따라, 콘텐츠 파일은 저장 매체의 보호 영역에서 키 저장 파일에 복호화 키를 사용하여 복호될 수 있다. 콘텐츠 파일의 헤더부는 콘텐츠 파일을 암호화/복호화하기 위한 키 저장 파일에 암호화/복호화 키의 위치를 나타내는 키 탐색 정보를 포함한다. 키 탐색 정보는 콘텐츠 파일의 헤더부로부터 검색되고 복호화 키가 저장되어 있는 키 저장 파일에서의 위치는 이때 키 탐색 정보로부터 얻는다. 복호화 키는 이때 보호 영역으로부터 획득되고 콘텐츠 파일을 복호하기 위해 사용된다. 이 공정은 또한 콘텐츠 파일을 암호하기 위해 키 저장 파일에 특정 키를 발견하는데 사용될 수 있고, 이와 같은 키의 위치 정보는 콘텐츠 파일의 헤더에서 발견될 수 있다. According to another embodiment of the present invention, the content file can be decrypted using the decryption key in the key storage file in the protected area of the storage medium. The header portion of the content file includes key navigation information indicating the location of the encryption / decryption key in the key storage file for encrypting / decrypting the content file. The key navigation information is retrieved from the header portion of the content file and the position in the key storage file where the decryption key is stored is then obtained from the key navigation information. The 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 particular key in a key storage file to encrypt the content file, and the location information of such a key can be found in the header of the content file.
상기 실시예의 하나의 특정 구현에서, 복수의 키 저장 파일은 키를 저장하기 위해 사용된다. 이 구현에서, 콘텐츠 파일의 헤더부에 키 탐색 정보는 정수일 수 있는 인덱스를 포함한다. 각각의 키 저장 파일은 키를 저장하기 위한 m 개의 위치를 포함한다. 인덱스는 몫(quotient)을 획득하기 위해 m으로 나누어진다. 몫의 정수부는 복수의 키 저장 파일 중 하나가 암호화/복호화 키를 저장하는 것을 나타내고, 또한 본 발명에서 오프셋이라 말하는, 나머지부는 암호화/복호화 키가 저장되어 있는 이와 같은 키 저장 파일에서의 위치를 나타낸다. In one particular implementation of the above embodiment, a plurality of key storage files are used to store keys. In this implementation, the key navigation information in the header portion of the content file includes an index, which may be an integer. Each key storage file contains m locations for storing keys. The index is divided by m to obtain a quotient. The integer portion of the quotient indicates that one of the plurality of key storage files stores the encryption / decryption key, and the remainder, which is referred to as an offset in the present invention, indicates the position in such a key storage file in which the encryption / decryption key is stored. .
본 발명의 또다른 실시예는 키 저장 파일에 저장된 키가 유효한지 아닌지를 나타내는 상태 정보를 포함하는 키 탐색 파일에 의해 콘텐츠 파일을 암호/복호하는데 사용되고 키 저장 파일에 저장되어 있는 암호화/복호화 키를 무효로 하기 위한 방법으로 지향되어 있다. 콘텐츠 파일은 키 저장 파일에 키의 위치를 나타내는 위치 정보를 포함하는 헤더부를 포함한다. 키 파일에서 키의 위치 정보는 콘텐츠 파일의 헤더부로부터 획득된다. 키 탐색 파일에서 키의 상태 정보는 위치 정보를 사용하여 찾아진다. Another embodiment of the present invention uses an encryption / decryption key stored in the key storage file and used to encrypt / decrypt the content file by a key navigation file including status information indicating whether the key stored in the key storage file is valid. It is aimed at the way to invalidate. The content file includes a header portion including location information indicating the location of the key in the key storage file. The location information of the key in the key file is obtained from the header portion of the content file. In the key navigation file, the status information of a key is found using location information.
키 탐색 파일에서 키의 상태 정보는 키가 무효로 됨을 나타내도록 변경된다. The key's status information in the key navigation file is changed to indicate that the key is invalid.
위에서 설명된 방법 중 임의의 하나는 프로세서에 의해 실행되는 컴퓨터 프로그램에 의해 수행될 수 있고, 프로그램은 컴퓨터 판독가능 저장 매체에 저장된다. Any one 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.
본 발명의 또다른 실시예에 따라, 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램은 키 관리를 용이하게 하는데 사용될 수 있다. 컴퓨터 프로그램은 하나 이상의 이와 같은 파일이 이미 존재하지 않는 경우 하나 이상의 키 저장 파일 및 키 탐색 파일을 생성한다. 각각의 콘텐츠 파일은 키 저장 파일이 이와 같은 콘텐츠 파일에 대한 암호화/복호화 키를 포함하는 지를 나타내는 위치 정보를 포함하는 헤더부를 포함한다. 키 탐색 파일은 하나 이상의 키 저장 파일에서 하나 이상의 위치가 유효키를 포함하는지 아닌지를 나타내는 상태 정보를 포함한다. According to another embodiment of the invention, a computer program stored on a computer readable medium can be used to facilitate key management. The computer program creates one or more key storage files and key navigation files if one or more such files do not already exist. Each content file includes a header portion containing location information indicating whether the key storage file includes an encryption / decryption key for such content file. The key navigation file includes state information indicating whether one or more locations in the one or more key storage files contain a valid key.
상기 실시예의 하나의 이행에서, 엔트리는 적어도 하나의 키 저장 파일에서 유효 키에 대응하지 않는 키 탐색 파일에서 발견된다. 콘텐츠 파일에 대한 키 탐색 정보는 키 탐색 파일에서의 상기 엔트리의 위치로부터 획득된다. 암호화/복호화 키는 발생되고 콘텐츠 파일을 암호/복호하는데 사용된다. 암호/복호화 키는 엔트리에 대응하는 적어도 하나의 키 저장 파일에 위치에서 저장된다.In one implementation of this embodiment, an entry is found in a key navigation file that does not correspond to a valid key in at least one key storage file. Key navigation information for the 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 at a location in at least one key storage file corresponding to the entry.
본 발명이 또다른 실시예에 따라, 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램은 저장 장치의 보호 영역에서 키 저장 파일에 암호화/복호화 키를 사용하여 콘텐츠 파일을 암호/복호한다. 콘텐츠 파일 헤더는 키 저장 파일에 암호화/복호화 키의 위치를 나타내는 키 탐색 정보를 포함한다. 컴퓨터 프로그램은 콘텐츠 파일로부터 키 탐색 정보를 검색하고, 암호화/복호화 키가 저장되어 있는 키 저장 파일에서 키 탐색 정보로부터 위치를 얻고, 암호화/복호화 키를 획득하고 상기 키를 사용하여 콘텐츠 파일을 암호/복호한다. 이 실시예의 일 구현에서, m 개의 위치를 각각 포함하는 복수의 키 저장 파일은 키를 저장하는데 사용된다. 키 탐색 정보는 인젝스를 포함하고, 이는 정수일 수 있으며, 컴퓨터 프로그램은 키 저장 파일 중 하나가 몫을 획득하기 위해 m으로 인덱스를 나눔으로써 키가 저장되어 있는 이와 같은 키 저장 파일에 위치 및 암호화/복호화 키를 저장함을 발견한다. 몫의 정수 부분은 복수의 키 저장 파일 중 하나가 암호화/복호화 키를 저장하는 것을 나타내고 나머지 부분은, 소위 본 발명에서 오프셋은 복호화/암호화 키가 저장되어 있는 이와 같은 키 저장 파일에서 위치를 나타낸다. According to another embodiment of the present invention, a computer program stored in a computer readable medium encrypts / decrypts a content file using an encryption / decryption key in a key storage file in a protected area of the storage device. The content file header includes key navigation information indicating the location of the encryption / decryption key in the key storage file. The computer program retrieves the key navigation information from the content file, obtains a location from the key navigation information in the key storage file in which the encryption / decryption key is stored, obtains an encryption / decryption key, and uses the key to encrypt / encrypt the content file. Decrypt In one implementation of this embodiment, a plurality of key storage files each containing m locations are used to store keys. The key navigation information includes an injection, which may be an integer, and the computer program locates and encrypts / encodes in such a keystore file where the key is stored by dividing the index by m to obtain a share of one of the keystore files. Find the store decryption key. The integer portion of the quotient indicates that one of the plurality of key storage files stores the encryption / decryption key, and the remaining portion, the so-called offset in the present invention, indicates the location in such a key storage file in which the decryption / encryption key is stored.
위에서 설명된 컴퓨터 프로그램에 의해 실행된 방법은 본 발명의 다른 태양의 주제이다. The method executed by the computer program described above is the subject of another aspect of the present invention.
본 발명의 다른 실시예에 따라, 비휘발성 컴퓨터 판독가능 매체는 키 탐색 메커니즘을 저장하고, 매체는 적어도 하나의 보호 영역 및 적어도 하나의 비보호 영역을 포함한다. 메커니즘은 키 탐색 파일 및 적어도 하나의 키 저장 파일을 포함한다. 각각의 키 저장 파일은 이와 같은 키 저장 파일에 대응 위치에서 복수의 키를 포함하고, 상기 키는 복수의 콘텐츠 파일 중 대응하는 하나의 암호화 및/또는 복호화에 사용된다. 메커니즘은 매체의 적어도 하나의 비보호 영역에서 제 1 디렉토리 트리(directory tree)를 포함하고, 상기 제 1 디렉토리 트리는 키 탐색 파일 및 복수의 콘텐츠 파일의 리스트를 포함하는 디렉토리를 포함한다. 메커니즘은 또한 매체의 적어도 하나의 보호 영역에 제 2 디렉토리 트리를 포함하고, 상기 제 2 디렉토리 트리는 적어도 하나의 키 저장 파일에 키의 목록을 포함하는 디렉토리를 포함하고, 상기 2 개의 디렉토리 트리는 서로 거울대칭(mirror)하는 구조를 가진다. According to another embodiment of the present invention, a nonvolatile computer readable medium stores a key navigation mechanism, and the medium includes at least one protected area and at least one unprotected area. The mechanism includes a key navigation file and at least one key storage file. Each key storage file includes a plurality of keys at corresponding locations in the key storage file, which keys are used for encryption and / or decryption of a corresponding one of the plurality of content files. The mechanism includes a first directory tree in at least one unprotected area of the medium, the first directory tree including a directory comprising a key navigation file and a list of a plurality of content files. The mechanism also includes a second directory tree in at least one protected area of the medium, the second directory tree including a directory comprising a list of keys in at least one key storage file, the two directory trees mirrored each other. (mirror) has a structure.
전술된 시스템 및 방법은 또한 키를 관리하는 것 대신에 또는 이외에, 콘텐츠의 사용 및/또는 콘텐츠로의 접근을 지배하는 규칙과 같은, 콘텐츠 보호 정보를 관리하도록 형성될 수 있다. 따라서, 하나의 예시적인 응용에서, 전술된 방법 및 시스템은 콘텐츠 파일의 사용 및/또는 접근을 제어하는 권리 객체를 관리하도록 형성될 수 있다. The systems and methods described above may also be configured to manage content protection information, such as rules governing the use of and / or access to content, instead of or in addition to managing keys. Thus, in one exemplary application, the methods and systems described above may be configured to manage rights objects that control the use and / or access of content files.
따라서, 본 발명의 또다른 실시예에 따라, 권리 객체 탐색 파일 및 하나 이상의 권리 객체 저장 파일은 권리 객체 관리를 용이하게 하는데 사용될 수 있다. 권리 객체에 의해 제어되는 콘텐츠 파일은 권리 객체 저장 파일이 콘텐츠 파일로의 접근 및/또는 이의 사용을 제어하는데 사용되는 권리 객체를 포함하는 것을 나타내는 위치 정보를 포함하는 헤더부를 각각 포함한다. 권리 객체 탐색 파일은 유효 권리 객체가 하나 이상의 권리 객체 저장 파일에 하나 이상의 위치에서 저장되어있는 지 여부를 나타내는 상태 정보를 포함한다. 이는 권리 객체 키를 저장하기 위한 하나 이상의 권리 객체 저장 파일에서 위치를 찾는 과정을 용이하게 한다. 바람직하게는 상태 정보는 하나 이상의 유효 키(들)가 저장되어 있니 않은 하나 이상의 권리 객체 저장 파일에서의 하나 이상의 위치를 나타낸다. Thus, in accordance with 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. The content file controlled by the rights object each includes a header portion containing location information indicating that the rights object storage file includes a rights object used to control access to and / or use of the content file. The rights object navigation file includes state information indicating whether a valid rights object is stored in one or more rights object storage files in one or more locations. This facilitates the process of locating a location in one or more rights object storage files for storing rights object keys. Preferably, the status information indicates one or more locations in one or more rights object storage files in which one or more valid key (s) are not stored.
전술된 권리 객체 탐색 파일 및 하나 이상의 권리 객체 저장 파일을 포함하는 권리 객체 탐색 메커니즘은 비-휘발성 컴퓨터 판독가능 매체에 저장될 수 있다. The rights object navigation mechanism, including 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.
상기 실시예의 하나의 이행에서, 권리 객체 탐색 파일은 저장 매체의 공중 비보호 영역에 저장되고 권리 객체를 저장하기 위한 하나 이상의 권리 객체 저장 파일은 인증된 사용자, 애플리케이션 또는 장치에 의해서만 접근될 수 있는 매체의 보호 영역에 저장된다. 명백한 이유로, 비인가된 접근에 접근할 수 없는 보호 영역에 하나 이상의 권리 객체 저장 파일을 저장하는 것이 바람직하다. 따라서, 권리 객체 저장 파일(들)에서의 하나 이상의 위치가 유효 권리 객체를 포함하는지 아닌지를 나타내는 상태 정보를 포함하는 공중 영역에서 권리 객체 탐색 파일을 제공함으로써, 이는 권리 객체 관리 성능을 크게 향상시킨다. 따라서, 권리 객체 저장 파일 안의 특정 권리 객체가 유효한지 아닌지를 찾아내기 위해 보로 영역으로의 접근을 필요로 하지 않는다; 대신에, 이 정보는 인증 없이 접근될 수 없는 권리 객체 탐색 파일에서 쉽게 이용가능하다. 이 특징은 또한 콘텐츠 파일 및 관련 권리 객체를 특히 쉽게 삭제하게 한다. 권리 객체의 삭제는, 권리 객체를 삭제하기 위해 권리 객체를 포함하는 보호 영역에서 권리 객체 저장 파일로의 실제로 접근을 하지 않고, 권리 객체 탐색 파일에서의 상태 정보를 변경함으로써 하나의 이행으로 간단히 수행될 수 있다. In one implementation of the above embodiment, the rights object navigation file is stored in a public unprotected area of the storage medium and the one or more rights object storage files for storing the rights object may be accessed only by authorized users, applications or devices. Stored in the protected area. For obvious reasons, it is desirable to store one or more rights object storage files in protected areas that are inaccessible to unauthorized access. Thus, by providing a rights object navigation file in the public area that includes state information indicating whether one or more locations in the rights object storage file (s) contain valid rights objects, this greatly improves rights object management performance. Thus, access to the borough area is not required to find out whether a particular rights object in the rights object storage file is valid or not; Instead, this information is readily available in the rights object navigation file that cannot be accessed without authentication. This feature also makes it particularly easy to delete content files and related rights objects. Deletion of a rights object can be performed in one implementation simply by changing the state information in the rights object navigation file, without actually accessing the rights object storage file in the protected area containing the rights object to delete the rights object. Can be.
본 발명의 하나 이상의 실시예에 따라, 권리 객체 탐색 파일 및 하나 이상의 권리 객체 저장 파일은 콘텐츠 파일과 권리 객체를 관련시키기 위한 과정에서 쉽게 사용될 수 있다. 권리 객체 탐색 파일에서 각각의 엔트리는 복수의 권리 객체 중 하나를 저장하기 위해 하나 이상의 권리 객체 저장 파일에서의 위치에 대응한다. 권리 객체 탐색 파일은 하나 이상의 권리 객체 저장 파일에 위치에서 유효 권리 객체에 대응하지 않는 엔트리의 발견을 허용하도록 개방될 수 있다. 권리 객체는 발생되고 콘텐츠 파일은 이와 관련되어 있다. 권리 객체는 이때 발견되는 권리 객체 탐색 파일에서 엔트리에 대응하는 하나의 군리 객체 저장 파일에 위치에서 저장된다. In accordance with one or more embodiments of the present invention, a rights object navigation file and one or more rights object storage files may be readily used in the process for associating a content file with a rights object. Each entry in the rights object navigation file corresponds to a location in one or more rights object storage files for storing one of a plurality of rights objects. The rights object navigation file may be opened to allow the discovery of entries that do not correspond to valid rights objects at locations in one or more rights object storage files. The rights object is generated and the content file is associated with it. The rights object is then stored at a location in one grouping object storage file corresponding to the entry in the rights object navigation file found.
상기 실시예의 하나의 이행에서, 권리 객체 탐색 정보는 유효 권리 객체에 대응하지 않도록 권리 객체 탐색 파일에서의 엔트리의 위치로부터 얻어질 수 있고 이 위치 정보는 암호화된 파일의 헤더부에 삽입된다. 따라서, 역 과정에서, 콘텐츠 파일의 헤더부에서 위치 정보를 해독함으로써, 권리 객체 저장 파일 또는 파일들 중 하나에서 권리 객체의 위치는 발견될 수 있고 권리 객체는 콘텐츠 파일을 사용 및/또는 접근하기 위해 검색될 수 있다. In one implementation of the above embodiment, the rights object navigation information may be obtained from the location of an entry in the rights object navigation file so that it does not correspond to a valid rights object and this location information is inserted into the header portion of the encrypted file. Thus, in the reverse process, by decrypting the location information in the header portion of the content file, the location of the rights object in the rights object storage file or one of the files can be found and the rights object can be used to access and / or access the content file. Can be retrieved.
본 발명의 또다른 실시예에서 따라, 콘텐츠 파일은 저장 매체의 보호 영역에서 권리 객체 저장 파일의 암호화/복호화 권리 객체를 사용하여 암호/복호될 수 있다. 콘텐츠 파일의 헤더부는 콘텐츠 파일과 관련된 권리 객체 저장 파일에서 권리 객체의 위치를 나타내는 권리 객체 탐색 정보를 포함한다. 권리 객체 탐색 정보는 콘텐츠 파일의 헤더부로부터 검색되고 권리 객체가 저장되어 있는 권리 객체 저장 파일에서의 위치는 권리 객체 탐색 정보로부터 획득된다. 권리 객체는 이때 보호 영역으로부터 획득되고 접근하기 위해 및/또는 다른 방법으로 콘텐츠 파일을 사용하기 위해 사용된다. 이 과정은 또한 콘텐츠 파일로의 접근 및/또는 이의 사용이 요구되는 경우 권리 객체 저장 파일에서의 특정 권리 객체를 발견하는데 사용될 수 있고, 이와 같은 권리 객체의 위치 정보는 콘텐츠 파일의 헤더부에서 발견될 수 있다. According to another embodiment of the present invention, the content file may be encrypted / decrypted using the encryption / decryption rights object of the rights object storage file in the protected area of the storage medium. The header portion of the content file includes rights object navigation information that indicates the location of the rights object in the rights object storage file associated with the content file. The rights object navigation information is retrieved from the header portion of the content file and the location in the rights object storage file where the rights object is stored is obtained from the rights object navigation information. The rights object is then used to obtain and access from the protected area and / or to use the content file in other ways. This process can also be used to find a specific rights object in the rights object storage file if access to and / or use of the content file is required, such location information of the rights object may be found in the header portion of the content file. Can be.
바로 위의 실시예의 하나의 특정 이행에서, 복수의 권리 객체 저장 파일이 권리 객체를 저장하는데 사용된다. 이 이행에서, 콘텐츠 파일의 헤더부에서의 권리 객체 탐색 정보는 정수일 수 있는, 인덱스를 포함한다. 각각의 권리 객체 저장 파일은 권리 객체를 저장하기 위한 m 개의 위치를 포함한다. 인덱스는 몫을 얻기 위해 m으로 나누어진다. 몫의 정수 부분은 복수의 권리 객체 저장 파일 중 하나가 권리 객체를 저장하는 것을 나타내고 본 발명에서 오프셋이라 말하는, 나머지 부분은 권리 객체가 저장되어 있는 이와 같은 권리 객체 저장 파일에서의 위치를 나타낸다.In one particular implementation of the immediately preceding embodiment, a plurality of rights object storage files are used to store rights objects. In this implementation, the rights object navigation information in the header portion of the content file includes an index, which may be an integer. Each rights object storage file contains m locations for storing rights objects. The index is divided by m to get a quotient. The integer portion of the quotient indicates that one of the plurality of rights object storage files stores the rights object, and the remainder, referred to herein as the offset, indicates the location in such a rights object storage file in which the rights object is stored.
본 발명의 또다른 실시예는 권리 객체 저장 파일에 저장되어 있는 권리 객체를 무효로 하기 위한 방법으로 지향되어 있고 권리 객체 저장 파일에 저장되어 있는 권리 객체가 유효한지 아닌지를 나타내는 상태 정보를 포함하는 권리 객체 탐색 파일에 의해 콘텐츠 파일로의 접근 및/또는 사용을 제어하기 위해 사용된다. 콘텐츠 파일은 권리 객체 저장 파일에 권리 객체의 위치를 나타내는 위치 정보를 포함하는 헤더부를 포함한다. 권리 객체 파일에서 권리 객체의 위치 정보는 콘텐츠 파일의 헤더부에서 획득된다. 권리 객체 탐색 파일에서 권리 객체의 상태 정보는 위치 정보를 사용하여 찾아진다. 권리 객체 탐색 파일에서 권리 객체의 상태 정보는 권리 객체가 무효임을 나타내도록 변경된다. Another embodiment of the present invention is directed to a method for invalidating a rights object stored in a rights object storage file and includes rights including state information indicating whether the rights object stored in the rights object storage file is valid or not. Used to control access and / or use of content files by object navigation files. The content file includes a header portion including 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. In the rights object navigation file, the status information of the rights object is retrieved 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 one of the methods described above can be performed by a computer program executed by a processor, the program being stored in a computer readable storage medium.
본 발명의 또다른 실시예에 따라, 컴퓨터 판독가능 매체에 저장되어 있는 컴퓨터 프로그램은 권리 객체 관리를 용이하게 하는데 사용될 수 있다. 컴퓨터 프로그램은 권리 객체 탐색 파일 및 하나 이상의 권리 객체 저장 파일이 이미 존재하지 않는 경우 하나 이상의 권리 객체 저장 파일을 생성한다. 각각의 콘텐츠 파일이 권리 객체 저장 파일이 이와 같은 콘텐츠 파일에 대한 권리 객체를 포함하는 것을 나타내는 위치 정보를 포함하는 헤더부를 포함한다. 권리 객체 탐색 파일은 하나 이사의 권리 객체 저장 파일에 하나 이상의 위치가 유효 권리 객체를 포함하는지 아닌지를 나타내는 상태 정보를 포함한다. 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 one or more rights object storage files if the rights object navigation file and one or more rights object storage files do not already exist. Each content file includes a header portion that includes location information indicating that the rights object storage file contains a rights object for such a content file. The rights object navigation file contains status information indicating whether one or more locations in the rights object storage file of one director contain a valid rights object.
위의 실시예의 하나의 이행에서, 엔트리는 적어도 하나의 권리 객체 저장 파일에서 유효 관리 객체에 대응하지 않는 권리 객체 탐색 파일에서 발견된다. 콘텐츠 파일에 대한 권리 객체 탐색 정보는 권리 객체 탐색 파일에서의 상기 엔트리의 위치로부터 획득된다. 권리 객체가 발생되고 콘텐츠 파일과 관련된다. 권리 객체는 엔트리에 대응하는 적어도 하나의 권리 객체 저장 파일에 위치에서 저장된다. In one implementation of the above embodiment, an entry is found in a rights object navigation file that does not correspond to a valid managed object in at least one rights object storage file. The rights object navigation information for 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 at a location in at least one rights object storage file corresponding to the entry.
본 발명의 또다른 실시예에 따라, 컴퓨터 판독가능 매체에 저장되어 있는 컴퓨터 프로그램은 저장 장치의 보로 영역에 권리 객체 저장 파일에서의 권리 객체에 의해 콘텐츠 파일로의 접근 및/또는 이의 사용을 제어한다. 콘텐츠 파일 헤더는 권리 객체 저장 파일에서의 권리 객체의 위치를 나타내는 권리 객체 탐색 정보를 포함한다. 컴퓨터 프로그램은 콘텐츠 파일로부터 권리 객체 탐색 정보를 검색하고, 권리 객체가 저장되어 있는 권리 객체 저장 파일에서 위치를 권리 객체 탐색 정보로부터 얻고, 권리 객체를 획득하고 이와 같은 권리 객체에 의해 콘텐츠 파일을 사용하거나 또는 접근한다. 이 실시예의 하나의 구현에서, m 개의 위치를 각각 포함하는 복수의 권리 객체 저장 파일은 권리 객체를 저장하기 위해 사용된다. 권리 객체 탐색 정보는 정수일 수 있는 인덱스를 포함하고, 컴퓨터 프로그램은 권리 객체 저장 파일 중 하나가 몫을 얻기 위해 m으로 인덱스를 나눔으로써 권리 객체가 저장되어 있는 이와 같은 권리 저장 파일에서의 위치 및 권리 객체를 저장하는 것을 발견한다. 몫의 정수 부분은 복수의 권리 객체 저장 파일 중 하나가 권리 객체를 저장하는 것을 나타내고, 또한 본 발명에서 오프셋이라 불리는 나머지 부분은 권리 객체가 저장되어 있는 이와 같은 권리 저장 파일에서 위치를 나타낸다. In accordance with another embodiment of the present invention, a computer program stored on a computer readable medium controls access to and / or use of a content file by a rights object in a rights object storage file in a borough region of the storage device. . The content file header includes rights object navigation information indicating the location of the rights object in the rights object storage file. The computer program retrieves the rights object navigation information from the content file, obtains a location from the rights object navigation information in the rights object storage file in which the rights object is stored, obtains the rights object and uses the content file by such rights object; Or approach. In one implementation of this embodiment, a plurality of rights object storage files each containing m locations are used to store rights objects. The rights object navigation information includes an index, which may be an integer, and the computer program divides the index by m for one of the rights object storage files to share, such as the location and rights object in the rights storage file where the rights object is stored. Find it to save. The integer portion of the quotient indicates that one of the plurality of rights object storage files stores the rights object, and the remainder, referred to herein as the offset, indicates the location in such a rights storage file in which the rights object is stored.
본 발명의 또다른 실시예에 따라, 비-휘발성 판독가능 매체는 권리 객체 탐색 메커니즘을 저장하고, 매체는 적어도 하나의 보호 영역 및 적어도 하나의 비보호 영역을 포함한다. 메커니즘은 권리 객체 탐색 파일 및 적어도 하나의 권리 객체 저장 파일을 포함한다. 각각의 권리 객체 저장 파일은 이와 같은 권리 객체 저장 파일에서 대응하는 위치에 복수의 권리 객체를 포함하고, 상기 권리 객체는 복수의 코텐츠 파일 중 대응하는 하나로의 접근 및/또는 이의 사용을 제어하는데 사용된다. 메커니즘은 매체의 적어도 하나의 비보호 영역에 제 1 디렉토리 트리를 포함하고, 상기 제 1 디렉토리 트리는 권리 객체 탐색 파일 및 복수의 콘텐츠 파일의 목록록을 포함하는 디렉토리를 포함한다. 메커니즘은 또한 매체의 적어도 하나의 보호 영역에 제 2 디렉토리 트리를 포함하고, 상기 제 2 디렉토리 트리는 적어도 하나의 권리 객체 저장 파일에서 권리 객체의 리스트를 포함하는 디렉토리를 포함하고, 상기 2 개의 디렉토리 트리는 서로 거울대칭인 구조를 가진다. According to another embodiment of the present invention, the non-volatile readable medium stores a rights object navigation mechanism, and the medium includes at least one protected area and at least one unprotected area. The mechanism includes a rights object navigation file and at least one rights object storage file. Each rights object store file includes a plurality of rights objects at corresponding locations in the rights object store file, which rights objects are used to control access to and / or use of the corresponding one of the plurality of content files. do. The mechanism includes a first directory tree in at least one unprotected area of the medium, the first directory tree including a directory including a rights object navigation file and a list of a plurality of content files. The mechanism also includes a second directory tree in at least one protected area of the medium, the second directory tree including a directory comprising a list of rights objects in the at least one rights object storage file, the two directory trees being mutually exclusive. It has a mirror symmetrical structure.
전술된 컴퓨터 프로그램에 의해 수행되는 방법은 본 발명의 다른 양태의 과제이다. The method performed by the computer program described above is a subject of another aspect of the present invention.
상기 특징은 단독으로 또는 임의의 조합에서 함께 사용될 수 있다. The features may be used alone or together in any combination.
도 1은 본 발명을 설명하기 위해 호스트 장치와 통신하는 메모리 시스템의 블록도를 나타낸다. 1 illustrates a block diagram of a memory system in communication with a host device to illustrate the present invention.
도 2는 타이틀 키 파일의 구조를 설명하는 도면이다. 2 is a diagram for explaining the structure of a title key file.
도 3a는 키 탐색 파일의 구조를 설명하는 도면이다. 3A is a diagram for explaining the structure of a key navigation file.
도 3b는 도 3a에서 키 탐색 파일 및 도 2에 도시된 유형의 다수의 타이틀 키 파일을 나타내며, 이들 사이의 관계를 설명하기 위한 도면이다. FIG. 3B shows a key navigation file in FIG. 3A and a plurality of title key files of the type shown in FIG. 2, and is a diagram for explaining the relationship between them.
도 4는 키 탐색 및 키 관리에 유용한 비보호 사용자 데이터 영역에서의 디렉토리 트리를 설명하는 도면이다.4 is a diagram illustrating a directory tree in an unprotected user data area useful for key navigation and key management.
도 5는 키 탐색 및 키 관리에 유용한 보호 영역에서의 디렉토리 트리에 관한도면이다.5 is a diagram of a directory tree in a protected area useful for key navigation and key management.
도 6은 키 관리를 위한 키 탐색 메커니즘을 설명하는 흐름도이다. 6 is a flowchart illustrating a key navigation mechanism for key management.
도 7은 키 관리 시스템의 또다른 특징을 설명하기 위해 파일을 삭제하는 키 탐색 메커니즘을 설명하는 흐름도이다. 7 is a flowchart illustrating a key navigation mechanism for deleting a file to illustrate another feature of the key management system.
도 8은 권리 객체 관리를 위한 권리 객체 탐색 메커니즘을 설명하는 흐름도이다. 8 is a flowchart illustrating a rights object navigation mechanism for rights object management.
도 9는 권리 객체 관리 시스템의 또다른 특징을 설명하기 위해 파일을 삭제 하는 권리 객체 탐색 메커니즘을 설명하는 흐름도이다. 9 is a flow diagram illustrating a rights object navigation mechanism for deleting a file to illustrate another feature of the rights object management system.
간략한 설명을 위해, 동일한 소자는 본 출원에서 동일한 숫자로 식별되어 있다. For the sake of brevity, like elements are identified by like numerals in the present application.
본 발명의 다양한 실시예를 이행할 수 있는 예시적인 메모리 시스템이 도 1의 블록도에 의해 설명되어 있다. 도 1에 도시된 바와 같이, 메모리 시스템(10)은 CPU(cetral processing unit)(12),BMU(buffer management unit)(14). HIM(host interface module)(HIM)(16) 및 FIM(flash interface module)(18), 플래시 메모리(20) 및 PAM(peripheral access module)(22)를 포함한다. 메모리 시스템(10)은 호스트 인터페이스 버스(26) 및 포트(26a)를 통해 호스트 장치(24)와 통신한다. NAND 유형으로 이루어질 수 있는 플래시 메모리(20)는 호스트 장치(24)에 데이터 저장을 제공한다. CPU(12)에 대한 소프트웨어 코드는 또한 플래시 메모리(20)에 저장될 수 있다. FIM(18)은 플래시 인터페이스 버스(28) 및 포트(28a)를 통해 플래시 메모리(20)에 접속한다. HIM(16)은 디지털 카메라, 데스크 탑 또는 휴대용 개인용 컴퓨터, PDA(personal digital assistant), 디지털 미디어 플레이어, MP-3 플레이어, 비디오 게임 플레이어 및 셀룰러 전화기 또는 다른 디지털 장치와 같은 호스트 시스템으로의 접속에 적합하다. 주변 접근 모듈(22)은 CPU(12)와 통신하기 위해 FIM, HIM 및 BMU와 같은 적절한 제어기 모듈을 선택한다. 일 실시예에서, 점선 박스 내의 시스템(10)의 모든 구성소자는 메모리 카드 또는 스틱(10')에서와 같이 단일 유닛에 포함될 수 있고 바람직하게는 동일한 하우징(housing) 또는 컨테이너 내 에 카드 또는 스틱에 캡슐화될 수 있다. An exemplary memory system that can implement various embodiments of the present invention is illustrated by the block diagram of FIG. As shown in FIG. 1, the
버퍼 관리 유닛(14)은 HDMA(host direct memory access)(32), FDMA(flash direct memory access) 제어기(34), 중재기(arbiter)(36), BRAM(buffer random access memory)(38) 및 암호화-엔진(crypto-engine)(40)을 포함한다. 하나의 (HDMA(32), FDMA(34) 또는 CPU(12)일 수 있는) 개시자(initiator) 또는 마스터(master) 만이 언제라도 활성될 수 있고 슬레이브(slave) 또는 타겟이 BRAM(38)이도록 중재기(36)는 공유 버스 중재기이다. 중재기는 BRAM(38)로의 적절한 개시자 요청을 채널링(channeling)을 담당한다. HDMA(32) 및 FDMA(34)는 HIM(16), FIM(18)과 BRAM(38) 또는 CPU RAM(CPU random access memory)(12a) 사이의 전송된 데이터에 책임이 있다. HDMA(32) 및 FDMA(34)의 동작은 통상적이며 본 발명에서 상세하게 설명될 필요가 없다. BRAM(38)은 호스트 장치(24), 플래시 메모리(20)와 CPU RAM(12a) 사이에 전달되는 버퍼 데이터에 사용된다. HDMA(32) 및 FDMA(34)은 HIM(16)/FIM(18)과 BRAM(38) 또는 CPU RAM(12a) 사이의 데이터를 전송하고 섹터(sector) 전송 완료를 표시하는 것을 담당한다. The
먼저 플래시 메모리(20)로부터의 데이터가 호스트 장치(24)에 의해 판독되는 경우, 메모리(20)에서 암호화된 데이터는 버스(28), FDMA(34), FDMA(34), 암호화 엔진(40)을 통해 인출되며(fetch) 암호화된 데이터가 복호되고 BRAM(38)에 저장된다. 복호된 데이터는 HDMA(32), HIM(16), 버스(26)를 통해, BRAM(38)로부터 호스트 장치(24)로 전송된다. BRAM(38)로부터 인출된 데이터는 호스트 장치(24)로 전송된 데이터가 다시 암호되도록 HDMA(32)로 전달되기 전에 암호화 엔진(40)에 의해 다시 암호화될 수 있지만 그러나 메모리(20)에 저장된 데이터가 복호되는 것과 비교되는 다른 알고리즘 및/또는 다른 키에 의해 암호화될 수 있다. 바람직하게는, 대안의 실시에에서, 위에서 설명된 과정에서 BRAM(38)에 복호된 데이터를 저장하는 것보다는, 상기 데이터가 비인증된 접근에 취약하게 될 수 있으며, 메모리(20)으로부터의 데이터는 BRAM(38)로 전송되기 전에 암호화 엔진(40)에 의해 다시 복호되고 암호될 수 있다. BRAM(38) 안의 암호화된 데이터는 이때 이전과 같이 호스트 장치(24)로 전송된다. 이는 판독 과정 동안의 데이터 스트림을 설명한다. First, when data from the
데이터는 호스트 장치(24)에 의해 메모리(20)로 기록되는 경우, 데이터 스트림의 방향이 거꾸로 된다. 예를 들어, 비암호화된 데이터가 호스트 장치에 의해, 암호화 엔진(40)으로 버스(26), HIM(16), HDMA(32)를 통해 보내진다면, 이와 같은 데이터는 BRAM(38)에 저장되기 전에 엔진(40)에 의해 암호화될 수 있다. 대안으로, 비암호화된 데이터는 BRAM(38)에 저장될 수 있다. 데이터는 이때 메모리(20)로 가는 중에 FDMA(34)로 전송되기 전에 암호화된다. 기록된 데이터가 다단계 암호 처리를 겪으며, 바람직하게는 엔진(40)은 처리된 데이터가 BRAM(38)에 저장되기 전에 이와 같은 처리를 완료한다. When data is written to the
도 1의 메모리 시스템(10)이 플래시 메모리를 포함하는 반면, 대안으로 시스템은 대신, 자기 디스크, 광 CD와 같은, 다른 유형의 비휘발성 메모리뿐만 아니라, 모든 다른 유형의 재기록가능 비휘발성 메모리 시스템을 포함할 수 있고, 위에서 설명된 다양한 이점이 이와 같은 대안의 실시예에 동일하게 적용될 수 있다. 대안의 실시예에서, 메모리는 또한 바람직하게는 메모리 시스템의 잔존 구성소자를 따 라 (메모리 카드 또는 스틱과 같은) 동일한 물리적 바디(body) 내에 캡슐화된다. While
타이틀 키 관리Title key management
도 2는 본 발명의 일 실시예를 설명하기 위해 타이틀 키 파일의 구조를 나타내는 개략도이다. 다수의 암호화/복호화 키가 디지털 저작권 관리에 이용되는 경우, 도 2에 나타난 것과 같이, 복수의 개별 타이틀 키 파일에서 키를 조직하고 저장하는 것이 편리할 수 있다. 도 2의 실시예에서, 타이틀 키 파일(102)은 127 개의 키를 포함하기 위해 127 개의 슬롯(slot) 또는 위치로 설계된다. 도 2에 나타난 바와 같이, 파일(102)은 합계 128 개의 슬롯 또는 위치를 포함하고, 바로 제 1 슬롯 또는 위치(102a)는 헤더에 예약되어 있고(reserve) 키를 저장하는데 사용되지 않는다. 처음에, 127 개의 슬롯 또는 위치는 모두 1 또는 0, 또는 임의의 값을 포함할 수 있고, 이는 유효 키 값이 아니다. 바람직하게는, 유효 타이틀 키 엔트리("TKE")는 초기 값을 중복기록(overwrite)함으로써 127 개의 슬롯 또는 위치로 연속적으로 기록되어, 모든 127 개의 슬롯 또는 위치가 유효 키 값으로 채워지는 경우, 이들은 다음의 값, 즉 TKE1, TKE2, ... TKE127을 포함할 수 있다. 바람직하게는, 특정 타이틀 키 엔트리가 유효 키 인지 아닌지 여부는 도 3a에 설명된 키 탐색 파일에 저장된 타이틀 키 상태 비트에 의해 나타난다. 따라서 파일(102)에서의 임의의 특정 타이틀 키 엔트리의 대응 타이틀 키 상태 비트를 검사함으로써, 타이틀 키 파일(102)로 실제 접근하지 않고, 이와 같은 엔트리가 유효 키로 이루어졌는지 또는 포함하는지 여부를 결정하는 것이 가능하다. Fig. 2 is a schematic diagram showing the structure of a title key file for explaining one embodiment of the present invention. If multiple encryption / decryption keys are used for digital rights management, it may be convenient to organize and store the keys in 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 개의 타이틀 키 상태 비트를 포함한다. 암호화/복호화에 사용된 키의 개수가 127을 초과하는 경우, 타이틀 키 파일(120)에서의 모든 슬롯 또는 위치가 다 소모되어서, 새로운 타이틀 키 파일은 127을 초과한 키를 저장하기 위해 생성될 필요가 있다. 타이틀 키 상태 필드(104b)는 이때 새로운 타이틀 키 파일에서 초과 타이틀 키 엔트리의 상태를 나타내도록 타이틀 키 상태 비트를 저장하기 위한 키 탐색 파일(104) 내에 생성된다. 도 3a는 적어도 64 개의 타이틀 키 파일이 생성되는 상황을 설명하여, 키 탐색 파일(104)은 KFS000에서 KFS063까지의, 적어도 64 개의 타이틀 키 상태 필드를 포함한다. 키 탐색 파일(104)과 타이틀 키 파일 사이의 관계는 도 3b에서 더 상세히 설명된다. 3A is a schematic diagram of a key navigation file to explain the structure of the 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 generated
일 실시예에서, 키 탐색 파일(104)에서 각각의 슬롯 또는 위치 및 엔트리는 타이틀을 키 파일 중 하나에서 특정 슬롯 또는 위치와 이와 같은 슬롯 또는 위치에서의 타이틀 키 엔트리와 공지된 1 대 1 대응 관계를 가진다. 이 방식에서, 특정 타이틀 키 엔트리가 유효 키를 포함하는지 아닌지를 검사하기 위해, 타이틀 키 파일에서의 이와 같은 타이틀 키 엔트리에 대응하는 키 탐색 파일(104)에서 위치 또는 슬롯을 발견하고 키 탐색 파일(104)에 그 위치에서 키 파일 상태 비트를 검사하는 것만이 필요할 수 있다. In one embodiment, each slot or location and entry in
본 발명의 이 실시예에서, 타이틀 키 엔트리는 도 3b에 나타난 바와 같이 다른 타이틀 키 파일들을 거쳐 순차적으로 라벨 붙여진다. 따라서, 타이틀 키 파일 key_file.000에서의 타이틀 키 엔트리는 TKE1 - TKE127로 라벨 붙여진다. 타이틀 키 파일 key_file.001에서의 타이틀 키 엔트리는 TKE129 - TKE255로 라벨 붙여진다. 그리고 타이틀 키 파일 key_file.002에서의 타이틀 키 엔트리는 TKE257-TKE383으로 라벨 붙여진다. 각각의 타이틀 키 파일의 제 1 위치 및 엔트리(즉, TKE0, TKE128, TKE 256, ...)는 헤더에 대해 예약되어 있고, 이는 파일의 크기, 버전 번호(version number) 이와 같은 정보 및 파일에 대한 다른 정보를 포함할 수 있다. 따라서, 각각의 타이틀 키 엔트리는 이와 관련된 고유 번호를 가지고, 이는 1-127, 129-255, 257-383 등과 같은 것 중 하나이다. 바람직하게는 이 고유 번호는 이때 대응 키 파일 상태 비트가 찾아진 키 탐색 파일에서의 특정 위치를 식별하기 위해 사용된다. 도 3b에 도시된 바와 같이, 타이틀 키 엔트리에 대응하는 키 파일 상태 비트는 다른 타이틀 키 파일을 거쳐 타이틀 키 엔트리로서 동일 시퀀스에서의 위치에 저장된다. 예를 들어, 도 3b에 설명된 바와 같이, 타이틀 키 엔트리 TKE[i]가 유효 키를 포함하는지 아닌지를 나타내기 위한 키 파일 상태 비트 "KFS[i]"는, 제 1 키 파일 상태 필드 KFS000의 상부에서 제 1 위치부터 계산하는, 키 탐색 파 일(104)에서 i 번째 위치에 저장되고, i 번째 위치는 KFS000과 다른 키 파일 상태 필드에 있다. 다시 말해서, 이 고유 번호는 모든 키 상태 필드에서 유일하며, 키 탐색 파일(104)에서 마지막 티 파일 상태 엔트리까지 모든 키 파일 상태 필드 KFS000, KFS001, ...,에 걸쳐 KFS000의 상부에서 제 1 위치로부터 연속하여 시작하며 번호가 매겨진다.In this embodiment of the present invention, title key entries are sequentially labeled across other title key files as shown in FIG. 3B. Thus, the title key entry in the title key file key_file.000 is labeled TKE1-TKE127. Title key entries in the title key file key_file.001 are labeled TKE129-TKE255. The title key entry in the title key file key_file.002 is labeled TKE257-TKE383. The first location and entry (ie, TKE0, TKE128,
이 방식으로, 키 파일 상태 비트의 특정 위치 및 키 탐색 파일(104)에서 고유 번호의 시퀀스에서 이와 같은 비트와 관련된 고유 번호를 검사함으로써, 특정 타이틀 키 파일, 및 이와 같은 파일에서의 위치가 이때 이하 설명되는 간단한 과정을 사용하여, 대응 타이틀 키 엔트리를 발견할 수 있다는 것을 쉽게 결정할 수 있다. 그러므로 반대 과정 또한 그대로이다. 특정 키 타이틀 키 파일과 관련된 고유 번호 및 특정 타이틀 키 엔트리의 이와 같은 파일에서의 위치를 안다면, 이와 같은 엔트리에 대한 대응 키 파일 상태 비트는 키 탐색 파일(104)에서 찾아질 수 있다. In this way, by examining the specific location of the key file status bits and the unique number associated with such bits in the sequence of unique numbers in the
이 하나의 실시예에서, 키 탐색 파일(104)에서의 특정 키 파일 상태에 대응하는 타이틀 키 엔트리를 발견하기 위한 과정은 다음과 같이 이행될 수 있다. 각각의 타이틀 키 엔트리 및 대응 키 파일 상태 비트와 관련된 고유 번호는 키 탐색 인덱스("KNI")로 언급된다. 따라서 KNI 값 0, 128, 256, 384 ... (N+128)은 부적합(illegal)하며, 여기서 N은 정수이다. 그러므로 KNI는 또한 KFS000의 헤더에서 바로 제 1 상태 비트로부터 키 탐색 파일(104)에서 키 파일 상태 비트의 오프셋이다. 위치, 오프셋 및 키 탐색 파일(104)에서 특정 상태 비트의 KNI의 대응 값을 유의함으로써, 대응 타이틀 키 엔트리의 위치를 쉽게 결정할 수 있다. 이는 각각의 타이틀 키 파일 및 키 파일 상태 필드에 슬롯의 개수로 즉, 도 3b의 실시예에서 128로 나눔으로써 이루어진다. 이때 몫의 정수 부분은 대응 타이틀 키 엔트리를 포함하는 타이틀 키 파일의 일련 번호를 제공한다. 다시 말해서, 타이틀 키 엔트리를 포함하는 타이틀 키 파일의 일련 번호는 KNI/128의 정수 부분에 의해 주어진다. 이와 같은 엔트리를 포함하는 타이틀 키 파일에서의 이와 같은 타이틀 키 엔트리의 특정 위치는 이와 같은 부분의 나머지 부분으로부터 또는 KNI % 128 또는 KNI mod 128에 의해 발견될 수 있다; 이 값은 타이틀 키 엔트리가 발견되는 이와 같은 타이틀 키 파일에서 상부 엔트리부터 이와 같은 타이틀 키 엔트리의 특정 위치의 오프셋이다. In this one embodiment, the process for finding a title key entry corresponding to a particular key file state in the
도 3b에 설명되어 있는 일 실시예에서, 키 탐색 인덱스(KNI)가 i이도록 타이틀 키 엔트리 i(TKE i)에 대한 이와 같은 파일 내에 위치 및 특정 타이틀 키 파일을 발견하기를 원한다고 가정한다. 따라서 이와 같은 타이틀 키 엔트리의 상태를 나타내는 타이틀 키 에트리는 키 탐색 파일(104)에서 KFS[i]이다. 도 3b에서 설명된 특정 예에서, 이와 같은 상태 비트는 키 파일 상태 필드 001, 즉 KFS001에서 발견된다. 이와 같은 타이틀 키 엔트리가 발견될 수 있는 특정 타이틀 키 파일은 i% 128 또는 i mod 128에 의해 주어진다. 도 3b의 설명된 예에서, i가 129와 255 사이의 값을 가져, 128로 나눠진 i의 정수 부분은 1이고, 타이틀 키 파일 key_file.001이 대응 타이틀 키 엔트리 i를 포함하는 것을 쉽게 결정한다. 이때 연산자 i mod128를 수행함으로써 나눗셈의 나머지 부분을 결정하고, 이는 타이틀 키 파일 key_file.001에서 상부 엔트리로부터 타이틀 키 엔트리 TKEi의 오프셋을 제공한다. 따라서 위에서 설명된 바와 같이 2 개의 매우 간단한 연산자에 의해, 특정 타이틀 키 파일 및 키 탐색 파일에 특정 위치에 대응하는 타이틀 키 엔트리를 포함하는 이와 같은 파일 내의 위치가 발견될 수 있다. In one embodiment described in FIG. 3B, suppose we want to find a specific title key file and location within such a file for title key entry i (TKE i) such that key search index KNI is i. Thus, the title key entry representing the state of such a title key entry is KFS [i] in the
위의 실시예에서, 각각의 타이틀 키 파일은 16 바이트의 128 엔트리를 포함한다. 명백하게는, 타이틀 키 파일은 각각의 엔트리가 16과 다른 다수의 바이트를 가질 수 있는 128과는 다른 다수의 엔트리를 포함할 수 있다. 따라서 각각의 타이틀 키 파일이 m 개의 엔트리를 가지는 경우, 여기서 m은 임의의 양의 정수이고, 이때 위의 연산자는 KNI 또는 키 탐색 인덱스가 128 대신에 m으로 나누어지도록 변경될 필요가 있다. 오프셋은 타이틀 키 엔트리 TKEi의 오프셋을 이와 같은 타이틀 키 파일에서 상부 엔트리로부터 발견하는 것 대신에 i mod m에 의해 발견된다. 모든 이와 같은 변경은 본 발명의 범위 내에 있다.In the above embodiment, each title key file contains 128 entries of 16 bytes. Obviously, the title key file may include a number of entries other than 128, where each entry may have a number of bytes different from sixteen. Thus, if each title key file has m entries, where m is any positive integer, then the above operator needs to be changed so that the KNI or key search index is divided by m instead of 128. The offset is found by i mod m instead of finding the offset of the title key entry TKEi from the top entry in such a title key file. All such changes are within the scope of the present invention.
타이틀 키 파일에서 키를 찾기 위해 또는 키 탐색 파일에서 상태 비트를 찾기 위해 위에서 설명된 바와 같이 연산자 i/m 및 i mod m 및 고유 번호 KNI를 사용하는 것 대신에, 키 탐색 파일의 엔트리와 각각의 타이틀 키 파일의 TKE 사이의 일대일 대응 관계가 룩업 테이블(look-up table)에 의해 수립될 수 있다. CPU(12)는 키 탐색 파일에서 상태 비트의 위치로 주어진 대응하는 키의 위치를 발견하기 위해 룩업 테이블을 검사할 필요가 있을 수 있으며, 반대의 경우도 가능하다(즉, 특정 타이틀 키 파일에서의 키의 위치로 주어진 키 상태를 드러내는 키 탐색 파일에서 상태 비트를 발견하기 위해). 이와 같은 변경 및 다른 변경은 본 발명의 범위 내에 있다. Instead of using the operators i / m and i mod m and the unique number KNI as described above to find the key in the title key file or to find the status bits in the key navigation file, the entries in the key navigation file and each A one-to-one correspondence between TKEs of the title key file may be established by a look-up table. The
일 실시예에서, 16 바이트 중 단지 7 바이트만이 암호화/복호화를 위해 키의 값에 대한 각각의 타이틀 키 엔트리에 사용된다. 바람직하게는, 키 값은 다른 키를 사용하여 암호화된다. 도 3b의 실시예에서, 타이틀 키 상태 비트가 0의 값으로 이루어진 경우, 이는 타이틀 키 엔트리가 사용중(busy)이며, 이는 비트가 각각의 타이틀 키 파일의 헤더에의 경우에서와 같이 예약되어 있거나, 또는 대응하는 타이틀 키 엔트리가 유효 키를 포함하는 것을 의미하며, 그러므로 새로운 키를 저장하기 위해 이용가능하지 않다. 타이틀 키 상태 비트가 1로 이루어진 경우, 이는 대응 타이틀 키 엔트리가 비어있거나(empty) 또는 유효 키를 포함하지 않는다는 것을 나타내어, 타이틀 키 파일에서 대응하는 슬롯 또는 위치는 이와 같은 슬롯 또는 위치에서 타이틀 키 엔트리를 중복기록함으로써 암호화/복호화 키를 저장하는데 이용가능하다. In one embodiment, only 7 of 16 bytes are used for each title key entry for the value of the key for encryption / decryption. Preferably, the key value is encrypted using another key. In the embodiment of FIG. 3B, if the title key status bit is made of a value of zero, it is a title key entry that is busy, which is reserved as in the case of the header of each title key file, or Or a corresponding title key entry contains a valid key, and therefore is not available for storing a new key. If the title key status bit is set to 1, this indicates that the corresponding title key entry is empty or does not contain a valid key, such that the corresponding slot or position in the title key file is the title key entry in that slot or position. Can be used to store the encryption / decryption key by overwriting the.
키 탐색 파일의 길이는 타이틀 키 파일의 개수에 의해 정의되지는 않지만 결정된다. 도 3a 및 도 3b에 설명되어 있는 실시예에서, 키 탐색 파일은 512 바이트 레코드(record)를 포함한다. 그러므로, 파일의 길이가 정의되어 있지 않더라도, 도 3a 및 도 3b의 실시예에서 512 바이트의 배수 내에 있다. 새로운 레코드가 필요하다면 파일에 추가될 수 있다. 타이틀 키 상태 비트 값은 불린 수(Boolean number)인 반면, 타이틀 키 파일의 일련 번호, 키 탐색 인덱스는 도 3a 및 도 3b의 실시예에서 십진수이다. The length of the key navigation file is not defined by the number of title key files but is determined. In the embodiment described in Figures 3A and 3B, the key navigation file includes a 512 byte record. Therefore, even if the length of the file is not defined, it is within a multiple of 512 bytes in the embodiment of Figs. 3A and 3B. New records can be added to the file if needed. The title key status bit value is a Boolean number, while the serial number, key search index of the title key file is decimal in the embodiment of FIGS. 3A and 3B.
도 4는 본 발명의 일 실시예를 설명하는데 사용되는 비보호 사용자 데이터 영역에서의 디렉토리 트리 구조(130)에 관한 개략도이다. 도 4에서의 디렉토리 트 리 구조(130)는 디렉토리 구조가 인증 없이 임의의 사용자, 장치 또는 애플리케이션에 의해 접근될 수 있는 플래시 메모리(20)에 저장된 파일이며, 이는 비보호 사용자 데이터 영역에 저장되어 있기 때문이다. 도 4에 도시된 바와 같이, 디렉토리 트리 구조는 루트 디렉토리 및 2 개의 측면 분기(branch), 즉 플레이어 1 디렉토리 및 플레이어 2 디렉토리를 가진다. 플레이어 1 또는 플레이어 2는 임의의 사용자, 장치 또는 애플리케이션일 수 있다. 2 개의 분기는 2 개의 다른 플레이어에 의해 쉽게 접근을 허용한다. 플레이어 1 디렉토리는 "Mysong,MP3", "Another.MP3"...와 같은 다수의 다른 콘텐츠 파일 및 키 탐색 파일 "KNF.bin"을 나열한다. 플레이어 2 디렉토리는 콘텐츠 파일 및 다른 키 탐색 파일, "KNF.bin"의 유사한 리스트를 포함한다. 따라서 플레이어 1이 사용자 데이터 영역에 접근하는 경우, 플레이어 1은 플레이어 1 디렉토리 및 콘텐츠 파일 및 이와 같은 디렉토리 하의 키 탐색 파일을 향해 지향되어 있다. 똑같은 일이 플레이어 2에 의한 접근에 대해서도 그대로이며, 이는 플레이어 2 디렉토리 내에서 콘텐츠 파일 뿐만아니라 이와 같은 디렉토리에서의 키 탐색 파일을 향해 지향되어 있다. 따라서, 플레이어 1이 콘텐츠 파일을 생성하는 경우, 이 파일이 생성되고 플레이어 1 디렉토리 하의 리스트에 추가된다. 콘텐츠 파일이 플레이어 2에 대해 생성되는 경우, 이 새로운 콘텐츠 파일은 또한 플레이어 2 디렉토리에서 나열된다. 4 is a schematic diagram of a
트리(130)에서의 콘텐츠 파일(예를 들어, "Mysong,MP3", "Another.MP3"...)은 도 5에서의 트리(150)에서의 디렉토리에 저장된 키를 사용하여 암호화된다. 몇 가지의 응용에서, 암호화된 콘텐츠 파일 및 (도 4에 도시되지 않은) 비암호화된 콘 텐츠 파일 모두는 또한 인증 없이 접근될 수 있는 동일한 비보호 사용자 데이터 영역에 저장될 수 있다. The content files in tree 130 (eg, "Mysong, MP3", "Another.MP3" ...) are encrypted using the keys stored in the directory in
도 5는 도 4 및 도 5의 디렉토리 트리(130, 150)가 서로 거울대칭인 메모리 장치(20)에서의 보호 영역에 디렉토리 트리(150)에 관한 개략도이다. 따라서 도 5에서, 디렉토리 트리는 플레이어 1 디렉토리 및 플레이어 2 디렉토리뿐만 아니라 루트 디렉토리를 가진다. 플레이어 1 디렉토리는 트리(130)에서 플레이어 1 디렉토리에 콘텐츠 파일을 암호하고/하거나 복호하기 위한 다수의 다른 타이틀 키 엔트리를 포함하는 타이틀 키 파일 key_file.000을 열거한다. 플레이어 2 디렉토리는 또한 다수의 타이틀 키 엔트리를 포함하는 타이틀 키 파일 key_file.000을 포함한다. 2 개의 디렉터(director) 하에서 2 개의 타이틀 키 파일이 동일한 이름(즉, key_file.000)을 가지더라도, 이들이 다른 디렉토리에 있기 때문에 이들이 혼동될 수 없다는 것을 유의한다. 똑같은 일이 도 4에서의 트리(130)에 2 개의 디렉토리에서 키 탐색 파일에 대해서 그대로이다. FIG. 5 is a schematic diagram of the
2 개의 디렉토리 트리(130, 150)는, 디렉토리 플레이어 1과 2의 콘텐츠가 2 개의 트리(130, 150)에서 다를지라도, 동일한 분기, 즉 플레이어 1 디렉토리 및 플레이어 2 디렉토리를 가지기 때문에 서로 거울대칭이다. 각각의 트리(130)와 트리(150) 사이의 2 개의 디렉토리가 (도 4 및 도 5에 도시되지 않은) 플레이어 3 등과 같은, 플레이어 1 및 플레이어 2와 같이 동일한 레벨에서 더 많은 분기를 가지는 것이 가능하다. 2 개의 디렉토리 플레이어 1과 플레이어 2가 하위 디렉토리를 가지는 것이 또한 가능하다. 예를 들어, 트리(130)에서 플레이어 1 디렉토리는 2 개의 하위디렉토리 즉, (도 4에 도시되지 않은) 오디오 파일 용 하위디렉토리 및 비디오 파일용 하위 디렉토리를 가질 수 있다. 오디오 파일 하위 디렉토리는 노래와 같은 오디오 파일 및 이와 같은 오디오 파일 중에서 탐색을 위한 키 탐색 파일의 리스트를 포함할 수 있다. 비디오 하위 디렉토리는 비디오 파일 및 이와 같은 비디오 파일 사이의 탐색을 위한 키 탐색 파일을 포함할 수 있다. 이와 같은 이벤트에서, 도 5에서의 디렉토리 트리(150)는 또한 유사한 트리 구조를 가진다. 따라서 트리(150)에서의 플레이어 1 디렉토리는 2 개의 다른 하위디렉토리, 즉 (도 5에 도시되지 않은) 오디오 및 비디오 하위디렉토리를 가질 수 있다. 비디오 하위 디렉토리는 디렉토리 트리(130)의 비디오 하위 디렉토리에서 비디오 파일을 암호/복호하기 위해 사용되는 타이틀 키 엔트리를 각각 포함하는 타이틀 키 파일 또는 파일들의 리스트를 포함한다. 디렉토리 트리(150)는 또한 오디오 하위 디렉토리가 디렉토리 트리(130)의 오디오 하위 디렉토리에 나열된 대응 오디오 파일을 암호/복호하기 위해 사용된 타이틀 키 엔트리를 각각 포함하는 하나 이상의 타이틀 키 파일을 포함하는 플레이어 1 디렉토리 하의 오디오 하위디렉토리를 가질 수 있다. 이하 설명되어 있는 바와 같이, 비보호 영역 및 보호 영역에서 서로에 대해 거울대칭인 디렉토리 트리(130, 150)를 가지는 것은 키 탐색 메커니즘의 동작을 용이하게 한다. The two
임의의 보호 콘텐츠 파일이 메모리 장치(20)에 생성되기 전에, 전형적으로, 메모리 장치(20)에 어떠한 키 저장 파일 또는 키 탐색 파일도 없다. 이와 같은 이벤트에서, 보호되려는 제 1 콘텐츠 파일이 생성되는 경우, 키 탐색 메커니즘으로 본 발명에 언급된 키 관리자는 또한 보호 영역에서 제 1 타이틀 키 저장 파일 및 비보호 사용자 영역에서 키 탐색 파일을 생성한다. Before any protected content file is created in
도 6은 키 탐색 메커니즘에 의해 수행된 과정 또는 방법을 설명하는 흐름도이다. 도 6의 과정을 수행하는 메커니즘은 콘텐츠 파일, 타이틀 키 파일 및 키 탐색 파일이 저장되어 있는 메모리 시스템으로 명령어를 보내는 호스트 장치(24)에 의해 실행되고 저장되어 있는 컴퓨터 프로그램 코드를 포함할 수 있다. 대안으로, 메커니즘은 CPU(12)로 로딩되고(load) 이에 의해 실행되는 플래시 메모리(20)에 저장되어 있는 컴퓨터 프로그램 코드를 포함할 수 있다. 따라서 도 6 및 도 7의 키 탐색 메커니즘에 대한 컴퓨터 프로그램은 호스트 장치(24)의 일부이거나 또는 이에 연결되는 컴퓨터 판독가능 매체에 저장될 수 있다; 대안으로, 이와 같은 컴퓨터 프로그램은 타이틀 키 파일, 키 탐색 파일 및 콘텐츠 파일이 저장되어 있는 플래시 메모리(20)에 저장될 수 있다. 모든 이와 같은 변경은 본 발명의 범위 내에 있다. 6 is a flow chart illustrating a process or method performed by a key navigation mechanism. The mechanism for performing the process of FIG. 6 may include computer program code that is executed and stored by the host device 24 that sends instructions to a memory system where content files, title key files, and key navigation files are stored. Alternatively, the mechanism may include computer program code stored in
도 6을 참고로 하여, 도 6의 메커니즘의 과정은 보호된 콘텐츠 파일을 열거나, 또는 보호된 콘텐츠 파일이 생성되려는 경우를 바란다면 시작한다(블록 202). 키 탐색 메커니즘은 콘텐츠 파일이 존재하는지 아닌지를 결정한다(다이아몬드 204). 콘텐츠 파일이 존재하지 않는다면, 이는 콘텐츠 파일이 생성될 필요가 있음을 의미하며 호스트 장치(24) 또는 CPU(12)는 디렉토리 트리(130)에서 플레이어 1에 대해서와 같이, 파일을 생성하기 위해 나아간다(블록 206). 콘텐츠 파일이 생성된 후에, 키 탐색 메커니즘은 키 탐색 파일이 이미 존재하는지 또는 이미 생성되었는지 여부를 검사한다(다이아몬드 207a). 존재하지 않거나 생성되지 않은 경우, 메 커니즘은 키 탐색 파일을 생성한다(블록 207b). 이미 존재하거나 생성된 경우, 메커니즘은 도 4에 설명된 디렉토리(130)와 같은 디렉토리에서, 새롭게 생성된 콘텐츠 파일과 같은 동일 디렉토리에서 발견된 키 탐색 파일을 연다(블록 208). 양 경우에, 메커니즘은 트리(130)에 플레이어 1 디렉토리에서 키 탐색 파일을 검사하고 "빈(empty)" 상태를 가진 제 1 키 엔트리를 발견한다. 키 탐색 파일에서 "빈" 상태의 오프셋은 KNI를 사용하는 위의 실시예를 이용하며, 키 탐색 인덱스(KNI)를 제공한다(블록 208, 210).Referring to FIG. 6, the process of the mechanism of FIG. 6 begins if the protected content file is to be opened or if a protected content file is desired to be created (block 202). The key navigation mechanism determines whether the content file exists (diamond 204). If the content file does not exist, this means that the content file needs to be created and the host device 24 or the
타이틀 키 파일 및 키 탐색 파일이 위의 이행에서 사용되는 경우, 타이틀 키 파일에서 위치 또는 타이틀 키 엔트리는 순차적으로 사용된다. 이는 하나의 암호화/복호화 키가 생성되고 타이틀 키 파일에 저장될 필요가 있는 경우, 타이틀 키 파일에서 슬롯 또는 위치가 타이틀 키 파일 key_file.000에서 타이틀 키 엔트리 1을 가지고 시작하며, 키를 순차적으로 저장하는데 사용되는 것을 의미한다. 이와 같은 키가 저장되고 키 엔트리, TKE1, 또는 이의 일부를 형성한 후, 대응하는 키 파일 상태 비트 KFS[1] 값은, 이 위치가 헤더에 대해 예약된 위치가 아니기 때문에, 유효 키를 지금 포함한다는 것을 의미하며, 비어있지 않고 지금 사용중임을 나타내는, 1에서 0으로 변경된다. 처음에, 모든 키 파일 상태 비트는, 값 0을 가지는 0, 128, 256, ...에 대한 키 파일 상태 비트를 제외하고는 값 1을 가진다. If a title key file and a key navigation file are used in the above transition, the position or title key entry in the title key file is used sequentially. This means that if one encryption / decryption key is generated and needs to be stored in the title key file, the slot or position in the title key file starts with the title
KNI가 획득된 후, 키 탐색 메커니즘은 이때 키 파일 인덱스 또는 KNI/128의 정수 부분과 동일한 nnn을 계산하고(블록 212), 각각의 타이틀 키 파일은 128 개의 슬롯 또는 위치를 가진다. nnn 또는 키 파일 인덱스는 수 KNI/128의 정수 부분이 다. 이 nnn 또는 키 파일 인덱스 값은 타이틀 키 파일의 일련 번호이다. 이때 이와 같은 타이틀 키 파일 내의 오프셋은 양(quantity) KNI % 128 또는 KNI mod 128을 계산함으로써 획득된다(블록 214). After the KNI is obtained, the key navigation mechanism then computes the same nnn as the key file index or integer portion of KNI / 128 (block 212), with each title key file having 128 slots or locations. nnn or the key file index is the integer part of the number KNI / 128. This nnn or key file index value is the serial number of the title key file. This offset in the title key file is then obtained by calculating the
위에서 언급된 바와 같이, 콘텐츠 파일은 도 4의 디렉토리 트리(130) 안의 플레이어 1 디렉토리와 같은, 디렉토리 내에서 생성된다. 바로 생성된 콘텐츠 파일을 암호하고/하거나 복호하기 위해 암호화/복호화 키를 저장하기 위한 보호 영역에서 타이틀 키 파일에서 위치를 획득하기 위해, 키 탐색 메커니즘은 이때, 비보호된 사용자 데이터 영역에 대한 공중 파티션 이름을 보호 영역에 대한 보호 파티션(partition) 이름으로 대체함으로써, 비보호된 사용자 데이터 영역에서의 디렉토리 트리(130)에 따라 구성된 접근 경로를 보호 영역 또는 파티션에서 디렉토리 트리(150)에 따라 구성되는 접근 경로로 변환한다(블록 216). 키 탐색 메커니즘은 이때 키 파일 이름: "key_file.nnn"을 형성한다(블록 218). 키 탐색 메커니즘은 전체 키 파일 이름을 형성한다(블록 220). 일 예로서, 플레이어 1이 블록 208, 210, 212, 214, 216, 218 및 220을 따라 암호화되려는 새로운 노래 파일을 생성하는 중이라고 가정한다. 이와 같은 이벤트에서, 생성된 전체 키 파일 이름은 "prot_partition/player1directory/key_file.nnn"일 것이다.As mentioned above, the content file is created in a directory, such as the
키 탐색 메커니즘은 이때 타이틀 키 파일이 이 키 파일 이름과 함께 존재하는 지를 보기 위해 검사한다(다이아몬드 221a). 이 타이틀 키 파일이 존재하지 않는다면, 메커니즘은 타이틀 키 파일을 생성하고 디렉토리 트리(150)에서 적당한 디렉토리(예를 들어, 플레이어 1)에 이를 추가한다(블록 221b). 이 타이틀 키 파일이 존재한다면, 메커니즘은 전체 키 파일 이름에 따라 접근 경로를 사용하여 타이틀 키 파일을 연다(블록 222). 키 탐색 메커니즘은 이때 콘텐츠 파일이 블록 206 전에 원래 존재하였는지 여부를 검사한다(다이아몬드 224). 위의 예에서, 이와 같은 콘텐츠 파일이 블록 206에서 이의 생성 전에 존재하지 않아, 키 탐색 메커니즘은 생성된 파일의 파일 헤더에 KNI를 삽입하도록 블록 226으로 간다. 콘텐츠 암호화 키(CEK)가 암호화 엔진(40)에 의해 생성되고 생성된 파일을 암호화하는데 사용된다(블록 228). 새롭게 생성된 암호화 파일은 메모리 장치(20)에서 트리(130)에 디렉토리 플레이어 1로 추가된다. 이 생성된 키는 암호화되고 블록 214에서 획득된 오프셋에 의해 식별된 위치에서 그리고 블록 212에서 식별된 타이틀 키 파일로 삽입되며(블록 230), 트리 (150)에 디렉토리 플레이어 1에 타이틀 키 파일로 새로운 타이틀 키 엔트리로서 추가된다. 키 탐색 메커니즘은 이때 타이틀 키 파일을 닫고(블록 232), 키 파일 상태 비트가 트리(130)에 플레이어 1 디렉토리에서 키 탐색 파일 안에 오프셋으로서 KNI의 값을 사용함으로써 찾아지는 트리(130)에서 플레이어 1 디렉토리에의 키 탐색 파일 안의 대응하는 상태 비트의 값을 1에서 0으로 변경한다. 키 탐색 파일은 이때 닫아진다(블록 234, 236).The key navigation mechanism then checks to see if a title key file exists with this key file name (
상기 내용은 암호화되는(및/또는 복호화되는) 콘텐츠 파일이 먼저 생성되는 경우 2 개의 디렉토리 트리(130, 150)를 사용하는 키 탐색 메커니즘에 관한 과정이다. 키 탐색 메커니즘이 콘텐츠 파일을 복호하는데 필요한 복호화 키를 발견하기 위해 요청되도록 콘텐츠 파일을 복호하기를 바라는 경우, 도 6의 키 탐색 메커니즘이 다음과 같이 동작한다. 키 탐색 메커니즘은, 콘텐츠 파일이 이미 존재하기 때문 에, 트리(130)에서의 플레이어 1 디렉토리와 같이, 특정 디렉토리에서 보호된 콘텐츠 파일을 열 수 있고, 블록 252로 간다. 키 탐색 메커니즘은 이때 콘텐츠 파일의 파일 헤더로부터 값 KNI를 검색한다(블록 252). 키 탐색 메커니즘이 보호 콘텐츠 파일을 여는 경우, 비보호된 사용자 데이터 영역에서 디렉토리 트리(130) 안에서 동작한다. 예를 들어, 보호된 콘텐츠 파일이 노래 "Mysong.MP3"와 같은, 플레이어 1 디렉토리에서 노래 파일들 중 하나라면, 이와 같은 콘텐츠 파일로의 접근 경로는 디렉토리 트리(130)에 따라 구성된다. 키 탐색 메커니즘은 이때 콘텐츠 파일을 복호(및/또는 암호)하기 위한 복호화 키가 저장되어 있는, 어떤 타이틀 키 파일의 nnn 또는 키 파일 인덱스, 및 이와 같은 타이틀 키 파일에서 키의 위치를 나타내는 오프셋을 발견하기 위해 위에서 설명된 방식으로 블록 212-222에서 동작을 수행한다. 키 탐색 메커니즘은 또한 디렉토리 트리(130)를 따라 공중 또는 비보호 사용자 데이터 영역으로의 접근 경로를 보호 영역에서 디렉토리 트리(150)를 따라 구성된 접근 경로로 변환하며 블록 216, 218 및 220을 따라 보호 영역에서 복호화 키에 대한 전체 키 파일 이름을 형성한다. 인증 과정 뒤에, 키 탐색 메커니즘은 이때 콘텐츠 복호화 키가 검색되기 위해 쉽게 이용가능하도록 구성된 전체 키 파일 이름을 따라 보호 영역에서 타이틀 키 파일을 연다(블록 222). 키 탐색 메커니즘은 이때 전술된 동작 전에 콘텐츠 파일이 존재하는지 여부를 검사한다. 이 예에서, 메커니즘이 적절한 타이틀 키 파일에서 키 엔트리 오프셋으로부터 암호화된 콘텐츠 암호화 키를 검색하기 위해 블록 254로 가도록 존재한다(블록 254). 콘텐츠 암호화 키는 이때 복호되고 암호화에 의해 보호될 것이거나 또는 보호되는 콘텐츠 파일을 복 호/암호하기 위해 사용된다(블록 256).The above is a process for a key navigation mechanism that uses two
전술된 키 탐색 파일, 타이틀 키 파일 구조를 사용하면, 콘텐츠 파일이 삭제되는 경우 특히 간단하다. 이는 도 7의 흐름도에 설명되어 있다. 따라서 메모리 시스템(10) 또는 호스트 장치(24)에 저장되어 있고 이에 의해 실행되는 컴퓨터 프로그램일 수 있는, 상기 목적을 위한 키 탐색 메커니즘은 먼저 삭제되려는 보호 콘텐츠 파일을 디렉토리에서 식별한다(블록 302). 콘텐츠 파일은 메모리(20)의 비보호 공증 영역에 있을 수 있다. 키 탐색 메커니즘은 이때 콘텐츠 파일을 열고 파일 헤더로부터 KNI를 획득하고 파일을 닫는다(블록 304). 메커니즘은 이때 콘텐츠 파일로서 동일한 디렉토리에서의 키 탐색 파일을 연다(블록 306). 예를 들어, 삭제되는 콘텐츠 파일이 디렉토리 트리(130)에서 플레이어 1 디렉토리 안에 있다면, 예를 들어, 비트 오프셋은 콘텐츠 파일로서 동일 디렉토리(이 경우에 플레이어 1 디렉토리) 내에 키 탐색 파일 안에서 발견된다. 키 탐색 메커티즘은 이때 삭제되는 콘텐츠 파일을 암호/복호하는데 사용되는 타이틀 키 파일에서의 타이틀 키 엔트리의 상태를 나타내는 키 파일 상태 비트의 위치를 발견하기 위해 키 탐색 파일에서 제 1 엔트리로부터의 오프셋으로서 KNI를 사용한다. 이때 0에서 1로 오프셋 위치에서 발견된 키 파일 상태 비트를 리셋하고, 이에 의해 파일 상태 비트의 타이틀 키 파일에서 대응하는 타이틀 키 엔트리(TKE)가 유효 키를 포함하지 않음을 나타낸다(블록 308). 그러므로 이는 타이틀 키 파일에서 이와 같은 대응 TKE의 위치가 새로운 키를 저장하기 위해 사용될 수 있으며 필수적으로 "비어있음"을 나타낸다. (전형적으로 인증을 요청하는) 보호 영역으로 실제로 갈 필요가 없으며 타이틀 키 파일에서 이와 같은 위치에 키를 삭제할 필요가 없다. 키 탐색 메커니즘은 키 탐색 파일을 닫고 콘텐츠 파일을 삭제한다(블록 310 및 블록 312).Using the above-described key navigation file and title key file structure is particularly simple when the content file is deleted. This is illustrated in the flow chart of FIG. Thus, a key navigation mechanism for this purpose, which may be a computer program stored in and executed by the
권리 객체 관리Rights Object Management
키를 관리하기 위한 전술된 시스템은 또한 소정의 만기 날짜 전에 또는 소정의 시간 동안에만, 제한된 수로 콘텐츠 파일이 접근될 수 있음을 지정하는 규칙과 같은, 다른 유형의 콘텐츠 보호 정보를 관리하기 위해 사용될 수 있다. DRM에서, 이와 같은 규칙은 권리 객체로서 공지된 객체에서 콘텐츠를 보호하는데 사용되는 콘텐츠 암호화/복호화 키와 함께 다루어진다. 어떻게 암호화된 콘텐츠 파일이 사용되고/되거나 접근될 수 있는지를 발견해 내기 위해, 권리 객체를 먼저 찾고, 이로부터 암호화/복호화 키를 추출하고, 규칙은 이의 사용을 제어한다. 이때 콘텐츠 파일은 키를 사용하여 복호/암호화되고, 콘텐츠는 접근될 수 있다. 때때로 콘텐츠 파일은 다운로드될 수 있거나 또는 다른 방법으로 수신될 수 있고, 이의 권리 객체는 발견되기 위해 필요하다. 다운로드된 경우 파일이 암호화된다면, 접근을 위한 권리를 구매하는 것이 필요하다; 이와 같은 이벤트에서, 권리 객체는 공급될 것이고 구매 후에 다운로드될 수 있다. 다운로드된 파일이 암호화되지 않는다면, 이때 권리 객체는 콘텐츠 파일을 보호하기 위해 생성될 수 있다. 권리 객체가 일단 획득되면, 권리 객체에서의 키는 권리 객체로부터 추출되고, 콘텐츠 파일은 키를 사용하여 암호되거나 복호화된다. 파일은 이때 적절한 것으로 더 다루어질 수 있다. 반대로, 파일이 생성된 후에, 권리 객체는 생성될 수 있고, 객체는 암호/복호를 위해 사용된 키를 포함한다. The above-described system for managing keys can also be used to manage other types of content protection information, such as rules specifying that a limited number of content files can be accessed before or during a predetermined expiration date. have. In DRM, such rules are handled with the content encryption / decryption keys used to protect content in objects known as rights objects. To find out how an encrypted content file can be used and / or accessed, the rights object is first looked up, the encryption / decryption key is extracted from it, and the rules control its use. The content file is then decrypted / encrypted using the key and the content can be accessed. Sometimes a content file may be downloaded or otherwise received, and its rights object is needed to be found. If the file is encrypted if it is downloaded, it is necessary to purchase the right for access; In such an event, the rights object will be supplied and can be downloaded after purchase. If the downloaded file is not encrypted, then a rights object can be created to protect the content file. Once 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 can then be further treated as appropriate. Conversely, after the file is created, a rights object can be created, and the object contains the key used for encryption / decryption.
추가적인 보안이 요구되는 경우, 복호된 콘텐츠 파일은 권리 객체에서의 키와 다른 키를 사용하여 재암호화될 수 있다. 이 방식에서, 콘텐츠 파일에 대한 권리 객체로의 접근을 또한 가지는 비인증된 사용자는 이와 같은 재암호화된 콘텐츠 파일을 접근할 수 없을 것이다. 따라서, 콘텐츠 파일을 다운로드했던 사용자는 권리 발행자로부터 획득한 권리 객체에서의 키와 다른 키를 생성할 수 있고 권리 발행자로부터 획득한 권리 객체에서의 키를 사용하여 복호된 뒤에 콘텐츠 파일을 재암호화한다. 권리 객체에서의 키는 이때 사용자에 의해 발생된 키에 의해 대체된다. 대안으로, 사용자는 먼저 파일을 복호하지 않고 생성된 키를 사용하여 콘텐츠 파일을 간단히 암호화할 수 있어, 콘텐츠 파일은 2 개의 다른 키, 즉 (콘텐츠 파일이 권리 객체에서의 제 1 키에 의해 복호될 수 있음을 의미하는) 권리 발행자로부터의 키, 및 제 2 키가 이를 발생했었던 사용자에만 이용가능한 사용자에 의해 발생된 제 2 키에 의해 암호화된다. 사용자는 이때 권리 객체에서 또한 추가적인 제 2 키를 저장한다. If additional security is required, the decrypted content file can be re-encrypted using a key different from the key in the rights object. In this way, an unauthorized user who also has access to the rights object for the content file will not be able to access such re-encrypted content file. Thus, the user who has downloaded the content file can generate a key different from the key in the rights object obtained from the rights issuer and re-encrypt the content file after decrypting using the key in the rights object obtained from the rights issuer. The key in the rights object is then replaced by the key generated by the user. Alternatively, the user can simply encrypt the content file using the generated key without first decrypting the file so that the content file can be decrypted by two different keys, i.e. (the content file is decrypted by the first key in the rights object). The key from the issuer of the rights, and the second key generated by the user available only to the user who had generated it. The user then stores an additional second key in the rights object as well.
도 8은 권리 객체 관리에 대한 권리 객체(RO) 탐색 메커니즘을 설명하는 흐름도이다. 도 8의 과정을 수행하는 RO 탐색 메커니즘은 콘텐츠 파일, RO 파일 및 키 탐색 파일이 저장되어 있는 메모리 시스템으로 명령어를 보내는 호스트 장치(24)에 저장되어 있고 이에 의해 실행되는 컴퓨터 프로그램 코드를 포함할 수 있다. 대안으로, 메커니즘은 CPU(12)로 로드되고 이에 의해 실행되는 플래시 메모리(20)에 저장되어 있는 컴퓨터 프로그램 코드를 포함할 수 있다. 따라서 도 8 및 도 9의 RO 탐색 메커니즘에 대한 컴퓨터 프로그램은 호스트 장치(24)로 연결되거나 또는 일부인 컴퓨터 판독가능 매체에 저장될 수 있다; 대안으로는, 이와 같은 컴퓨터 프로그램은 RO 파일, 권리 객체 탐색 파일 및 콘텐츠 파일이 저장되어 있는 플래시 메모리(20)에 저장될 수 있다. 모든 이와 같은 변형은 본 발명의 범위 내에 있다. 한 편으로는 도 6, 7과 다른 한편으로는 도 8, 9의 비교는 이들이 꽤 유사하다는 점이 나타나서, 도 8과 도 9의 RO 관리 과정은 각각 도 6과 도 7의 키 관리 과정과 꽤 유사하다. 8 is a flow diagram illustrating a rights object (RO) navigation mechanism for rights object management. The RO navigation mechanism that performs the process of FIG. 8 may include computer program code stored in and executed by a host device 24 that sends instructions to a memory system where content files, RO files, and key navigation files are stored. have. Alternatively, the mechanism may include computer program code stored in
이와 같은 이벤트에서, 위에서 설명된 키 관리와 유사한 RO 관리에 대한 아키텍처 및 개념은 도 3b에서 설명된 것과 유사한 방식으로, (KNI에 대한 개념과 유사한) RO 파일에 걸쳐 RO 엔트리(ROE)의 라벨을 붙이기 위해 사용되는 RONI와 같이, 사용될 수 있다. RO 탐색 파일에 상태 비트 ROS[i]는 대응하는 i 번째 RO가 RO 파일 중 하나에서 유효한지 아닌지를 나타내는데 사용된다. RO 탐색 파일은 키 관리를 포함하는 도 4에 나타난 것과 동일한 방식으로 디렉토리 트리에서의 디렉토리에 콘텐츠 파일을 따라 공중 파티션 또는 영역에 저장될 수 있다. RO 파일은 키 관리를 위해 도 5에 나타난 것과 동일한 방식으로 디렉토리 트리에서의 디렉토리에 보호된 파티션 또는 영역에 저장되며, 2 개의 영역에서의 트리는 서로 거울대칭이다(도시되지 않음).In such an event, the architecture and concept for RO management similar to key management described above is similar to that described in FIG. 3B, in which a label of RO entry (ROE) is labeled across the RO file (similar to the concept for KNI). Can be used, as is the RONI used to attach. The status bit ROS [i] in the RO search file is used to indicate whether the corresponding i th RO is valid in one of the RO files. The RO navigation file can be stored in a public partition or area along with the content file in a directory in the directory tree in the same manner as shown in FIG. 4 including key management. The RO file is stored in a protected partition or area in a directory in the directory tree in the same manner as shown in FIG. 5 for key management, the trees in the two areas being mirror symmetric with each other (not shown).
도 8을 참고로 하여, 도 8의 메커니즘의 과정은 보호 콘텐츠 파일을 열거나 또는 다운로드하기를 바라는 경우 시작한다(블록 402). RO 탐색 메커니즘은 콘텐츠 파일이 다운로드 되었는지 아닌지를 결정한다(다이아몬드 404). 콘텐츠 파일이 다운로드 되지 않았다면, 이는 콘텐츠 파일이 다운로드할 필요가 없도록 이미 존재함 을 의미한다. 콘텐츠 파일이 다운로드되어 있고 보호될 필요가 있다고 가정하면, 메커니즘은 블록 406으로 가고 (도 4에서의 공중 영역과 유사한) 공중 영역에서 할당된 디렉토리에 파일을 저장한다. RO 탐색 메커니즘은 RO 탐색 파일이 동일 디렉토리에 존재하는지 여부를 검사한다(다이아몬드 407a). 존재하지 않는다면, 이때 메커니즘은 RO 탐색 파일을 생성한다(블록 407b). 존재한다면, 이때 메커니즘은 도 4에서 발견된 것과 유사한, 다운로드된 콘텐츠 파일로서 동일 디렉토리에서 발견된 RO 탐색 파일을 연다(블록 408). 양 경우에, 메커니즘은 디렉토리 트리에서 적절한 디렉토리에서 RO 탐색 파일을 검사하고 "빈" 또는 "유효하지 않은(not valid)" 상태를 가진 제 1 RO 엔트리를 발견한다. RO 탐색 파일에서 "빈" 또는 "유효하기 않은" 상태의 오프셋은 RONI를 사용하는 위의 실시예를 이용하여, RO 탐색 인덱스(RONI)를 제공한다(블록 408, 410). Referring to FIG. 8, the process of the mechanism of FIG. 8 begins when one wishes 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, this means that the content file already exists so that it does not need to be downloaded. Assuming the content file has been downloaded and needs to be protected, the mechanism goes to block 406 and stores the file in the assigned directory in the public area (similar to the public area in FIG. 4). The RO search mechanism checks whether the RO search file exists in the same directory (
RO 파일 및 RO 탐색 파일이 위의 이행에서 사용되는 경우, RO 파일에서의 위치 또는 RO 엔트리가 순차적으로 사용된다. 이는 하나의 RO가 생성되고 RO 파일에 저장될 필요가 있는 경우, RO 파일에서 위치 또는 슬롯이 RO 파일 RO_file.000에의 RO 엔트리 1로 시작하며, 순차적으로 RO를 저장하는데 사용됨을 의미한다. 이와 같은 RO가 저장되고 제 1 RO 엔트리, 또는 이의 일부를 형성 한 후, 대응하는 RO 파일 상태 비트 ROS[1] 값은, 이 위치가 헤더에 대해 예약된 것이 아니기 때문에, 현재 유효 RO를 포함함을 의미하는, 비어있지 않으며 현재 사용 중임을 나타내는, 1에서 0으로 변환된다. 처음에, 모든 RO 파일 상태 비트는, 값 0을 가지는 0, 128, 256, ...에 대한 RO 파일 상태 비트를 제외하고는 값 1을 가진다. 그러나 이 실시 예 대신에, 룩업 테이블이 키 탐색 메커니즘의 경우에서와 같이 대신에 사용될 수 있음이 이해될 것이며; 모든 이와 같은 변경은 본 발명의 범위 내에 있다. If the RO file and the RO search file are used in the above transition, the position or RO entry in the RO file is used sequentially. This means that if one RO is created and needs to be stored in the RO file, the location or slot in the RO file starts with
RONI가 획득된 후, RO 탐색 메커니즘은 이때 RO 파일 인덱스 또는 RONI/128의 정수 부분과 동일한 nnn을 계산하고(블록 412), 각각의 RO 파일은 128 개의 슬롯 또는 위치를 가진다. nnn 또는 RO 파일 인덱스는 수 RONI/128의 정수 부분이다. 이 nnn 또는 RO 파일 인덱스 값은 RO 파일의 일련 번호이다. 이때 이와 같은 RO 파일 내의 오프셋은 양(quantity) KNI % 128 또는 KNI mod 128을 계산함으로써 획득된다(블록 414). After the RONI is obtained, the RO search mechanism then computes the same nnn as the RO file index or integer portion of RONI / 128 (block 412), with each RO file having 128 slots or locations. The nnn or RO file index is an integer part of the number RONI / 128. This nnn or RO file index value is the serial number of the RO file. The offset in this RO file is then obtained by calculating the
위에서 언급된 바와 같이, 다운로드된 콘텐츠 파일은 (도 4의 디렉토리 트리(130) 안의 플레이어 1 디렉토리와 유사한 디렉토리와 같은) 디렉토리로 할당된다. 바로 다운로드된 콘텐츠 파일로 접근하고/하거나 이의 사용을 제어하기 위해 RO를 저장하기 위한 보호 영역에 RO 파일에서 위치를 획득하기 위해, RO 탐색 메커니즘은 이때, 도 6에서의 방식과 유사한 방식으로, 비보호된 사용자 데이터 영역에 대한 공중 파티션 이름을 보호 영역에 대한 보호 파티션(partition) 이름으로 대체함으로써, 비보호된 사용자 데이터 영역에서의 디렉토리 트리를 따라 구성된 접근 경로를 보호 영역 또는 파티션에서 디렉토리 트리에 따라 구성되는 접근 경로로 변환한다(블록 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 mentioned above, the downloaded content file is assigned to a directory (such as a directory similar to the
RO 탐색 메커니즘은 이때 RO 파일이 이 RO 파일 이름으로 존재하는 지를 보기 위해 검사한다(다이아몬드 421a). 이 RO 파일이 존재하지 않는다면, 메커니즘은 RO 파일을 생성하고 보호 영역 또는 파티션에 디렉토리 트리에서의 적당한 디렉토리(예를 들어, 플레이어 x)에 이를 추가한다(블록 421b). 이 RO 파일이 존재한다면, 메커니즘은 전체 RO 파일 이름에 따라 접근 경로를 사용하여 RO 파일을 연다(블록 422). RO 탐색 메커니즘은 이때 콘텐츠 파일이 블록 406에서 원래 존재하였는지 아닌지를 검사한다(다이아몬드 424). 위의 예에서, 이와 같은 콘텐츠 파일이 다운로되었으므로, RO 탐색 메커니즘은 다운로드된 파일의 파일 헤더로 RONI를 삽입하도록 블록 426으로 간다. 따라서 RONI는 또한 제어하고 있는 콘텐츠 파일을 각각의 RO와 연관시키는 역할을 하는 반면, RO 탐색 및 관리를 위해 위에서 설명된 기능을 이용한다. The RO search mechanism then checks to see if the RO file exists with this RO file name (
(키를 포함하는) RO는 암호화 엔진(40)에 의해 생성되거나 또는 다른 방법(예를 들어 구매 후의 다운로드)으로 얻어지고 생성되거나 또는 이렇게 얻은 파일은 다운로드된 파일을 암호화하는데 사용된다(블록 428). 새롭게 생성된 암호화 파일은 메모리 장치(20) 안의 공중 영역 또는 파티션에서의 트리의 디렉토리 플레이어 x로 추가된다. 이 RO는 암호화되고 블록 414에서 획득된 오프셋에 의해 나타난 위치에서 그리고 블록 412에서 식별된 RO 파일로 삽입되며(블록 430), 보호 파티션 또는 영역에서의 트리 안의 디렉토리 플레이어 x에 RO 파일로 새로운 RO 엔트리로서 추가된다. RO 탐색 메커니즘은 이때 RO 파일을 닫고(블록 432), RO 파일 상태 비트가 공중 영역에서의 트리 안의 플레이어 x 디렉토리에서 RO 탐색 파일 안에 오프셋으로서 RONI의 값을 사용함으로써 찾아지는 공중 영역에서의 트리에서 플레이어 x 디렉토리에의 RO 탐색 파일 안의 대응하는 상태 비트의 값을 1에서 0으로 변경한다. RO 탐색 파일은 이때 닫아진다(블록 434, 436). The RO (including the key) is generated by the
상기 내용은 RO와 관련되어 있는 콘텐츠 파일이 먼저 다운로드되고 암호화되는(및/또는 복호화되는) 경우 2 개의 디렉토리 트리를 사용하는 RO 탐색 메커니즘에 관한 과정이다. RO 탐색 메커니즘이 콘텐츠 파일을 접근하는데 필요한 RO를 발견하기 위해 요청되도록 존재하는 콘텐츠 파일(즉, 다운로드 되지 않은)을 접근하기를 바라는 경우, 도 8의 RO 탐색 메커니즘은 다음과 같이 동작한다. RO 탐색 메커니즘은, 콘텐츠 파일이 이미 존재하기 때문에, 공중 영역 안의 플레이어 x 디렉토리와 같이, 특정 디렉토리에서 보호된 콘텐츠 파일을 열 수 있고, 블록 452로 간다. RO 탐색 메커니즘은 이때 콘텐츠 파일의 파일 헤더로부터 값 RONI를 검색한다(블록 452). RO 탐색 메커니즘이 보호 콘텐츠 파일을 여는 경우, 비보호된 사용자 데이터 영역에서 디렉토리 트리 내에서 동작한다. 예를 들어, 보호된 콘텐츠 파일이 플레이어 x 디렉토리에서 노래 파일들 중 하나라면, 이와 같은 콘텐츠 파일로의 접근 경로는 디렉토리 트리(130)에 따라 구성된다. RO 탐색 메커니즘은 이때 콘텐츠 파일과 관련되어 있는 RO가 저장되어 있는 어떤 RO 파일의 nnn 또는 RO 파일 인덱스, 및 이와 같은 RO 키 파일에서 RO의 위치를 나타내는 오프셋을 발견하기 위해 위에서 설명된 방식으로 블록 412-422에서 동작을 수행한다. RO 탐색 메커니즘은 또한 공중 영역에서 디렉토리 트리를 따라 공중 또는 비보호 사용자 데이터 영역으로의 접근 경로를 보호 영역에서 디렉토리 트리를 따라 구성된 접근 경로로 변환하며 블록 416, 418 및 420을 따라 보호 영역에서 복호화 RO에 대한 전체 RO 파일 이름을 형성한다. 인증 과정 뒤에, RO 탐색 메커니즘은 이때 RO가 검색되기 위해 쉽게 이용가능하도록 구성된 전체 RO 파일 이름을 따라 보호 영역에서 RO 파일을 연다(블록 422). RO 탐색 메커니즘은 이때 전술된 동작 전에 콘텐츠 파일이 존재하는지 여부를 검사한다. 이 예에서, 메커니즘이 적절한 RO 파일에서 오프셋에서 RO 엔트리로부터 암호화된 RO를 검색하기 위해 블록 454로 가도록 존재한다(블록 454). RO는 이때 복호되고 키는 RO에서 규칙을 따라 콘텐츠 파일을 복호/암호하기 위해 사용된다(블록 456).The above is a process for an RO search mechanism that uses two directory trees when a content file associated with an RO is first downloaded and encrypted (and / or decrypted). If the RO navigation mechanism wishes to access an existing content file (i.e. not downloaded) to be requested to find the RO needed to access the content file, the RO navigation mechanism of FIG. 8 operates as follows. The RO navigation mechanism can open the protected content file in a particular directory, such as the player x directory in the public area, because the content file already exists, and goes to block 452. 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 operates within the directory tree in the unprotected user data area. For example, if the protected content file is one of the song files in the player x directory, then the access path to such content file is organized according to
도 9는 권리 객체 관리 시스템의 또다른 특성을 설명하기 위해 파일을 삭제하는 권리 객체 탐색 메커니즘을 설명하는 흐름도이다. 전술된 RO 탐색 파일, RO 파일 구조를 사용하면, 콘텐츠 파일이 콘텐츠 파일이 삭제되는 경우 특히 간단하다. 이는 도 9의 흐름도에 설명되어 있다. 따라서 메모리 시스템(10) 또는 호스트 장치(24)에 저장되어 있고 이에 의해 실행되는 컴퓨터 프로그램일 수 있는, 상기 목적을 위한 RO 탐색 메커니즘은 먼저 삭제되려는 보호 콘텐츠 파일을 디렉토리에서 식별한다(블록 502). 콘텐츠 파일은 메모리(20)의 비보호 공증 영역에 있을 수 있다. RO 탐색 메커니즘은 이때 콘텐츠 파일을 열고 파일 헤더로부터 RONI를 획득하고 파일을 닫는다(블록 504). 메커니즘은 이때 콘텐츠 파일과 같은 동일한 디렉 토리에서의 RO 탐색 파일을 연다(블록 506). 예를 들어, 삭제되는 콘텐츠 파일이 공중 영역 또는 파티션에서의 디렉토리 트리에서 플레이어 x 디렉토리 안에 있다면, 예를 들어, 비트 오프셋은 콘텐츠 파일 같은 동일 디렉토리(이 경우에 플레이어 x 디렉토리) 내에 RO 탐색 파일 안에서 발견된다. RO 탐색 메커니즘은 이때 삭제되는 콘텐츠 파일과 관련되어 있는 RO 파일에서의 RO 엔트리의 상태를 나타내는 RO 파일 상태 비트의 위치를 발견하기 위해 RO 탐색 파일에서 제 1 엔트리로부터의 오프셋으로서 RONI를 사용한다. 이때 0에서 1로 오프셋 위치에서 발견된 키 파일 상태 비트를 리셋하고, 이에 의해 파일 상태 비트의 RO 파일에서 대응하는 RO 엔트리(ROE)가 유효 RO를 포함하지 않음을 나타낸다(블록 508). 그러므로 이는 (전형적으로 인증을 요청하는) 보호 영역으로 실제로 갈 필요가 없으며 RO 파일에서 이와 같은 위치에 RO를 삭제할 필요가 없다. RO 탐색 메커니즘은 RO 탐색 파일을 닫고 콘텐츠 파일을 삭제한다(블록 510 및 블록 512).9 is a flow diagram illustrating a rights object navigation mechanism for deleting a file to illustrate another characteristic of a rights object management system. Using the above-described RO search file, RO file structure, the content file is particularly simple when the content file is deleted. This is illustrated in the flow chart of FIG. Thus, the RO search mechanism for this purpose, which may be a computer program stored in and executed by the
본 발명이 다양한 실시예를 참고로 하여 위에서 설명되어 있는 반면, 본 발명의 범위를 벗어나지 않고 변경 및 수정이 이루어질 수 있음의 이해되며, 이는 첨부된 청구항 및 이들의 등가물에 의해서만 정의되어야 한다. 예를 들어, 도 6의 것과 유사한 과정은 생성된 복호를 위해 키를 저장파기 위한 타이틀 티 저장 파일(들)의 하나에서 위치를 발견하기 위해, 그리고 존재하는 파일을 암호화하기 위한 타이틀 키 저장 파일(들)의 하나에 존재하는 암호화 키를 발견하기 위해 적용될 수 있다. 키 또는 RO는 타이틀을 가진 또는 없는 다른 유형의 콘텐츠뿐만 아니라 노래, 영화 게임과 같은 미디어 타이틀을 포함하는, 임의의 콘텐츠의 보호를 위해 사 용될 수 있다. 탐색 또는 위치 정보는 파일 이름에서와 같이 헤더와 다른 콘텐츠 파일의 부분에 저장될 수 있다. 본 발명에서 언급된 모든 참조는 참조로 통합되어 있다. While the invention has been described above with reference to various embodiments, it is understood that changes and modifications may be made without departing from the scope of the invention, which should be defined only by the appended claims and their equivalents. For example, a process similar to that of FIG. 6 may be performed to find a location in one of the title tee storage file (s) for storing and decrypting the key for generated decryption, and to encrypt the existing file. It can be applied to find the encryption key present in one of the). The key or RO may be used for the protection of any content, including media titles such as songs, movie games, as well as other types of content with or without titles. The search or location information may be stored in the header and in other parts of the content file, such as in the file name. All references mentioned in the present invention are incorporated by reference.
본 발명에 포함되어 있음.Included in the present invention.
Claims (101)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/283,221 US8156563B2 (en) | 2005-11-18 | 2005-11-18 | Method for managing keys and/or rights objects |
US11/283,225 | 2005-11-18 | ||
US11/283,221 | 2005-11-18 | ||
US11/283,225 US20070116288A1 (en) | 2005-11-18 | 2005-11-18 | System for managing keys and/or rights objects |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080068757A true KR20080068757A (en) | 2008-07-23 |
Family
ID=38371958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087014728A KR20080068757A (en) | 2005-11-18 | 2006-11-15 | Method and system for managing keys 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 |
---|---|---|---|---|
KR20210015534A (en) * | 2019-08-02 | 2021-02-10 | 주식회사 티모넷 | System and method for providing electronic signature service |
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 |
JP5821558B2 (en) * | 2011-11-17 | 2015-11-24 | ソニー株式会社 | Information processing apparatus, information storage apparatus, information processing system, information processing method, and program |
KR101416542B1 (en) | 2012-12-24 | 2014-07-09 | 주식회사 로웸 | Method for Apparatus for managing passcode |
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 |
CN1187756C (en) * | 1999-05-28 | 2005-02-02 | 松下电器产业株式会社 | Semiconductor memory card, playback appts. recording appts. playback method, recording method, and computer-readable recording medium |
CN1556952A (en) * | 2001-07-09 | 2004-12-22 | ���µ�����ҵ��ʽ���� | Contents management system and information storage medium |
-
2006
- 2006-11-15 EP EP06850155A patent/EP1949294A2/en not_active Withdrawn
- 2006-11-15 KR KR1020087014728A patent/KR20080068757A/en not_active Application Discontinuation
- 2006-11-15 WO PCT/US2006/060928 patent/WO2007094874A2/en active Application Filing
- 2006-11-15 JP JP2008541468A patent/JP2009516961A/en not_active Withdrawn
- 2006-11-17 TW TW095142629A patent/TW200736954A/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210015534A (en) * | 2019-08-02 | 2021-02-10 | 주식회사 티모넷 | System and method for providing electronic signature service |
WO2021025403A3 (en) * | 2019-08-02 | 2021-04-01 | 주식회사 티모넷 | Security key management method and security key management server |
Also Published As
Publication number | Publication date |
---|---|
EP1949294A2 (en) | 2008-07-30 |
JP2009516961A (en) | 2009-04-23 |
WO2007094874A3 (en) | 2007-12-06 |
TW200736954A (en) | 2007-10-01 |
WO2007094874A2 (en) | 2007-08-23 |
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 | |
US7269741B2 (en) | Recording apparatus, medium, method, and related computer program | |
KR100608585B1 (en) | Method and apparatus for searching rights objects stored in portable storage device using object location data | |
KR100463842B1 (en) | Apparatus for managing key in afile security system and method for managing security key | |
US5748744A (en) | Secure mass storage system for computers | |
US8145900B2 (en) | Crypto-pointers for secure data storage | |
US8069298B2 (en) | Method of storing and accessing header data from memory | |
US20110173460A1 (en) | Information processing device, method, program, and integrated circuit | |
US8001391B2 (en) | Method of encrypting and decrypting data stored on a storage device using an embedded encryption/decryption means | |
US20060156036A1 (en) | Method and portable storage device for allocating secure area in insecure area | |
JP2004185152A (en) | License moving device and program | |
CN101114296A (en) | Method and apparatus for managing license | |
KR20080068757A (en) | Method and system for managing keys and/or rights objects | |
KR100608604B1 (en) | Method and apparatus for searching right objects stored in portable storage device using object identifier | |
KR101761799B1 (en) | Apparatus and method for managing data security of terminal | |
JP2008530673A (en) | How to protect rights file descriptions | |
KR101277261B1 (en) | Method and apparatus for storing digital content in storage device | |
US20120124314A1 (en) | Recording medium | |
US20130036474A1 (en) | Method and Apparatus for Secure Data Representation Allowing Efficient Collection, Search and Retrieval |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |