C H A P T E R  13

Digital Rights Management Configuration

Digital rights management (DRM) protects content against unauthorized use and distribution. This section describes how to set up Content Delivery Server for the types of DRM that you want to support. If you do not want to use the DRM feature, disable support for all DRM types.

This chapter includes the following topics:

The properties described in this chapter need to be set only in the Catalog Manager deployment.


13.1 Setting the DRM Methods Supported

In Content Delivery Server, the DRM method used for an item of content is determined by the content type. The pricing models available for an item of content are determined by the DRM method assigned to the content type.

The Catalog Manager administrator is responsible for assigning DRM methods to content types and for pricing content. Work with the administrator to ensure that you properly configure the system to support the needs of your business. See the Sun Java System Content Delivery Server Reference Manual for more information on DRM.

Before you start using Content Delivery Server, you must enable the DRM methods that you want to support and disable the methods that you do not want to support. The status of each DRM method is stored in the Catalog Manager database, so this configuration is done only once on the server on which the Catalog Manager is deployed.

Content Delivery Server supports the following DRM methods:

Use the following command to enable and disable DRM methods:

cdsi db import [-conf db-configuration-file] -cs file

db-configuration-file is the name of the database configuration file that contains the information for creating the schemas. If db-configuration-file is not provided, the value specified for the DEFAULT_DB variable in the init_env.sh script is used. The following table describes the valid values for file.


TABLE 13-1 Files for Enabling and Disabling CDS DRM Agents

Script

Action

enablecdsdrmagent.sqli

Enables the CDS DRM Agent method.

disablecdsdrmagent.sqli

Disables the CDS DRM Agent method.

enablecdsdrmfl.sqli

Enables the CDS OMA DRM 1.0 Forward Lock method.

disablecdsdrmfl.sqli

Disables the CDS OMA DRM 1.0 Forward Lock method.

enableomadrm10.sqli

Enables the OMA DRM 1.0 method.

disableomadrm10.sqli

Disables the OMA DRM 1.0 method.


If you enable the CDS DRM Agent method, you must specify the agent to use. See the next section for instructions.



Note - Before you disable a DRM method, make sure that method is not assigned to a content type. Submission of content fails if the type of content submitted is protected by a disabled DRM method.


13.1.1 Content Delivery Server DRM Agents

CDS DRM agents are provided with Content Delivery Server for use in protecting Java applications. These agents contain the information needed to enforce the usage rights purchased by a subscriber. No additional DRM software is needed. When content is submitted, the agent that you choose to use is added to the content, which increases the size of the content by the average amount stated in the table. The following table describes the CDS DRM agents.


TABLE 13-2 CDS DRM Agents

Title

Description

Size (average)

Disconnected Time

Supports the download pricing model and the time-based (recurring subscription and per period) pricing models. When instrumented content is run, the license is validated without contacting Content Delivery Server. When the license expires, the subscriber must return to the Subscriber Portal to purchase another period of time and download the application again.

3.2 kilobytes

Disconnected Use

Supports the download pricing model and the usage-based (trial and per use) pricing models. When instrumented content is run, the license is validated without contacting Content Delivery Server. When the license expires, the subscriber must return to the Subscriber Portal to purchase more uses and download the application again.

4.4 kilobytes

Disconnected Use and Time

Supports all pricing models. When instrumented content is run, the license is validated without contacting Content Delivery Server. When the license expires, the subscriber must return to the Subscriber Portal to purchase either another period of time or more uses, and download the application again.

4.6 kilobytes

Small Connected Use and Time

Supports all pricing models. When instrumented content is run, Content Delivery Server is contacted to validate the license. When the license expires, the subscriber can renew the license and does not need to download the application again.

Note - To prevent runtime errors, do not use this DRM agent with applications that perform any of the following actions:

  • Show an alert before calling the startApp method.
  • List their Record Stores.
  • Modify or remove the Content Delivery Server Record Store.

5.2 kilobytes

Medium Connected Use and Time

Supports all pricing models. When instrumented content is run, Content Delivery Server is contacted to validate the license. When the license expires, the subscriber can renew the license and does not need to download the application again.

