加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 设计中心 > 可编程逻辑器件

数字电视条件接收系统(CAS)的FPGA实现

时间:2014-05-02  来源:123485.com  作者:9stone

  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介绍了条件描述子。

  

  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时还要注意以下一些限制:

  (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的输出之一作为加扰序列的输出。数字选择器滤除了加扰器的代数特性避免相关(线性代数)攻击。

  

  选择码生成器可由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条件包,容易实现加解扰的同步。在实现条件接收的过程中,设计出安全性较高的加扰器成功应用于系统,实现了信息的加、解扰。

分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->可编程逻辑器件
  • 可编程逻辑器件
  • 传感器技术
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门