1 CA系统的关键技术
在CA系统中,有两项最为关键的技术:一是加扰(Scrambling)和解扰(Descrambling)的方法。加解扰技使未被授权的用户无法获取该服务;二是控制解扰,在发送端提供一个加密信息,使被授权的用户端解扰器能以此来对数据解密。该信息受CA系统控制,并以加密形式配置在传输流信息中以防止非授权用户直接利用该信息进行解扰。
加扰的通常做法是在发送端使用加扰序列对视频、音频或者数据码流进行干扰,将数据打乱。加扰序列由伪随机序列发生器产生,在初始条件已知的情况下,可以推测出伪随机序列发生器产生的加扰序列。伪随机序列发生器的初始条件受控于控制字(Control Word)。在接收端也有一个同样的伪随机序列发生器,如果将控制字CW发送给这个伪随机序列发生器,那么就可以获得解扰序列,然后再用解扰序列恢复原始信号。所以说,节目有条件接收的核心是控制字CW的传输。为了实现保密,必须将控制字进行加密处理后传输。接收端在得到授权后,才能应用解密程序重新生成这个控制字。
2 控制字CW的加密机制
因为CW是随加扰信息一起通过公用网传输,任何人都可以读取并研究它,CW容易破解,所以对CW本身要用一个加密密钥,通过加密算法对它进行加密保护。在具体应用中,这个密钥可以按照网络经营商要求经常加以改变,通常由服务商提供(数码、同方等),用来控制其提供的服务,所以把它称为业务密钥(SK, Service Key)。SK的使用一般与用户付费条件有关。
CW虽已由SK加密,但这个密钥如果仍可以让任何人读取,那就意味着特定服务的定购者和非定购者将享有同等权利,网络运算商还是难以控制到特定的用户,安全性仍然存在问题,必须对SK进行再加密保护。这个加密过程完全按照各个用户特征来进行,因为这个密钥是由个人特征确定的,常常称为个人分配密钥(PDK, Personal Distribute Key)。PDK一般由CA系统设备自动产生并严格控制,在终端设备处PDK一般由网络运营商通过CA系统提供的专用设备烧入解扰器的PROM中,不能再读出。为了能提供不同级别、不同类型的服务,一套CA系统往往为每个用户分配好几个PDK,来满足丰富的业务需求。
在已实际运营的多套CA系统(主要在欧美)中,运营商对终端用户的加密授权方式有很多种,如人工授权、磁卡授权、IC卡授权、智能卡授权、中心集中寻址授权(由控制中心直接寻址授权,不用插卡授权)、智能卡和中心授权共用的授权方式等。智能卡授权方式是目前机顶盒市场的主流,也被我国确定为我国入网设备的标准配件。
3 MPEG-2数字电视系统中条件接收的实现
在采用MPEG-2标准的数字电视系统中,与节目流CA系统相关的两个数据流是:授权控制信息(ECM, Entitle Control Message)和授权管理信息(EMM, Entitle Manage Message)。由SK加密后的CW在ECM中传送,ECM中还包括节目来源、时间、内容分类和节目价格等信息。对CW加密的SK在EMM中传送,SK在传送前要经过PDK的加密处理,EMM中还包含地址、用户授权信息。
在TS(Transport Stream)流中,PSI(Program Specific Information)被分为四类:PAT(Program Association Table)表, PMT(Program Map Table)表,NIT表(Net Information Table)以及CAT表(Conditional Access Table)。其中,PMT和CAT与条件接受密切相关。
为了更加地说明问题,首先介绍一下CA descriptor(CA描述子),如表1所示。如果某原始流被加密,含有此原始流的节目中一定有CA descriptor。如果任何CA管理信息(如EMM)和原始特殊流信息(如ECM)存在于TS流中,那么在相应的PMT中一定有CA descriptor。
表1 CA descriptor
注:CA描述子中的Descriprot_tag的值为9。通过这个标志位可以将CA描述子与其他的描述子区别开来,如视频流描述子、音频流描述子等。另外,CA描述子中的CA_system_ID用来表示适用于相关ECM和EMM流的CA系统类型。DVB Project成立了专门的组织负责向不同的解码器生产商分配不同的CA_system_ID值。这样的话,一套数字码流可以将不同CA系统的密钥同时传送给不同的机顶盒用户群。
当CA描述子出现在PMT表中时,CA_PID指向含有和ECM信息相关的节目分组。当CA描述子出现在CAT表中时,CA_PID指向含有和EMM信息相关的节目分组。
由此可以清楚地知道,解码器的解密机制是:当Smart Card插入STB时,解码器将从中读取CA_system_ID,并查找在CAT表(PID号为0X01)内的CA描述子中与该CA_system_ID对应的CA_PID(即EMM码流的PID)。EMM码流中包含了经过PDK加密处理的SK。PDK固化在Smart Card中,并以加密形式存储,用户需提供口令方能使用其进行解密。然后,Smart Card将解密出SK。
完成以上步骤后,解码器再查找在PMT表内的CA描述子中与上述CA_system_ID对应的CA_PID( 即ECM码流的PID)。ECM码流中包含了由SK加密处理后的CW信息。用得到的SK对ECM解密就可以得到CW。将CW填入解码芯片的相应寄存器中,就可以对码流数据进行解扰,恢复出原始信号。
【理解】
PDK相当于private key(私钥),而SK相当于public key(公钥)。为了避免特定服务被未订购者接收,还应该对SK进行加密,而只有拥有PDK的用户才能进行解密,从而达到只有订购者才能接收到SK的目的。
【助记】
(1)EMM:授权管理信息,顾名思义,它是管理授权的信息。这个授权即为SK,为了使避免这个授权信息被未授权者获取,就需要对其进行管理,即通过PDK对其进行加密,即PDK_SK。
另外,EMM可以用来实现EMM fingerprint,并指定显示内容、时间、间隔、字符颜色、背景颜色、闪烁等属性。
(2)ECM:授权控制信息,顾名思义,它是控制授权的信息。这个“控制”即为最终解扰的关键。“控制”是通过CW来实现的,而只有获得授权信息的用户才能解密出CW,于是ECM中存放的便是SK_CW。
另外,ECM可以用来实现ECM fingerprint,Smart Card卡号的固定fingerprint显示功能,并控制显示的起始时间和终止时间。
(3)fingerprint的作用:如果某用户将带有fingerprint的节目传到网上或用于其它用途,那么相关的服务供应商可以根据fingerprint上的卡号(实名制)来追究该用户的法律责任。
【流程图】