首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

用FPGA实现数字电视条件接收系统

用FPGA实现数字电视条件接收系统

数字电视是近十几年发展起来的高新技术,其声像质量,抗干扰性及传送节目的数目等方面有模拟电视无法比拟的优点。数字电视的开播,使观众可以欣赏更多的优质节目;同时,服务商则希望实现按观看内容进行收费的良性运营。条件接收系统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].
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表