EP2013805A1 - Collaborative digital rights management processor - Google Patents

Collaborative digital rights management processor

Info

Publication number
EP2013805A1
EP2013805A1 EP07727454A EP07727454A EP2013805A1 EP 2013805 A1 EP2013805 A1 EP 2013805A1 EP 07727454 A EP07727454 A EP 07727454A EP 07727454 A EP07727454 A EP 07727454A EP 2013805 A1 EP2013805 A1 EP 2013805A1
Authority
EP
European Patent Office
Prior art keywords
digital content
content playback
playback device
digital
drm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP07727454A
Other languages
German (de)
French (fr)
Inventor
David Paul Dutcher
Frederick John Gnuechtel
Helen Elisabeth Gnuechtel
Herman Rodriguez
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of EP2013805A1 publication Critical patent/EP2013805A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Definitions

  • the present invention relates generally to digital rights management and, more specifically, to a method for providing access to DRM material on multiple devices.
  • DRM digital rights management
  • DRM is a system for protecting the copyrights of material circulated via communication networks by either encrypting the material or embedding a watermark within the material.
  • DRM focuses on security and encryption as a means to solving the issue of unauthorized copying of protected materials. Encryption prevents users without a specific code from accessing the material and watermarks provide owners the ability to prove a particular piece of material was copied.
  • Current versions of DRM address the description, identification, trading, protection, monitoring and tracking of rights to protected assets, including both tangible and intangible assets and the relationships among right holders. It should be noted that DRM is the digital management of rights and not the management of digital rights. In other words, DRM manages all rights associated with protected materials, not only the rights applicable to permissions associated with digital content.
  • DRM digital management
  • the functional architecture addresses the high-level components or modules of the DRM system that provide an end-to-end management of rights.
  • the information architecture covers the modeling of entities within a DRM system as well as their relationship.
  • DRM whether placed on a personal digital assistant (PDA) , television set, CD, DVD or MP3 player, or any other digital content playback device that accesses protected material, requires at least three (3) resources, i.e. memory to store the material, both in encrypted and unencrypted forms, interfaces to transmit and present the material and processing capability to decrypt the material and verify that the user accessing the material is authorized to do so.
  • each playback device that implements DRM includes all three of the resources mentioned above to provide access to protected material.
  • Broadcast encryption is based upon a key management block (KMB) , which is a block of data sent at the beginning of a broadcast or is prerecorded on blank media during the manufacturing process.
  • KMB key management block
  • One of the largest advantages to broadcast encryption is that two devices, which might be previously unknown to each other, can agree upon a key over a one-way communication path. This advantage makes broadcast encryption ideal for the downloading of digital content from a server to a user.
  • any compliant device that has access to the same KMB, IDb and EKt can decrypt the content by reproducing the same Kb and decrypting Kt.
  • a system for digital rights management comprising: a processor; a non-volatile memory coupled to the processor; logic, stored on the non-volatile memory and executed on the processor, for authenticating a digital content playback device; and logic, stored on the non-volatile memory and executed on the processor, for applying digital rights processing algorithms to digital rights controlled content stored on the digital content playback device to enable digital content playback on the digital content playback device.
  • DRM digital rights management
  • a method for executing digital rights management comprising: configuring a portable processing device to authenticate a digital content playback device; storing on a non-volatile memory logic coupled to the portable processing device digital rights processing algorithms; communicatively coupling the portable processing device and the digital content playback device; and enabling digital content playback on the digital content playback device with the digital rights processing algorithms on the portable processing device once the portable processing device has authenticated the digital content playback device.
  • DRM digital rights management
  • a computer programming product for digital rights management comprising: a non-volatile memory; logic, stored on the non-volatile memory, for authenticating a digital content playback device; and logic, stored on the non-volatile memory, for applying digital rights processing algorithms to digital rights controlled content stored on the digital content playback device to enable digital content playback on the digital content playback device.
  • DRM digital rights management
  • DRM digital rights management
  • a device such as, but not limited to, a multimedia card (MMC) or a DRM processor (DRMP) , preferably provides memory, processing, logic and an interface for accessing DRM material on a playback device.
  • MMC multimedia card
  • DRMP DRM processor
  • the MMC may be inserted into multiple devices and preferably provides the resources necessary for accessing the DRM protected material on each device when inserted.
  • the DRMP is preferably coupled either wirelessly or through available connections to the playback device to provide DRM resources. This technology preferably enables multiple playback devices to operate independently and also preferably maintains the portability of the protected materials.
  • the MMC or DRMP preferably communicates with the device to validate and enable access to any digital content on the device.
  • the MMC or DRMP can then be removed or otherwise decoupled from the playback device and coupled to another playback device, such as a CD player, to provide access to protected digital content on the CD player.
  • the MMC or DRMP has wireless capabilities, such as, but not limited to, Bluetooth, and broadcasts its capability to perform DRM functions on behalf of compatible playback devices to the other compatible devices.
  • the MMC or DRMP and other compatible playback devices preferably communicate wirelessly to execute the DRM management.
  • a compatible playback device stores both DRM protected materials and data that specifies the access rights that are permitted with respect to the protected materials.
  • each playback device does not need to store algorithms for processing the DRM materials or provide resources, such as processing power and memory, to implement the access to the DRM material. In this manner, playback device resources are conserved, access devices can be simpler and the DRM processing resources can be centralized for ease of maintenance and security.
  • FIGURE 1 is a block diagram of a content distribution system, including a digital rights management (DRM) processor (DRMP) and compatible, digital content playback devices that implement digital rights management according to a preferred embodiment of the present invention.
  • DRM digital rights management
  • DRMP digital rights management processor
  • FIGURE 2 is a block diagram of multimedia card (MMC) that implements the a preferred embodiment of the present invention.
  • MMC multimedia card
  • FIGURE 3 is a flowchart of a Manage DRM process employed on a device that implements a preferred embodiment of the present invention.
  • FIGURE 4 is a flowchart of a portion of the DRM process of FIGURE 3 in more detail.
  • FIGURE 5 is a flowchart of Process Content block of Process Request block and Manage DRM process of FIGURES 3 and 4 in more detail.
  • the claimed subject matter can be implemented in any digital rights management (DRM) system in which a consolidation of the DRM processing from the digital content playback device is desirable.
  • DRM digital rights management
  • Those with skill in the computing arts will recognize that the disclosed embodiments have relevance to a wide variety of computing and multimedia devices in addition to those described below.
  • the methods of the disclosed invention can be implemented in software, hardware, or a combination of software and hardware.
  • the hardware portion can be implemented using specialized logic; the software portion can be stored in a memory and executed by a suitable instruction execution system such as a microprocessor, personal computer (PC) or mainframe.
  • a "memory” or “recording medium” can be any means that contains, stores, communicates, propagates, or transports the program and/or data for use by or in conjunction with an instruction execution system, apparatus or device.
  • Memory and recording medium can be, but are not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus or device.
  • Memory and recording medium also includes, but is not limited to, for example the following: a portable computer diskette, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or flash memory) , and a portable compact disk read-only memory or another suitable medium upon which a program and/or data may be stored.
  • One embodiment of the present invention is directed to a programmed method for partitioning the resources associated with DRM among multiple digital content playback devices.
  • the term "programmed method”, as used herein, is defined to mean one or more process steps that are presently performed; or, alternatively, one or more process steps that are enabled to be performed at a future point in time.
  • the term programmed method anticipates three alternative forms. First, a programmed method comprises presently performed process steps. Second, a programmed method comprises a computer-readable medium embodying computer instructions, which when executed by a computer performs one or more process steps. Finally, a programmed method comprises a computer system that has been programmed by software, hardware, firmware, or any combination thereof, to perform one or more process steps.
  • FIGURE 1 is a block diagram of a content distribution system 100, including a digital rights management (DRM) processor (DRMP) 102 and compatible, digital content playback devices 104, 106, 108, 110 and 112 that implement digital rights management according to the preferred embodiment.
  • DRM digital rights management
  • Compatible playback devices include a computing system 104, a cable modem 106, which is coupled to a television 108, a DVD/CD player 110 and a server computer 112.
  • Devices are "playback" devices in that they enable users to view or otherwise display materials protected by DRM, once the material have been processed by DRMP 102.
  • DRMP 102 includes a display 114 and function buttons 116, which enable a user to access and control DRMP 102. Examples of information that might be shown in display 114 include, but are not limited to, playback devices currently able to communicate DRMP 102, specific material available on the access device, types of connections to the playback devices (e.g., wired or wireless) and the status of the available material (e.g., not available, in process of being made available, available) .
  • Function buttons 116 provide a means for a user to select various playback devices to access and DRM-protected materials to process.
  • DRMP 102 also includes an input/output (I/O) port 118 that enables playback devices to communicate with DRMP 102.
  • I/O input/output
  • port 118 is a universal serial bus (USB) port.
  • USB universal serial bus
  • DRMP 102 there are many possible configurations for DRMP 102 and corresponding I/O apparatus, and user interfaces of which FIGURE 1 is merely one example.
  • a multimedia card (MMC) 150 is used (see FIG. 2) and this installs into an expansion slot (not shown) in a compatible playback device. Additional components of DRMP 102 employed to implement the solution disclosed are similar to those described below in conjunction with MMC 150.
  • Computing system 104 includes a central processing unit (CPU) 124, which is coupled to a monitor 126, a keyboard 128 and a mouse 130. Monitor 126, keyboard 128 and mouse 130 facilitate human interaction with computing system 104. Attached to CPU 124 is a data storage component 132, which may either be incorporated into CPU 124 i.e. an internal device, or attached externally to CPU 124 by means of various, commonly available connection devices such as but not limited to, a universal serial bus (USB) port (not shown) . Data storage 132 is illustrated storing exemplary digital content 134. It should be noted that although the description focuses on digital material, analog materials can also be stored and protected by DRM. The claimed subject matter is equally applicable to the access of analog content so protected.
  • CPU central processing unit
  • Digital content 134 is used merely as an example for the purposes of illustration.
  • a key management block (KMB) 136 Stored in conjunction with digital content 134 is a key management block (KMB) 136, which includes information and security keys needed to make digital content 134 available.
  • KMB 136 may specify restrictions, or access rights, associated with the use of digital content 134. Access rights may include such items as a list of authorized users, an expiration date and limits upon the number of times digital content 134 may be accessed.
  • KMB 136 includes information such as a digital certificate and digital signatures that enable the identity of digital content 134 and computing system 104 to be verified. KMB 136 is described in more detail below in conjunction with FIGURE 5.
  • each of the access devices 104, 106, 108, 110 and 112 would store their own materials and KMB subject to management by DRM as applied by DRMP 102.
  • digital content and associated KMB is only illustrated on computing system 104.
  • Cable modem 106, television 108, DVD/CD player 110 and server 112 are other examples of playback devices that may employ DRM and the disclosed technology.
  • DVD/CD player 110 is illustrated in conjunction with a DVD 138, which also can store DRM protected materials, accessible through player 110 after processing by DRMP 102.
  • Server 112 may store DRM protected materials that are, once processed by DRMP 102 made available to other devices, such as cable model 106, television 108 and DVD/CD player 110.
  • Server 112 may employ a variety of communication medias to provide such materials, such as the Internet 140, a local area network (LAN) (not shown) and/or a direct wire connection (not shown) .
  • LAN local area network
  • direct wire connection not shown
  • DVD/CD player 110 and server 112 are coupled to DRMP 102 via I/O port 118 and wired links 120.
  • Computing system 104 and cable modem 106 are communicatively coupled to DRMP 102 via wireless links 122.
  • Devices 104, 106, 108, 110 and 112 and communication links 120 and 122 are used merely as examples of types of playback devices and links that might be included in an architecture that supports the claimed subject matter, such as content distribution system 100. Those with skill in the arts should appreciate that there are many types of devices that would benefit from centralizing processing and memory usage associated with DRM.
  • FIGURE 2 is a block diagram of a multimedia card (MMC) 150, which, like DRMP 102 (FIG. 1) , implements a preferred embodiment of the present invention.
  • MMC 150 includes a DRM algorithms component 152, a data storage component 154, a processing component 156, and a communication component 158. Components similar to components 152, 154, 156 and 158 are also part of DRMP 102. The functioning of components 152, 154, 156 and 158 is described in more detail below in conjunction with FIGURES 3-5.
  • DRM algorithms component 152 stores the executable code necessary to implement DRM.
  • DRM code include, but are not limited to, code for the retrieval and storage of, in the following example, digital content 134 (FIG. 1) and KMB 136 (FIG. 1) , procedures for encryption and decryption and the analysis of rights specified in KMB 136.
  • Additional code employed in conjunction with the claimed subject matter includes communication functions for establishing connections between MMC 150 and the various playback devices into which MMC 150 is plugged, or, as in the example of DRMP 102, wirelessly or otherwise coupled.
  • Code associated with DRM algorithms 152 is downloadable such that as new versions of DRM protocols are developed and released, DRM algorithms 152 can be updated. In this manner, MMC 150, as well as compatible playback devices can be efficiently upgraded.
  • Data storage 154 provides MMC 150 the memory to store the code stored in DRM algorithm 152 during execution and to store digital content 134, KMB 136 and any intermediate data and final products associated with the processing of digital content 134 and KMB 136.
  • Processing component 156 executes the code stored in DRM algorithms 152 and, as explained above, employs data storage 154 to do so.
  • Communication component 158 handles the processing associated with communications between MMC 150 and compatible playback devices 104, 106, 108, 110 and 112 (FIG. 1) . The communication tasks executed by communication component 158 are described in more detail below in conjunction with FIGURES 3-5.
  • I/O connector 160 provides the physical connection between MMC 150 and access devices 104, 106, 108, 110 and 112.
  • I/O connector 160 is in a standard PC card plug-in type of connector, although connector 160 could be any type of connection hardware such as, but not limited to, a USB receptacle, an antenna/transmitter device for establishing a wireless connection or any combination of the communication hardware.
  • FIGURE 3 is a flowchart of a Manage DRM process 200 employed on a device such as MMC 150 (FIG. 2) that implements a preferred embodiment of the present invention.
  • Manage DRM process 200 is stored in DRM algorithms 152 (FIG. 2) and executed by processing components 156 (FIG. 2) of MMC 150 (FIG. 2) .
  • DRM algorithms 152 FIG. 2
  • processing components 156 FIG. 2
  • process 200 is also executed on DRMP 102 (FIG. 1) employing components corresponding to components 152, 154, 156 and 158 (FIG. 2) .
  • Process 200 starts in a "Begin Manage DRM” block 202 and proceeds immediately to an "Establish Connections" block 204.
  • process 200 determines the availability of a compatible, digital content playback device such as DVD/CD player 110 or computing system 104. Since MMC 150 is a plug-in device, typically only one user access device would be detected, however on a networked, wireless or device such as DRMP 102 with I/O port 118 (FIG. 1) with multiple connections that may be multiple devices capable of employing the disclosed technology that are detected.
  • MMC 150 and process 200 communicates to the playback device or devices detected during block 204 that the DRM management services of the claimed subject matter are available.
  • process 200 enters a WAIT/READY state and waits for a signal from a playback device indicating a request for service.
  • process 200 having detected a signal determines whether or not the signal is a request for DRM services. If so, process 200 proceeds to a "Process
  • process 200 determines that the signal received during block 208 is not a request for service, process 200 returns to block 208 to await the next signal and processing continues as described above.
  • FIGURE 4 is a flowchart of Process Request block 212 of Manage DRM process 200 of FIGURE 3 in more detail.
  • Block, or process, 212 starts in a "Begin Process Request” block 222 and proceeds immediately to a "Retrieve Content & KMB” block 224.
  • process 212 downloads to MMC 150 (FIG. 2) (or DRMP 102 (FIG.
  • MMC 150 is plugged into computing system 104 (FIG. 1), which is the requesting device, and digital content 134 (FIG. 1) and KMB 136 (FIG. 1) are transmitted from computing system 104 (FIG. 1) to MMC 150.
  • KMB 136 is stored either exclusively on MMC 150 in data storage 154 or in both data storage 132 and data storage 154 so that KMB 136 does not need to be downloaded in conjunction with digital content 134.
  • process 212 proceeds to a "Verify Rights" block 226 during which process 212 examines KMB 136 to determine both the actions requested with respect to digital content 134 and the particular actions allowable.
  • the verification process includes steps to verify a certificate (not shown) and signature (not shown) stored in conjunction with KMB 136 so that MMC 150 can verify the identity of digital content 134 and computing system 104.
  • process 212 determines whether or not the actions requested are permitted with respect to the actions permitted. If not, process 212 proceeds to a "Throw Exception" block 230 during which process 212 takes whatever actions a developer has programmed into the system.
  • GUI graphical user interface
  • a graphical user interface (not shown) on computing system 104 may notify the user who requested access to digital content 134 that permission has been denied, perhaps enabling the user to take corrective action. This specification does not specify the type of action that may be taken or how the user is notified of any such action. Another typical action may be to generate an audit record to log the error condition and the access failure.
  • process 212 determines that actions requested are permitted, process 212 proceeds to a "Process Content” block 232.
  • a "Deliver Content & Data” block 234 a file corresponding to a processed version of digital content 134 and KMB 136 is transmitted from MMC 150 to computing system 104 where the processed version is available for display or whatever use that computing system 104 is able to make of it.
  • control proceeds to an "End Process Request" block 239 in which process 212 is complete.
  • FIGURE 5 is a flowchart of Process Content block, or process, 228 of
  • Process Request block 212 and Manage DRM process 200 of FIGURE 4 in more detail.
  • process 228 employs a broadcast encryption scheme, those with skill in the computing arts should appreciate that there are several encryption/decryption techniques available, all of which are equally suitable for use with the claimed subject matter.
  • Process 228 starts in a "Begin Process Content” block 252 and control proceeds immediately to an "Extract Management Key (Km)" block 254.
  • Km Management Key
  • a management key (Km) is extracted from KMB 136 (FIG. 1).
  • Kb Calculate Binding Key
  • the tile key (Kt) is calculated using Kb and an encrypted version of Kb, or the "EKt.” that is either transmitted in conjunction with digital content 134 and KMB 136 or stored in data storage 154.
  • process 228 decrypts digital content 134 using the Kt calculated during block 258.
  • a "Transmit Content & Data” block 262 the decrypted digital content 134 and data specifying permissible uses is transmitted to the requesting device, which in this example is computing system 104.
  • process 228 proceeds to an "End Process Content” block 269 in which process 228 is complete.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Provided is a system for removing digital rights management (DRM) resources from digital content playback devices. Materials protected by DRM are stored on the playback devices and a separate device is provided for access to the materials. The system may be inserted into multiple devices and provides the resources necessary for accessing the DRM protected material on each device when inserted. The DRMP is coupled either wirelessly or through available connections to the playback device to provide DRM resources. Multiple playback devices are able to operate independently while maintaining the portability of the protected materials.

Description

COLLABORATIVE DIGITAL RIGHTS MANAGEMENT PROCESSOR
Technical Field
The present invention relates generally to digital rights management and, more specifically, to a method for providing access to DRM material on multiple devices.
Background of the Invention
Today, many copyrighted materials are produced and sold in a digital format, which makes the materials easy to transmit and copy over electronic communication media such as the Internet. Although laws relating to such copyrighted material offer some protection to intellectual property owners from unauthorized duplication and display, these laws are either ignored or circumvented by large numbers of people. To address this issue, many businesses have searched for a technical solution. Thus, digital rights management (DRM) has become an area of interest for many companies, including International Business Machines, Incorporated (IBM), of Armonk, New York.
DRM is a system for protecting the copyrights of material circulated via communication networks by either encrypting the material or embedding a watermark within the material. DRM focuses on security and encryption as a means to solving the issue of unauthorized copying of protected materials. Encryption prevents users without a specific code from accessing the material and watermarks provide owners the ability to prove a particular piece of material was copied. Current versions of DRM address the description, identification, trading, protection, monitoring and tracking of rights to protected assets, including both tangible and intangible assets and the relationships among right holders. It should be noted that DRM is the digital management of rights and not the management of digital rights. In other words, DRM manages all rights associated with protected materials, not only the rights applicable to permissions associated with digital content.
There are two (2) architectures associated with the design and implementation of DRM systems : a functional architecture and an information architecture. The functional architecture addresses the high-level components or modules of the DRM system that provide an end-to-end management of rights. The information architecture covers the modeling of entities within a DRM system as well as their relationship. DRM, whether placed on a personal digital assistant (PDA) , television set, CD, DVD or MP3 player, or any other digital content playback device that accesses protected material, requires at least three (3) resources, i.e. memory to store the material, both in encrypted and unencrypted forms, interfaces to transmit and present the material and processing capability to decrypt the material and verify that the user accessing the material is authorized to do so. Typically, each playback device that implements DRM includes all three of the resources mentioned above to provide access to protected material.
Although many different techniques have been developed for the protection of digital content, the following Specification is described with respect to one example, broadcast encryption. Broadcast encryption is based upon a key management block (KMB) , which is a block of data sent at the beginning of a broadcast or is prerecorded on blank media during the manufacturing process. One of the largest advantages to broadcast encryption is that two devices, which might be previously unknown to each other, can agree upon a key over a one-way communication path. This advantage makes broadcast encryption ideal for the downloading of digital content from a server to a user.
A simple explanation of the procedure to encrypt a piece of content as follows:
1. Extract a Management Key (Km) by processing the KMB.
2. Perform a one-way function to a piece of data that uniquely identifies the entity this content is being bound to (or the "IDb") , using Km and resulting in a binding key (i.e. Kb = G(Km,
IDb) ) .
3. Choose a random title key (Kt) for this piece of content and encrypt it using Kb, resulting in an encrypted title key (EKt) (i.e. EKt = E( Kb, Kt) ) . 4. The content is encrypted with the Kt and then the encrypted content is stored in conjunction with the EKt.
Once the procedure has been implemented, any compliant device that has access to the same KMB, IDb and EKt can decrypt the content by reproducing the same Kb and decrypting Kt. Summary of the Invention
According to a first aspect, there is provided a system for digital rights management (DRM), comprising: a processor; a non-volatile memory coupled to the processor; logic, stored on the non-volatile memory and executed on the processor, for authenticating a digital content playback device; and logic, stored on the non-volatile memory and executed on the processor, for applying digital rights processing algorithms to digital rights controlled content stored on the digital content playback device to enable digital content playback on the digital content playback device.
According to a second aspect, there is provided a method for executing digital rights management (DRM), comprising: configuring a portable processing device to authenticate a digital content playback device; storing on a non-volatile memory logic coupled to the portable processing device digital rights processing algorithms; communicatively coupling the portable processing device and the digital content playback device; and enabling digital content playback on the digital content playback device with the digital rights processing algorithms on the portable processing device once the portable processing device has authenticated the digital content playback device.
According to a third aspect, there is provided a computer programming product for digital rights management (DRM), comprising: a non-volatile memory; logic, stored on the non-volatile memory, for authenticating a digital content playback device; and logic, stored on the non-volatile memory, for applying digital rights processing algorithms to digital rights controlled content stored on the digital content playback device to enable digital content playback on the digital content playback device.
There is provided a method for separating the resources necessary for managing DRM from the devices that provide user access to the materials. In this manner, playback devices can be made less complex and cheaper. In addition, a centralized point for managing DRM among multiple playback devices would provide more interoperability among the devices and simplify the management of the DRM resources. For example, upgrades, patches or other changes to DRM software preferably only need to be propagated to a single device rather then to each device that provides access to the DRM protected material. Provided, in accordance with a preferred embodiment, is a method for removing digital rights management (DRM) resources from digital content playback devices such as personal digital assistants (PDAs) , televisions sets, and players of CDs, DVDs and MP3 files. Materials protected by DRM are stored on the playback devices but the disclosed technology preferably provides a separate device for providing access to the materials. In other words, a device such as, but not limited to, a multimedia card (MMC) or a DRM processor (DRMP) , preferably provides memory, processing, logic and an interface for accessing DRM material on a playback device. The MMC may be inserted into multiple devices and preferably provides the resources necessary for accessing the DRM protected material on each device when inserted. The DRMP is preferably coupled either wirelessly or through available connections to the playback device to provide DRM resources. This technology preferably enables multiple playback devices to operate independently and also preferably maintains the portability of the protected materials.
Once inserted or otherwise coupled to a DRM playback device, such as a PDA, the MMC or DRMP preferably communicates with the device to validate and enable access to any digital content on the device. The MMC or DRMP can then be removed or otherwise decoupled from the playback device and coupled to another playback device, such as a CD player, to provide access to protected digital content on the CD player. In one embodiment, the MMC or DRMP has wireless capabilities, such as, but not limited to, Bluetooth, and broadcasts its capability to perform DRM functions on behalf of compatible playback devices to the other compatible devices. Further, the MMC or DRMP and other compatible playback devices preferably communicate wirelessly to execute the DRM management.
In accordance with a preferred embodiment of the disclosed technology, a compatible playback device stores both DRM protected materials and data that specifies the access rights that are permitted with respect to the protected materials. Advantageously each playback device does not need to store algorithms for processing the DRM materials or provide resources, such as processing power and memory, to implement the access to the DRM material. In this manner, playback device resources are conserved, access devices can be simpler and the DRM processing resources can be centralized for ease of maintenance and security.
This summary is not intended as a comprehensive description of the claimed subject matter but, rather, is intended to provide a brief overview of some of the functionality associated therewith. Other systems, methods, functionality, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description.
Brief Description of the Drawings
A preferred embodiment of the present invention will now be described, by way of example only, and with reference to the following drawings:
FIGURE 1 is a block diagram of a content distribution system, including a digital rights management (DRM) processor (DRMP) and compatible, digital content playback devices that implement digital rights management according to a preferred embodiment of the present invention.
FIGURE 2 is a block diagram of multimedia card (MMC) that implements the a preferred embodiment of the present invention.
FIGURE 3 is a flowchart of a Manage DRM process employed on a device that implements a preferred embodiment of the present invention.
FIGURE 4 is a flowchart of a portion of the DRM process of FIGURE 3 in more detail.
FIGURE 5 is a flowchart of Process Content block of Process Request block and Manage DRM process of FIGURES 3 and 4 in more detail.
Detailed Description of the Figures
Although described with particular reference to a multimedia card (MMC) and a computing system, the claimed subject matter can be implemented in any digital rights management (DRM) system in which a consolidation of the DRM processing from the digital content playback device is desirable. Those with skill in the computing arts will recognize that the disclosed embodiments have relevance to a wide variety of computing and multimedia devices in addition to those described below. In addition, the methods of the disclosed invention can be implemented in software, hardware, or a combination of software and hardware. The hardware portion can be implemented using specialized logic; the software portion can be stored in a memory and executed by a suitable instruction execution system such as a microprocessor, personal computer (PC) or mainframe.
In the context of this document, a "memory" or "recording medium" can be any means that contains, stores, communicates, propagates, or transports the program and/or data for use by or in conjunction with an instruction execution system, apparatus or device. Memory and recording medium can be, but are not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus or device. Memory and recording medium also includes, but is not limited to, for example the following: a portable computer diskette, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or flash memory) , and a portable compact disk read-only memory or another suitable medium upon which a program and/or data may be stored.
One embodiment of the present invention, is directed to a programmed method for partitioning the resources associated with DRM among multiple digital content playback devices. The term "programmed method", as used herein, is defined to mean one or more process steps that are presently performed; or, alternatively, one or more process steps that are enabled to be performed at a future point in time. The term programmed method anticipates three alternative forms. First, a programmed method comprises presently performed process steps. Second, a programmed method comprises a computer-readable medium embodying computer instructions, which when executed by a computer performs one or more process steps. Finally, a programmed method comprises a computer system that has been programmed by software, hardware, firmware, or any combination thereof, to perform one or more process steps. It is to be understood that the term "programmed method" is not to be construed as simultaneously having more than one alternative form, but rather is to be construed in the truest sense of an alternative form wherein, at any given point in time, only one of the plurality of alternative forms is present.
Turning now to the figures, FIGURE 1 is a block diagram of a content distribution system 100, including a digital rights management (DRM) processor (DRMP) 102 and compatible, digital content playback devices 104, 106, 108, 110 and 112 that implement digital rights management according to the preferred embodiment. Compatible playback devices, include a computing system 104, a cable modem 106, which is coupled to a television 108, a DVD/CD player 110 and a server computer 112. Devices are "playback" devices in that they enable users to view or otherwise display materials protected by DRM, once the material have been processed by DRMP 102.
DRMP 102 includes a display 114 and function buttons 116, which enable a user to access and control DRMP 102. Examples of information that might be shown in display 114 include, but are not limited to, playback devices currently able to communicate DRMP 102, specific material available on the access device, types of connections to the playback devices (e.g., wired or wireless) and the status of the available material (e.g., not available, in process of being made available, available) . Function buttons 116 provide a means for a user to select various playback devices to access and DRM-protected materials to process. DRMP 102 also includes an input/output (I/O) port 118 that enables playback devices to communicate with DRMP 102. In this example, port 118 is a universal serial bus (USB) port. It should be noted that there are many possible configurations for DRMP 102 and corresponding I/O apparatus, and user interfaces of which FIGURE 1 is merely one example. In addition, in another embodiment, rather than a configuration such as DRMP 102, a multimedia card (MMC) 150 is used (see FIG. 2) and this installs into an expansion slot (not shown) in a compatible playback device. Additional components of DRMP 102 employed to implement the solution disclosed are similar to those described below in conjunction with MMC 150.
Computing system 104 includes a central processing unit (CPU) 124, which is coupled to a monitor 126, a keyboard 128 and a mouse 130. Monitor 126, keyboard 128 and mouse 130 facilitate human interaction with computing system 104. Attached to CPU 124 is a data storage component 132, which may either be incorporated into CPU 124 i.e. an internal device, or attached externally to CPU 124 by means of various, commonly available connection devices such as but not limited to, a universal serial bus (USB) port (not shown) . Data storage 132 is illustrated storing exemplary digital content 134. It should be noted that although the description focuses on digital material, analog materials can also be stored and protected by DRM. The claimed subject matter is equally applicable to the access of analog content so protected. Digital content 134 is used merely as an example for the purposes of illustration. Stored in conjunction with digital content 134 is a key management block (KMB) 136, which includes information and security keys needed to make digital content 134 available. For example, KMB 136 may specify restrictions, or access rights, associated with the use of digital content 134. Access rights may include such items as a list of authorized users, an expiration date and limits upon the number of times digital content 134 may be accessed. In addition, KMB 136 includes information such as a digital certificate and digital signatures that enable the identity of digital content 134 and computing system 104 to be verified. KMB 136 is described in more detail below in conjunction with FIGURE 5.
It should be noted that although digital content 134 and KMB 136 are only illustrated on computing system 102, each of the access devices 104, 106, 108, 110 and 112 would store their own materials and KMB subject to management by DRM as applied by DRMP 102. For the sake of simplicity, digital content and associated KMB is only illustrated on computing system 104.
Cable modem 106, television 108, DVD/CD player 110 and server 112 are other examples of playback devices that may employ DRM and the disclosed technology. DVD/CD player 110 is illustrated in conjunction with a DVD 138, which also can store DRM protected materials, accessible through player 110 after processing by DRMP 102. Server 112 may store DRM protected materials that are, once processed by DRMP 102 made available to other devices, such as cable model 106, television 108 and DVD/CD player 110. Server 112 may employ a variety of communication medias to provide such materials, such as the Internet 140, a local area network (LAN) (not shown) and/or a direct wire connection (not shown) .
In this figure, DVD/CD player 110 and server 112 are coupled to DRMP 102 via I/O port 118 and wired links 120. Computing system 104 and cable modem 106 are communicatively coupled to DRMP 102 via wireless links 122.
Devices 104, 106, 108, 110 and 112 and communication links 120 and 122 are used merely as examples of types of playback devices and links that might be included in an architecture that supports the claimed subject matter, such as content distribution system 100. Those with skill in the arts should appreciate that there are many types of devices that would benefit from centralizing processing and memory usage associated with DRM.
FIGURE 2 is a block diagram of a multimedia card (MMC) 150, which, like DRMP 102 (FIG. 1) , implements a preferred embodiment of the present invention. MMC 150 includes a DRM algorithms component 152, a data storage component 154, a processing component 156, and a communication component 158. Components similar to components 152, 154, 156 and 158 are also part of DRMP 102. The functioning of components 152, 154, 156 and 158 is described in more detail below in conjunction with FIGURES 3-5.
DRM algorithms component 152 stores the executable code necessary to implement DRM. Examples of DRM code include, but are not limited to, code for the retrieval and storage of, in the following example, digital content 134 (FIG. 1) and KMB 136 (FIG. 1) , procedures for encryption and decryption and the analysis of rights specified in KMB 136. Additional code employed in conjunction with the claimed subject matter includes communication functions for establishing connections between MMC 150 and the various playback devices into which MMC 150 is plugged, or, as in the example of DRMP 102, wirelessly or otherwise coupled. Code associated with DRM algorithms 152 is downloadable such that as new versions of DRM protocols are developed and released, DRM algorithms 152 can be updated. In this manner, MMC 150, as well as compatible playback devices can be efficiently upgraded.
Data storage 154 provides MMC 150 the memory to store the code stored in DRM algorithm 152 during execution and to store digital content 134, KMB 136 and any intermediate data and final products associated with the processing of digital content 134 and KMB 136. Processing component 156 executes the code stored in DRM algorithms 152 and, as explained above, employs data storage 154 to do so. Communication component 158 handles the processing associated with communications between MMC 150 and compatible playback devices 104, 106, 108, 110 and 112 (FIG. 1) . The communication tasks executed by communication component 158 are described in more detail below in conjunction with FIGURES 3-5. I/O connector 160 provides the physical connection between MMC 150 and access devices 104, 106, 108, 110 and 112. In this example, I/O connector 160 is in a standard PC card plug-in type of connector, although connector 160 could be any type of connection hardware such as, but not limited to, a USB receptacle, an antenna/transmitter device for establishing a wireless connection or any combination of the communication hardware.
FIGURE 3 is a flowchart of a Manage DRM process 200 employed on a device such as MMC 150 (FIG. 2) that implements a preferred embodiment of the present invention. In this example, Manage DRM process 200 is stored in DRM algorithms 152 (FIG. 2) and executed by processing components 156 (FIG. 2) of MMC 150 (FIG. 2) . It should be understood that although described with respect to MMC 150, process 200 is also executed on DRMP 102 (FIG. 1) employing components corresponding to components 152, 154, 156 and 158 (FIG. 2) .
Process 200 starts in a "Begin Manage DRM" block 202 and proceeds immediately to an "Establish Connections" block 204. During block 204, using communication component 158, process 200 determines the availability of a compatible, digital content playback device such as DVD/CD player 110 or computing system 104. Since MMC 150 is a plug-in device, typically only one user access device would be detected, however on a networked, wireless or device such as DRMP 102 with I/O port 118 (FIG. 1) with multiple connections that may be multiple devices capable of employing the disclosed technology that are detected.
During a "Communicate Availability" block 206, MMC 150 and process 200 communicates to the playback device or devices detected during block 204 that the DRM management services of the claimed subject matter are available. During an "Await Signal" block 208, process 200, enters a WAIT/READY state and waits for a signal from a playback device indicating a request for service. During a "Request Received?" block 210, process 200, having detected a signal determines whether or not the signal is a request for DRM services. If so, process 200 proceeds to a "Process
Request" block 212, which is explained in more detail below in conjunction with FIGURES 4 and 5. Following block 212 or, if during block 210, process 200 determines that the signal received during block 208 is not a request for service, process 200 returns to block 208 to await the next signal and processing continues as described above.
Finally, once initiated, process 200 executes continuously until halted by an asynchronous interrupt 214 that causes control to proceed to an "End Manage DRM" block 219. Although, interrupt 214 is typically employed to terminate execution of process 200, process 200 also terminates in the event of a loss of power to MMC 150 or some user-initiated event that executes interrupt 214. FIGURE 4 is a flowchart of Process Request block 212 of Manage DRM process 200 of FIGURE 3 in more detail. Block, or process, 212 starts in a "Begin Process Request" block 222 and proceeds immediately to a "Retrieve Content & KMB" block 224. During block 224, process 212 downloads to MMC 150 (FIG. 2) (or DRMP 102 (FIG. 1) ) , digital content from the digital content playback device that transmitted a request during Await Signal block 208 (FIG. 3) of Manage DRM process 200. In this example, MMC 150 is plugged into computing system 104 (FIG. 1), which is the requesting device, and digital content 134 (FIG. 1) and KMB 136 (FIG. 1) are transmitted from computing system 104 (FIG. 1) to MMC 150. In alternative embodiments, KMB 136 is stored either exclusively on MMC 150 in data storage 154 or in both data storage 132 and data storage 154 so that KMB 136 does not need to be downloaded in conjunction with digital content 134.
Once digital content 134 and, perhaps KMB 136, have been downloaded to MMC 150 during block 224, process 212 proceeds to a "Verify Rights" block 226 during which process 212 examines KMB 136 to determine both the actions requested with respect to digital content 134 and the particular actions allowable. The verification process includes steps to verify a certificate (not shown) and signature (not shown) stored in conjunction with KMB 136 so that MMC 150 can verify the identity of digital content 134 and computing system 104.
During a "Process Approved?" block 228, process 212 determines whether or not the actions requested are permitted with respect to the actions permitted. If not, process 212 proceeds to a "Throw Exception" block 230 during which process 212 takes whatever actions a developer has programmed into the system. In one embodiment, a graphical user interface (GUI) (not shown) on computing system 104 may notify the user who requested access to digital content 134 that permission has been denied, perhaps enabling the user to take corrective action. This specification does not specify the type of action that may be taken or how the user is notified of any such action. Another typical action may be to generate an audit record to log the error condition and the access failure.
If during block 228, process 212 determines that actions requested are permitted, process 212 proceeds to a "Process Content" block 232. One example of the processing the may be associated with block 232, i.e. a broadcast encryption scheme, is described in more detail below in conjunction with FIGURE 5. During a "Deliver Content & Data" block 234, a file corresponding to a processed version of digital content 134 and KMB 136 is transmitted from MMC 150 to computing system 104 where the processed version is available for display or whatever use that computing system 104 is able to make of it. Finally, after the processed digital content has been transmitted during block 234 or an exception has been thrown during block 230, control proceeds to an "End Process Request" block 239 in which process 212 is complete.
FIGURE 5 is a flowchart of Process Content block, or process, 228 of
Process Request block 212 and Manage DRM process 200 of FIGURE 4 in more detail. Although, process 228 employs a broadcast encryption scheme, those with skill in the computing arts should appreciate that there are several encryption/decryption techniques available, all of which are equally suitable for use with the claimed subject matter.
Process 228 starts in a "Begin Process Content" block 252 and control proceeds immediately to an "Extract Management Key (Km)" block 254. During block 254, a management key (Km) is extracted from KMB 136 (FIG. 1). During a "Calculate Binding Key (Kb)" block 256, the Km calculated during block 254 is used in conjunction with a piece of data that uniquely identifies digital content 134 (FIG. 1), or a "IDb," to produce a binding key (Kb), i.e. Kb = G(Km, IDb) ). During a "Decrypt Title Key (Kt)" block 258, the tile key (Kt) is calculated using Kb and an encrypted version of Kb, or the "EKt." that is either transmitted in conjunction with digital content 134 and KMB 136 or stored in data storage 154.
During a "Decrypt Content" block 260, process 228 decrypts digital content 134 using the Kt calculated during block 258. During a "Transmit Content & Data" block 262, the decrypted digital content 134 and data specifying permissible uses is transmitted to the requesting device, which in this example is computing system 104. Finally, process 228 proceeds to an "End Process Content" block 269 in which process 228 is complete.
While the invention has been shown and described with reference to particular embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and detail may be made therein without departing from the spirit and scope of the invention, including but not limited to additional, less or modified elements and/or additional, less or modified blocks performed in the same or a different order.

