Method and apparatus for updating revocation list and reproducing encrypted content

Method of updating revocation list is disclosed. Time information of revocation list indicating registration time of most recently registered revocation entity included in revocation list of first device is extracted, and time information of revocation list indicating registration time of the most recently registered revocation entity included in the revocation list of a second device connected to the first device is also extracted. A revocation entity registered in the first device after the registration time of time information of the revocation list of the second device is copied in the revocation list of the second device, if the registration time of extracted time information of the revocation list of the first device is later than the registration time of the extracted time information of the revocation list of the second device. Thus, the revocation list can be updated by connecting the first and second devices even in an offline state.

CROSS-REFERENCE TO RELATED PATENT APPLICATION

This application claims the benefit of Korean Patent Application No. 10-2008-0000160, filed on Jan. 2, 2008, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

Methods and apparatuses consistent with the present invention relate to updating a revocation list and reproducing encrypted content, and more particularly to a method of updating a revocation list including at least one revocation entity, a method of updating a revocation list between devices in an off-line state, a method of enabling or disabling reproduction of encrypted content on the basis of a revocation list, and apparatuses therefore.

2. Description of the Related Art

In recent years, the amount of digital content has drastically increased, and thus demands for digital rights management (DRM) technologies are rapidly increasing. DRM may be defined as a technology for preventing illegal copying of content in the narrow sense, but, in the broad sense, DRM may be an umbrella term that encompasses technologies and service systems for ensuring transparency and reliability over the entire life cycle of the digital content. That is, DRM may be a technology and a service system that manage intellectual property rights and ensure a transparent and reliable distribution environment over the entire life cycle of the digital content. DRM services have different definitions and ranges according to venders. International Data Corporation (IDC) provides a definitive explanation of DRM services as “software and services used over the entire life cycle of the digital content from creation and distribution of the digital content to consumption thereof”. IDC classifies various uses of DRM into four representative uses.

First, DRM is used to protect the commercial value of digital content by preventing illegal copying.

Secondly, DRM is used to protect content secrecy in terms of document security between enterprises or within an enterprise.

Thirdly, DRM is used to protect intellectual property rights for content such as treatises, photographs and novels that are not for sale.

Fourthly DRM may be used to ensure integrity of digital content without modification, damage and correction during a distribution process.

In selling or distributing the content, a situation where reproduction or redistribution of sold content must be blocked occurs even after the selling of the content is completed. For example, the use of distributed content must be prohibited if the distributed content is associated with social problems or arbitrary publicity of a specific product. Also, if the content distributed using DRM in a free trial period is used without authorization through DRM hacking, the permission or authorization to use the corresponding content must be collectively revoked. However, in the case of general DRM being currently used, once purchase of content is completed, it is difficult to restrict the use of the corresponding content. Thus, there are DRM solutions for providing revocation functions. However, these DRM solutions have limitations in that whenever the content is reproduced, it must be checked whether reproduction of corresponding content is enabled only through network communication. For this reason, conventional DRM solutions are limited by a device, and are useless in an offline state.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus for updating a revocation list in an offline state, and a method and apparatus for providing a revocation function applicable to various kinds of DRM. The present invention also provides a method and apparatus for using the revocation list to reproduce encrypted content.

According to one aspect of the present invention, there is provided a method of updating a revocation list. The method comprises transmitting time information of a revocation list comprising at least one revocation entity to a server, the time information indicating a registration time of the most recently registered revocation entity; and copying the revocation entity which is registered to the server after the registration time from the server into the revocation list.

According to another aspect of the present invention, there is provided a method of updating a revocation list. The method comprises extracting respectively time information of a revocation list from at least one revocation entity included in the revocation list of a first device and a second device connected the first device, the time information indicating a registration time of the most recently registered revocation entity; and copying, into the revocation list of the second apparatus, a revocation entity that is registered in the first device after the registration time of time information of the revocation list of the second device, if the registration time of the extracted time information of the revocation list of the first device is later than the registration time of the extracted time information of the revocation list of the second device.

According to another aspect of the present invention, there is provided a method of reproducing encrypted content. The method comprises extracting a content unique identifier from encrypted content; determining whether the extracted content unique identifier is present in a revocation entity comprising a content unique identifier; and prohibiting reproduction of the content if the extracted content unique identifier is present in the revocation entity.

