摘 要:根据数字电视条件接收系统的原理,提出一种ECM在TS层加入、复接和条件接收相互独立的CAS实现方法。ECM在TS层加入,对于TS层加扰来说,易于实现加扰和解扰同步;复接和条件接收相互分离使条件接收系统实现比较灵活,易于调试。另外,设计了保密性较高的加扰器并成功运用于系统中。
关键词:条件接收系统;数字电视;控制字;授权管理信息;授权控制信息
Realization of Conditional Access System of Digital TV with FPGA
CHEN Wenquan,FU Guoying,ZHAO Li,XU Jilin
(College of Electronic Engineering,UESTC,Chengdu,610054,China)
Abstract:According to the principle ofconditionalaccess of digitalTV.This article puts forward a realization method whichadopts inserting ECM into TSand keeping independence ofmultiplex and CA each other.Inserting ECM into TSmakes more easilyrealize synchronization between the scrambling and descrambling.The separation ofCA and multiplex makes CASmore flexibly berealized and more easily be debugged.Furthermore,a more secure scrambler is designed and applied to system successfully.
Keywords:conditional access system(CAS);digitalTV(DTV);control word(CW);entitlement management message(EMM);entitlementcontrolmessage(ECM)
数字电视是近十几年发展起来的高新技术,其声像质量,抗干扰性及传送节目的数目等方面有模拟电视无法比拟的优点。数字电视的开播,使观众可以欣赏更多的优质节目;同时,服务商则希望实现按观看内容进行收费的良性运营。条件接收系统CAS主要的功能就是确保只有付费用户才能收看所选节目,彻底解决运营商的收费问题。可以说,CAS是运营商发展新服务的关键。但是,我国目前开通的数字电视用的CAS大多是国外的软硬件方案,随着数字电视的普及,CAS的国产化就成为非常紧迫的要求。
1 数字电视条件接收系统(CAS)的工作原理
1.1 CAS的加扰和解扰
在采用MPEG-2的数字电视中,加扰过程就是用一个由控制字CW控制的伪随机序列对PES流或TS流进行扰动,使没有被授权的用户不能观看节目。对于授权用户,他们的接收机也有一个同样的伪随机序列产生器,如果接收到正确的CW,就可以生成解扰序列,解除信号的扰动,恢复出接收机可以播放的信号。
1.2 CAS的加密和解密
用户解扰的关键就是得到正确的CW,而CW是随着有用信号通过公用的信道传输。所以说,CAS的加密实际就是对CW的加密,以防止非授权用户的侵入。结合图1介绍CW的加解密机制。
CW一方面控制加扰器对数据流加扰;另一方面通过业务密钥SK(Server Key)加密形成授权控制信息ECM送到接收端。为了信号的保密性,CW一般几秒就要改变一次,并且SK也必须进行加密保护。一般来说,对SK加密完全按照各个用户的特征来进行。由于每台接收机可以编惟一的接收机号,所以可通过此序号生成个人分配密钥PDK(Personal DistributionKey)对SK加密,形成授权管理信息EMM。PDK由CA系统设备产生并严格控制,在接收端不能被用户读出。本文采用的方法是在接收端把PDK装入FPGA芯片中,增加保密性。为了能提供不同级别、不同类型的服务,一套CA系统往往为每个用户分配好几个PDK,来满足丰富的业务需求。EMM是用户管理信息和SK等通过PDK加密形成。用户管理信息由服务商的用户管理系统形成,包括用户名称、地址、智能卡号等。EMM平均每8~10 s插入传送流一次,以便新开机用户解扰。解扰是加扰的逆过程,首先是用户插入IC卡,输入用户密码,如果密码正确PDK就会对SK进行解密;然后,由SK对ECM解密出控制字CW。
2 条件接收系统的FPGA实现
FPGA(Field Programmable Gate Array)有丰富的触发器和I/O口可以满足完成CAS功能,开发周期短,可以反复修改,特别适合需不断完善电路的开发阶段。
要实现CAS硬件设计,首先要理解程序特殊信息PSI。PSI能从多节目的TS流中找出所需要的节目码流和条件接收信息等。PSI必须以一定的频率不断发送,至少20次/s,以便新开的接收机能及时解释传送流的性质。PSI由4个表组成,包括:程序关联表(PAT)、程序映射表(PMT)、网络信息表(NIT)以及条件访问表(CAT)。其中CAT和PMT与条件接收有关。条件接收信息EMM和ECM的位置是通过CAT和PMT中的条件访问描述子确定。表1介绍了条件描述子[1]。
EMM信息包的位置是通过CAT表中的描述子确定。ECM信息包的位置确定稍微复杂一些。当在PES流层加扰,出现在PES流中ECM信息被反映到TS流的PMT中,ECM的条件描述子就出现在PMT中。当在TS层加扰,ECM不出现在PES流中,如果条件信息通过复接加入TS流,ECM的条件描述子就出现在PMT中;如果条件信息没有通过复接加入TS流,确定ECM的位置可以有2种方法:一种方法是复接时在PMT中预先加入ECM条件描述子,用他确定TS流中ECM的位置,本文就是采用这种方法;另一种方法是也用CAT中的条件描述子确定ECM信息包的位置,通过CA_system_ID辨别ECM和EMM。
实现CAS时还要注意以下一些限制[2]:
(1)仅在PES层或TS层加扰,不要两层同时加扰。
(2)加扰的PES包头不允许超过184 B。
(3)携带PES包的TS包,除了含有PES包尾的可以有自适应域外,其他的不可以含有自适应域。
(4)PID等于MPEG-2规范的条件描述子CA_PID值的TS包,应仅含有条件系统信息,不能携带其他信息。另一方面,条件信息不应该出现在其他地方,例如自适应域等。
(5)在同一个TS中,两个CA提供商不应该使用相同的CA_PID。
为了避免客户端解扰设备太复杂,DVB(DigitalVideo Broadcasting)对在PES层加扰做了前3条限制;广播数据跨越媒体边界(例如从有线广播到卫星广播)时需要新的CA信息替换原有的CA信息,为了灵活高效地进行CA信息替换,DVB做了后2条限制。
解扰只是加扰的逆过程,并且相对简单,所以下面只对条件接收系统加扰过程的FPGA实现进行讨论。
2.1 加扰器的实现
加扰器在条件接收中是一个关键部分,他关系到整个系统的保密程度,所以需要一个安全性较高的加扰器。图2所示加扰器是在FPGA内部实现:他是以可预置线性反馈寄存器(LFSR)为基础,与数据选择器共同形成。4个LFSR的阶数要求互质,每个LFSR的反馈多项式要求是本原的,这样产生的伪随机序列具有最大周期。总线是控制码发生器(一个伪随机序列发生器)产生的选择器控制码,有8个抽头并行输出,每2位对应一个选择器的选择端。每个选择器的输出是选出的4个LFSR反馈之一,作为与之相连的LFSR时钟。这是Gollmann级连的改进型,通过数据选择消除了Gollmann级连易受锁定攻击的缺点。4个LSFR输出的XOR(这是FPGA中的一个器件,当输入有奇数个1时输出为1),除去LFSR的线性影响,通过数字选择器选取这些XOR的输出之一作为加扰序列的输出。数字选择器滤除了加扰器的代数特性避免相关(线性代数)攻击[3]。
选择码生成器可由CW产生器代替,CW一部分作为选择器的选择码,一部分写入4个可预置的LFSR。这样,加扰器寄存器不是很多,周期又较长,达到节约硬件且保密程度较高的目的。
2.2 条件接收发送端FPGA实现
用户管理信息需要PC机处理和保存,既然他是必须的,就可以在PC机中做些其他的事情,以便降低硬件的复杂度,增强信息的保密性。服务密约SK和控制字CW发生器初始值可以在PC机中通过伪随机序列生成程序生成。在PC机中生成SK和CW初值的优点就是程序容易改动,伪随机序列周期可以足够长,保密性高。
在一些文献中,ECM在PES层已经加入,对于PES层加扰当然很适合;但是对于TS层加扰,完成ECM包中含有的CW和写入加扰器的CW一致性(实际就是加扰和解扰的同步)比较困难。采用ECM也在TS层加入,实现加解扰同步就容易得多。
TS流是连续不断的实时信号,条件信号并不可以任意加入其中。不过,TS流中存在大量的空包,可以通过空包替换的方法实现条件包的加入。空包替换器实际就是一个数据选择器,在需要条件包的地方,让条件包代替空包。
ECM包PID寄存器存放从PMT中读取的ECM包的PID,以便形成ECM包时利用。ECM包和EMM包的形成是给EMM和ECM加上包头、PID和Table_id等。ECM包的Table_id有两个,0x80和0x81,是为了方便接收端解扰,只有ECM包含新的CW时,他才发生变化。如果Table_id没发生变化,接受端就可以不处理这个ECM包,还用以前的CW。EMM只有一个时,可以把他放入CAT包;如果有多个时,可单独形成EMM包,通过CAT包中的描述子确定他的PID。其实,为了节约硬件,在加入TS流前条件包并不一定是一个完整的TS包,他包含必要的信息就行了。在代替空包时,有用信息代替空包中的前一部分,和余下的空包中内容共同构成TS包。SK信息变化很慢,EMM包和CAT包只需满足刚开机用户能迅速找到SK就行。ECM包替代空包比CAT包或EMM包严格的多,因为CW变化快,并且要使ECM包内的CW和写入加扰器的CW同步,以便保证正确解扰。
CW的加密采用DES(Data Encryption Standard)算法,DES速度快,加密强度较高,硬件容易实现,适合CW变化较快的要求。SK的加密采用RSA算法,RSA算法速度比DES慢的多,硬件实现只是DES速度的千分之一,但是加密强度大。SK的变化频率低,使用时间长,安全性要求高,RSA正好满足这些要求。TS流的加扰,采用上述的加扰器,通过加扰控制,使之不对条件包、私有数据包、空包、TS包头、PID等不可加扰的数据进行加扰。
3 结 语
本文介绍了条件接收系统的基本原理,并提出一种复接和条件接收相分离的实现方法。这种方法使条件接收系统不受复接的约束,实现起来比较灵活,便于调试。并且这种结构不仅可以对单节目TS流加扰,也可以对多节目TS流进行加扰。采用空包替换,在TS层加入ECM条件包,容易实现加解扰的同步。在实现条件接收的过程中,设计出安全性较高的加扰器成功应用于系统,实现了信息的加、解扰。
参考文献
[1]ISO/IEC13818-1-1996,information technology-generic of moving picture anda-ssociated audio information part1:systems[S].
[2]DVBDocument A007.Support for use of scrambling and conditional access within digitalbroadcasting system[S].DVB ProjectOffice.28th February,1997.
[3]Bruce Schneier.应用密码学,协议,算法与C源程序[M].吴世忠,祝世雄,张文政,等译.北京:机械工业出版社,2000.
[4]Final Draft ETSI EN 300 468 V1.5.1-2003.Digital Video Broadcasting(DVB).Specification for Service Information(SI)in DVB systems[S].
(责任编辑:李香 2009-06-03)
来源:现代电子技术