Claims

1. A system for digital rights management (DRM), comprising: a processor; a non-volatile memory coupled to the processor; logic, stored on the non-volatile memory and executed on the processor, for authenticating a digital content playback device; and logic, stored on the non-volatile memory and executed on the processor, for applying digital rights processing algorithms to digital rights controlled content stored on the digital content playback device to enable digital content playback on the digital content playback device.
2. The system of claim 1, further comprising: a transmitter; a receiver; and logic for sending and receiving wireless signals to and from the digital content playback device via the transmitter and receiver.
3. The system of claim 2, the wireless signals comprising: information for authenticating the digital content playback device; a signal corresponding to a encrypted digital content; and a signal corresponding to decrypted digital content.
4. The system of any preceding claim, wherein the digital rights algorithms employ broadcast encryption techniques to decrypt the digital content .
5. The system of claim 1, further comprising a communication port for coupling with the digital content playback device.
6. The system of claim 5, wherein the communication port is a universal serial bus (USB) port.
7. The system of any preceding claim, wherein the digital rights processing algorithms are upgradable.
8. A method for executing digital rights management (DRM), comprising: configuring a portable processing device to authenticate a digital content playback device; storing on a non-volatile memory logic coupled to the portable processing device digital rights processing algorithms; communicatively coupling the portable processing device and the digital content playback device; and enabling digital content playback on the digital content playback device with the digital rights processing algorithms on the portable processing device once the portable processing device has authenticated the digital content playback device.
9. The method of claim 8, wherein the portable processing device and the digital content playback device are communicatively coupled via wireless signals.
10. The method of claim 8, wherein the portable processing device and the digital content playback device are communicatively coupled via a communication port.
11. The method of claim 10, wherein the communication port is a universal serial bus (USB) port.
12. The method of any of claims 8 to 11, the enabling digital content playback comprising: decrypting the digital content on the portable processing device; and transmitting the decrypted digital content from the portable processing device to the digital content playback device.
13. The method of any of claims 8 to 12, wherein the digital rights processing algorithms employ broadcast encryption techniques.
14. The method of any of claims 8 to 13, further comprising periodically upgrading the digital rights processing algorithms.
15. A computer programming product for digital rights management (DRM), comprising: a non-volatile memory; logic, stored on the non-volatile memory, for authenticating a digital content playback device; and logic, stored on the non-volatile memory, for applying digital rights processing algorithms to digital rights controlled content stored on the digital content playback device to enable digital content playback on the digital content playback device.
16. The computer programming product of claim 15, further comprising logic for sending and receiving wireless signals to and from the digital content playback device via a transmitter and a receiver.
17. The computer programming product of claim 16, the wireless signals comprising : information for authenticating the digital content playback device; a signal corresponding to a encrypted digital content; and a signal corresponding to decrypted digital content.
18. The computer programming product of claim 15, 16 or 17 wherein the digital rights algorithms employ broadcast encryption techniques to decrypt the digital content.
19. The computer programming product of claim 15, further comprising a communication port for coupling with the digital content playback device.
20. The computer programming product of claim 19, wherein the communication port is a universal serial bus (USB) port.
21. A computer program comprising program code means adapted to perform the method of any of claims 1 to 14 when said program is run on a computer.
EP07727454A 2006-04-12 2007-03-28 Collaborative digital rights management processor Withdrawn EP2013805A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27943206A 2006-04-12 2006-04-12
PCT/EP2007/052982 WO2007115941A1 (en) 2006-04-12 2007-03-28 Collaborative digital rights management processor