According to another aspect of the present invention, there is provided a apparatus for updating a revocation list. The apparatus comprises a revocation list storage unit storing a revocation list comprising time information and at least one revocation entity comprising a content unique identifier, and time information indicating a registration time of the most recently registered revocation entity; and a control unit copying the revocation entity which is registered to a server after the registration time from a server into the revocation list.

According to another aspect of the present invention, there is provided a apparatus for updating a revocation list. The apparatus comprises a revocation list storage unit storing a revocation list comprising time information at least one revocation entity comprising a content unique identifier, and time information indicating a registration time of the most recently registered revocation entity; a revocation list extraction unit extracting the time information of the revocation list stored in the revocation list storage unit, and time information of a revocation list of another apparatus; and a control unit copying, into the revocation list of the other apparatus, a revocation entity that is registered after the registration time of time information of the revocation list of the other apparatus, if the registration time of the extracted time information is later than registration time of the extracted time information of the revocation list of the other apparatus.

According to another aspect of the present invention, there is provided a apparatus for reproducing encrypted content. The apparatus comprises a revocation list storage unit storing a revocation list comprising at least one revocation entity comprising a content unique identifier; a content unique identifier extraction unit extracting a content unique identifier from encrypted content to be reproduced; and a control unit prohibiting reproduction of the content if the content unique identifier extracted by the content unique identifier extraction unit is present in the revocation entity.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1is a block diagram illustrating a structure of a revocation list100according to an embodiment of the present invention. Referring toFIG. 1, the revocation list100according to the current embodiment includes a total number (N)110of revocation entities, time information of revocation list (TIME)120, and at least one revocation entity130. The revocation entity130includes a content unique identifier131, a flag132, and time information of revocation entity (time)133.

The revocation list100is a data structure that stores information of content or a device in which reproduction of content is to be restricted. The revocation list100may be configured using extensible markup language (XML), and may be implemented using any other structure. Also, the revocation list100can be updated by adding a revocation entity130. According to an embodiment of the present invention, the revocation list100is used to disable reproduction of the content or to enable reproduction of DRM-restricted content. The revocation list100may be stored in a content reproducing device or a portable storage device.

The total number (N)110of revocation entities refers to the total number of revocation entities130stored in the revocation list100. Time information of revocation list (TIME)120indicates a registration time of a revocation entity that is most recently registered to a revocation list management server (seeFIG. 2) among at the least one revocation entity130stored in the current revocation list100. The revocation entity130is an entity that has information of content to be revoked or restored and reproduced within the revocation list100. According to an embodiment of the present invention, the revocation list100includes at the least one revocation entity130. The content unique identifier131contained in each revocation entity130refers to an identifier that uniquely identifies content. Each of contents has a different identifier. The content unique identifier131may be contained in a header of the content, and it is impossible for an unauthorized user to modify the content unique identifier131. Each of contents can have a different identifier by using time information of the time when the content is registered. The flag132is binary information that indicates prohibition of content reproduction or restoration and reproduction of the prohibited content, i.e., restricted content. Time information of the revocation entity (time)133indicates the time when the corresponding revocation entity130is registered to the revocation list server.

FIG. 2is a block diagram illustrating a system for updating a revocation list such as the revocation list100ofFIG. 1, according to an embodiment of the present invention.

Referring toFIG. 2, the revocation list update system according to the current embodiment includes an administrator terminal210, a revocation list management server220, and a first device230and a second device240which are revocation list update apparatuses. The revocation list management server220includes a revocation information database221. The first apparatus230includes a revocation list storage unit231, a revocation list extraction unit232, and a control unit233. The second apparatus240includes a revocation list storage unit241.

The revocation list management server220receives content information of content to be revoked or restored via the administrator terminal210. The content information may include a content unique identifier. On the basis of the received content information, the revocation list management server220registers the revocation entity to the server220and writes and stores the revocation entity in the revocation information database221. A registration time indicating when the written revocation entity is registered in the revocation list management server220may be contained in the revocation entity. The stored revocation identity cannot be deleted or modified. To restore the content, revocation of which has been requested, another revocation entity having a flag value indicating restoration may be written and registered. If there is a request for a revocation entity from the first device230, the revocation list management server220transmits the corresponding revocation entity to the first device230.

The first device230updates the revocation list100. The first device230updates the revocation list100by adding a revocation entity130received from the revocation list management server220to the revocation list100. Examples of the first device230may include a personal computer (PC), an MP3 player, a portable media player (PMP), a set-top box, a mobile phone, and a kiosk. A structure of the revocation list100is created by the first device230. Since no revocation entity130is present in the revocation list100when the revocation list100is initially created, the total number (N)110of revocation entities is ‘0’, and time information of the revocation list (TIME)120is ‘0’. The revocation list storage unit231of the first device230stores the revocation list100written in the first device230.

The control unit233of the first device230transmits time information of the revocation list (TIME)120extracted by the revocation list extraction unit232to the revocation list management server220. The control unit233copies one or more revocation entities130registered after the registration time of the transmitted time information of the revocation list120among revocation entities registered in the revocation list management server220, and stores the copied revocation entities130in the revocation list100stored in the revocation list storage unit231. When the first device230is connected online with the revocation list management server220, the control unit233may immediately access the revocation list management server220and copy the revocation entity130, but a service provider may manage the time point of copying the revocation entity130. If the copied revocation entity130is associated with restoration of content whose usage permission was previously revoked, an existing revocation entity130associated with the previous revocation of the content may be deleted from the revocation list100. This is because only the latest revocation entity130is needed to reproduce content. However, deletion is not necessary because an excessive load may be applied to the device when the revocation list100is updated. The control unit233changes time information of the revocation list (TIME)120on the basis of time information (TIME)133of the revocation entity130that has been most recently registered to the revocation list management server220among the copied revocation entities130. In the case of an initially written revocation list, all the revocation entities130registered to the server200are copied and stored in the revocation list100, and time information of the revocation list (TIME)120is changed according to time information133of the most recently registered revocation entity130.

If the first device230includes a revocation list100and a portable storage device (not shown) included in the first device230does not include a revocation list, the first device230copies and stores the revocation list100in the portable storage device. The portable storage device includes a non-volatile memory such as a flash memory that can read, write and erase data. The portable storage device may be a storage device that is capable of performing predetermined operations on data and is easily connected to and separated from a revocation list update apparatus and a reproducing apparatus. Examples of the portable storage device may include smart media, a memory stick, a Compact Flash (CF) card, an XD card, a Secure Digital (SD) card, a secure digital high capacity (SDHC) card, and a multimedia card (MMC). The revocation list100may not be created, modified or deleted arbitrarily by a user and may be securely stored within the first device230and the portable storage device. Examples of the method of storing the revocation list100may include storing the revocation list100in a secure area of a flash memory such as a Secure MMC and storing the revocation list100as a hidden structure in a general MMC/SD. Alternatively, the revocation list100may be stored in the form of database of a hidden system of the first device230. Those storing methods are merely examples however, and the present invention is not limited thereto.

According to another embodiment, the control unit232downloads all of the revocation entities from the revocation list management server220as one revocation list, and overwrites the downloaded revocation list of the first device230and the portable storage device. This method may cause a large amount of traffic over the network, but may be used when an incident such as an arbitrary change of the stored revocation list occurs.

According to another embodiment of the present invention, an apparatus for updating a revocation list in the first device230and the second device240is provided. The first device230and the second device240are connected together, and the first device230may be in an offline state with the revocation list management server220.

The revocation list storage unit231of the first device230stores a revocation list100therein. The revocation list extraction unit232extracts time information of the revocation list120from the revocation list stored in the revocation list storage unit231. The revocation list extraction unit232of the first device230may extract a revocation list100from the revocation list storage unit241of the second device240.

The control unit230compares time information of the revocation list120of the first device230with time information of the revocation list120of the second device240. If the comparison indicates that a registration time indicated by time information of the revocation list120of the first device230is later than a registration time indicated by time information of the revocation list of the second apparatus240, that is, the registration time of the revocation list of the first device230is the latest, revocation entities130registered after the registration time of the revocation list of the second device240from the revocation list100of the first device230are copied into the revocation list100of the second device240. In contrast, if the registration time indicated by time information of the revocation list of the second device240is later than the registration time indicated by time information of the revocation list of the first device230, that is, the registration time of the revocation list of the second device240is the latest, revocation entities130registered after the registration time indicated by time information of the revocation list of the first device230from the revocation list of the revocation list100of the second device240are copied into the registration list100of the first device230. The control unit232changes the registration time of the revocation list100to the registration time of the most recently registered revocation entity130among revocation entities of each of the revocation lists100. If the second device240is connected to the first device230, which is an update apparatus, in an offline state, downloading or copying of a revocation entity130fails because no connection is made with the revocation information management server220. Therefore, the revocation lists100of the first and second device230and240can be updated to the latest version by synchronizing the revocation lists100of the first and second device230and240connected in an offline state. The second device240may be a portable storage device that includes the revocation list storage unit241. However, the present invention is not limited thereto, and the second device240may be another update apparatus, which is applied to the case where update apparatuses are connected in an offline state for updating.

