![Symbian Developer Library](../../../../../a_stock/images/mainheading.gif)
![]() |
![]() |
|
CAF Streaming Agents are ECOM plug-ins that are designed to support streaming digital rights management (DRM) solutions in the Content Access Framework (CAF). DRM protection for streamed data differs significantly from that for locally stored data for the following reasons:
Because all the data cannot be encrypted at once, it is encrypted in packets. Each packet of data needs to be decrypted separately.
The same key often needs to be used for different mobile device users, so that service providers can broadcast the same stream to multiple mobile device users while conserving bandwidth costs.
This document describes how Symbian OS licensees and partners write and use CAF Streaming Agents. Licensees must write CAF Streaming Agents to allow streaming functionality.
A Content Access Framework (CAF) agent that is designed to support streaming DRM solutions.
The CAF streaming framework provides a common interface for applications to access streamed data.
A stream of data and meta-data necessary for decryption of encrypted media streams.
A sequence of digitally encrypted packets of data, in this context media data.
A key that decrypts data packets.
A key that encrypts short-term keys.
Key data together with its corresponding meta-data, such as algorithms and usage parameters.
A file that usually includes long-term keys, usage rights such as the dates for which the subscription has been purchased and post-acquisition rights.
The protocol that specifies the properties of a streaming media session. Typical data included in the protocol is the audio and video encoding type, addresses for delivering the respective streams, protection of the streamed data etc.
The CAF streaming framework is designed to keep the key stream and data stream separate. The framework is designed for standards with separate key streams, which includes DVB-H and OMA DRM BCAST (DRM and SmartCard profiles).
The CAF Streaming Agent is designed to manage the key stream. As shown in Figure 1 below, the CAF Streaming Agent does not participate in the processing of the data stream.
A CAF Streaming Agent needs to receive a short-term key. As shown in Figure 2, the CAF Streaming Agent pushes the cryptographic context to modules responsible for the implementation of the data stream.
As noted above, the CAF Streaming Agent does not participate in the processing of the data stream, so does not have to ensure real-time processing. The CAF Streaming Agent and entities in the data processing stack have to be assured and maintained so that the CAF Streaming Agent will be able to set the cryptographic context (short-term key and relevant algorithms).
The above class diagram shows the key classes for CAF streaming. The
CAF Streaming Agent plug-in must implement CAgentKeyStreamDecoder
.
The DVB-H middleware, for example the Multimedia Framework controller (MMF
controller), needs to use CKeyStreamDecoder
. These two classes are
described below.
Class Name | Description |
---|---|
|
Pure virtual base class for a CAF Streaming Agent |
|
Class for instantiating the key stream decoder |
As noted above, the CAF streaming framework keeps the key stream and data stream separate. Streaming DRM standards rely upon existing protocols to protect the actual data and define how these standards should be used. For example, one of the profiles for DVB-H SPP defines that the TV broadcast may be encrypted with AES-CTR at the IPSec layer. The bulk of the standard specification details how the cryptographic context shall be set for, currently, IPSec (with the possibility of SRTP and ISMACryp in the future) and how the actual purchase and protection model interfaces with the content/service decryption and authentication.
A mobile device user:
Purchases a right to access a protected service, which includes the following steps:
The mobile device user uses service discovery software/framework to view available services.
The user selects a service and purchases it.
Rights to the service are saved in a Rights Object, which is downloaded to the mobile device via interactive channels such as MMS.
Views a protected service, which includes the following steps:
The mobile device user accesses a stream description via the Internet using a media player.
The session description is returned and parsed.
The device starts accepting broadcast data according to the parameters in the session description (such as ports, protection methods, codecs).
The Rights Object received above is used to evaluate the user’s right to view the streamed data and to display it. (The user may choose to record data and to view it later, which results in post-acquisition rights, as described below.)
Post-acquisition rights may be to:
Use the broadcast without recording it (may be pay per view or a subscription)
Record the broadcast but with further usage rights, such as viewing it a fixed number of times
Record the broadcast and use it freely
As shown in Figure 3 below, cases with post-acquisition rights revert to the regular non-streamed CAF agent once post-acquisition rights have been checked.
For related information, see: