现有CA系统及其弊端
现有CA系统一般是采用三重密钥对原始数据码流进行加扰控制。三重密钥是:加扰控制字Ks,授权密钥Kw和用户分配(地址)密钥KD。控制字Ks控制加扰器对视频、音频、数据(V.A.D)进行加扰。Ks通过授权密钥Kw加密后(ECM)传输给用户。Kw再由用户分配密钥KD加密后(EMM)传输给用户。为了增强安全性,加扰控制字Ks频繁变化,授权密钥Kw也定期变化。授权密钥Kw的分配可以有两种方式:在线用户寻址分配和离线分配。在线用户寻址分配是将授权密钥Kw加密后通过网络发送给用户的方法;离线分配就是将节目的授权密钥Kw做在卡片上,用户买回家后,将卡片插入STB或人工将信息输入STB。这种方式使得授权密钥Kw不可能以较高的频率变化,从而安全性受到一定限制,同时,用户人工输入也存在一定可行性问题。
在接收端解扰过程如下:STB在授权密钥寻址分配数据包中查找与自己分配密钥(用户设备地址)KD相匹配的那个数据包,并把它截获下来。若为离线分配则插入卡片或人工输入密钥。然后,STB用KD去解开EMM,获得授权密钥KW,再通过KW去解开ECM,获得控制字KS。最后由KS控制解扰器解扰,得到原始数据码流。
上述CA系统存在以下几点缺陷:
资源的巨大浪费。用户即使没有使用服务,也必须为其发送EMM。而一般节目的收视率往往很低,只占总用户数的不到10%,而对其余没有看节目的90%以上的用户,系统还是必须为其发送EMM。这就造成系统处理能力和网络带宽的巨大浪费。
系统容量小。目前最大的CA系统也只能支持百万数量级的用户,而我国电视用户数量庞大,特别是中央一级运营商要做到直接控制到户相当困难。从长远看,这不利于我国数字电视的发展。
缺乏对用户设备的有效控制,CA系统关断STB存在一定问题。当用户欠费时,CA系统向STB发送关断信息,当STB收到此信息后,就不再对相应信息进行解码。但是这里存在一个问题:当CA系统向STB发送关断信息的时候,如果STB处于关闭状态,即STB没有收到关断信息,下一次用户开机时,照样可以收看节目。更严重的是,可能会有人故意设计STB忽略关闭信息,这严重损害了运营商的利益。目前的解决办法是隔一段时间再次向STB发送关断信息。这造成系统资源的浪费,而且,即使这样,也还是不能保证能关断所有欠费的STB。
基于客户端主动认证的条件接收系统
原理介绍
系统原理如图1所示。在前端,首先由控制字发生器产生控制字KS,KS随时变化,然后由KS控制伪随机二进制序列发生器PRBSG(Pseudo Random Binary Sequence Generator)
产生伪随机二进制序列PRBS,产生伪随机二进制序列PRBS,再由PRBS去加扰原始数据码流。控制字KS由授权密钥KW加密,并插入TS数据流中。
对于收费频道,授权密钥KW周期性更新;对于收费节目,每次节目都对应不同的授权密钥KW。针对每一个收费频道和收费节目,SAS(Subscriber Authentication System)维护一张逻辑上的“活跃用户列表”,称为LAS(List of Active Subscriber)。LAS是一张动态变化的表:当有用户加入某服务时,在该服务对应的LAS中增加相应的一项;当收到用户端设备退出该服务的报告时,删除相应的项。 当KW每次需要更新的时候,SAS只向LAS中用户(即当前正在使用该服务的用户)发送EMM,新加入的用户在通过身份认证以后再按需发送EMM。这可以缓解前端的处理压力,同时可以节省传输带宽。即使只向LAS上的用户发送EMM,也不可能在瞬间完成,所以授权密钥KW有必要设计成奇密钥和偶密钥,且奇、偶密钥交替使用。比如当前用户是使用奇密钥,那么在向LAS上所有用户发送完带有偶密钥的EMM后,SAS可以开始使用偶密钥加密控制字KS。在MPEG-2的数据包头中有两个比特用于标志奇、偶密钥。
用户开机、进入某个收费频道或观看某个收费节目的时候,必须首先主动发起认证过程。因为节目内容是经过加扰后传输的,用户必须获得授权密钥KW后才能解开ECM,从而获得解扰控制字KS。而用户要获得授权密钥KW,必须首先经过身份认证。在用户关机、退出收费频道或者收费节目时,用户端设备向SAS发送退出服务消息,SAS收到消息后将用户从相关频道或节目的LAS上删除。
2.2 认证方案
本方案对用户授权是基于对用户身份认证的基础上的,因此,一种可靠的身份认证方案尤为重要。下面介绍一种基于非对称密码体制、单向散列函数和数字证书的认证方案。
首先在运营商架设一台证书服务器。证书服务器有自己的公钥KCP和私钥KCS,同时证书服务器也有一张自签名的顶级证书,以防止它的公钥被黑客替换。在用户开通服务时,证书服务器为用户颁发一张数字证书,并对证书进行数字签名,以防止证书内容被篡改。此数字证书和用户的STB关联,标识一个合法STB的身份。颁发证书的时候为用户创建了公钥KUP、私钥KUS,其中KUS由用户保存且保密,KUP公开。
用户姓名、地址、组织以及编号是用户的基本信息,用于唯一标识用户和用户端设备。其中编号是指用户端设备,即STB的编号,它在整个网络中是唯一的,这需要对STB进行统一编号。所有者的公钥KUP,是用户拥有的一对密码之一,KUP公开。除KUP外,用户还拥有一个对应的秘密密钥KUS。关于公、私钥以及非对称密码体制请参考文献[1]。用户证书有效期可以设定为用户所缴费用的期限,比如用户缴纳6个月的收视费,就将其证书的有效期也设置为6个月,这样用户一旦超出期限而欠费后,证书会自动失效,。当用户重新缴费后,可以对证书的有效期进行相应更新。除上面这些信息以外,根据所提供的业务,还可以对证书内容进行相应的增删。最后,颁发证书的服务器要对证书进行数字签名,以保证证书的合法性和完整性。
认证过程如图2所示。用户在开机、进入收费频道或收费节目的时候,用户端设备STB将主动发起认证过程。STB首先将自己的数字证书和用户想要进入的频道编号或付费节目编号一起发送给前端认证服务器AS。
AS收到STB发来的数字证书后,需要确认三:第一,真实性,即该证书确实为运营商所颁发;第二,完整性,即证书内容未被修改过;第三,归[FS:Page]属性,即该证书确实为出示证书者所有。对于真实性,AS验证证书的数字签名是否有效即可。对于完整性,AS需要计算证书散列值,然后和数字签名时的散列值对比,如果二者相同,证书未被修改,否则,表明证书已经被修改过。散列值是采用一种公开的单向散列函数来计算的,它有两个十分重要的性质:输入有任何变化,输出值都将有所不同;散列函数要是单向的,即由输出推导输入是不可能的或者在计算上不具有可行性。对于归属性的验证比对前面两种属性的验证要麻烦一些,方法如下:AS产生一个大的随机数R,并把R用用户公钥KUP加密,得到。KUP在用户的数字证书中有,可以直接使用,而不用去查找用户公钥数据库,这有利于加快处理速度。为了在把传输给用户的过程中数据不被修改,AS需要对其进行数字签名,即最后发送给STB的是。其中H是单向散列函数。
STB收到后,首先应该验证数据在传输过程中是否被篡改过,方法仍然是求散列值,然后和AS签名时的散列值进行对比,相同表示数据未被修改,否则,表明数据被修改过。经过验证后,如果数据未被修改,STB用自己的私钥KUS对解密,即:,然后将解密得到的R′传回AS进行验证。同样,为了在回传过程中数据不被修改,STB也要对数据进行数字签名。即最后发送给AS的是:。为了加快AS处理速度,这里R′可以明文传输,无需加密,因为R是随机数,每次都不一样,黑客即使获得R′也不能对认证过程构成威胁。
AS收到后,验证过程如下:首先验证R′是否等于R。 如果R′=R,说明该证书确实为其出示者所有,对用户的认证获得通过。如果R′≠R,有两种可能,即要么用户提供的证书是假的,要么在传输过程被人篡改过。要检查R′是否被修改过,方法同上,即计算散列值并进行比较。如果经过验证,R′在传输过程中没有被修改,且R′≠R,这说明用户所出示的数字证书非法,用户认证失败。
上述认证过程实际上进行了双向认证。因为在AS传输给STB时,对数据使用其私钥KSS进行了数字签名。在用户通过认证后,AS将STB编号以及用户请求的业务编号发送给SMS。SMS收到信息后,查找数据库,获取用户业务信息。据此判断用户是否有权获得其请求的业务。如果用户无权获得此业务,那么返回用户消息,告知原因以及获得此权限的方法;如果用户有权获得其请求的业务,SMS则向SAS发送授权命令和授权需要的用户信息。SAS收到授权命令和用户信息后,向用户发送授权信息,即STB编号+,并将该STB编号添加到相关LAS表中,以便更新KW的时候使用。
STB在数据流中监测到自己的编号时,表明此数据包是发送给自己的授权信息,于是它将此数据包截获下来,并使用自己的密钥KUS解密,获得授权密钥KW。
在用户关机、退出收费频道或收费节目时,STB向SAS发送退出服务消息。SAS收到消息后,将该STB编号从相应的LAS表中删除。这里有两个问题需要解决:其一,为防止用户频繁切换频道引起频繁的认证,SAS应延迟一个小的时间段后再删除STB编号;其二,如果STB突然断电,而不能向SAS发送退出服务消息。为了解决这个问题,SAS周期性地向LAS中的用户广播查询消息,要求所有收到此消息的STB都回复一个消息,如果SAS没有收到STB的消息,表明该STB已经退出服务。由于网络原因,STB回复消息可能中途丢失,从而引起SAS误将该STB编号从LAS中删除,为了防止这种现象,SAS在规定时间内没有收到回复,它再次查询该STB,如果仍然没有收到回复,则认为其已经退出服务。
2.3性能分析
安全性:本方案基于现代密码学理论,进行了严格的双向认证。保证合法用户能正常获得服务外,使非法用户不能通过认证,从而得不到授权。同时,本方案也能在一定程度上具有防插播的功能。控制字KS随时不断地变化,而授权密钥KW周期性地变化,增加了破译的难度。当安全性要求较高的应用时,比如电视会议,由于其LAS表中用户不会很多,可以使其授权密钥KW以较高的频率变化,从而提高安全性。因此,本系统支持可变的安全等级,使得服务商可以根据客户的要求,提供不同等级的安全性保障。
系统容量:本方案从两个方面增加了系统容量:提高了网络带宽利用率和降低了SAS处理负担。授权密钥KW并不对所有用户发送,而只对LAS表中的用户发送,而一般来说LAS表中的用户只占所有用户一小部分,因此这就大大减少了数据的发送量,从而减轻了SAS的处理负担,提高了网络带宽的利用率。另外,KW变化周期长短可以根据系统处理能力、LAS表中的用户数量、最低安全性要求等参数做到自适应地变化,从而使得系统具有软容量的性质。即,当LAS表中用户数量较多,达到系统处理上限时,可以在一定范围内降低安全性能,增大系统容量,保证合法用户得到服务。
对业务的支持能力:本系统能同时支持基本数字电视业务、付费频道、付费节目、视频点播(VOD)、音频点播(AOD)、信息点播(IOD)、PPV/IPPV、记时付费、电视会议、以及宽带数据接入等多种业务。
对内容提供商的透明性:在数字电视产业链中,内容提供商(包括各种电影制片公司、节目制作公司、增值业务开发商等等)是重要的一环。用户最终购买的是内容,没有杀手锏的应用,将制约数字电视的发展。而现在内容提供商们担心的有两件事情:其一,他们不能准确了解用户情况,从而在利益分配上容易导致不公平;其二,目前防复录技术还不够成熟,节目播出后,可能会产生大量的复制品,从而使其利益受到损害。本系统能很好地解决前一个问题:任何内容提供商都可以在他的节目播出期间统计与其节目相关的LAS表中的用户数,LAS表完整地反映了使用其服务的用户情况。如此一来,内容提供商明白地参与利益分配,放心地提供好的节目,这就刺激了内容提供商的积极性,从而改变当前数字电视内容匮乏的局面。
存在的问题:本系统的缺点主要有两点:第一,要求有回传信道。在采取限制单个光节点下的用户数和将CMTS前移等措施后,漏斗噪声得到有效抑制,HFC双向改造取得了[FS:Page]很大进展。在HFC双向改造有困难的地方,可借助其它网络(如PSTN、ADSL、无线网络等)作为回传信道。第二,由于开机、进入付费频道或付费节目要首先通过认证,因此,用户在获得服务之前可能会等待几秒钟。这个时间的长短取决于网络速度和系统处理速度。网络规模较大时,系统可相应增加处理设备,进行负荷分担的分布式处理,降低认证时延。
3 结束语
在基于主动认证的条件接收系统中,所有用户都需经过身份认证后才能获得授权,SAS根据其维护的LAS表周期性地改变授权密钥KW,可以节省网络带宽和减轻系统的处理负担,提高系统容量。本方案具有支持系统软容量和不同等级的安全性保障的能力。同时,它也为保护内容提供商的利益提供了一种有效的手段。