Transcript Broadcast
SecureMedia DRM: Verizon Apps
Verizon FiOS Mobile:
• Broadcast
• VOD (purchase, rental, subscription)
• HLS and Downloadable
Redbox Instant, by Verizon
• VOD HLS only (purchase, rental, subscription)
• Partnership, shared content / keys.
• Different app and SDK versions.
SecureMedia DRM: Business Models
Business Models --
•
•
•
•
•
•
Broadcast – Live content such as TV
Pay Per View – Customer pays extra for a Broadcast event
Pay Per Block – Customer purchases block of time
Time Shift – Playback of previously recorded Broadcast or PPV
Pause / Live – Pausing and resuming live Broadcast content
VOD (Video On Demand) – On demand content from a
streaming server (such as HLS)
• Download – On demand content played from local disk
• Band– A band is a unique identifier of a group of channels. The
band is used to authorize and manage broadcast channels
SM Terminology: Unique Identifiers
Unique Identifiers --
• SN (SubscriberNumber) - The unique identifier of a client device.
The SN is used to register, authorize, and manage client devices.
• MediaKeyID – A unique identifier for Encryption / Decryption
keys in the Encryptonite System. The MediaKeyID is used to
authorize and manage MediaKeys.
• Band– A band is a unique identifier of a group of channels. The
band is used to authorize and manage broadcast channels
WiFi Diagnostics: Whitepaper
Click below to open HLS Wifi Diagnostics Whitepaper
5
Mobile SDKs: Diagnostic Tools
Android
▪ aLogcat (free)
▪ Wifi Analyzer
▪ Speedtest.net
▪ Android SDK
- Adb tools
▪ ConsoleLog
▪ No WiFi Analyzer Tools
(banned by Apple)
▪ Speedtest.net
▪ iPhone Configuration
Utility (Windows)
▪ Xcode Tools (OS X)
Data Protection can be grouped into three main categories, each
of which must be appropriately addressed if data is to be
adequately protected. Meeting these core security needs is the
objective of the SecureMedia® Encrytonite DRM system.
C – Confidentiality
I – Integrity
A – Authentication
Motoroa Confidential Restricted
08.16.10
Page 6
C – Confidentiality
• Responsible for the protection of information as it passes from
one network device to another.
• Not only the data but potentially the IP addresses, message
length, protocol type etc.
• Generally achieved through the use of encryption algorithms
and can be applied at multiple parts of a network.
08.16.10
Page 7
I – Integrity
• Used to determine whether the information has been modified
as it passes between two network devices.
• “Man in the Middle” attack prevention is a typical reason why
Data Integrity techniques are employed.
• Actual information may or may not be encrypted - this choice is
a matter to be addressed by the content provider.
• Hashing functions are often used in the process of Integrity
checking.
Motorola onfidential Restricted
08.16.10
Page 8
A – Authentication
• Verifies the source of the information transfer and ensures the
source of the information is genuine, therefore prevent
spoofing attacks.
• Often coupled with Integrity checking in the majority of
systems but is in fact a distinct service.
• Authentication of the client can be supported through the use
of secure hashing, digital certificates or AAA (Authentication,
Authorization and Accounting) services.
08.16.10
Page 9
Data Confidentiality
Symmetric Encryption
Encryption and decryption mirror each other, use same key
Data Confidentiality
Asymmetric Encryption
Encryption and decryption processes are carried out using different
keys which are generally referred to as Public Keys and Private
Keys respectively.
Data Confidentiality
Encryption Algorithm Usage
Employs both Symmetric and Asymmetric encryption algorithms
to exploit the advantages of each.
Data Confidentiality
Common Encryption Algorithms
Data Confidentiality
Cryptographic Keys
The primary part of any encryption process is not
the algorithm but the key. It is the key that makes
the cipher text random, not the algorithm.
Key size, generation and distribution are all
critical factors in determining the
robustness of a cipher.
Data Confidentiality
Key Size
Key sizes are described by the number of bits they are
comprised of. For example, a 56-bit key such as that used in
DES is used to block cipher 64-bit blocks of plain text,
producing 64-bit blocks of cipher text.
In order to carry out a “brute force” or “iterative” attack on this cipher
text, an attacker must apply every possible key to a 64-bit block.
Since the key is 56-bits long, this equates to 256 =
72,057,594,037,927,936 possible keys.
Data Confidentiality
Determining Key Size
There are a number of factors which determine key size but
predominantly, the desired level of encryption and the type
of encryption algorithm in use are most important.
NIST (National Institute for Standards and Technology) recommends:
Symmetrical Ciphers: minimum 80-bits (AES can
use 256bit keys).
Asymmetrical Ciphers: minimum 1024-bits
Data Confidentiality
Key Generation
The most important factor associated with key generation
within a cryptographic system is the key’s randomness.
•
Attackers can exploit systems which do not have sufficiently random
key generation, potentially predicting the keys that the system is
likely to use next.
•
Random number or pseudo random number generators are used in
the key generation process, with the latter considered to be less
secure than the former.
Data Confidentiality
Key Distribution
Once the key is formulated, the next significant problem is
ensuring the key can be distributed to the intended recipient.
•
Symmetrical encryption - privacy of the shared key is of critical importance and must be
kept secret at all times.
• Asymmetrical encryption - public key is not secret and can be viewed by any party,
relying on the fact that the private key is kept secret.
Diffie-Hellman key exchange is a popular electronic means of distribution (upon which RPK
encryption is based).
Data Integrity
Hashing
Hash: A mathematical function that is easy to compute in
one direction but computationally impossible to reverse.
Data Integrity
Hashing
• Enables messages to be passed between devices in the
knowledge that they have not been tampered with during
transmission
• Used extensively to support Integrity checking with a wide
variety of protocols, a common example being IPSec.
Common Hashing Algorithms:
Data Integrity
Digital Signatures and Certificates
Digital Signature : an encrypted message digest that is
appended to a document which is used to validate the
identity of the sender.
Data Integrity
Digital Signatures
• Created by combining hash functions with public key
algorithms and, instead of signing a document.
• Sender will encrypt the hash with a private key to create a
digital signature
• The recipient will take the signature and decrypt it using
the corresponding public key.
A Digital Certificate contains a public key which has been signed and
verified by a trustworthy third party termed a CA (Certification Authority).
IPTV Security
IPTV Security
• Digital media transferred to the subscriber on a broadcast
or on demand basis
• Two techniques in the industry for content protection:
User authentication and imposed restrictions carried out at the
video Super Head End, which houses the relevant AAA
(Authentication, Authorization and Accounting) databases eg
SecureMedia’s Encryptonite ONE system
IPTV Security
Digital Rights Management
• DRM gives copyright holders the ability to control their
media, when that media is in a digital format.
• In addition to copy protection, rights to view content under
specific times and conditions can be managed with DRM.
IPTV Security
CAS Encryption
• Key is termed the Control Word. Creation, management,
storage, distribution etc responsibility of the CAS vendor
• For the system to work effectively, both the sender and
receiver need an identical copy of the Control Word.
In order to strengthen security, Control Words are changed
on a very regular basis, in the order of 10s of seconds
IPTV Security
Entitlement Message
•
An EMM (Entitlement Control Message) is used by the CAS to
configure client side entitlements.
• By sending a client an EMM (embedded in the transport stream), the
client can be restricted or entitled to view different content.
SecureMedia® Encryptonite ONE
Introduction
Video content distribution today can be facilitated through
many mechanisms:
Requirement to ensure that the content can be controlled by the
provider is common across delivery methods
SecureMedia® Encryptonite ONE
Introducing Encryptonite ONE
SecureMedia® Encryptonite ONE system supports these
essential elements of content security:
SecureMedia® Encryptonite ONE
Benefits
SecureMedia® Encryptonite ONE
System Architecture
The Encryptonite System
can simultaneously
support both Video on
Demand (VOD) and
broadcast applications
using the same core
Encryptonite System
Services components and
the same client SDK.
SecureMedia® Encryptonite ONE
Key Server
•
•
•
•
•
Secure storage of MK (Media
Decryption Keys).
Provisions content information for
authorized MediaPass databases.
Generates tokens for MediaPass
databases, as required.
Securely dispenses keys to clients.
Key management functionality.
SecureMedia® Encryptonite ONE
Key Server
•
Key Server System has 4 main components:
SecureMedia® Encryptonite ONE
Key Server
•
Key Server System has 4 main components:
SecureMedia® Encryptonite ONE
Key Sever: Key Vault
•
•
•
•
An Oracle / MySQL database where all key information is stored
Generates tokens and provides them to validated MediaPass Databases
Processes requests for verification of tokens by client devices.
Multiple Key Servers can connect to the same Key Vault.
SecureMedia® Encryptonite ONE
Key Sever: KVSS
• HTTP server which provides protection of internal communication within
the Encryptonite system
• Entities which use the KVSS to secure their communication include
Encryptors, MediaPass Admin and the Broadcast Director
KVSS contains two sub-functions, which are:
• KVES (Key Vault Encryptor Services) - used to generate
Media Keys for encryption and decryption purposes
• KVCS (Key Vault Content Services) - used to keep
MediaPass Databases updated with the latest content
offerings.
SecureMedia® Encryptonite ONE
Key Sever: KMC (Key Management Console)
• Administrative interface used by network operations which is operated as
a web application.
• The KMC allows an administrator to configure and manage the data
stored within the key vault.
SecureMedia® Encryptonite ONE
ECMOD
SecureMedia's ECMOD (ECM on Demand) acts as an ECM
(Entitlement Control Message) Generator, which is a logical
function associated with the DVB Simulcrypt architecture. The
ECMOD function may also be termed smecmg.
SecureMedia® Encryptonite ONE
KVHLS
KVHLS provides a management function as part of SecureMedia's
support for HLS+ (HTTP Live Streaming +). KVHLS generates and
protects the control words used for chunk encryption, as well as
generating appropriate metadata for the HLS+ client community
SecureMedia® Encryptonite ONE
KVBands
The KVBands element of the SecureMedia system is managed via the KMC
(Key Management Console). The purpose of KVBands is essentially to provide
the operator with the capability to generate a large number of bands. Band
creation is normally the responsibility of the Broadcast Director and as such,
Broadcast Director must be disabled if KVBands is in use.
SecureMedia® Encryptonite ONE
Tokens
In the Encryptonite System a
token is a unique number
whose possession provides
assurance that the client
device presenting it is entitled
to receive a key. This key will
enable the client device to
play the particular media to
which that token
corresponds.
Lifecycle of a Token:
SecureMedia® Encryptonite ONE
Token Usage
Step 1 Tokens are bulk ordered from the Key Server System.
Step 2 Tokens are delivered to the MediaPass Server System. This process is run
automatically at scheduled intervals to ensure that the MediaPass Server System
has an adequate supply of tokens.
Step 3 MediaPass is securely delivered to the client device via ESAM.
Step 4 Upon receipt of the MediaPass, which includes the token, the client device
requests the Key Server to securely deliver the appropriate Media Decryption Key,
enclosing the token as proof of entitlement.
Step 5 If the token is valid and unused, the Key Server will deliver the appropriate
key and will then mark the token as having been used.
Tokens, therefore, represent a single play of a specific media by providing ‘proof of
entitlement’ for delivery of a requested Media Decryption Key
SecureMedia® Encryptonite ONE
MediaPass Server System
The MediaPass Server System is a BSS (Business Support System) which
provides the main interface for integration between middleware and the
Encryptonite System (essentially, the middleware determines the rights a
particular client holds, and a Business Support Server is used to fulfill the
management of those rights). The roles of the MediaPass Server System include:
SecureMedia® Encryptonite ONE
MediaPass Server System
SecureMedia® Encryptonite ONE
Encryptonite System Access Manager
The ESAM is responsible for providing secure communication between the client
device eg STB and the content delivery network. As such, all client devices carry
out a registration procedure with the ESAM, through which the client is
authenticated as a legitimate device. This effectively allows the ESAM to detect
the presence of cloned devices which can potentially be a significant security
problem.
SecureMedia® Encryptonite ONE
ESAM Protocol
ESAM uses a closed protocol in order to exchange security configuration
information between the ESAM server and the SecureMedia client community.
Based on HTTP, the latest version of the protocol is ESAM3 (introduced in ES2.2),
which utilizes standard encryption algorithms such as RSA (Rivest, Shamir,
Adleman) and AES (Advanced Encryption Standard) in order to protect traffic.
SecureMedia® Encryptonite ONE
Middleware
• Middleware must interact with the Encryptonite System in order to convey the
rights and entitlements a particular subscriber has.
• The middleware will provide to the BSS (as part of the MediaPass system) the
appropriate authorizations for PPV (Pay Per View), Broadcast and Time Shift
content, as well as the authorization to deliver MediaPasses.
SecureMedia® Encryptonite ONE
Broadcast Subsystem
• The Encryptonite Broadcast Services are generic components that have been
designed for reuse in any broadcast implementation of the Encryptonite
System.
• The Encryptonite Broadcast Services use the Encryptonite System Services to
provide MediaPass and Key services, as well as ESAM to provide a secure
and authenticated channel to client devices for the delivery of MediaPasses.
SecureMedia® Encryptonite ONE
Broadcast Director
The Broadcast Director is in control of the BE (Broadcast Encryptors) and is
responsible for activities such as
• Changing the encryption keys in accordance with a key schedule
• Organizing channels into bands
• Ensuring each Broadcast Encryptor has the correct configuration
Broadcast Director monitors BE status and reports to the operations center to
track headend health.
SecureMedia® Encryptonite ONE
Broadcast Director
SecureMedia® Encryptonite ONE
Broadcast Encryptor
• Handle a variety of media formats
• Broadcast Encryptors encrypt video streams on the fly
• Each Broadcast Encryptor can support multiple concurrent video streams, each
of which can have their own encryption key.
• Broadcast Encryptors can potentially receive their video streams from an
upstream broadcast encoder, or could potentially be integrated within the
encoder.
• The Broadcast Encryptor may feed a downstream Media Server or could
potentially multicast content directly to the client device community.
SecureMedia® Encryptonite ONE
VoD Encryptor
• The VoD Encryptor is responsible for encrypting VoD assets
• Exactly how the media asset is encrypted is implementation specific, factoring
in the capabilities of the media server and the media player.
• The VoD Encryptor can also be integrated into an encoder application.
• The VoD Encryptor is a command line app, it is possible that encryption can be
included as part of automatic media ingestion processes.
SecureMedia® Encryptonite ONE
smchunker
smchunker forms part of SecureMedia's HLS+ solution. The role of the smchunker
is to break a transport stream up into media chunks, each of which are accessed
by the client device via a unique URL.
SecureMedia® Encryptonite ONE
Client Device
The client device must support the SecureMedia Client, which is based on the
standard ES-SDK. The SecureMedia Client can support the decryption of a
number of media formats, such as VoD, Broadcast, PVR (Personal Video
Recorder), Download etc. The client software itself is designed to be lightweight,
ensuring that client devices with a low specification can still support the client.
SecureMedia® Encryptonite ONE
Clones
ESAM provides a facility to detect client devices which have been cloned or
duplicated. Through configuration, it is possible to prevent cloned client devices
from running on the system, or simply raise a flag to say a clone has been
compromised.
SecureMedia® Encryptonite ONE
Background Jobs
Each of the administrative applications within the Encryptonite System routinely
conduct a number of background jobs. In each case, management of these
background jobs can be achieved under the Tasks tab within each administrative
GUI.
SecureMedia® Encryptonite ONE
KMC
• Cleaner - deletes old inactive keys and deactivates all expired keys.
• KeyServer Key Changer - generates new a KeyPair used to secure
KeyServer communication (usually disabled).
• Log Archiver - archives database log records to text file and purges the
records from the database requests.
• Key Supply - imports media key details from the Key Supplier (only if
downstream key vault, separate tasks per key supplier).
•
SecureMedia® Encryptonite ONE
MPAdmin
• Cleaner - deletes old client session records from database.
• Key Supply - imports media key details from Key Supplier (separate
tasks per key supplier).
• Log Archiver - archives database log records to text file and purges the
records from the database requests.
SecureMedia® Encryptonite ONE
Broadcast
• Configuration Loader - ensures the Broadcast Configuration in memory is
an accurate reflection of the current database configuration.
• Key Generator - orders new keys from KeyVault as needed to ensure all
Bands have current and next keys available.
• Key Change - changes broadcast keys for all bands that use the
particular key schedule (one job per schedule).
• Log Archiver - archives database log records to text file and purges the
records from the database requests.
• Monitor - monitor Broadcast Encryptor (One job per broadcast encryptor).
SecureMedia® Encryptonite ONE
Encryptonite Basic System Operation
SecureMedia® Encryptonite ONE
IPTV Services
• Broadcast, whereby the service is similar in functionality to "normal" TV
services; you choose your channel and the service provider dictates the
program scheduling.
• Video on Demand, which allows the customer to choose which program
they would like to watch, regardless of the current time.
• OTT (Over The Top), whereby customer receive TV content via the
Internet and as such, that content flows over the top of the service
provider's network.
SecureMedia® Encryptonite ONE
Broadcast
• IP Multicasting is used to deliver the content across the IP distribution
network in order to provide an efficient delivery mechanism
• Protocols such as IGMP (Internet Group Management Protocol) allow
client devices to join multicast groups. As a user flicks from one channel
to another, they are leaving one multicast group and joining another.
• PIM (Protocol Independent Multicast) is also found in the IP distribution
network and is used as mechanism to keep the multicast routes across
the network optimized.
SecureMedia® Encryptonite ONE
Broadcast
SecureMedia® Encryptonite ONE
Video on Demand
• Subscribers can gain access to a menu of available programs which they
can choose to watch as and when they see fit.
• VoD services are based on unicast IP delivery, with video streams often
being established using RTSP (Real Time Streaming Protocol).
• Video is sent on a 1:1 basis between the Media or VoD Server and the
client device.
• VoD servers are found at the network edge in order to reduce the amount
of traffic flowing across the core network.
SecureMedia® Encryptonite ONE
Video on Demand
SecureMedia® Encryptonite ONE
Over the Top Service
• OTT (Over The Top) service describes the notion of a mobile or fixed line
provider providing transport services to a 3rd party’s service offering.
• Content will be transported across a mobile or fixed access network of
some description.
• Can be to the STB, CE Devices, or to mobile devices.
• Usually used to supplement and enhance traditional services.
SecureMedia® Encryptonite ONE
HLS+
• HLS (HTTP Live Streaming) is a protocol designed for the streaming of
VoD and broadcast content.
• Media sources are essentially broken down into small chunks, which are
separately accessible via unique URLs.
• A key advantage to HLS is the concept of adaptive streaming; essentially,
the same content is available at different data rates and the client will use
whichever chunks are applicable to its available bandwidth.
• Adaptive modulation is particularly useful for wireless devices which may
routinely flick between 3G, 3.5G, 4G, Wi-Fi etc.
• HLS+ is a solution designed by SecureMedia which incorporates HLS
functionality with AES128 based content encryption offered by the
Encryptonite One system.
• HLS+ features all the necessary components of a HLS system, including
the chunker (termed smchunker) which is responsible for segmenting and
encrypting media.
SecureMedia® Encryptonite ONE
Media Transport
• Although IP will be the underlying transport mechanism to get video
content from source to the customer, MPEG-2, H.264, VC-1 must be kept
synchronized and in one piece for eventual play out.
• MPEG-2 Transport streams can be encapsulated in:
• RTP (Real time Transport Protocol), which would provide timing
synchronization, sequential packet delivery and packet loss
indication, as well as support for FEC (Forward Error Correction)
• Standards for transporting MPEG-2 TS directly within IP could be
utilized.
• UDP is used in both cases at the Transport Layer because of its low
transmission overhead
SecureMedia® Encryptonite ONE
Media Transport
SecureMedia® Encryptonite ONE
ESAM Responsibilities
The ESAM looks after the initial registration procedures
and any subsequent connection and transaction requests
The ESAM protocol, which is part of KVSS (Key Vault Secure Services), is
used to secure communication between the client device and server (the ES).
SecureMedia® Encryptonite ONE
Initialization
Initialization happens once in the
lifetime of a device. It is supplied
with a HUID (Hardware Unique
Identification) string which is
stored permanently and is
available for the entire lifetime of
the device. This identifier may be
an existing hardware identifier
such as a MAC (Medium Access
Control) address.
SecureMedia® Encryptonite ONE
Registration
The registration
process, which may
occur only once in
the lifetime of the
subscription, typically
starts with the client
device receiving a
HTTP based
command from a
web portal (which
forms part of the
Middleware).
SecureMedia® Encryptonite ONE
Registration
The client device will use
random data to generate a
private/public key pair,
termed dpvk (Device Private
Key) and dplk (Device
Public Key) respectively.
These will be used to
secure subsequent
communication with the
ESAM.
SecureMedia® Encryptonite ONE
Connection
Once registration is
complete, the client
device must establish
a connection with the
ESAM before any
transactions can take
place
The Open Session
contains the following
parameters:
CHD, sn, Regisgration
#, HUID
SecureMedia® Encryptonite ONE
Registration Authorization Models
The two models of Registration are:
Pull
Push
The difference between the two is essentially the point in the process at
which the Middleware authorizes the SecureMedia Client.
SecureMedia® Encryptonite ONE
Pull Registration Flow
SecureMedia® Encryptonite ONE
Pull Registration Process Flow
Step 1 The portal triggers a registration procedure by sending the Register
API.
Step 2 The client device sends a Registration Request to the ESAM.
Step 3 The ESAM uses the Middleware Registration Service to check for
authorization. The ESAM will use the Register message of the Registration
Protocol, which contains information elements such as the client device
Identifier and any application specific data eg. activation code that the client
device has sent.
SecureMedia® Encryptonite ONE
Push Registration Authorization Model
SecureMedia® Encryptonite ONE
Push Registration Authorization Model
Step 1 The Middleware pushes authorization for a client device to the Business
Authorization Service of the BSS. The protocol used on this interface is BSAU
(Business Support Authorization Update) protocol and the message used to
provide authorization to a particular client device is the Start API. The Start API
contains information elements which denote permissions for services such as
broadcast, VoD and PPV, as well as setting time/duration parameters if required.
Step 2 The portal triggers the registration process by sending the Register API.
Step 3 The client device sends a Registration Request to the ESAM.
Step 4 The ESAM sends a Registration Authorization Request to the Business
Support Server to verify that authorization for registration has been received from
the Middleware.
SecureMedia® Encryptonite ONE
VOD Architecture Overview
SecureMedia® Encryptonite ONE
VOD Process Flow
Step 1 Before any media assets are made available to the subscriber, the
asset must be encrypted. This requires the Encryptor Producer to obtain an
appropriate MK (Media Key) from the Key Vault.
Step 2 Once encrypted, the secured asset is sent to the Media Server for
storage and eventual access by subscribers.
Step 3 The Client device purchases the rights to play the media via the
middleware portal. At this stage, authorisation to view the VoD asset may
be passed to the BSS.
Step 4 The client device sends a service request to the ES in order to
obtain a MediaPass.
Step 5 Assuming authorisation has been granted, the BSS provides a
MediaPass to the client via ESAM.
SecureMedia® Encryptonite ONE
VOD Process Flow
Step 6 The SecureMedia client uses the MediaPass to formulate a request
for the corresponding MK (Media Key) from the Key Server. This MK will be
used for decryption.
Step 7 Providing the MK request is valid, the Key Server provides the
correct MK.
Step 8 MK is used to decrypt the media stream received from the Media
Server.
SecureMedia® Encryptonite ONE
Broadcast Architecture Overview
SecureMedia® Encryptonite ONE
Broadcast Middleware
Middleware is integral to the broadcast scenario, providing features such as:
• Portal hosting, to allow the subscriber to browse the available
broadcast channels.
• Client device control, to ensure the client device joins the correct
multicast once a channel has been selected.
• Provision of client authorization confirmation to the BSS.
SecureMedia® Encryptonite ONE
Broadcast Process Flow
Step 1 The Broadcast Director is responsible for triggering the
creation of new broadcast keys and also scheduling key changes
(on a configurable basis) for the Broadcast Encryptor.
Step 2 The Broadcast Encryptor encrypts the live broadcast
streams on a real-time basis, all under the control of the Broadcast
Director.
Step 3 The client device must contact the BSS (Business Support
System) on a regular basis in order to obtain MediaPasses for the
broadcast key set.
NOTE: Communication between the client device and the BSS is
protected by ESAM. This means that client devices are
authenticated and MediaPasses are encrypted in transit.
SecureMedia® Encryptonite ONE
Broadcast Process Flow
Step 4 Just like VoD, the client device will process the MediaPass
in order to create a key request. The key request will be passed to
the Key Server and if successful, will result in the broadcast MKs
being sent to the client device.
Note: The process in Step 4 ensures that client devices can obtain
broadcast keys in advance of any scheduled key changes.
Step 5 Encrypted media is broadcast across the content
distribution network, from the Headend (where the source could be
an encoder, Broadcast Encryptor or Media Server) down to the
client device community.
Step 6 The encrypted media stream contains the information that
the client device needs in order to apply the correct decryption
keys.
SecureMedia® Encryptonite ONE
Timeshift Architecture Overview
SecureMedia® Encryptonite ONE
Timeshift Process Flow
Step 1 Broadcast content is being encrypted on the fly, with control of the
Broadcast Encryptor undertaken by the Broadcast Director and the MK supplied
by the Key Vault.
Step 2 The subscriber issues a command to record live content; this could be
via a NPVR or LPVR mechanism.
Step 3 The subscriber later chooses to view their recorded content. This could
potentially be days or weeks after the recording and as such, the client device
must obtain the correct MK. The process starts with the subscriber browsing
their recorded content and selecting the recorded program. This triggers the
Middleware into issuing a Time Shift command to the client device, which
includes Band and Time reference information which eventually allows the ES
to obtain the correct key.
SecureMedia® Encryptonite ONE
Timeshift Process Flow
Step 4 The client device issues a Time Shift request to the ESAM. Assuming
the subscriber is authorized to use Time Shift, the Band and Time information
sent in this request (obtained in Step 3) is used to generate a MediaPass
NOTE Although recommended by SecureMedia, Band and Time information is
not always used by the Middleware to identify the appropriate key; other
techniques are available.
Step 5 The MediaPass is sent to the client device.
Step 6 The client device uses the MediaPass to obtain the correct MK from the
Key Server.
Step 7 The stored, encrypted content is played out and decrypted as
appropriate.
SecureMedia® Encryptonite ONE
External Verification Service
XVS (External Verification Service) is an add-on to the Encryptonite
System which enables external verification of ESAM registrations.
SecureMedia® Encryptonite ONE
Broadcast Channels, Bands, Groups
A band defines a group of channels that will always be sold together so that
all channels in a band are encrypted with the same media key, meaning that
the client device only has one decryption key for all channels in the band.
SecureMedia® Encryptonite ONE
Groups
A group defines a physical collection of channels. Although a channel may
be sold as part of a particular band, the encryption of the channel is defined
by the group it is in.
SecureMedia® Encryptonite ONE
Groups and Broadcast Encryptors
It is possible that several groups will be assigned to a particular BE.
Likewise, for redundancy purposes, a group can be assigned to several
BEs.
When configuring Broadcast Encryptors, it is possible to specify parameters
that relate to an individual channel, an encryptor or a group of channels.
SecureMedia® Encryptonite ONE
Bundles
Bundles were introduced by SecureMedia as a mechanism for grouping
together multiple services eg bands, VoD assets, PPV events etc into one
administrative entity.
Bundles can also be used to create customized packages if necessary,
where bundles are created to meet the specific requirements of a customer.
All bundles are created and managed in MediaPass Admin.
SecureMedia® Encryptonite ONE
Service Customization
• Certain providers may require a very high level of granularity in terms of
the way in which channels are managed and authorized.
• The KVBand module was introduced in order to more efficiently manage
deployments where the total band number exceeds ~100. When KVBand
is in use, the Broadcast Director is disabled.
SecureMedia® Encryptonite ONE
Service Customization
SecureMedia® Encryptonite ONE
Broadcast Services: Detailed
SecureMedia® Encryptonite ONE
Broadcast Workflow – Detailed
SecureMedia® Encryptonite ONE
Responsibilities of the Client Device
At regular configurable
intervals, a message is sent
to the BSS (Broadcast
Support System) with a list of
the media keys held for use
by broadcast streams.
The BSS will return an
acknowledgement of the
request and, if appropriate,
will send:
• MediaPasses for media
keys that are missing from
the client device.
• A list of mediakeys that are
not required and should be
removed.
SecureMedia® Encryptonite ONE
Responsibilities of the Client Device
Each MediaPass is used by the ES client device to request the media decryption
key (MK) from the Key Server. When the client device receives the MK from the
Key Server, it will be processed into the sm client and held ready for use.
A client device will typically hold three media keys for each authorized band:
• Current – media key for the band that is currently being encrypted.
• Next – media key that will be needed after the next key change.
• Previous – media key used before the current media key.
SecureMedia® Encryptonite ONE
Responsibilities of the Client Device
Each encrypted broadcast media stream contains a Media ID as a reference to
the media key that the client device must use to decrypt the stream. Holding
multiple media keys in the client device has the benefit of rapid channel changes
that are transparent to the user.
SecureMedia® Encryptonite ONE
Responsibilities of the Client Device
Rights are stored server-side and no keys or rights are stored persistently on
the client device. On power-up, the SM client within the client device must
acquire all of the keys for the channels the client device has subscribed to. To
do this, the client device sends a standard request to the BSS
In response, the client device will receive the MediaPasses it needs.
SecureMedia® Encryptonite ONE
Responsibilities of the Encryptonite System
The Business Support System is the server-side component that receives
the regular client device requests. The BSS uses several items of
information to decide the response to send to the client device:
• A record of the bands the client device is subscribed to (based
on the authorization information pushed to the ES from the
Middleware).
• MKs and Media IDs associated with each band.
• MKs held by the client device (based on the BSS Ping message
contents).
SecureMedia® Encryptonite ONE
Responsibilities of the Encryptonite System
This information enables the BSS to get MediaPasses for MKs missing from
the client device and to generate the list of MKs that should be removed.
SecureMedia® Encryptonite ONE
Traffic Flow Management
In addition to managing the mediakeys in the client devices, the BSS also
controls the flow of traffic to the other servers.
SecureMedia® Encryptonite ONE
Authorization Interface
The SMS (Subscriber Management System) is a logical service within a
broadcast solution that manages the subscribers. In order to correctly allow
a client device to play a particular band, the SMS service, which is part of
the Middleware, must be given the client device’s entitlements.
The SMS communicates the band entitlements for each client device
through a simple HTTP interface that allows a client device to be authorized
or de-authorized for a band.
SecureMedia® Encryptonite ONE
Responsibilities of the Headend
At the head-end, the real-time encryption of the streams is performed and
the key change schedules are organised and managed. Two ES broadcast
components support these functions:
SecureMedia® Encryptonite ONE
Controlling the Encryption
The BD (Broadcast Director) controls and organizes the encryption of the
broadcast streams by managing the Broadcast Encryptors. The BD
maintains a record of all channels being encrypted by the BEs.
SecureMedia® Encryptonite ONE
Key Change
Typical key rotation timeline:
SecureMedia® Encryptonite ONE
Key Change
• Key changes occur at regular configurable intervals (for example every 24
hours) and each band may be configured with its own key change
schedule.
• The preparation for a key change is initiated once the previous key
change has been completed. This is undertaken well in advance of the
next key change to give each client device the time to acquire the
decryption key and initialize the decryptor.
• To prepare for the key change, the BD must request a new key pair from
the Key Vault, using the Key Generator task. On instruction from the BD,
the BEs request the encryption key from the Key Vault and prepare their
encryptors.
SecureMedia® Encryptonite ONE
Pay Per View
• In the Encryptonite System, PPV (Pay Per View) events are treated as a
variation of Broadcast. Therefore, authorization for a PPV event must be
pushed to the BSS from the Middleware.
• PPV events are broadcast live on a channel just like a normal broadcast
channel, although there is one significant difference – the MK used for
encryption/decryption purposes is a specific fixed PPV key.
• This key does not change throughout a specific PPV event
SecureMedia® Encryptonite ONE
Pay Per View
• The Business Support Server needs access to client device authorization
information for PPV Events. PPV events:
SecureMedia® Encryptonite ONE
Pay Per Block
PPB (Pay Per Block) describes the notion of providing subscriber access to
a particular band of programming for a set period of time
• The principle of operation is almost identical to PPV operation,
whereby authorization for a service must be pushed to the BSS from
the Middleware as and when the subscriber joins the service.
• The authorization time period is extended over a much longer period
and MKs will change as normal eg every 24hrs.
SecureMedia® Encryptonite ONE
Pause / Live
Trick play with live TV (pausing, picture search etc) is possible due to the
fact that the SM client retains the previous MK for each band.
Within the 24hr period between key changes, the client device can use the
previous key to access “paused” content, after the scheduled key change. Of
course, this is only possible up to 24hrs assuming this is the typical key
change schedule.
SecureMedia® Encryptonite ONE
Clear Broadcast
• Clear Broadcast events are set up in a similar way to PPV events, in
terms of their timing and duration.
• Introduced in ES2.1, clear broadcast allows the operator to choose a
channel and time period where the broadcast is not encrypted.
• Clear Broadcast could potentially be set as a recurring event.
SecureMedia® Encryptonite ONE
Broadcast Configuration Dependencies
During the installation and
configuration of the Encryptonite
System, it is important to consider
certain configuration
dependencies throughout the
system. Failure to do this could
result in disastrous consequences
for the broadcast services.
SecureMedia® Encryptonite ONE
Media Pass Admin Token and Key Supply Frequency
• If the MediaPass database was to run out of tokens, some subscribers
would not be provided with MediaPasses until the token level was
resupplied. The Reorder Level (the token level which, when the available
token count goes below this, will trigger a resupply request).
• Reorder Quantity (the total number of tokens supplied by the KMC in
multiples of 5000) must be set appropriately in order to avoid this. When
determining these settings, the total number of client devices must be
taken into account.
SecureMedia® Encryptonite ONE
Media Pass Admin Max Client Ping
With a 24 hour key change schedule, the maximum ping interval for the
Broadcast Client Ping would be set to 60 minutes by default.
Media Pass Admin KS Session Duration
• Sessions are an optional feature which exist between the Key Server and
the Client.
• KS sessions are designed to be a more efficient way of securing
communication, instead of the client using the normal Key Server public
key.
• It is recommended that Key Server Session Lifetime should last at least 3
times the broadcast key change schedule.
SecureMedia® Encryptonite ONE
Time Synchronization
With broadcast
services, the key
changes for a
particular band take
place in accordance
with a time based
key schedule,
making time
synchronization
between services
imperative.
SecureMedia® Encryptonite ONE
HTTP Live Streaming
HLS (HTTP Live Streaming) is an IETF (Internet Engineering Task Force)
draft by Apple called Pantos. An informational RFC (Request for Comment), it
is designed to work with standard web technology and servers, experiencing
a wide global deployment which can be attributed to its integration with Apple
IOS devices and Android platforms.
SecureMedia® Encryptonite ONE
HTTP Live Streaming
• HLS was designed to deliver multimedia streams to client devices with the
support of a suitable CDN (Content Delivery Network) such as the Internet.
• HLS supports the encryption of content, which is based on AES-128
encryption.
• Client devices can choose from a selection of versions of the same
content, all encoded at different bitrates and transported using HTTP.
• Content sources can be broadcast or VoD.
SecureMedia® Encryptonite ONE
HTTP Live Streaming: Encoding / Transcoding
•
A hardware or potentially software based encoder is responsible for taking
uncompressed video, or audio and video encoded at a higher rate, and encoding
it into a suitable format.
•
The codecs used are H.264 (also termed the AVC (Advanced Video Codec) used
in MPEG-4) for video and AAC (Advanced Audio Codec) for audio.
SecureMedia® Encryptonite ONE
HTTP Live Streaming: Stream Segmentation
•
•
•
•
•
The MPEG-2 TS is delivered to the Stream Segmenter
When a segment contains video, it is important to ensure that the segment contains at
least one I-Frame, in order for the decoder to paint a full picture on screen without
requiring previous segments.
Segments are saved as .ts files.
Each consecutive segment, termed a Media File, is given a unique URI (Uniform
Resource Identifier) which the client can then use in order gain access to the segment
from the web server.
The Stream Segmenter composes an index file, termed a Playlist File, which essentially
lists the URIs for each consecutive segment (the file is an extended M3U playlist file)
SecureMedia® Encryptonite ONE
HTTP Live Streaming: Playlist Elements
• EXT-X-MEDIA_SEQUENCE – this provides the starting sequence number of the
first media segment URI in the Playlist File. Subsequent segments will count
upwards from this number in increments of 1. This parameter is particularly
important in broadcast scenarios, since it allows the client to make sure the most
recent content is being downloaded.
• EXT-X_TARGETDURATION – this is the maximum media segment duration, in
seconds.
•
• EXTINF – this tag contains the URI of a segment, preceded with the segment’s
duration.
SecureMedia® Encryptonite ONE
Distribution Side Activity
The distribution system is typically a web server or a web caching system that delivers
the media files and index files to the client over HTTP. No custom server modules are
required to deliver the content and the web server requires minimal configuration.
Tuning time-to-live values for .M3U8 files may also be necessary to achieve desired
caching behavior for downstream web caches, as these files are frequently overwritten
during live broadcasts, and the latest version should be downloaded for each request.
SecureMedia® Encryptonite ONE
Client Side Activity
In order to view a particular piece of
content, whether it’s broadcast or VoD,
the client must be provided with the
URI of the Playlist File.
• The client will request the Playlist
File from the web server and begin
to download the media files, in
accordance with their unique URI.
• Media files are accessed in the
order in which they are listed in the
Playlist File.
• Once the client has enough content
cached, playout of the stream to the
end user starts.
SecureMedia® Encryptonite ONE
Adaptive Streaming
One of the most important features of
HLS, particularly for mobile clients, is
the use of Adaptive Streaming.
This involves the use of variant
streams, where a client can access
numerous variants of the same
program.
If a mobile user experiences a
degradation in their available
bandwidth, they can seamlessly switch
to a lower data rate variant of the same
program
SecureMedia® Encryptonite ONE
Adaptive Streaming
The Playlist File to the client contains the
URIs of all the playlist files which make up
the overall content offering.
• The variant Playlist file contains
the EXT-X-STREAM-INF tag,
which provides:
• The program ID, which must be
common to all variants of the
stream.
• The bandwidth required for the
stream, which can be used by the
client to determine which Playlist
File it should access.
• The URI of the playlist file.
SecureMedia® Encryptonite ONE
HLS+
•
•
•
To protect the HLS content, the HLS RFC accommodates the use of encryption
techniques. To manage the encryption/decryption keys
The SecureMedia HLS+ extensions seamlessly plug into the Encryptonite System,
leveraging on the rights management framework already provided.
One Encryptonite System can concurrently support both HLS and normal IPTV
deployments.
SecureMedia® Encryptonite ONE
HLS+ Process Flow
SecureMedia® Encryptonite ONE
HLS+ Components
Chunker - the chunking (or segmenting) of content is done either by the
SecureMedia smchunker or by third party software/hardware which supports the
KVHLS protocol.
kvhls – the plugin module to the Encryptonite System to enable HLS support. It
generates and protects the control words used for chunk encryption and
generates necessary meta-data so that the client can identify which key to use
for decryption of protected control words.
HTTP Server – serves both the content segments (media URIs) and the Playlist
(or index) files needed by the HLS players to identify which bit rates and
segments are available.
HLS Player- On the client device, the HLS front end is responsible for selecting
which segments to download, playback the segments and to communicate with
the SecureMedia client to get access to the decrypted control words used to
decrypt the actual chunk.
SecureMedia® Encryptonite ONE
HLS+ Operation
The Encryptonite System integrates with HLS in an HLS+ deployment:
SecureMedia® Encryptonite ONE
HLS+ EXT-X-KEY
In HLS, to decrypt the
segment, the client device
must acquire the control
word.
This is achieved with an
entry in the Playlist File
which determines the URI
at which the control word
can be accessed, termed
the EXT-X-KEY tag.
SecureMedia® Encryptonite ONE
HLS+ Control Word
With HLS+, the control word in the EXT-X-KEY tag entry is actually
encrypted using a Media Key from the Encryptonite System and
concatenated with meta-data needed by the client to identify which
decryption key is used. This forms a “protected control word”, which is
base-64 encoded, and it is this that is included in the EXT-X-KEY tag URI,
rather than the control word being in the clear.
SecureMedia® Encryptonite ONE
HLS+ Control Word
• For HLS and live content, the control word is protected using a
Broadcast Media Key from the Encryptonite System.
• As with normal IPTV broadcast the Broadcast Key Set is regularly
changed (normally every 24 hours). Authorization is done by giving the
client access to the Band of the Broadcast Media Key ID.
• Other business models like Pause/Live and PVR are also supported.
• For HLS and VOD content, the control word is protected using a VOD
Media Key from the Encryptonite System.
• Authorization is achieved by giving the client access to the Media Key
ID or the External Reference of the VOD asset.
SecureMedia® Encryptonite ONE
HLS+ Client Side Operation
• The client (which includes the
HLS frontend and SMClient)
starts by downloading the
master manifest file (also
termed the variant Playlist File)
for a particular program stream.
• Based on available bandwidth,
the client continues by
choosing the most suitable
media manifest file (Playlist
File) and starts downloading
the chunks.
SecureMedia® Encryptonite ONE
VOD Services: Detailed Architecture
SecureMedia® Encryptonite ONE
VOD Services: Detailed Architecture
SecureMedia® Encryptonite ONE
VOD Encryption Process
SecureMedia® Encryptonite ONE
VOD Encryption Process
Step 1 - The Encryptonite Producer requests a new MK (Media Key) from
the KVES (Key Vault Encryptor Services) for each media file that is to be
encrypted. This communication uses KVSS and can be performed over the
public Internet, for example between an encoding house or head end and a
network operations center hosting a Key Vault.
SecureMedia® Encryptonite ONE
VOD Encryption Process
Step 3 - KVES creates a key pair, returning the Media Encryption Key to the
Producer and saving the Media Decryption Key into the Key Vault with a
status of pending.
Step 4 - The producer uses MK to encrypt the media, after which time it is
discarded. The Media Player uses the corresponding MK (obtained from the
Key Server) when decrypting the media.
Step 5 - The Encryptonite Producer encrypts the media file using the Media
Key and saves the encrypted media to disk.
SecureMedia® Encryptonite ONE
VOD Encryption Process
As well as creating the encrypted
VoD asset, the Encryptor
Producer must also generate an
XML based .sma (SecureMedia
Asset) file, which is delivered to
the Middleware as part of the
encrypted asset ingestion
process. The .sma file contains
information about the encrypted
media including the Media Key ID,
which is used in the authorization
process.
SecureMedia® Encryptonite ONE
Commit Media Key
The Encryptonite Producer uses
KVES to commit the Media Key in
the Key Vault. This changes the
key’s status from pending to
active, making the key available
to the MediaPass Server System.
If the encryption process is
unsuccessful the Producer will
instead use KVES to remove the
Media Key from the Key Vault.
SecureMedia® Encryptonite ONE
Encrypted Media Delivery
The encrypted media is delivered
from the Encryptonite Producer
platform to the Media Server. This
delivery is likely to occur through
already existing channels.
The Media Server could stream
the media to the client or
alternatively, make the encrypted
media available for download.
SecureMedia® Encryptonite ONE
Client Play Request
• The Client play request involves the client gaining access to the information that it
needs to be able to play the media.
• This information includes the Media Key (acquired using the MediaPass) and the
encrypted Media.
• The client play request can be broken into the following parts:
• The SecureMedia Encryptonite System Decryptor SDK is available for
use in Media Player applications and provides MediaPass Processing,
Key Management and Decryption functionality.
SecureMedia® Encryptonite ONE
MediaPass Database Update
The MediaPass Database needs to keep an updated list of available media files as
well as a suitable inventory of Tokens.
• The Content Update process is used to ensure that the MediaPass
Server System knows what media is available
• The Token Replenish process is used to restock the MediaPass
Database with the tokens that are needed to create MediaPasses.
SecureMedia® Encryptonite ONE
MediaPass Delivery
• The client browser or media player will request a MediaPass from the
Encryptonite System, using a secure authenticated connection (eg ESAM or
SSL).
• Once the Encryptonite System has validated that the Client is entitled to access
to the selected media (authorization should be provided by the middleware), it
delivers a MediaPass to the Client
• As with registration there are two ways of doing VOD authorization - either push
or pull (or both). The authorization contains the Media Key ID (unique identifier of
VOD asset) and the SN (unique identifier of client device).
SecureMedia® Encryptonite ONE
Push VOD Authorization
• In Push VoD authorisation, the Business
Server System is pre-loaded with the
relevant authorization for VoD assets,
as defined by sn and the Media Key ID.
• The on-demand service request is
triggered by the Middleware generating
the request_service API.
• On receipt of the On-Demand Request,
the ESAM will contact the Business
Server System to verify that
authorization exists.
• Assuming it is authorized, a suitable
MediaPass will then be delivered to the
client.
SecureMedia® Encryptonite ONE
Pull VOD Authorization
Pull VoD authorization works in a
similar fashion to Push, with the
exception that the ODAQ (On Demand
Authorization) protocol is used to allow
the Encryptonite System to explicitly
request authorization from the
Middleware.
SecureMedia® Encryptonite ONE
MK Delivery
• Having received the MediaPass, the Client software requests the
delivery of the Media Key from the Key Server and includes the Token
within this request. This entire process is transparent to the end user.
• The Key Server then requests the Media Key from the Key Vault. The
Key Vault checks that the Token is valid and if so, returns the Media
Key to the Key Server and then records the fact that the Token has
been used.
• The Key Server sends the Media Key, uniquely encrypted, back to the
Client in the response to the initial request.
• Both the key request and response are secured using SecureMedia’s
Encryptonite technology.
SecureMedia® Encryptonite ONE
Streaming
• In the case of streaming media, the Client software requests the
media from the Media Server.
• The Client software decrypts the encrypted media stream (using the
Media Key) and then renders the stream for display.
SecureMedia® Encryptonite ONE
Download
• In the case of downloaded media, the media is typically available
locally on the Client and has been selected at the start of the Client
Play Request.
• The Client software decrypts the encrypted media file (using the
Media Key) and then renders it for display.
SecureMedia® Encryptonite ONE
Encryptonite Deployment Considerations
When deploying the Encryptonite System within a production environment,
several factors must be considered before system integration takes place.
SecureMedia® Encryptonite ONE
Hardware Requirements
Although hardware capabilities are constantly changing, this is an example of a
Bill of Materials (including hardware specification) for deploying a High
Availability Encryptonite System.
SecureMedia® Encryptonite ONE
High Availability
In order to achieve high availability and remove any single points of failure from
the network, system redundancy is an essential feature of any deployment.
Redundancy can be introduced into several elements of the Encryptonite System:
SecureMedia® Encryptonite ONE
General Server Redundancy
In terms of the hardware upon which the Encryptonite System is deployed, there’s
a number of general measures that can be taken in order to protect against failure:
SecureMedia® Encryptonite ONE
Broadcast Encryptor Redundancy
• Broadcast encryptors can be
configured in a fully redundant
setup, running on 2 or more
servers.
• The redundant (passive)
encryptor is actually fully
operational, processing exactly
the same content as the
“active” Encryptor at exactly
the same time.
• The only difference between
the two is that the “passive”
Encryptor is not delivering its
output to the network. Instead,
it simply listens for activity from
the “active”
SecureMedia® Encryptonite ONE
Broadcast Encryptor Redundancy
• For a redundant system,
both encryptors must read
from the same input and
both must continuously
encrypt the live streams.
• If at any point the active fails,
the passive encryptor will
automatically begin
multicasting/unicasting its
encrypted content.
SecureMedia® Encryptonite ONE
Application Server Redundancy
• The request to the servers
comes through a load
balancer, which passes it on
to one of the web application
servers.
• All Application Servers are
active.
• The web application servers
are configured to connect to
the same database instance.
SecureMedia® Encryptonite ONE
Database Redundancy
Database redundancy can come in a number of options:
SecureMedia® Encryptonite ONE
ES High Availability Options
Four options exist with the Encryptonite System in relation to High
Availability deployments:
SecureMedia® Encryptonite ONE
Single Server
The entire SecureMedia
Encryptonite System, or
parts of it, with the
exception of the
broadcast encryptors
which should run on a
separate server in any
production environment,
can be placed on a single
server.
SecureMedia® Encryptonite ONE
Minimal Setup
For a minimal high
availability production
setup four servers can be
used. Two servers for the
broadcast streams
running in redundant
mode and two servers for
the applications and
database.
SecureMedia® Encryptonite ONE
Standard HA Setup
For a standard High
Availability Setup there
are six servers; two for
the broadcast streams,
two for the web
applications and two for
the databases.
The database can be
setup using any of the
database redundancy
modes.
SecureMedia® Encryptonite ONE
Maximum HA Setup
• The maximum high
availability solution means
distributing servers
between different
geographical sites to
handle site disasters and
failures.
• The replication between
the sites is achieved using
Oracle Dataguard Or
GoldenGate.
• The individual sites can
also implement different
High Availability solutions
SecureMedia® Encryptonite ONE
HA Compartive Analysis
SecureMedia® Encryptonite ONE
Upsteam / Downstream Key Vaults
• For key distribution, the central
Encryptonite system will be
considered the master KSS (Key
Server System) and each site that
requires a copy of the media keys
will be running their own slave KSS,
with their respective Key Vaults.
• Providing that the system is
configured correctly, slave Key
Vaults will automatically be provided
with the latest keys.
SecureMedia® Encryptonite ONE
Integration Concepts
Point of Integration:
Server-side middleware –
• Authorizes access using flexible APIs that include
support for pay-per-view, broadcast, time-shifted-TV,
for long-term and short term rights.
• Provides consistent support for Broadcast and VoD
assets within the same set of APIs.
• Validates registration of client devices to the system
SecureMedia® Encryptonite ONE
Integration Concepts
Point of Integration:
The client –
• It must be efficient for the encrypted media stream
to be decrypted immediately before use by the
media player
• The middleware portal and other software must
communicate with the servers, to request play of a
VOD asset, to register the client device onto the
network, to send custom messages to the
middleware
SecureMedia® Encryptonite ONE
Middleware Integration
Depending on the business models in use by the provider, not all of
these integration points need to necessarily be supported:
SecureMedia® Encryptonite ONE
Client Integration Points
SecureMedia® Encryptonite ONE
Client Integration Points
SecureMedia® Encryptonite ONE
Client Integration Points
Key Client Integration Points Include:
smdaemon - this is the SecureMedia “daemon” or
“service” which controls interactions with middleware,
DRM servers and key management systems in servers
and decryption libraries. The smdaemon also controls
access to local persistent storage.
smplugin - this is the SecureMedia decryption library
which must be integrated with the player/video
demultiplexing and decoding software.
smIPC - this is the SecureMedia IPC (Inter Process
Communication) which connects the smdaemon and the
smplugin.
SecureMedia® Encryptonite ONE
Troubleshooting
There are several elements of the Encryptonite system which require
monitoring in order to ensure system resources are not being stretched:
SecureMedia® Encryptonite ONE
Disk Usage
• Application Servers.
• Database Servers.
• Broadcast Encryptor Servers.
• VoD Encryptor Servers.
In each of these cases, logs are available which can assist network
operators. Also, in Linux, disk usage can be checked with the df
command eg # df -h.
SecureMedia® Encryptonite ONE
Memory Usage
• It is prudent to record the baseline memory usage for all servers
under normal operating conditions.
• Both Free Memory and Swap Used should be regularly checked and
measured against the recorded baseline values.
• This can be achieved using the free command in Linux eg # free.
SecureMedia® Encryptonite ONE
SNMP
The Encryptonite
System contains a
SMMA (Secure Media
Master Agent) deployed
on every Application
Server, which gathers
system information from
internal communication
with the various ES
elements and reports to
a suitable NMS
(Network Management
System) via SNMP.
SecureMedia® Encryptonite ONE
Logs
Logs accessible across the end to end Encryptonite System:
SecureMedia® Encryptonite ONE
Oracle Logs
Oracle log locations hold the Listener and Alert logs:
SecureMedia® Encryptonite ONE
Resin Logs
Resin logs are stored in the log and logs directories under the Resin
home directories eg: /usr/resin-8081/resin-2.1.16/logs/error.log
SecureMedia® Encryptonite ONE
Application Logs
Application logs are stored in the logs directory under the Resin home
directory.
The filenames used are of the form {application}-{type}.log where
{application} is the name of the service (eg kmc, bss) and {type} is one of
alert, audit, error or debug.
SecureMedia® Encryptonite ONE
Application Database Logs
• Limited logging information is stored in the application database.
• This log information is logged by the database Stored Procedure code.
• The logging level is configured in the Params -> Logging in the
corresponding administration program.
• It is recommended that database logging be set to Error level during
normal system operation.
SecureMedia® Encryptonite ONE
Broadcast Encryptor Logs
By default the Broadcast Encryptor logs are written to:
/var/opt/securemedia/log
SecureMedia® Encryptonite ONE
VoD Encryptor Logs
By default the VOD Encryptor log is written to stdout :
SecureMedia® Encryptonite ONE
Client Device Logs
By default the client device log is written to stdout. The process to access
this log data is client device dependent and may involve connecting a serial
debug cable or telneting to the box and manually running the client.
SecureMedia® Encryptonite ONE
Random Server Logs
By default the Random Server logs are written to:
/var/opt/securemedia/log.
SecureMedia® Encryptonite ONE
SecureMedia Utilities
Two SecureMedia utility tools are available to assist with system debugging:
smudp – smudp is a tool for capturing and streaming UDP streams to
and from files. Smudp is usually installed under /opt/securemedia/bin
SecureMedia® Encryptonite ONE
SecureMedia Utilities
smm2util - The utility tool smm2util is used to inspect an MPEG2
transport stream, either from file or from a network UDP stream. smm2util
is usually installed under /opt/securemedia/bin
SecureMedia® Encryptonite ONE
3rd Party Utilities
In addition to the SecureMedia utilities, a wide selection of additional
troubleshooting tools are available:
Thank you!
Notes / Actions
Recommendation
Action/Strategy/Plan
Implications /
Desired Results
Timeline
Recommended Owner