基于FPGA的数字电视CAS系统设计
扫描二维码
随时随地手机看文章
数字电视的影音效果、抗干扰性等特点是传统模拟电视所不能比拟的,是电视事业将来必然的发展趋势。为了保障并促进数字电视能健康快速的发展,我们必须保障数字电视运营商的利益。数字电视条件接收系统(简称CAS)就是保障运营商利益的技术基石。具体来说CAS是保证只有付费的用户才能正常收看节目的一系列技术。现成的许多CAS都是国外的方案,随着我国数字电视普及的展开,CAS国产化的要求就变得更加迫切了。
数字电视CAS系统的原理
TS流的加扰和解扰
现在数字电视大多采用了MPEG2传送流(TS)的方式来进行广播。在广播之前要先将TS按照一定的方法进行加扰,使得没有授权的用户不能收到正确的信号数据。而授权用户在接收到加扰的TS码流之后,他们的接收机能按照一定的方式进行解扰,恢复出正确的数据信号。具体来说加扰就是用一个控制字(CW)来产生一系列的伪随机序列码,用它跟TS中的数据进行异或,打乱原来TS中正确的信号数据。接收机在解扰时再根据相同的CW来产生和加扰时一样的随机序列,并通过异或的方式将被加扰的数据正确地恢复回来。因此解扰的关键就是要获得加扰时用的CW值。
对CW的加密和解密
如图1所示,要使得授权用户获得加扰时的CW,就必须在TS流中加载CW进行传输。为了不让未授权的用户也获得正确的CW,因此在广播CW时会用SK(业务密钥)对其进行加密形成ECM(授权控制信息)。同时SK本身也会被PDK(用户分配密钥)加密形成EMM(授权管理信息)之后,再通过TS流进行复用传输。由于PDK是授权用户机器本身的一个编号,它不需要通过TS在公用信道中传输。这样在公用传输信道里传输的ECM、EMM都是加密了的。只有授权用户才有正确的PDK来解密出SK,也只有正确的SK才能解密出正确的CW。而且为了进一步加强信号的安全性,CW一般来说几秒钟就会变化一次,SK也会在一个时间段后产生变化,来避免破解者对密钥进行系统性的搜索。
图1
用FPGA来实现CAS
在用FPGA设计CAS时,必须要理解PSI(程序特殊信息)。PSI包含了要正常收看节目所需要的绝大部分信息,它由PAT(节目关联表)、PMT(节目映射表)、CAT(条件接收表)、NIT(网络信息表)4个表组成。为了新开机的用户能及时收看节目,PSI必须至少以20次/秒的频率不断发送。和条件接收有关的就只有CAT和PMT。其中CAT中的CA描述子包含了EMM和ECM的信息。表一介绍了CA描述子的语法结构。
其中CA-sySTem-ID的最低位为零表示pri-vate-data-byte是EMM数据,否则private-databyte是ECM数据。CA-PID是相应加扰节目的PMT的包识别号(PID)。本方法通过在CA描述子中加入PMT包的PID的方法,来实现多个CA描述子和多个加扰节目之间的一一映射关系。
CAS发送端FPGA的实现
CAS发送端FPGA实现的框图见图2所示。接收机序号,SK(业务密钥)和CW(控制字)发生器的初始值由PC机通过单片机来对FPGA芯片进行设定。FPGA芯片先检测TS流中PMT包的PID值,将这个值与EMM、ECM一起形成CAT包,等待前端的复用器将其插入TS流中。加扰器会每隔几秒钟就对CW进行更新,用新的CW来对TS加扰,同时CW发生器又将产生下一个CW,经过密钥SK对CW进行DES加密后,形成新的ECM。再打包形成CAT,等待前端插入(复用)TS流中。EMM信息的形成与此类似。
图2
CAS接收端FPGA的实现
CAS接收端FPGA实现的框图如图3所示。PDK信息通过智能卡送给FPGA芯片。FPGA芯片先检测解复用之后的TS流中PMT包的PID值,将其存在寄存器里,然后继续寻找CAT表,再找到TS中的CAT时,将其中的CA描述子提取出来,再根据描述子中CA-system-ID的值来决定是提取ECM信息还是EMM信息,根据PDK和EMM可以解密出SK,再通过和ECM信息解密出CW。具体是使用当前的CW还是使用下一个CW来解扰,由解扰器根据TS包头信息来决定。
图3
结束语
本文介绍了数字电视条件接收的基本原理,并提出了一种只用CAT表来传送EMM、ECM信息的方法。该方法不但可以对单节目流进行加扰,还能支持多节目流加扰后的复用传输。而且相比用CAT、PMT分别传输EMM和ECM的方法,该电路更加简单,用FPGA也更容易实现。