当前位置:文档之家› 数字电视加密技术工作原理

数字电视加密技术工作原理

数字电视加密技术工作原理(EMM ECM)(2009-10-18 17:32:45)标签:密钥ca序列发生器加密算法公钥ecm emm杂谈ECM以及EMM摘要:详细信论述了CA条件接受系统的原理以及关键技术,并针对实际情况给出了在数字电视系统中条件接收的实现方法。

关键词:条件接收、数字电视、控制字、程序映射表(PMT)、条件访问表(CAT)、授权控制信息(ECM)、授权管理信息(EMM)随着数字视频广播(DVB)的发展,观众会面对越来越多的数字电视节目的选择。

而广播业者由于投资成本的增加,则要求对用户收取一定的收视费用。

条件接受系统(Conditional Access System)就是为了满足对某些广播服务实施接入控制的系统。

它的主要功能就是确保只有支付了或者即将支付费用的用户才能收看所选择的电视节目。

1 CA系统的关键技术在条件接受系统中,有两项最为关键的技术:一是传输加扰和解扰(Scrambling,Descrambling)的方法。

加解扰技术被用来的发送端CA系统的控制下改变或控制被传送的服务(节目)的某些特征,使未被授权的用户无法获取该服务提供的利益;二是控制解扰,在发送端提供一个加密信息,使被授权的用户端解扰器能以此来对数据解密。

该信息受CA系统控制,并以加密形式配置在传输流信息中以防止非授权用户直接利用该信息进行解扰。

不同的CA系统管理和传送该信息的方法有很大不同。

加扰的通常做法是在发送端使用加扰序列对视频、音频或者数据码流进行扰动,将数据打乱。

加扰序列由伪随机序列发生器产生,在初始条件已知的情况下,可以推测出伪随机序列发生器产生的加扰序列。

伪随机序列发生器的初始条件受控于控制字(Control Word)。

在接收端也有一个同样的伪随机序列发生器,如果将控制字CW发送给这个伪随机序列发生器,那么就可以获得解扰序列,然后再用解扰序列恢复原始信号。

所以说节目有条件接收的核心是控制字CW的传输。

为了实现保密,必须将控制字进行加密处理后传输。

接收端在得到授权后,才能应用解密程序重新生成这个控制字。

2控制字CW的加密机制因为CW是随加扰信息一起通过公用网传输,任何人都可以读取研究它,一旦CW被读取破解,那么整个系统就瘫痪了,所以对CW本身要用一个加密密钥通过加密算法对它进行加密保护。

在具体应用中,这个密钥可以按照网络经营商要求经常加以改变,通常由服务商提供,用来控制其提供的服务,所以把它称为业务密钥(Service Key)。

SK的使用一般与用户付费条件有关。

CW虽已由SK加密,但这个密如果仍可以让任何人读取,那就意味着特定服务的定购者和非定购者将享有同等权利,网络运算商还是难以控制到特定的用户,安全性仍然存在问题,必须对SK进行再加密保护。

这个加密过程完全按照各个用户特征来进行,因为这个数列(密钥)是由个人特征确定的,常常称为个人分配密钥(PDK)。

PDK一般由CA系统设备自动产生并严格控制,在终端设备处该序列数一般由网络运营商通过CA系统提供的专用设备烧入解扰器的PROM中,不能再读出。

为了能提供不同级别、不同类型的服务,一套CA系统往往为每个用户分配好几个PDK,来满足丰富的业务需求。

在已实际运营的多套CA系统(主要在欧美)中,运营商对终端用户的加密授权方式有很多种,如人工授权、磁卡授权、IC卡授权、智能卡授权(用IC构成有分析判断能力的卡)、中心集中寻址授权(由控制中心直接寻址授权,不用插卡授权)、智能卡和中心授权共用的授权方式等。

智能卡授权方式是目前机顶盒市场的主流,也被我国广电总局确定为我国入网设备的标准配件。

在所设计的CA条件接收系统中,也使用这种智能卡(Smart Card)的授权方式。

(注:智能卡的结构包括协处理器、ROM和EEPROM。

)3 MPEG-2数字电视系统中条件接收的实现在采用MPEG-2标准的数字电视系统中,与节目流有条件接收系统相关的两个数据流是:授权控制信息(Entitle Control Message)和授权管理信息(Entitle Manage Message)。

由SK加密算是后的CW在ECM中传送,ECM中还包括节目来源、时间、内容分类和节目价格等信息。

对CW加密的SK在EMM中传送,SK 在传送前要经过用户个人分配密钥(Personal Distribute Key)的加密处理,EMM中还包含地址、用户授权信息。

在传送流(Transport Stream)中,程序特殊信息(PSI)被分为四类:程序关联表(PAT),程序映射表(PMT),网络信息表(NIT)以及条件访问表(CAT)。

其中,PMT和CAT与条件接受密切相关。