Publications (1)

Publication Number Publication Date
EP2013805A1 true EP2013805A1 (en) 2009-01-14

Family

ID=38098599

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07727454A Withdrawn EP2013805A1 (en) 2006-04-12 2007-03-28 Collaborative digital rights management processor

Country Status (3)

Country Link
EP (1) EP2013805A1 (en)
CN (1) CN101405742A (en)
WO (1) WO2007115941A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023276A2 (en) * 2002-08-28 2004-03-18 Matsushita Electric Industrial Co., Ltd. Content-duplication management system, apparatus and method, playback apparatus and method, and computer program
RU2005112255A (en) * 2002-09-23 2005-09-20 Конинклейке Филипс Электроникс Н.В. (Nl) AUTHORIZED DOMAINS BASED ON CERTIFICATES
JP4625000B2 (en) * 2003-10-16 2011-02-02 パナソニック株式会社 Data protection system and record carrier

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2007115941A1 *

Also Published As

Publication number Publication date
CN101405742A (en) 2009-04-08
WO2007115941A1 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
KR101379861B1 (en) Apparatus, system and method for providing DRM
US8452988B2 (en) Secure data storage for protecting digital content
KR100605071B1 (en) System and method for secure and convenient management of digital electronic content
JP4680564B2 (en) Content encryption and data protection on portable media
RU2406116C2 (en) Migration of digital licence from first platform to second platform
US8280818B2 (en) License source component, license destination component, and method thereof
KR101219819B1 (en) Flexible licensing architecture for licensing digital application
JP4906854B2 (en) Information processing apparatus, information recording apparatus, information processing system, program update method, program, and integrated circuit
JP4916512B2 (en) Copy digital content between content protection systems
US8091137B2 (en) Transferring a data object between devices
US20060149683A1 (en) User terminal for receiving license
US20060059105A1 (en) Move component, program, and move method
US20060069652A1 (en) Copy component, program and method thereof
JP2009516243A (en) SRM digital copyright management method and apparatus
US20060059101A1 (en) Reproduction component, program and method thereof
US20060059103A1 (en) Return component, program, and return component method
KR101447194B1 (en) Apparatus and method for Sharing DRM Agents
US20060059104A1 (en) Rent component, program, and rent component method
US11544354B2 (en) System for secure provisioning and enforcement of system-on-chip (SOC) features
JP4996625B2 (en) Method for specifying common key between first communication device and second communication device, and device for specifying common key between first communication device and second communication device
US20050177873A1 (en) File access controlling method and file access controlling system for digital rights management
JP2008271564A (en) Transmission distribution system and transmission distribution method under off-line environment of license
KR100585840B1 (en) Method of authenticating user of drm contents service
JP2005507195A (en) Apparatus and method for accessing material using entity-locked secure registry
EP2013805A1 (en) Collaborative digital rights management processor

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20081111

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK RS

RIN1 Information on inventor provided before grant (corrected)

Inventor name: RODRIGUEZ, HERMAN

Inventor name: GNUECHTEL, HELEN, ELISABETH

Inventor name: GNUECHTEL, FREDERICK, JOHN

Inventor name: DUTCHER, DAVID, PAUL

17Q First examination report despatched

Effective date: 20090701

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20091001