Digital Rights Management (DRM) systems govern the use of content by describing per-user rights in machine-readable licences and enforcing them by using cryptographic methods. The public’s conception of the term “DRM” today does not extend beyond a copy-protection system of the content industry. DRM systems are seen as means to just restrict copying and sharing of multimedia content and are thus viewed negatively.

The OpenTC project will provide an open-source framework for establishing trusted application environments on free operating systems like Linux. This approach plans to enforce integral trust and security of the system, because the applications are caged in trusted environments, in which only certified, trustworthy applications are allowed to run. The system can detect malicious software like viruses and exploits and prevents their execution. Furthermore, OpenTC protects imperilled programs against external access, so that no program outside the environment may access security relevant data. The trust is rooted on a Trusted Platform Module (TPM), a hardware component that can securely store cryptographic keys and ensure integrity of the system.

We aim to use this concept for creating a DRM system which governs the use of all kinds of sensitive data, not just multimedia content. An example for alternative uses of DRM is the medical sector, where patient records and related information have to be protected against unauthorised access. Without a trusted environment, attackers may enter a computer system e.g. by using a virus or exploiting a security vulnerability to obtain unauthorised access to stored information, including sensitive data. In a trusted system, sensitive information is protected by encryption. The corresponding keys are stored within the TPM and are bound to a specific platform state (This procedure is called “sealing” in the Trusted Computing Group nomenclature). Rogue software is never allowed to be executed in a trusted system and even if it were, it would alter the platform’s state, thus disabling access to the “sealed” keys.

A trusted infrastructure on an open-source system may open the door for devising DRM systems providing two primary advantages: Transparency and interoperability. By introducing an open DRM core that is common to all applications, the DRM procedure becomes more transparent. This is in strong contrast to the current situation, where security is mainly based on obscurity, i.e. on keeping the function of the DRM system itself secret. This leads to proprietary applications to handle protected content and as a direct consequence thereof those applications preclude interoperability. Accordingly, many different systems and applications exist for performing the same task, each one having its own ways for managing content and licenses. In contrary to that, an open architecture facilitates interoperability, because the DRM core uses standardised technology for license management. Various elements of the MPEG-21 standard will be used to accomplish this mission. Internally, the DRM core works with MPEG-21, so whenever licenses from external licensing domains are introduced to the system, e.g. licenses issued by OMA DRM or Windows Media DRM, the DRM core translates them into an equivalent MPEG format so it can manage them. Such translations, although technically feasible, are facing trust problems. Since licenses are signed by the content owners or rights holders, a translated license must also be signed by a trustworthy entity. Such a signature is only possible when a trusted environment is present, like the one provided by OpenTC. The trusted environment is also beneficial in cases where content reencryption is needed.

MPEG-21 Rights Expression Language (MPEG REL) is a language versatile enough to accommodate functionality from various other rights expression languages. Thus, translations to and from other languages are possible, as long as they are based on the same principles. Such translations are needed when content needs to be transferred to external devices for rendering. The procedure can be made transparent to the user, who does not have to deal with trust issues, as they are automatically taken care of by the DRM core.

A concept for an interoperable DRM system
Our concept is based on several services that we can expect from the OpenTC infrastructure: The TPM-Chip is the root of trust in the system and is used by OpenTC for building up a trusted environment for applications. Only certified applications are allowed to run in such a context and they can rely on the fact that the underlying operating system with its modules and drivers are trusted, too. We assume that all data within the secure environment is protected against attacks, so no special care or encryption in the user layer is necessary any more. The distributor of the operating system decides which program is secure and which not, and provides relevant certificates. These certificates may also contain information about the capabilities of the application or the level of security it needs to perform particular actions. Depending on this information, OpenTC can restrict access to sensitive information or specific hardware components of the system. Thus, uncertified applications, including viruses, manipulated hardware drivers and other malicious code cannot start in a secure environment. This protection is transparent to the user, as the OpenTC infrastructure takes care of it in the background without the need for user intervention.

The following diagram shows our currently planned architecture with the above environment in mind:


Figure 1: Diagram of currently planned architecture

The central component of the system is the DRM-Core. Its tasks are to offer several services to the application layer regarding interpretation of licenses, as well as to provide the central key store for protected content. As it is a component used by several applications, it is placed within the OpenTC infrastructure. That way, it can be certified along with the system and be trusted by all applications. The Core consists of three basic parts: The license parser, the translation manager and the key store.

License Parser
The License Parser offers services regarding verification and interpretation of licenses. These services are central to any DRM process and are accessed from the outside by an API, which includes all functions that are necessary for an application to access a protected file. A player application can be any program that can be executed in a trusted environment and that is able to render content. It has to be compatible to the DRM-System to know the API of the core and how to handle content. Such a player application can directly access the DRM-Core via the API to request access to protected content. The player has to provide its license, so the core can decide if the user has permission to access the data. If access is granted, the core returns the content key from the key store and the player can render the content. Legacy players, which cannot access the API directly, are also supported by our architecture. Players of that kind are not aware of the DRM-Core, but are favoured by users for whatever reason. These cases are handled by an IO-Socket interface, which handles the license authentication and interpretation transparently to the application. For the player, the whole process is similar to a normal file access. The player only has to support the content’s type and be connected to the IO-Socket through a plug-in. The player receives the unprotected content from the socket and can render it. The IO-socket in this case converts and forwards requests through the API to the DRM-Core. Since all applications, including the legacy ones, run in the secured environment, handing out the content key or the decrypted content itself is no problem, since it is guaranteed that the applications will not misuse it. This is a great advantage of having a trusted computing base.

