广播式手机电视加扰器设备规范Word格式文档下载.docx
《广播式手机电视加扰器设备规范Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《广播式手机电视加扰器设备规范Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
本标准由中移号印发。
本标准由中国移动通信有限公司技术部提出并归口。
本标准由标准归口部门负责解释。
本标准起草单位:
中国移动通信有限公司研究院。
本标准主要起草人:
张慧媛、路晓明。
范围
本标准对广播式手机电视加扰器设备提出要求,供中国移动内部和厂商共同使用;
适用于基于CMMB承载的广播网络。
规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本标准。
[1]
3GPPTS33.246V6.5.0
3GSecurity;
SecurityofMultimediaBroadcast/MulticastService(Release6)
3GPP
[2]
ETSITS103197v1.4.1
DVB;
Head-endimplementationofDVBSimulCrypt
ETSI
[3]
FIPS197
SpecificationfortheADVANCEDENCRYPTIONSTANDARD(AES)
FIPS
[5]
IETFRFC3830
MIKEY:
MultimediaInternetKEYing
IETF
术语、定义和缩略语
下列术语、定义和缩略语适用于本标准:
AC
AccessCriteria
接收控制信息
CA
ConditionalAccess
条件接收
CP
CryptoPeriod
加扰周期
CW
ControlWord
控制字
ECM
EntitilementControlMessage
授权控制消息
ECMG
EntitilementControlMessageGenerator
授权控制消息生成器(由手机电视业务平台实现)
MJD
ModifiedJulianDate
修正的儒略日期
MUX
Multiplexer
复用器
PAT
ProgramAssociationTable
节目关联表
PMT
ProgramMapTable
节目映射表
SCS
SimulcryptSynchronizer
同密同步器(由加扰器实现)
UTC
UniversalTimeCoordinated
世界协调时
设备在网络中的位置
组网结构
上图表示了加扰器在整个系统中所处的位置。
它接收输入广播数据流,加扰后输出给广播系统。
加扰器将节目流密钥发送给手机电视业务平台,由手机电视业务平台对节目流密钥加密后生成ECM数据,返回给加扰器。
加扰器将ECM数据与加扰的广播数据流同步输出给广播系统。
手机电视业务平台负责完成对业务密钥的授权管理。
系统结构
与加扰器相关的周边模块图如上图所示。
图中CW为控制字,相当于节目流密钥。
ECM中包含加密的节目流密钥及相关参数。
当输入节目流数目超过加扰器的最大接收能力时,应配置多个加扰器。
如加扰器数目大于1,则多个加扰器输出的节目流应经过复用器复用后,再输入广播网络。
如加扰器数目等于1,则加扰器输出的节目流可直接输入到广播网络。
功能要求
加扰器完成的主要功能是:
(1)和ECMG(NAF中的业务密钥管理模块)建立TCP连接,为每一个连接建立一个通道。
(2)在通道内建立所需要的流。
(3)不断产生加扰控制字CW(节目流密钥)。
CW具有更新周期,定期更新。
(4)通过相关的流将加扰控制字CW及AC信息传送给手机电视业务平台。
(5)手机电视业务平台对CW进行加密后生成ECM返回给加扰器。
(6)利用加扰控制字CW对输入的数据流进行加扰并输出。
(7)将返回的ECM输出给复用器。
接口要求
加扰器与编码器之间的接口
物理接口:
以太网接口
方向:
加扰器←编码器
功能:
●输入编码器编码后的音视频流,以RTP/UDP/IP承载。
接口符合符合《RFC3550:
RTP:
ATransportProtocolforReal-TimeApplications》、《RFC3984:
RTPPayloadFormatforH.264Video》和《RFC3016:
RTPPayloadFormatforMPEG-4Audio/VisualStreams》要求。
加扰器与复用器之间的接口
加扰器→复用器
●输出加扰后的节目流给复用器,以RTP/UDP/IP承载。
●输出ECM给复用器,以UDP/IP承载。
加扰器与手机电视业务平台中的ECMG之间的接口
接口描述
加扰器向ECMG发送控制字CW及AC信息等。
ECMG将加密的CW封装后返回给加扰器。
注意ECM包长<
=256字节。
接口包括:
Channel_setup
Channel_test
Channel_status
Channel_close
Channel_error
Stream_setup
Stream_test
Stream_status
Stream_close_request
Stream_close_response
Stream_error
CW_provision
ECM_response
接口通信方式
对接口来说,加扰器是客户端,ECMG是服务器。
加扰器事先知道ECMG的Super_CAS_ID、IP地址、端口等信息。
(1)建立通道。
对一个TCP连接只有一个通道。
一旦TCP连接建立,加扰器发送Channel_setup消息给ECMG。
如果成功,ECMG返回一个Channel_status消息。
如果拒绝或失败,ECMG返回一个Channel_error消息,加扰器将关闭TCP连接。
(2)建立流。
通道建立后,加扰器发送Stream_setup消息给ECMG。
如果成功,ECMG返回一个Stream_status消息。
如果拒绝或失败,ECMG返回一个Stream_error消息。
一旦连接、通道、流争取建立,ECM消息将作为对CW_provision消息的响应被传送给加扰器。
(3)流关闭。
当流不再需要或者发生错误时会被关闭。
流关闭总是由加扰器发起的,通过Stream_close_request消息实现。
ECMG返回Stream_close_response消息表示流以被关闭。
(4)通道关闭。
当通道不存在或发生错误时(由加扰器检测到或ECMG报告)通道关闭。
通过加扰器发送Channel_close消息实现,作为结果,连接的两端都被关闭。
(5)通道/流测试和状态。
任何时刻两端之一都可以发送Channel_test/Stream_test消息来检查通道/流的完整性。
作为应答,接收方发送通道/流状态消息或通道/流错误消息。
(6)未预见的通讯丢失。
加扰器和ECMG都可以处理通讯丢失的问题。
某端怀疑可能通讯丢失(如10秒内无数据),可以发送测试消息来检测通讯状态。
如果定时间内未收到状态消息(如10秒内无数据),将关闭,并重新建立通信链路。
(7)处理数据不一致。
如果ECMG收到不一致的数据,它将向加扰器报告错误消息。
如果加扰器收到这样的消息或检测到不一致,它将关闭,并重新建立连接、通道、流。
接口消息格式
接口具有以下通用格式
generic_message
{
protocol_version1字节
message_type2字节
message_length2字节
for(i=0;
i<
n;
i++)
{
parameter_type2字节
parameter_length2字节
parameter_value<
parameter_length>
字节
}
}
接口消息类型
消息类型值
相关接口
消息类型
0x0001
0x0002
0x0003
0x0004
0x0005
0x0101
0x0102
0x0103
0x0104
0x0105
0x0106
0x0201
0x0202
接口参数类型
Parameter_type值
参数类型
类型/单位
长度(字节)
Super_CAS_ID
uimsbf
4
section_TSpkt_flag
boolean
1
delay_start
tcimsbf/ms
2
delay_stop
transition_delay_start
0x0006
transition_delay_stop
0x0007
ECM_rep_period
0x0008
max_streams
0x0009
min_CP_duration
uimsbf/n×
100ms
0x000A
lead_CW
0x000B
CW_per_msg
0x000C
max_comp_time
uimsbf/ms
0x000D
access_criteria
用户自定义
变量
0x000E
ECM_channel_id
0x000F
ECM_stream_id
0x0010
nomal_CP_duration
0x0011
accesss_criteria_transfer_mode
0x0012
CP_number
0x0013
CP_duration
0x0014
CP_CW_combination
--
0x0015
ECM_datagram
0x0016
AC_delay_start
0x0017
AC_delay_stop
0x0018
CW_encryption
0x0019
ECM_id
0x7000
error_status
0x7001
error_information
0x8000
CW_ID
5
AC_delay_start:
当AC发生变化后的第一个加扰周期,这个参数用来代替delay_start参数。
AC_delay_stop:
当AC发生变化前的最后一个加扰周期,这个参数用来代替delay_stop参数。
access_criteria:
这个参数包含ECMG产生ECM时所需要的长度、格式的CA系统信息。
例如:
访问ECMG数据中的访问控制信息的指向、封装成一定格式的访问控制信息等。
这个参数包含了与CW_provision消息中的CP相关的信息。
是否需要访问准则及其内容由CA系统供应商决定。
accesss_criteria_transfer_mode:
是个标志。
如果为0,表示只有当参数内容变化时需要accesss_criteria参数;
如果为1,表示ECMG要求在每个CW_provision消息中包含accesss_criteria参数。
CP_CW_combination:
当CW为8字节时,为10字节参数;
当CW为16字节时,为18字节参数。
由控制字所在的加扰周期号、控制字构成。
控制字的校验位(奇偶)和控制字所在的加扰周期号的校验位(奇偶)相等。
CP_duration:
和nomal_CP_duration不同,这个参数表示特定流的特定加扰周期的实际长度。
CP_number:
加扰周期号。
加扰周期的标志之一,表示和某个消息相关的加扰周期。
它出现在下列消息中:
CW_provision,ECM_response。
CW_encryption:
这个参数表示在ECMG与加扰器之间传送加密的CW。
如果这个参数包含在CW_provision消息中,表示CW是加密的。
如果未包含,表示CW没有加密。
这个参数可以包含加密CW有关的参数。
CW_per_msg:
ECMG每次请求控制字时需要的控制字个数。
如果它的值为y,lead_CW为x,每个和加扰周期n相关的控制字供给消息中将包括从(n+x-y+1)到(n+x)时刻之间所有的控制字。
控制字通过CP_CW_combination参数与加扰周期参数一起发送。
在多数CA系统中,CW_per_msg为1或2。
例如,如果ECMG请求当前的、下一个CW以产生ECM,它将规定至少一个lead_CW。
由于可以将CW缓存,可以把CW_per_msg设为1,这样它总是接收下一个加扰周期的CW,并从缓存中取出前一个加扰周期中接收的CW用于当前的加扰周期。
也可以把CW_per_msg设为2,这样在产生ECM时,包含了两组控制字。
这样减少了对ECMG存储的需求,并且每个CE供给消息中包含了所有的控制字,对热备份也有好处。
所有的加扰器需要至少支持CW_per_msg为1或2。
delay_start:
这个有符号整数代表加扰周期的开始时刻、和这个周期相关的ECM广播开始时刻之间的时间长度。
如果是正数,表示ECM的开始应该根据加扰周期的开始做出延迟。
如果是负数,表示ECM广播的开始在加扰周期开始时刻之前。
这个参数在ECMG与加扰器之间建立通道时发送。
delay_stop:
这个有符号整数代表加扰周期的结束时刻、和这个周期相关的ECM广播结束时刻之间的时间长度。
如果是正数,表示ECM的结束应该根据加扰周期的结束做出延迟。
如果是负数,表示ECM广播的结束在加扰周期结束时刻之前。
ECM_channel_id:
由加扰器分配,唯一确定加扰器和所有已建立连接的ECMG的ECM通道。
ECM_datagram:
由加扰器传送到MUX的实际ECM消息。
它可以是0长度,表示当前加扰周期没有ECM广播。
ECM_rep_period:
这个整数以ms为单位表示ECM的重复发送周期。
ECM_stream_id:
这个参数在一个通道之内唯一确定一个ECM流。
它由加扰器在流建立之前分配。
error_status:
错误状态。
error_information:
可选参数,用户自定义。
lead_CW:
生成ECM需要事先得到的额外控制字个数。
如果它的值为x,ECMG需要一直和n+x加扰周期相关的控制字来产生n加扰周期的ECM。
多数CA系统的lead_CW为0或1。
例如:
ECMG需要当前CW、下一个CW来产生ECM,则lead_CW为1。
所有加扰器至少支持lead_CW为0或1。
max_comp_time:
这个参数由ECMG在和加扰器建立通道时发送。
它表示当一个通道中所有的流在使用时,ECMG计算ECM所需的最长时间。
这个时间被加扰器用来在衡量ECM_response消息何时可算作超时。
这个值应该比同一个通道的channel_status消息中的min_CP_duration参数小。
max_streams:
在一个通道中,ECMG支持的最大流的数量。
为0表示最大数目未知。
min_CP_duration:
它表示CW最小更新周期。
它应该比同一个通道的channel_status消息中的max_comp_time参数大。
nomal_CP_duration:
表示流的加扰周期。
该流所有的加扰周期都应该取此值,除非需要事件对齐、错误处理。
该参数由加扰器设置。
nomal_CP_duration和实际加扰周期都应该大于等于:
min_CP_duration,max_comp_time加上典型的网络延迟时间。
section_TSpkt_flag:
为0时表示返回ECM采用MPEG-2段格式;
为1时表示返回ECM采用MPEG-2TS包格式;
为2时表示返回格式私有。
Super_CAS_ID:
32位标志符。
由16位的CA_system_ID和16位的CA_subsystem_ID组成。
对给定的加扰器,它唯一确定一个ECMG。
transition_delay_start:
在清除加扰之后的第一个加扰周期,用来取代delay_start参数。
transition_delay_stop:
在清除加扰之后的最后一个加扰周期,用来取代delay_stop参数。
CW_ID:
40位,CW唯一标识。
利用该CW进行加扰的开始时间。
采用UTC时间。
接口消息定义
(1)通道建立消息(ECMG<
=加扰器)
参数
消息中的实例个数
ECM_channel_ID
Supper_CAS_ID
(2)通道测试消息(ECMG<
=>
加扰器)
(3)通道状态消息(ECMG<
0/1
(4)通道关闭消息(ECMG<
(5)通道错误消息(ECMG<
1到n
0到n
(6)流建立消息(ECMG<
ECM_stream_ID
ECM_ID
normal_CP_duration
(7)流测试消息(ECMG<
(8)流状态消息(ECMG<
(9)流关闭请求消息(ECMG<
(10)流关闭响应消息(ECMG=>
(11)流错误消息(ECMG<
(12)CW供给消息(ECMG<
0到1
CP_number是请求ECM的加扰周期。
根据lead_CW和CW_per_msg,在CP_CW_provision中传送控制字和对应的加扰周期。
当lead_CW为1,CW_per_msg为2时,加扰周期N的CW_provision消息将包括N,N+1加扰周期的控制字。
除非发生超时或发生错误,加扰器不应在接收到前一个加扰周期的ECM_response消息之前发送CW_provision消息。
在CP_CW_provision中传送给ECMG的控制字与lead_CW和CW_per_msg相关。
下表给出了满足不同ECMG需求的情况。
例子
需求
每个ECM1个CW;
每个CP1个CW
每个ECM包括当前和下一加扰周期的C