Content Protection

 In
Wikis > Content Protection

Functional Description

Content protection of media assets involves mechanisms to prevent users of third parties consuming or acquiring content outside of authorised usage scenarios.
This generally includes a mechanism by which media data is encrypted using one or more encryption keys, and these key(s) are communicated from a licensing/key authority to the playback device out of band either in advance, at the start of playback, or during playback, subject to satisfying any licensing/authorisation requirements.

API Specification

A remote API would be required in the case where the required key(s) to play the content are not present on the device, and must be acquired to begin/continue playback.
In the case where an existing DRM system was being used, the API and endpoints used would be as specified for that system.
A possible API for a custom, simple DRM scheme suitable for use with MPEG-DASH CENC protected media on a TV-emulator device may include the following:

Get playback key(s):
Request encryption key(s) for an item of content.
{
"message" : "get_keys",
"cid" : "content ID",
"kid" : [ "key ID", ... ],
"auth" : { relevant authentication details/token(s) as may be defined in identity/auth module }
}

Get playback key(s) response:
{
"message" : "get_keys_response",
"cid" : "content ID",
"kid" : [ "key ID", ... ],
"keys" : [ "key value", ... ] }

Where ‘cid’ (content ID) and ‘kid’ (key ID) are as defined and embedded within the MPEG-DASH CENC media.
In the case of MPEG-DASH CENC, content IDs, key IDs and key values can be assumed to be opaque 128-bit values.

In order to protect authentication details/token(s) and encryption key(s) in transit, communication between the device and the licensing/key authority should be suitably encrypted (i.e. using TLS).

Content could be explicitly marked as protected using the 2-IMMERSE scheme either by adding a tag to the MPD manifest within a 2-IMMERSE specific namespace, or by generating a unique 2-IMMERSE owned system ID and embedding that within the PSSH of the media.

Recent Posts
Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.

Not readable? Change text. captcha txt

Start typing and press Enter to search