FIG. 3is a block diagram illustrating a portable storage device and a reproducing device310for reproducing encrypted content by using an updated revocation list, according to an embodiment of the present invention. Referring toFIG. 3, the reproducing device310according to the current embodiment includes a revocation list storage unit311, a content unique identifier extraction unit312, a revocation list extraction unit313and a control unit314. The portable storage device320according to the current embodiment includes a revocation list storage unit321. The reproducing device310is connected with the portable storage device320. The first device230ofFIG. 2may be the reproducing device310that can reproduce encrypted content. The second device240may be the portable storage device320including a storage unit containing encrypted content or a revocation list.

The revocation list storage unit311of the reproducing apparatus310stores therein a revocation list including a revocation entity including content unique identifier. The revocation list includes time information indicating a registration time of the most recently registered revocation entity to a server. The content unique identifier extraction unit312extracts a content unique identifier of encrypted content to be reproduced. The content may be stored in the reproducing device310or may be stored in the portable storage apparatus320. The revocation list extraction unit313extracts a content unique identifier stored in the revocation entity of the revocation list. The control unit314compares the content unique identifier extracted by the revocation list extraction unit313with the content unique identifier extracted by the content unique identifier extraction unit312. If the two compared content unique identifiers are identical, reproduction of the content is disabled, i.e., prohibited. The revocation list extraction unit313may also extract a flag. If the flag indicates restoration of the prohibited content, the corresponding content is restored and reproduced.

FIG. 4is a flowchart illustrating a method of updating a revocation list, according to an embodiment of the present invention.

To revoke content, an administrator accesses a revocation list management server and inputs content information of corresponding content including a content unique identifier. The revocation list management server generates a revocation entity by using input content information and the time when the content information is input. Also, the generated revocation entity is stored in a revocation information database. The revocation entity must not be deleted or changed without a specific reason. To restore content, revocation of which has been requested, a revocation entity including a flag indicating restoration of revoked content must be created. In general, the revocation entity is generated according to authorization of the administrator not by a general user.

Referring toFIG. 4, in operation410, it is determined whether there is a revocation list in an apparatus. If there is a revocation list, the method proceeds to operation450, and if not, the method proceeds to operation420.

In operations420through440, since a revocation list does not exist in the apparatus, a revocation list structure is created, and thus the total number of revocation entities is ‘0’ and there is no time information of the revocation list. When a revocation list is created, the method proceeds to operation450.

In operation450, the apparatus accesses a revocation list management server, i.e., in an online state, and transfers time information of the revocation list to the revocation list management server. Time information indicates a registration time of the most recently registered revocation entity stored in the revocation list.

In operation460, a revocation entity registered after the registration time indicated by the transferred time information of the revocation list is copied. The copied revocation entity is stored in the revocation list. If a flag contained in the revocation entity is a flag that indicates restoration of previously revoked content, an existing revocation entity associated with the previous revocation of the content may be deleted. When the apparatus is in an online state, the apparatus may immediately access the revocation list management server and copy revocation entities, but the time of copying may be determined arbitrarily by a service provider.

In operation470, time information of the revocation list is changed based on time information of the most recently registered revocation entity among the copied revocation entities. If the revocation list is an initially written list, all of the revocation entities stored in the revocation list management server are copied and stored, and time information of the revocation list is changed according to time information of the most recently registered revocation entity.

In operation480, the revocation list in which the revocation entity has been copied is stored in a portable storage device. In this case, a revocation list does not exist in the portable storage device. The case where the revocation list exists in the portable storage device will be described later in more detail with reference toFIG. 6.

FIG. 5is a diagram for describing an example of a method of updating a revocation list, according to an embodiment of the present invention.

