Academia.eduAcademia.edu

Interoperable DRM Framework for Multiple Devices Environment

2008, ETRI Journal

As networks increase and cross-convergence occurs between various types of devices and communications, there is an increasing demand for interoperable service in the business environment and from end users. In this paper, we investigate interoperability issues in the digital rights management (DRM) and present a practical framework to support interoperability in environments with multiple devices. The proposed architecture enables end users to consume digital content on all their devices without awareness of the underlying DRM schemes or technologies. It also enables DRM service providers to achieve interoperability without costly modification of their DRM schemes.

Interoperable DRM Framework for Multiple Devices Environment Seong Oun Hwang and Ki Song Yoon As networks increase and cross-convergence occurs between various types of devices and communications, there is an increasing demand for interoperable service in the business environment and from end users. In this paper, we investigate interoperability issues in the digital rights management (DRM) and present a practical framework to support interoperability in environments with multiple devices. The proposed architecture enables end users to consume digital content on all their devices without awareness of the underlying DRM schemes or technologies. It also enables DRM service providers to achieve interoperability without costly modification of their DRM schemes. Keywords: DRM, interoperability, content protection, security. Manuscript received Nov. 6, 2007; revised Feb. 26, 2008; accepted Apr. 15, 2008. This work was partly supported by the postdoctoral fellowship program of IITA, MKE (Ministry of Knowledge Economy) and 2008 Hongik University Research Fund, Rep. Korea. Seong Oun Hwang (phone: 82 41 860 2298, email: [email protected]) was with Broadcasting & Telecommunications Convergence Research Laboratory, ETRI, Daejeon, Rep. of Korea, and is now with the Department of Computer and Information Communication Engineering, Hongik University, Chungnam, Rep. of Korea. Ki Song Yoon (email: [email protected]) is with SW & Content Research Laboratory, ETRI Daejeon, Rep. of Korea. ETRI Journal, Volume 30, Number 4, August 2008 I. Introduction The Internet has greatly facilitated the distribution and exchange of information, and this has led to increasing problems regarding the issue of intellectual property and copyright infringement. Digital content is by nature very vulnerable to unauthorized distribution and use. To cope with this problem, digital rights management (DRM) technologies have been developed. Although they have functioned as intended, they have caused an unexpected problem. Most DRM systems are not interoperable. As a result, consumers cannot play their purchased, DRM-protected products on all of their devices. For example, a mobile phone service provider in South Korea prohibited playback on their mobile phones of digital songs purchased from other online sites. It caused many users to complain and to file lawsuits. A survey by Indicare [1] shows that 86% of potential digital music customers would rather pay 1 Euro for interoperable content (having the right to use it in more than one device) instead of paying just 50 cents for device bound content. The same applies to the business sector. Recently, as DRM 2.0 specifications of Open Mobile Alliance (OMA) [2] have been implemented and commercialized, interoperability issues between OMA DRM and MS DRM have risen. Therefore, the issue of DRM interoperability has become a problem which should be solved to benefit businesses as well as consumers. The contribution of this paper is to present a practical framework to support DRM interoperability among resourcelimited devices such as mobile phones and portable devices. The framework is based on two concepts: domain and profile. The domain concept enables the framework to be interoperable regardless of underlying devices including consuming Seong Oun Hwang et al. 565 environments. The profile concept enables the framework to achieve interoperability without modification of participating DRM schemes. The remainder of this paper is organized as follows. In section II, we provide an overview of previously proposed approaches toward DRM interoperability. Section III presents our approach at a very high level. Section IV gives detailed information of system components comprising our prototype DRM framework. Section V presents an analysis of our framework by comparing it with other schemes. Section VI concludes the paper with a discussion of the contribution of the paper and future work. II. Related Work In this section, we first give an overview of some of existing approaches toward interoperability. Then we analyze their characteristics and classify them into types of interoperability. 1. Overview A. MPEG-21 MPEG-21 [3] provides standards for protection and management of multimedia content by introducing a hooks architecture and interfaces between intellectual property management and protection (IPMP) tools. That is, MPEG IPMP does not standardize IPMP itself; rather, it standardizes the IPMP interface, which allows flexibility between the IPMP system and applications. A terminal accesses the IPMP tool list of protected content media and determines the IPMP tool that is required to consume the content. MPEG IPMP tries to solve interoperability issues by searching for and installing the required DRM tools whenever they are needed. documents specify that all the actors in the value chain perform some functions to do business. Those functions can be decomposed into smaller primitive functions, which seem to be implemented into a set of tools called interoperable DRM platform (IDP) toolkit. Unlike MPEG, DMP defines its own DRM formats such as DRM/Authentication Messages, Domain/ Access Protocols, and so on. D. Coral The Coral Consortium [5] approach is a DRM-neutral interoperability framework to solve multiple DRM problems. While maintaining current DRM systems and devices, it tries to achieve service-level interoperability by providing trusted interfaces and functions that mediate differences between DRM schemes, such as rights meditation, content transformation, and repackaging. 2. Classifications of Existing Approaches The following subsection presents a classification of the approaches according to the type of interoperability they provide: full-format, building block, and translation-based interoperability. Refer to Koenen’s paper [6] for a similar classification. A. Full-Format Interoperability (DMP, OMA, etc.) This seems to be one of the most complete ways of providing interoperability at first glance. This approach has been adopted by most DRM standardization organizations and vendors. In principle, it seems difficult for a single vendor or organization to cope with interoperability issues in the DRM area with this approach. We note that since this approach accompanies disclosure of the entire structure of DRM, it may be very vulnerable from the security point of view. B. OMA The OMA DRM specification version 2.0 released in February 2004 provides additional features and a significantly higher level of security through mechanisms based on public key infrastructure (PKI) to protect high-value digital contents, such as MP3 audio files or video clips. OMA DRM specifies export of content and its associated usage rights to other DRM specifications, but it does not address the security issues which arise during the export process. It specifies these as being beyond the scope of the standardization. B. Building Block-Based Interoperability (MPEG-21) Under the assumption that all the terminals and application players can access all the DRM tools (authentication, encryption/decryption, watermark, and so on), it allows us to search/download and use the appropriate tools when consuming a protected content. Compared to other approaches, it is highly flexible. However, in reality, only a particular tool can be available to a particular platform. It is not clear that all devices provide all the resource required to store and execute when accessing the multimedia content which belongs to a user. C. Digital Media Project DMP [4] released a comprehensive technology specification for interoperable digital rights management as well as applications within and across media value chains. The 566 Seong Oun Hwang et al. C. Translation (Transformation)-Driven Interoperability (Coral) This approach assumes the existence of a trusted third party (TTP) connected to the network. The TTP provides ETRI Journal, Volume 30, Number 4, August 2008 interoperability by giving translation operations between different formats – protected content formats, rights, and messages. Translation (or transformation) operations are likely to incur information loss which may occur during incorrect mapping from the source to the destination DRM scheme. Another drawback of this approach is that it requires the devices to be connected to the network, at least one time, when the device initially connects to the interoperable service provider. Next we classify the approaches into the two categories of intra-DRM and inter-DRM interoperability. protected content formats (e.g., MPEG-21: DID, DII, OMA: DCF, PDCF) taken by DRM schemes. So far, we have discussed the inter-DRM interoperability issue at a very high level. There have been similar approaches towards interoperability at the system level. Jamkhedkar and others [10] proposed a layered DRM architecture and approached the issue by standardizing interfaces between the layers. Michiels and others [11] took a layered approach different from Jamkhedkar’s and refined the DRM functions within the layers. D. Intra-DRM Interoperabililty (DMP, OMA) III. System Overview This approach tries to achieve interoperability between DRM schemes which implement the same DRM specification. Most standard organizations have focused their activities on supporting interoperable DRM service within their own DRM schemes. So far, there seems to have been no distinct effort or cooperation between standard organizations toward interoperability between heterogeneous DRM schemes. To design an interoperable DRM, we need to consider the problem further on the implementation level as well as the conceptual level. The following conceptual and implementational issues regarding DRM interoperability are drawn from our studies of the previously mentioned approaches. E. Inter-DRM Interoperabililty (MPEG, Coral, Proposed Scheme) 1. Design Considerations This approach tries to address the interoperability between different DRM schemes which implement different DRM specifications. This is the level of interoperability that the end users eventually want to be deployed in their devices. To address this issue appropriately, we need to consider the interoperability issues inherent in DRM. One critical factor that makes interoperability difficult is the trust model. Different DRM schemes are usually designed under different trust models. For example, the trust model of OMA DRM is based on PKI. Through a public key certificate and digital signature, it allows one to identify and authenticate the other party, and it guarantees the integrity and secrecy of an exchanged message. MPEG-21, by contrast, does not specify a particular authentication framework; rather, it determines a specific authentication mechanism based on conversational negotiation. That is, under the MPEG-21 scheme, any authentication mechanism such as X.509 public key certificates, Kerberos shared-secret tickets, or password digests can be deployed. The trust model directly affects the rights model and licensing model. To express a usage rights, OMA DRM uses OMA DRM Rights Expression Language (REL) version 2.0 rooted in ODRL [7], whereas MPEG-21 uses MPEG-21 REL 2.0 rooted in XrML [8]. As Safavi-Naini’s paper [9] indicates, it is not straightforward to directly translate rights expressions from MPEG-21 to OMA, or vice versa. Other factors that make it difficult to provide interoperability include differing identification schemes (e.g., content, device) and differing ETRI Journal, Volume 30, Number 4, August 2008 A. Reduction of Information Leak or Loss Except for MPEG, most approaches have intrinsic security issues in the sense that an exported content item from a source DRM scheme is decrypted and imported into a target DRM scheme. During the export-import process, the content has a high risk of unintentionally revealing the original content itself to the outside. Another security issue with the existing approaches is that they reveal their DRM structures to each other, for example, what the DRM protected content format looks like, how the DRM scheme works, and so on. These can be further sources of security vulnerability. The revelation problem of DRM structure was also addressed in the paper [12]. To cope with these issues, we need to prevent the extraction of original content media from protected content media during the process. We also need to protect each participating DRM scheme’s internal structures. Information loss may be incurred while transforming a content protected by source DRM scheme to the one protected by target DRM scheme. B. Transparent Service to End User A DRM system usually works by controlling the access of the user to a protected content based on the allowed rules described in the rights objects. It puts some restrictions on the user’s use of content. An interoperable DRM system usually requires the installation of additional modules on the user’s side, which exacerbates the situation or problem. Therefore, additional processes which overburden users should be kept hidden or Seong Oun Hwang et al. 567 minimized as much as possible from the user’s point of view. C. Complexity of Implementation and Modifications to Existing Environment A DRM system should be designed to apply DRM functions easily without major modifications of participating DRM modules or protected content format as well as existing player environment such as media players. In principle, it might be possible to achieve interoperability between totally different DRM schemes if we invest a huge effort, time, and resources, although that does not seem very cost-effective. Most DRM schemes that aim to achieve interoperability disregard this aspect and do not succeed. 2. DRM Architecture We define interoperability as the ability to enable users to consume their protected content regardless of the underlying infrastructures, such as DRM schemes, devices, networks, or services, in a transparent way and with no information loss. We describe our DRM architecture in the abstract view of component models, each of which constitutes a consistent DRM scheme. This high level approach is convenient for designing and analyzing a DRM scheme. From this point of view, a DRM scheme, a collection of component models, is thought to be an enabler that performs a service to establish a trust environment where digital content and its embedded rights are executed. In our approach, we define a basic foundational role model and further construct additional models on that. A. Role Model We identify actors who perform major functions in our DRM scheme. An actor is a logically independent entity in terms of performing functions. It does not need to exist independently in the physical sense. A set of functions performed by a number of actors can be done by one physical entity in the real world. In the following, we use the term “traditional” to indicate the context of existing DRM schemes which do not provide interoperability. The proposed DRM scheme referred to as S-DRM (Standard-DRM) which is intended to provide interoperability comprises the following actors: - Certificate authority (CA) is a TTP that provides services for the creation and distribution of electronic certificates. - T-DRM service provider is an existing, traditional DRM service provider which issues usage rights and manages DRM tools on the end user’s side. - S-DRM service provider provides an interoperable DRM service environment where a content item protected under a 568 Seong Oun Hwang et al. traditional DRM scheme can be consumed using S-DRM modules, such as an S-DRM profile generator, an S-DRM rights generator and an S-DRM agent. The key role of the S-DRM service provider is to provide domain functions which enable interoperable DRM service irrespective of underlying traditional DRM schemes. - S-DRM profile generator generates a profile for traditional, protected content. It is usually done by a T-DRM service provider which provides the corresponding content. - S-DRM rights generator issues a rights object that enables interoperable use of traditional protected content. It is usually done by a T-DRM service provider which provides the corresponding content. - S-DRM agent is a minimal unit trusted by the S-DRM service provider. It is installed on the end user’s device and provides access control of protected content, resolution of usage rights, and domain processing. - End user must belong to at least one domain to receive an interoperable DRM service and access to protected content using the S-DRM agent. B. Domain Model A domain is a logical concept for grouping entities, including devices, users, organizations and so on, that access and consume protected content under the same usage rights. In this paper, a domain consists of multiple participating devices. On the participating devices side, a domain manager is installed. Domain managers can be classified into two types according to function: master and slave. All devices in a domain except for the master are considered peers. The master functions as a server for the client of peers. Therefore, a domain consists of a master domain manager and one or more slave domain managers. A master domain manager creates a domain and registers it with the S-DRM domain server. During the registration, the master domain manager establishes an authorized domain (domain ID, domain key, domain policy) from the S-DRM domain server. After a domain is created, devices can join or leave the authorized domain by having their slave domain manager run a join or leave protocol with the master domain manager. Unlike a slave domain manager, a master domain manager executes a registration or update protocol with the S-DRM domain server. We assume that a slave domain device can be connected to the master domain device through various kinds of device-to-device networks including IEEE 1394, USB, Ethernet, Bluetooth, and so on. We also assume that a master domain device can be temporarily or intermittently connected to the network. It is not necessary for a master domain device to be always connected to the network. The separation of roles between the master and slave domain ETRI Journal, Volume 30, Number 4, August 2008 manager reduces the device network connectivity requirement. C. Profile Model It is usually difficult to get inter-DRM interoperability between heterogeneous DRM schemes because DRM vendors transform original content into protection formats of their own. They only have access to their own DRM (client) modules, which interpret and process the formats on the end user’s side. We call this client DRM module a DRM agent. To enable a uniform, generic interpretation and processing of different DRM schemes in our interoperable DRM framework, we introduce the concept of profile. A profile can be defined as an information structure representing each traditional DRM scheme. It is a minimal, essential information structure that enables equivalent simulation of each traditional DRM process in our framework by providing several kinds of information, such as protected content structure, usage rights, data extraction method, and data processing method. The traditional DRM service provider, which is intended to provide an interoperable DRM service, describes or puts DRM structure information into the profile template which is provided by S-DRM service provider. The profile model defines content structures, rights, and the required processing method of traditional DRM schemes. D. Trust and Security Model We assume that there is an S-DRM service provider which is trusted by the traditional DRM service providers. The assumption is very natural because a trust relationship is commonly achieved based on bilateral agreements between an S-DRM service provider and traditional DRM service providers. An S-DRM service provider enables interoperable DRM service by providing trust infrastructure and software tools. We also assume that all the entities described in this role model have their own unique private/public key pairs and certificates. This assumption is also appropriate in the sense that public key infrastructure has becomes an essential part of current digital commerce. To ensure the enforcement of DRM policies, it is recommended that rendering devices, such as mobile phones or MP3 players, be equipped with a trusted computing base (TCB) which can include a tamper-resistant module, such as a trusted platform module (TPM) [13]. A TPM can be used to provide secure storage for important information, such as keys, and cryptographic operations, such as encryption and random number generation. As in most classical DRM security models, we assume that content is encrypted under a content encryption key (CEK). However, the CEK is delivered as a form of rights to the DRM agent on the user’s side as encrypted under the key of the domain which the DRM agent belongs to. The CEK should have a high enough ETRI Journal, Volume 30, Number 4, August 2008 security level so that without the CEK itself, the attacker cannot retrieve the original content item from the encrypted content. We assume that the attacker cannot access the DRM agent’s domain key which will be explained later. To this end, it is recommended to keep the domain key in TPM storage. E. Rights Expression Model There is also a real need for interoperability in the rights expression model, particularly between the ODRL series (OMA REL) and the XrML series (MPEG-21 REL, Microsoft REL). As is well known, those RELs are based on the same language, the DPRL [14]; therefore, they are broadly very similar in structure and semantics. We define our REL by starting on the basic structure of ODRL V1.1 and augmenting it with elements in XrML 2.0 as needed. ODRL is comparatively simple and clearly defines both the formal model for rights expression (rights, permission, assets, and so on) and the semantics of the concrete elements which are used to express a rights instance (play, pre-pay, and so on). The key reason we chose this approach is our observation that people want simple but clear rights expression in the real world, at least regarding interoperability. Our approach is partly supported by the results presented in [9], which concludes that direct translation between ODRL and XrML is possible without loss of information except for several complex contexts and situations. In the following, we show how the traditional DRM and proposed DRM systems work regarding interoperability. First, we assume that there are two different DRM schemes, T-DRM A and T-DRM B, respectively installed on two terminals, and S-DRM not installed. At this stage, there is no interoperability between two terminals. For example, content that is protected by the T-DRM A service provider can be consumed by the T-DRM A agent on terminal I under the permission dictated by T-DRM A rights, but not on terminal II. This is because T-DRM A content cannot be interpreted and processed by the T-DRM B agent on terminal II or vice versa. Figure 1 shows the functional architecture of the proposed system. Here we explain how to provide interoperability when moving protected content from one terminal to another. We assume at this time that S-DRM modules are installed on two terminals. A user downloads and installs both the S-DRM rights and the T-DRM A profile from T-DRM service provider A. The S-DRM on terminal I sends both the S-DRM rights and T-DRM A profile to the S-DRM on terminal II. At this time, the T-DRM A content can be sent between terminals using the S-DRM transfer function or as stored in the memory card. The T-DRM A profile can be sent using the same transfer function or over the server transmission channel. By accessing the Seong Oun Hwang et al. 569 S-DRM service provider T-DRM service provider A Rights object generator Profile generator Rights object generator T-DRM service provider B Profile generator Right object Right object Profile Profile DRM content DRM content S-DRM agent S-DRM agent Domain A S-DRM agent Domain B S-DRM service provider S-DRM domain server Fig. 1. Functional architecture of the proposed system. T-DRM A profile, the S-DRM on terminal II retrieves the information needed to access and process the T-DRM A content. From the S-DRM rights, it also retrieves the information needed to decrypt the T-DRM A content. IV. System Details This section covers details of the proposed framework: S-DRM internal structure, profile, key architecture, and protocols. 1. S-DRM Internal Structure S-DRM at the user’s side consists of the S-DRM agent and its interface to outer rendering applications. Figure 2 shows the internal structure of S-DRM. The application service interface (API) [15] is open to applications and satisfies two requirements. First, an application should be easily developed by just looking at the interface, without deep knowledge of DRM technologies. Second, it should be flexible enough to support various DRM business models. However a DRM scheme with open interfaces and components may have security weaknesses, so it is necessary to minimize or control the level of openness. 2. Profile The S-DRM profile specifies the data and the data 570 Seong Oun Hwang et al. Content Terminal Appl-1 ① … Appl-n ④ Application service API ③ ② S-DRM agent S-DRM agent Transfer manager Rights handler DRM content access Domain manager Profile handler Transfer manager Secure storage manager Secure storage Decryptor S-DRM rights profile key Fig. 2. Internal structure of S-DRM agent. extraction/processing method which allow the S-DRM to process the protected content formats provided by traditional DRM vendors. It is specified using XML schema. The S-DRM is mostly concerned with extraction of data, interpretation of data, decryption of media data, and communication with rendering application. The S-DRM profile schema [15] consists of information on the profile itself and information on DRM content. (1) The profile context consists of the profile structure and context structure. The profile structure contains metadata on the profile itself, metadata on the DRM content, and information extracted from the DRM content. The context structure ETRI Journal, Volume 30, Number 4, August 2008 contains information such as identification and the version of the targeting DRM scheme. (2) The DRM content largely consists of the DRM metadata, the protected content structure, and the inventory structure. The DRM metadata structure specifies how to extract metadata from the DRM content. The metadata from the DRM content includes the following: DRM scheme ID, DRM scheme version, content ID, MIME type of DRM content, file extension of DRM content, MIME type of raw content, encryption method, and right issuer URL. The protected content structure provides the information needed to retrieve raw content from the DRM content, such as plain_text_length and encrypted data. The inventory structure serves as an efficient tool to express the profile by reducing redundancy, but it does not express the DRM content itself. To maximize the universality or power of expression, we referred to the DRM reference model by MPEG LA [16]. We also consider exceptional cases for which profiling is not appropriate. For example, for the cases in which extraction or processing of specific data is so complex that the profiling of specific DRM functions is not efficient or not allowed due to security policy, we allow plug-in architecture as an alternative method, which can be implemented using XML-RPC [17] functions provided by a specific DRM scheme or vendor. rights) and delivered to the content player of the content recipient device. C. Domain Key The domain key is assigned to each domain that consists of a number of devices and is used to encrypt the content encryption keys. When an S-DRM agent is installed, a domain is established. This newly generated domain is managed by a master domain manager. During the registration, the master domain manager gets the domain key from the S-DRM domain server. Every device can be joined to the domain by allowing the slave domain managers on the devices to conduct a join protocol with the master domain manager under the intervention of the user or not. After the join protocols are executed successfully, all the devices pertaining to the domain result in sharing the same domain key. If a device leaves the domain, the corresponding domain manager should update the domain key and distribute it among the participating devices. 4. Protocols This section explains protocols to support operations introduced in the above architecture: basic setting, S-DRM terminal registration, domain management, and content rendering. 3. Key Architecture Keys are largely classified into three kinds of keys, a devicerelated one (device key), a content-related one (content encryption key), and a key binding those two keys (domain key). The content encryption key uses the AES [18] encryption algorithm with a 128-bit key. The device key and the domain key use the RSA [19] encryption algorithm with a modulus 1024-bit key. A. Device Key Every device has its own public key/private key pair and a device certificate which is installed at manufacturing time by the device manufacturer. Its form can vary depending on the type of device and manufacturer. We assume the existence (use) of a secure storage area for the key storage. For a mobile terminal, a universal subscriber identity module (USIM) is an example of a secure area. The device key is used to encrypt information, for example, a domain key that should be transmitted securely to each individual device. B. Content Encryption Key The content encryption key is used to encrypt a media content item. The content encryption key is encrypted under the content recipient’s domain key (which is contained in the ETRI Journal, Volume 30, Number 4, August 2008 A. Basic Setting To provide interoperability with traditional DRM schemes, both S-DRM rights and T-DRM profiles should be transferred to the S-DRM agent on a terminal. To do this, the traditional DRM service provider should provide the following services: - To allow the S-DRM terminal to join or leave the S-DRM domain using the S-DRM domain manager - To generate a T-DRM profile using the S-DRM profile generator and send it to the S-DRM agent - To generate S-DRM rights using the S-DRM rights generator and send the data to the S-DRM agent A profile can be open to or kept secret from outside world. This depends on the security policies of traditional DRM vendors. If they choose an open policy, the secrecy of the DRM system is equivalent to one of the open DRM systems pursued by standardization organizations such as OMA, DMP, and so on. If they keep their profiles secret, the profiles should be securely kept. In this case, profiles should be transmitted to and accessed from the authenticated S-DRM agent. To do this, the vendors may use the domain key to encrypt the profiles. Domain keys are generated during S-DRM terminal registration which will be further explained. We note that a Seong Oun Hwang et al. 571 domain is managed by the S-DRM service provider, and different T-DRM service providers do not need to agree upon a common domain. B. S-DRM Terminal Registration To get S-DRM rights issued, an S-DRM terminal needs to be registered with a T-DRM service provider. Before registering with the T-DRM service provider, a domain context should be established. The S-DRM terminal requests domain setup to the domain server on the S-DRM service provider’s side. During domain setup with the S-DRM service provider, the domain context is established on the S-DRM terminal. The domain context includes domain ID, domain certificate, domain key, list of participants’ (devices’) IDs, expiration date, and domain constraints (that is, the maxim number of terminals which can join the domain). Then, the S-DRM terminal registers its information with the T-DRM service provider. The information includes the protocol version, T-DRM terminal ID, S-DRM terminal IDs, and domain context. This registration protocol should be executed whenever the domain is updated. C. S-DRM Domain Management In this subsection, we describe how to set up, join, or leave an S-DRM domain. Protocol to Set Up/Update a Domain 1. The device initiates contact with the S-DRM domain server. 2. The S-DRM domain server authenticates the device and communicates the domain context (including a new/updated domain key, domain ID, a list of participating devices, and the maximum number of participating devices) to the device over the secure authenticated channel (SAC). 3. The device establishes its own domain context and stores the domain key at the secure storage of the device. In this protocol, for authentication of the device, the S-DRM domain server sends an authentication request to the device. It then extracts the device ID from the certificate sent by the device. It then checks that the certificate sent by the device is valid. Protocol to Join a Domain 1. An S-DRM slave domain manager device initiates contact with the S-DRM master domain manager. 2. They establish an SAC and authenticate each other. 3. The S-DRM master domain manager checks if a given set of domain rules and policies (such as the number of acceptable devices in the domain) are met. If the check result is OK, then it transmits a domain key to the device 572 Seong Oun Hwang et al. over the SAC and updates the domain context. 4. The S-DRM slave domain manager stores the domain key at the secure storage area. In this protocol, the S-DRM master domain manager takes a delegated role of joining an S-DRM slave domain manager to the domain on behalf of an S-DRM domain server. As another option, to improve the security of the domain key, it is possible to update domain keys whenever the join protocol is performed. In this case, the S-DRM master domain manager performs the update procedure with the S-DRM domain server and broadcasts the new domain key to the connected member devices including the joining S-DRM slave domain manager. To reduce the overhead caused by frequent updates of domain keys and to strike the balance between performance and security, we recommend that the domain key remains the same when the join protocol is performed. This join protocol can be seen as a limited version compared to the full version of the join protocol, where the domain key is updated whenever the join protocol is performed. Protocol to Leave a Domain 1. An S-DRM slave domain manager device initiates contact with the S-DRM master domain manager. 2. They establish an SAC and authenticate each other. 3. The S-DRM master domain manager performs the update procedure with the S-DRM domain server. 4. The master domain manager broadcasts the new domain key to the connected member devices except the leaving slave domain manager over SAC. Unlike the join protocol, the domain key should be updated and distributed among the participating devices whenever the leave protocol is performed so that the device which is leaving cannot consume (decrypt) new content items published in the domain after it leaves the domain. Note that when a user requests to acquire a new content item after a domain key is updated, the content item and a new domain key are transmitted to the device. During this procedure, the domain key version of the device is checked against the version of the S-DRM domain server. If the domain key has not been updated, then new domain keys are transmitted to the device. In the leave procedure, when the network connection between the S-DRM master domain manager and the S-DRM domain server is not available, steps 3 and 4 can be performed afterwards when the network is available. In this case, the S-DRM master domain manager generates and broadcasts a temporary, short-lived domain key to slave domain managers except the leaving S-DRM slave domain manager. The temporary domain key should be replaced with the one issued ETRI Journal, Volume 30, Number 4, August 2008 by the S-DRM domain server later. Users, particularly advanced users, can register new devices in their multiple devices environment. However, to reduce the difficulty or complexity a user might feel during registration, we provide an automatic registration method that does not require the user’s involvement. The concept of domain in DRM originally was intended to allow content sharing among devices owned by an entity, for example, the same household [20]-[22]. Although the usage scenarios of the proposed method are somewhat similar to those of previous methods based on the domain concept, the details including implementation mechanisms and protocols are different. D. Content Rendering When a user plays DRM-protected content, the following occur in the background. 1. The application gives the name of the protected content and rights to the S-DRM agent. 2. The S-DRM agent authenticates the rights and retrieves the domain key from secure storage of the device. 3. The S-DRM retrieves the content encryption key from the rights using the domain key and decrypts the protected content using the content encryption key. 4. The application renders the decrypted content by the S-DRM agent. V. Analysis In this section, we present the case study result and compare the proposed scheme with other interoperable DRM schemes. Before this research, we implemented two DRM systems in the mobile communication and entertainment environments: an OMA DRM version 2.0 system and our proprietary DRM system. The DRM agents of the systems were employed on a smartphone (ARM9, 400 MHz, CDMA1x EDVO 2.4 Mbps). We produced an OMA DRM protected content item and its related rights. From the rights, we retrieved the content encryption key and constructed other rights which could be interpreted by our proprietary DRM agent. The critical point is how to construct a profile template for OMA DRM 2.0. Note that the objective of the case study is to check the feasibility of the profile concept rather than to establish a normative, extensive form of profile. To name a few items in the profile, it includes an encryption algorithm, a padding scheme, the rights issuer URL, and the offset/size/type of encrypted data. In the profile, we support AES-128-CBC and AES-128-CTR as encryption algorithms. We support RFC 2630 [23] as padding schemes in addition to non-padding schemes. In the following, we analyzed how well the proposed system ETRI Journal, Volume 30, Number 4, August 2008 addressed the issues that were set forth in section III.1. From the security point of view, the proposed system achieved the security requirements previously discussed, namely, the prevention of information loss or leakage during interoperable DRM service. The proposed scheme avoids this through the deployment of the secure profiling concept. It avoids direct translation or transformation which might be vulnerable to information loss. That is, the proposed scheme starts off without changing the existing DRM information structure. It only allows the addition of information structures needed to bridge different DRM structures. Therefore, it is relatively free from the problem of information loss. Content protection in our proposed system is dependent upon the security of domain keys. For attackers to decrypt content, they need to access CEK which was already stored as encrypted under the domain key. However, they fail because the domain key is managed at the access controlled file system provided by mobile device manufacturers in our case study. To improve the security level, we recommend using hardware modules such as smartcards, and in the case of some mobile phones, USIM. From the user’s point of view, the system provides a means to control the level of any awareness or actions at the end user’s side. To maximize transparency, the system provides DRM interoperability without requiring any awareness or action on the part of users. It is reported that only Coral provides transparency. The proposed scheme provides transparency based on a domain model which allows actions usually done by a user to be performed by the server on behalf of the user. The user does not need to be aware of the details of devices or protection schemes or which devices support which protection schemes. Instead, a user only needs to perceive the external views without considering the underlying protection schemes. The traditional approaches toward DRM interoperability require very high implementation complexity, which is not appropriate for devices such as mobile phones or portable media players, which have very limited resources (CPU, memory) and are intermittently connected to the network. From the implementation complexity point of view, many traditional schemes require modifications to protected content format, playback software, or DRM modules, in part or as a whole. In general, it is inevitable that DRM makes some modifications to playback software.1) To reduce the number of necessary modifications, the proposed scheme opens an API set in order to make possible modifications fewer, easier, and timelier. Another issue to consider when implementing interoperable DRM service is the dependency of network 1) Note that the proposed framework is based on the chains of trust among parties, including playback software providers, T-DRM service providers, and S-DRM service provider. Seong Oun Hwang et al. 573 connectivity. For example, Coral is a highly connected model which cannot be easily extended to intermittently connected devices, such as portable music or video players. The proposed scheme runs even in off-line environments. VI. Conclusion In this paper, we presented an overview of some existing approaches toward interoperability of DRM schemes. We analyzed their characteristics, classified them, and identified challenging issues in this area, including information loss/leak, transparency and implementation complexity. To address these issues, we proposed an interoperable DRM framework based on the concepts of domain and profile. The domain concept allows users to consume content on their devices in a more natural, and transparent way. We also provided domain protocols that do not require the involvement of users. The profile concept enables interoperability through add-on functionality. It does not require major modification of existing protected content formats or DRM modules; therefore, the proposed scheme can considerably reduce the possibility of information loss or leak. Our framework also solved the implementation issues by opening the API, which enables rapid development of applications by developers without deep knowledge of DRM technologies. In the proposed system, all participating DRM schemes are based on PKI. Under the proposed framework, it may be possible to provide interoperability between non-PKI DRM schemes and our S-DRM scheme in an ad hoc way. Surely it is not a desirable direction. As a future research topic, we could consider how to support DRM interoperability between PKI and non-PKI based DRM schemes. References [1] INDICARE, “Consumer Survey on Digital Music and DRM,” http://www.indicare.org, May 2005. [2] OMA (Open Mobile Alliance) 2.0, http://www.openmobilealliance.org, September 2007. [3] MPEG-21, http://www.chiariglione.org/mpeg/standards/mpeg-21/ mpeg-21.htm. [4] DMP (Digital Media Project), http://www.dmpf.org. [5] Coral, “Coral Consortium Core Architecture 3.0,” http://www. coral-interop.org, June 2006. [6] R.H. Koenen, J. Lacy, M. Mackay, and S. Mitchell, “The Long March to Interoperable Digital Rights Management,” Proc. the IEEE, vol. 92, 2004, pp. 883-897. [7] ODRL (Open Digital Rights Language), “Open Digital Rights Language v1.1,” http://www.odrl.net. [8] ContentGuard, eXtensible Rights Markup Language (XrML) 2.0 574 Seong Oun Hwang et al. Specification, Nov. 2001. [9] R. Safavi-Naini, N.P. Sheppard, and T. Uehara, “Import/Export in Digital Rights Management,” Proc. ACM Workshop on Digital Rights Management, 2004. [10] P. Jamkhedkar and G. Heileman, “DRM Interoperability Analysis from the Perspective of a Layered Framework,” Proc. ACM Workshop on Digital Rights Management, 2005. [11] S. Michiels, K. Verslype, W. Joosen, and B. De Decker, “Towards a Software Architecture for DRM,” Proc. ACM Workshop on Digital Rights Management, 2005. [12] B. Choi, Y. Byun, J. Nam, and J. Hong, “A Tool Pack Mechanism for DRM Interoperability,” ETRI Journal, vol. 29, no. 4, 2007, pp. 539-541. [13] Trusted Computing Group, Trusted Computing Platform Alliance Main Specification Version 1.1b, Feb. 2002. [14] Xerox Corporation, The Digital Property Rights Language, 1998. [15] S.O. Hwang and K.S. Yoon, The Mobile DRM Specifications V 1.0, Telecommunications Technology Association (TTA), Korea, 2006. [16] MPEG LA (Licensing Authority), “DRM Reference Model 3.0,” http://www.mpegla.com. [17] XML-RPC, http://www.xmlrpc.com. [18] Advanced Encryption Standard (AES), NIST FIPS 197, http://csrc.nist.gov/encryption/aes/index.html. [19] R.L. Rivest, A. Shamir, and L. Adleman, “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,” Comm. ACM, vol. 21, 1978. [20] DVB (Digital Video Broadcasting), “Part 7: CPCM Authorised Domain Management,” in Content Protection & Copy Management Specification, 2007. [21] B.C. Popescu, F.L.A.J. Kamperman, B. Crispo, and A.S. Tanenbaum, “A DRM Security Architecture for Home Networks,” Proc. 4th ACM Workshop on Digital Rights Management, 2004. [22] T.S. Messerges and E.A. Dabbish, “Digital Rights Management in a 3G Mobile Phone and Beyond,” Proc. the 3rd ACM Workshop on Digital Rights Management, 2003. [23] R. Housley, Cryptographic Message Syntax, IETF RFC2630, http://www.ietf.org/rfc/rfc2630.txt, 1999. Seong Oun Hwang received his BS degree in mathematics in 1993 from Seoul National University, his MS degree in computer and communications engineering in 1998 from Pohang University of Science and Technology, and his PhD degree in computer science from Korea Advanced Institute of Science and Technology. He worked as a software engineer at LG-CNS Systems, Inc. from 1994 to 1996. He worked as a senior researcher at Electronics and Telecommunications ETRI Journal, Volume 30, Number 4, August 2008 Research Institute (ETRI) from 1998 to 2007. Since 2008, he has been working as an assistant professor with the Department of Computer and Information Communication Engineering of Hongik University, Korea. His research interests include cryptographic algorithms, protocols, and applications. Ki Song Yoon received his BS degree in shipbuilding engineering in 1984 from Pusan National University, Pusan, Korea. He received his MS and PhD degrees in computer engineering from City University of New York, New York, USA, in 1988 and 1993, respectively. Since 1993, he has been working as a principal researcher with Electronics and Telecommunications Research Institute (ETRI), Korea. His research interests include network protocols and applications. ETRI Journal, Volume 30, Number 4, August 2008 Seong Oun Hwang et al. 575