为了更加地说明问题,首先介绍一下条件访问描述子(CA descriptor),如表1所示。

如果任一原始流被加密,含有此原始流的程序中必须有CA描述子。

如果任何宽系统条件访问管理信息(如EMM)和原始特殊流信息(如ECM)存在于传送流中,在相应的映射分段中必须有CA描述子。

表1条件访问描述子语法位数缩写CA_descriptor( ) {Descriptor_tagDescriptor_length CA_system_IDReservedCA_PIDfor (i=0;i<N;i++) { Private_data_byte }}88163138UimsbfUimsbfuimsbfBslbfUimsbfUimsbf(注:条件访问描述子中的Descriprot_tag值为9.通过这个标志位可以将条件访问描述子与其他的描述子区别开来,如视频流描述子、音频流描述子等。

另外,条件描述子中的CA_System_ID 用来表示适用于相关ECM和EMM流的CA系统类型。

DVB Project 成立了专门的组织负责向不同的解码器生产商分配CA_System_ID值。

这样的话,同时一套数字码流可以将不同CA 系统的密钥传送给不同的机顶盒用户群。

)当CA描述子出现在PMT表中时,CA_PID指向含有和ECM信息相关的程序分组。

当CA描述子出现在CAT表中时,CA_PID指向含有和EMM信息相关的程序分组。

PMT和CAT表的语法结构如表2、表3所示。

由此可以清楚地知道,解码器的解密机制是:当智能卡插入机顶盒(Set-Top Box)时,解码器将从中读取CA_System_ID,并找到在CAT表(PID号为0X01)内的CA描述子中,对应该CA_System_ID 的CA_PID(即EMM码流的PID)号。

EMM码流中包含了经过用户个人分配密钥PDK加密处理的用户密钥SK。

个人分配密钥PDK固化的智能卡中,并以加密形式存储,用户需提供口令方能解密使用。

而后,智能卡将解密出业务密钥SK。

完成以上步骤后,解码器再找到在PMT表中的CA描述子,并找出对应的ECM码流的PID号。

ECM码流中包含了由业务密钥SK加密处理后的控制字CW信息。

用得到的业务密钥SK对ECM解密就可以得到控制字CW。

将控制字填入解码芯片的相应寄存器中,就可以对码流数据进行解扰,恢复出原始信号。

表2传送流程序映射表(PMT)分段语法位数缩写TS_program_map_section( ){table_idsection_syntax_indicator '0'Reservedsection_lengthprogram_numberReservedversion_numbercurrent_next_indicator811212162518UimsbfBslbfBslbfBslbfUimsbfUimsbfBslbfUimsbfBslbfUimsbfUimsbfsection_numberlast_section_number ReservedPCR_PIDReservedprogram_info_length for(i=0;i<N;i++) {descriptor()}for(i=0;i<N1;i++) {stream_typeReservedElementary_PIDReservedES_info_lengthfor(i=0;i<N2;i++) { Descriptor()}}CRC_32}8313412831341232BslbfUimsbfBslbfUimsbfUimsbfBslbfUimsbfBslbfUimsbfRpchof表3条件访问(CAT)分段语法位数缩写CA_section() {table_idsection_syntax_indicator '0'Reservedsection_lengthReservedversion_numbercurrent_next_indicator section_numberlast_section_number811212185188UimsbfBslbfBslbfBslbfUimsbfBslbfUimsbfBslbfUimsbfUimsbffor (i=0;i<N;i++) {Descriptor()}CRC_32}32 Rpchof(注:PMT表的table_id值总为0X02;CAT表中的table_id值总为0X01.另外,在传送流TS的头字段中,PMT表的PID号由PAT 表中的相应分段给出;而CAT表的PID号总是为0X01。

)4 ECM以及EMM为了更详细地说明问题,给出ECM以及EMM码流的语法结构,如表4.其中,Table_id的分配情况如表5.表4 CA信息(ECM,EMM)分段语法位数缩写CA_message_section() {Table_idSection_syntax_indicator DVB_reservedReservedCA_section_lengthfor (i=0;i<N;i++) {CA_data_byte}}8112128UimsbfBslbfBslbfBslbfUimsbfBslbf(注:Section_syntax_indicator:始终为'0’DVB_reserved:为DVB将来的应用保留)表5 Table_id分配情况Table_id值描述0x800x810x82~0x8F CA_message_section,ECM CA_message_section,ECM CA_message_section,CA System Private5加扰MPEG-2数据码流的加扰可以分为两层:一是PES层的加扰,一是TS层的加扰。

由于设计的条件接收系统的前端是在TS节目流复用器上实现的,所以选择TS层的加扰。

TS层的加扰只针对TS数据码流的有效负载(payload),而TS码流中的PSI信息,包括PAT、PMT、NIT、CAT以及私有分段(包括ECM、EMM)都不应该被加扰。

相关主题