Note - To prevent runtime errors, do not use this DRM agent with applications that perform any of the following actions:

  • Show an alert before calling the startApp method.
  • Modify or remove the Content Delivery Server Record Store.

5.8 kilobytes

Standard Connected Use and Time

Supports all pricing models. When instrumented content is run, Content Delivery Server is contacted to validate the license. When the license expires, the subscriber can renew the license and does not need to download the application again.

7.0 kilobytes


To specify the CDS DRM agent that you want to use, set the DRMAgent property in the $CDS_HOME/deployment/deployment-name/conf/cdsdrmagent.properties file to one or more of the following values:

If more than one DRM agent is specified, separate the agents with a comma, for example:

DRMAgent=DisconnectedTime,SmallConnectedUseTime

You can also specify multiple instances of the DRMAgent property, if preferred, with each instance set to a different agent. In both cases, a derived edition is created for each DRM agent in the order in which the agents are specified. To have an edition with a smaller agent available only if the edition with the larger agent is too large, specify the DRM agents in order from smallest to largest.

The DRMAgent property needs to be set only for the deployment that contains the Catalog Manager.

13.1.2 OMA DRM 1.0 Methods

Content Delivery Server supports the following DRM methods described by the Open Mobile Alliance (OMA) DRM 1.0 specification:

OMA DRM 1.0 can be used for all types of content. Use of this method requires an external DRM server. To use DRM Fusion Toolkit from SafeNet, see Chapter 4. Separate delivery requires an SMSC or WAP PPG that can handle the rights object.


13.2 Setting the Preferred Delivery Type

The OMA DRM 1.0 specification provides for the delivery of the digital rights object either with the content (combined delivery) or separate from the content (separate delivery). Not all devices support separate delivery. If your system supports the OMA DRM 1.0 method, you must choose the preferred delivery method for the rights associated with the content.

In the $CDS_HOME/deployment/deployment-name/conf/omadrm10.properties file, set the oma.drm10.rights property to one of the values described in the following table. This property needs to be set only for the deployment that contains the Catalog Manager.


TABLE 13-3 Delivery Type Settings

Setting

Description

CD

Combined delivery is used to deliver the rights with the content. With this setting, content protected using either combined delivery or separate delivery is made available to subscribers with devices that support either type of delivery.

SD

Separate delivery is used to deliver the rights separate from the content. If a subscriber’s device does not support separate delivery, the content protected using separate delivery is not made available to that subscriber.

SD_CD

Separate delivery is the preferred delivery method. With this setting, content protected using either combined delivery or separate delivery is made available to subscribers with devices that support either type of delivery. Combined delivery is used for devices that do not support separate delivery.



13.3 Setting the Preferred Action for Devices that Do Not Support OMA DRM 1.0

Not all devices are compliant with OMA DRM 1.0. Content protected by either combined delivery or separate delivery cannot be delivered to non-compliant devices. For content protected by Forward Lock, you must choose whether or not that content is available to subscribers with non-compliant devices.

In the $CDS_HOME/deployment/deployment-name/conf/omadrm10.properties file, set the oma.drm10.plain property to one of the values described in the following table. This property needs to be set only for the deployment that contains the Catalog Manager.


TABLE 13-4 Settings for Non-Compliant Devices

Setting

Description

ALL

Content is delivered without protection to subscribers with non-compliant devices.

NONE

Content is not available to subscribers with non-compliant devices.

FREE

Only free content is delivered without protection to subscribers with non-compliant devices.



13.4 Setting the Event Handler

Event handlers listen for specific events generated by the Event Service and respond to the events as needed. Support for separate delivery requires the use of an event handler. Content Delivery Server provides an event handler that you can use with SafeNet DRM Fusion Toolkit or any other DRM server.

To enable the OMA DRM 1.0 event handler, edit the $CDS_HOME/deployment/deployment-name/conf/EventService.properties file and remove the initial pound sign (#) from the following statements:


eventservice.handler=OMARightsDelivery
eventservice.handler.OMARightsDelivery.classname=
com.sun.content.server.drm.oma.eventservice.OMADRM10RightsDeliveryHandler
eventservice.handler.OMARightsDelivery.events=content_purchased