License Translation Manager
Internally, the core uses MPEG-21 as a DRM framework. MPEG-21 also provides facilities for identifying content. Unique identifiers are used by the core to relate content with licenses and keys in the key store. Whenever foreign content enters the system, i.e. content protected with a license in a language other than MPEG REL, the license translation subsystem converts the external license to MPEG REL, so that it can be processed by the license parser. Since the core is trusted, the translation can also be trusted. The license translator uses an extensible architecture which utilises plug-ins for different license formats. Our prototype will support at least OMA licenses, while other common ones, e.g. Windows Media and iTunes, can also be supported if respective information is available. The translation manager can be requested to export an MPEG license into any other supported format. The import/export functionality of the DRM-Core provides interoperability with other systems.

Key Store
A particularly important component of the core is the key store. The key store contains the keys which were used to protect content in the system. The core ensures that a content key is given out only when a requested action is allowed by the license. The key store is organised as a table which contains keys and unique content identifiers. The same identifiers are used in the licenses to reference content. Respective technologies are part of the MPEG-21 standard. The key store is implemented as an encrypted file, which is decrypted by the core when a secure environment is established. This is done with the help of the TPM, which seals the key store master key, so that it can only be accessed in a particular system integrity state. The core itself is thus only able to retrieve the master key when the system is secure.

Multimedia content is used in a variety of industrial branches. As described above, the health sector is a good example for the reasonable usage of a DRM system. Another application is in the entertainment sector, where video and audio files need protection. In that case, the system provides fairness towards the user as well as to the owner of the content. In the e-learning sector the system can be used as a cheap and standardised solution to protect important multimedia content. The standardisation enables the system to work on different platforms, a fact that is useful in teaching facilities with large heterogeneous networks.

We believe that by using the advantages a trusted computing environment provides, we can develop a successful DRM-System. The important advantages our system will have are:

  • Interoperability with other DRM Systems
  • Transparency
  • Convenience for the user
  • Support of legacy software

Our approach differs from other DRM-Systems, because it will be open-source and uses the TPM-Chip to enforce security. Today, many systems are obscure and it is essential for them to keep the encryption methods secret. In contrast to that, open source means that every user can observe exactly what happens with the licenses and the keys. In combination with the TPM-Chip a secure and trustworthy system can be designed, which enforces all applications to work according to their specification. Security is then based on the manufacturer of the TPM-Chip, who ensures and certifies that it is a trustworthy hardware component.

In our project we also would like to involve the Open Source Community. Generally, we expect a negative reaction because our system works basically as a usual DRM System. The Draft version of the GPLv3 gives an impression about the emotional attitude towards DRM. In our point of view the principal problem of DRM is that it is not transparent enough for the user. But this is not a technical problem; it is an effect of the marketing and business models behind the content. These models are so restricted that user interference is often needed.

We hope that participation of the Community in our project will improve such problematic aspects. The project will be available under the GPL, so that the system can even be extended by the open-source community if the need arises. In that way, we want to enable the Linux community to use the advantages of Trusted Computing based DRM for protecting arbitrary data.

  • MPEG: MPEG-21 Multimedia Framework Part 1: Vision, Technologies and Strategy. Reference: ISO/IEC TR 21000-1:2004. From ISO/IEC JTC
  • MPEG: MPEG-21 Multimedia Framework Part 3: Digital Item Identification. Reference: ISO/IEC TR 21000-3:2003. From ISO/IEC JTC
  • MPEG: MPEG-21 Multimedia Framework Part 4: Intellectual Property Management and Protection Components. Reference: ISO/IEC TR 21000-4. From ISO/IEC JTC
  • MPEG: MPEG-21 Multimedia Framework Part 5: Rights Expression Language. Reference: ISO/IEC FDIS 21000-5:2004. From ISO/IEC JTC 1/SC 29/WG 11.
  • MPEG: MPEG-21 Multimedia Framework Part 6: Rights Data Dictionary. Reference: ISO/IEC TR 21000-6:2004. From ISO/IEC JTC
  • Open Mobile Alliance (2005): DRM Specification Candidate Version 2.0.
  • OpenTC-Project Homepage:
  • Trusted Computing Group (2004): TCG Specification Architecture Overview. Trusted Computing Group, Incorporated. Revision 1.2.

About the authors: Dipl.-Ing. Florian Schreiner is a research and teaching assistant at the Institute for Data Processing, Technische Universität München. Contact:
Dr.-Ing. Michael Pramateftakis is a research and teaching assistant at the Institute for Data Processing, Technische Universität München. His research field is system security and cryptography. Contact:
Dipl.-Ing. Oliver Welter is a research and teaching assistant at the Institute for Data Processing, Technische Universität München. His research field is public key systems and their application. Contact:

Status: first posted 01/03/06; licensed under Creative Commons; included in the INDICARE Monitor of February 2006