Referring toFIG. 5, to revoke or restore content, an administrator transmits a new revocation entity501including a content unique identifier of the content to a revocation list management server520through an administrator terminal510. A revocation list in the revocation list management server520includes four revocation entities501through504. The revocation entities501through504may be registered in the time order of504,503,502and501. The revocation entity502is the next most recently registered revocation entity, besides the revocation entity501. An online reproducing device530, which is an update device, includes the revocation entities503and504in a revocation list. If the online reproducing device530is connected online with the revocation list management server520, the online reproducing device530transmits time information of the revocation list. Time information of the revocation list indicates a registration time of the revocation entity503to the revocation list management server520. In this case, since the revocation entities501and502are registered later than the revocation entity503in the revocation list management server520, the revocation entities501and502are copied and stored in the revocation list of the online reproducing device530. Time information of the revocation list indicates the registration time when the revocation entity501is registered. If a portable storage device540is inserted in the online reproducing device530, the revocation list including the revocation entities501through504is copied and stored in the portable storage device540. The above operations are performed on the assumption that a revocation list does not exist in the portable storage device540.

FIG. 6is a flowchart illustrating a method of updating a revocation list between apparatuses, according to an embodiment of the present invention.

Referring toFIG. 6, in operation610, time information of a revocation list is extracted respectively from at least one revocation entity included in the revocation list of a first device and a second device connected the first device, the time information indicating a registration time of the most recently registered revocation entity.

In operation620, it is determined whether the registration time of the extracted time information of the revocation list of the first device is later than the registration time of the extracted time information of the revocation list of the second device. If the registration time indicated by time information of the revocation list of the first device is later than the registration time indicated by time information of the revocation list of the second device, for example, if time information of the revocation list of the first device is Nov. 1, 2007, 19:20, and time information of the revocation list of the second device is Oct. 30, 2007, 14:10, the method proceeds to operation630, and if not, the method proceeds to operation650.

In operation630, revocation entities, which are registered after the registration time indicated by time information of the revocation list of the second device, among revocation entities of the first device are copied into the revocation list of the second device. For example, revocation entities registered after Oct. 30, 2007, 14:10 are copied in the revocation list of the second device.

In operation640, the registration time of the revocation list of the second device is changed to the registration time of the most recently registered revocation entity among the revocation entities stored in the revocation list of the second device. For example, time information of the revocation list of Oct. 30, 2007, 14:10 is changed to time information of the revocation list of Nov. 1, 2007, 19:20. This is because the time information of Nov. 1, 2007, 19:20 hours is the time information of the most recently registered revocation entity in the first device.

A method of updating a revocation list between apparatus in an offline state will now be described with reference toFIG. 7.FIG. 7is a diagram for describing an example of a method of updating a revocation list between devices in an offline state, according to an embodiment of the present invention. The description will be made on the assumption that the devices store revocation lists. Referring toFIG. 7, the registration time order in a revocation list of a first portable storage device710is a revocation entity704, a revocation entity703, a revocation entity702and a revocation entity701. The revocation entity701is the most recently registered revocation entity. When the first portable storage device710is inserted in a first offline reproducing device720, time information of the revocation list of the first portable storage device710is compared with time information of the revocation list of the first offline reproducing device720. The revocation entities701and702of the revocation list of the first portable storage device710are copied into the first offline reproducing device720. After the revocation list of the first offline reproducing device720is updated in the above manner, if a second portable storage device730is connected to the first offline reproducing device720, the second portable storage device730is updated in the above-described manner. Also, the updating is performed in the same manner when the second portable storage device730is connected to a second offline reproducing device740.

FIG. 8is a flowchart illustrating a method of reproducing encrypted content, according to an embodiment of the present invention.

Referring toFIG. 8, in operation810, a request signal for reproducing encrypted content is received.

In operation820, a content unique identifier is extracted from content.

In operation830, it is determined whether the extracted content unique identifier is present in a revocation list including at least one revocation entity. If the extracted content unique identifier is present in the revocation entity, the method proceeds to operation850, and if not, the method proceeds to operation840.

In operation850, if it is determined that the extracted content unique identifier is present in the revocation entity, it is determined whether a flag contained in a revocation entity is a flag indicating prohibition of content reproduction.

In operation860, if the flag indicates prohibition of content reproduction, reproduction of the content is disabled. In the case of a flag indicating restoration of prohibited content, the content is reproduced in operation840.

According to the present invention, content associated with various kinds of DRMs can be revoked or restored using one revocation list, and a revocation list can be updated even in an offline state by connecting devices. The revocation list according to the present invention restricts restoration and reproduction of only corresponding content by using a content unique identifier.