牛晓旭,宋文喆,王翾
(1.中国传媒大学 广播电视数字化教育部工程研究中心,北京 100024;2.国家新闻出版广电总局 哈尔滨监测台,哈尔滨 150089)
《国民经济和社会发展第十一个五年规划纲要》提出:“扩大广播电视覆盖范围;发展数字广播影视;确保安全播出”。国家广电总局要求,2015年完成全国有线电视数字化整体转换,关闭模拟电视信号。而且诸如IPTV之类的广播电视同样是建立在数字化的基础上的。数字化的广播电视现在基本上已经实现。
数字化就是将许多复杂多变的信息转变为可以度量的数字、数据,再以这些数字、数据建立起适当的数字化模型。计算机正是在数字化的基础上产生的。如果将具有高速计算和分析能力的智能计算机用于广播电视的直接监测,将会使监测变得更加高效和智能,取得意想不到的效果。要实现从计算机客户端实现监测的功能,必须通过系统的身份认证。
下文将介绍有线数字电视和IPTV这两种典型的广播电视实现用户身份认证的方式和实现方法。
数字有线电视实现用户认证授权的核心技术是条件接收CA(Conditional Access)。条件接收就是对视频、音频和数据等信息加密、传输并为合法用户接收解密的过程。以只有获得授权的用户才能使用相关业务的方式实现数字电视广播系统的有偿服务。条件接收广播电视运营商管理手段的拓展,使运营商能够对用户收到的信息进行授权控制[1]。
由图1可知,在条件接受中有两个最为关键技术:加解扰技术和加解密技术。
图1 常用条件接收系统原理
加扰是指在发送端使用加扰序列对视频、音频或者数据码流进行扰动,将数据打乱。加扰序列由伪随机序列发生器产生,具有近似随机序列的功率谱特征,不同的是它具有周期,但周期很长,一般是数小时甚至是数天。在初始条件已知的情况下,可以推测出伪随机序列发生器产生的加扰序列。伪随机序列发生器的初始条件受控于控制字(Control Word)。根据这个原理,只要在接收端有一个相同的伪随机序列发生器,同时将控制字CW传给它,就可以获得解扰序列,运用对应的解扰算法就可以对相应的信息流解扰恢复原始信号[2]。
CW是随加扰信息一起通过公用网传输,一旦CW被不法分子截取破解,那么整个系统就不能实现用户的认证鉴权,所以需要一个密钥对CW进行加密。通常这个密钥由服务商提供,与用户付费条件有关,用来控制其提供的服务,也称为业务密钥SK(Service Key)。使用业务密钥SK(Service Key)对控制字CW加密形成授权控制信息ECM(Entitle Control Message),复用到传送流当中。
在传输流的过程中,如果SK被读取破解,那么破解者同样可以收看非订购的节目,对整个系统的安全性构成极大的威胁。必须对SK进行再加密保护。这个加密过程完全按照各个用户特征来进行,密钥称为个人分配密钥(PDK)。加密后形成授权管理信息EMM。PDK一般由CA系统设备自动产生并严格控制,并通过CA系统提供的专用设备烧入到智能卡中,不能再读出,用户通过购买智能卡方式获得,三者关系如图2所示。
图2 CW、SK和PDK关系
IPTV即网络电视,通过互联网协议(IP)来提供多种数字媒体服务及其增值业务的技术。主要包括音视频点播、音视频广播、时移电视、录播、通信服务、信息服务和互动游戏等。随着三网融合的推进、文化体制改革的进一步深化以及技术标准的进步,IPTV的发展潜力是巨大的。
图3 IPTV认证鉴权流程
IPTV机顶盒在实现认证鉴权过程中有三个重要的技术:PPPoE、AAA认证、3DES加密技术[3],如图3所示。
IPTV网络本质上是一个IP网络,要进入该网络有多种方式可以选择,PPPoE相对于其他传统接入方式具有较高的性价比。它既能实现通过同一个用户前置接入设备连接远程的多个用户主机,又能提供类似拨号一样的接入控制,计费等功能。目前,IPTV网络接入常采用的就是PPPoE协议。
PPPoE是point-to-point protocol over ethernet的简称,实现PPP与以太网(Ethernet)相结合,在以太网络中转播PPP帧信息。PPP是为串行通信设计的链路层协议,通过拨号建立点对点连接发送数据,完成各种主机、网桥和路由器之间简单连接的一种共通,其原理见图4。
机顶盒运行PPPoE协议的工作流程包含发现和会话两个阶段;发现阶段:第一步,由用户侧首先发送这样一个PADI(PPPOE Active Discovery Initiation)报文。第二步,由访问集中器回应各用户主机发送的PADI报文,此时该PADO(PPPOE Active Discovery Offer)报文所对应的以太网帧的源地址填充访问集中器的MAC地址,而目的地址则填充从PADI中所获取的用户主机的MAC地址。第三步,是由用户主机向访问服务器发送单播的请求PADR(PPPOE Active Discovery Request)报文。第四步,此时访问集中器当收到PADR报文时,就准备进入开始一个PPP的会话了,而此时访问集中器会为在这个会话分配一个唯一的会话进程ID,并在发送给主机的PADS(PPPOE Active Discovery Session-confirmation)报文中携带上这个会话ID。
会话阶段:第一步,客户端和认证服务器之间进行PPP的LCP协商,建立链路层通信。同时,协商使用PAP、CHAP认证方式。第二步,客户端收到报文后,将用户名和密码按协商使用的认证方式做它发送给认证服务器。第三步,服务器验证用户名及密码是否合法,然后回应认证成功/失败报文到客户端。如果认证失败,则流程到此结束。第四步,验证成功之后,客户端进行NCP(如IPCP)协商,通过向服务器发送请求报文获取IP地址。服务器端通过返回一个NAK报文,分配给用户端一个IP地址,然后结束会话。至此,用户进入到系统之中。
图4 PPPoE原理
AAA 技术是Authentication(认证)、Authorization(授权)、Accounting(计费)的简称。
认证是指用户在使用IPTV提供的服务时对用户身份的确认。整个认证通常是采用用户输入用户名与密码来进行权限审核。只有确认了用户的身份,才能知道所提供的服务应该向谁收费,同时也能防止非法用户(黑客)对网络进行破坏。授权是指根据用户开户时所申请的服务类别,授予客户相应的权限,指定了被认证的用户在IPTV系统中能够使用的业务和资源。计费是指统计和记录用户使用系统所提供服务的情况,以便收取相应的费用。认证、授权和计费是整个IPTV系统运营的基础,交互流程见图5。
图5 客户端与AAA服务器交互流程图
认证过程:首先,PC客户端向AAA 服务器发起一个获得TokenKey的http请求报文,请求中包含用户名以及它的IP 地址,之后AAA 服务器先判断IP地址是否在所管辖的子网内,如果是,继续判断用户名在AAA 服务器中是否存在。如果存在,AAA 服务器会根据用户名和当前时间戳进行计算,产生一些168 位的TokenKey,并通过获得TokenKey的响应报文把TokenKey传递给PC客户端。PC客户端使用TokenKey作为密钥,将ID,MAC,IP,PASSWORD等消息进行加密。
然后,PC客户端发起用户认证的http请求报文给AAA 服务器。请求中包含用户名和用TokenKey加密之后的PASSWORD等信息。AAA服务器从数据库中查到PC客户端对应的TokenKey后,以它作为密钥解开消息,并对解开后得到的PASSWORD 与数据库内用户名对应的PASSWORD 进行比较,如果两者一致,则通过验证,发送用户认证请求响应消息给PC客户端。返回码为0,表示认证成功。认证成功后,我们就可以向IPTV业务平台的电子节目导航(EPG)发起请求,进行IPTV业务的使用[4]。
授权过程:用户可以通过PC客户端选择IPTV业务,如直播、点播。当用户确定要观看的业务时,就会向AAA 服务器发起授权请求,AAA 服务器会根据该用户的权限判断其是否可以使用这个业务,如果用户的权限符合要求,则授权成功,用户可以使用该业务。
计费过程:当用户通过PC客户端选择的IPTV业务属于付费业务时,会向AAA服务器发起计费请求,AAA服务器根据用户的账户余额与该业务的费用的比较,然后返回响应结果。
3DES是数据加密标准DES(Date Encryption Standard)的一种模式。DES是美国于1977年提出的基于64 位明文分组,密钥长度为48×16 的加密标准。但是由于技术的发展,计算机速度的大量提升,以及储存空间的海量化,对DES 的攻击的各种方法不断的被提出(例如基于差分密码分析以及线形密码分析等攻击方法)。为了抵抗对DES 的各种攻击,3DES就应运而生,见图6。3DES相当于采用三组密钥进行三次DES运算,有着高强度加密安全性能。
图6 3DES加密示意图
3DES加密算法的核心也就是DES加密算法,设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密表,这样,
3DES加密过程为:C=Ek3(Dk2(Ek1(P)))
3DES解密过程为:P=Dk1((EK2(Dk3(C)))
K1、K2、K3决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。多年来,它在对付强力攻击时是比较安全的。若数据对安全性要求不那么高,K1可以等于K3[5]。
无论是数字有线电视还是IPTV他们的身份认证,有严格的国家标准和行业标准,机顶盒实现的功能都是可以利用软件实现。在计算机外部连接一个接口适配器,将数字有线电视和IPTV信号接入到计算机,完成机顶盒实现的功能[6],监测框架见图7。
对于数字有线电视,从智能卡中读取用户信息得到密钥PDK。通过解密模块,解出业务密钥SK,进而解出用于解扰的控制字CW。将CW传给解扰模块,就能获得节目信息,为监测做好准备。
对于IPTV,同样从智能卡读取用户名和密码等信息,利用PPPoE模块拨号获得IP地址,进入到网络之中。之后,认证模块发送认证请求,获得临时身份TokenKey。在3DES模块完成密码对随机数、临时身份、用户名、IP地址、MAC地址等信息加密。获得Authentication鉴权信息。并把Authentication发送给服务器。服务器通过与数据库中的用户信息核对,确定用户的权限。认证成功之后,就可以向服务器请求整个系统节目的入口EPG。
在监测模块,我们根据不同的需求,设计不同的功能。自动分析网络的传输状况(例如MDI),监测节目是否正常播出,智能分析点播节目是否含有非法节目。
图7 计算机智能监测框架
对于数字有线电视和IPTV的机顶盒,嵌入式CPU是它的大脑,它和计算机的CPU没有本质的区别,完成相应的数学运算和逻辑运算,并执行用户命令和发出控制指令。相当于一个低级的计算机。相关的标准和技术都是很成熟的。所以,实现计算机客户端智能监测完全可以实现的。
[1]杜大伟.浅谈有线电视的有条件接收[J].中国有线电视,2009,(01):32-34..
[2]李建厚,高旭.浅谈计算机在数字电视CAS中的应用[J].电子世界,2013,(02):62-63.
[3]IPTV 机顶盒技术规范 V2.0(暂行稿)[S].中国电信集团公司,2008.
[4]叶赛,张洪伟.基于IPTV 的AAA 服务器的设计与实现[J].计算机工程,2008,15:126-128.
[5]邓悦恒.3DES算法原理与设计[J].电脑知识与技术,2011,20:4817-4818,4828.
[6]李天生.电脑能否代替有线数字电视机顶盒[J].数字技术与应用,2011,(05):76.