非常高兴看到有卡阵营的朋友对无卡CA提出种种质疑。有卡和无卡从名词上来看是针锋相对的,但都可以满足现在数字电视的加密需求。因为站的角度不同 ,对于有卡CA和无卡CA的安全性高低个人觉得已经没有讨论的意义。一个从开放的角度,另一个从封闭的角度,因为站在自己的角度上,对方永远是错的,所以这样的争吵永远没有结论。在这里,我们抛开概念、安全之争,从机顶盒技术的发展历史说起,大家或许可以看出数字电视技术的发展方向,并从中找到正确的道路。
站在从CA是一个标准这个的角度来讲,笔者非常认同《DVB标准,欧洲人的圈套?》这篇文章。这里指的DVB标准应该是DVB标准的后端部分,而不是信道解码部分。但并不是很认同DVB标准有缺陷这个说法,笔者认为仅仅是没有明确定义CA接口。这个CA接口也只是软件接口方面的定义。受当时制定标准时的条件所限,笔者不认同一定是欧洲人设下的圈套。因为定义这个接口很简单,而且可以做到中性,只是后来发现各个公司通过对这个接口进行私有封闭的定义可以从中获取利益,进而不愿意将自己的私有哟定义开放。,但这却给对这却给现在技术发展方向认识上比较清醒的人们留了一个被套牢的印象。再加上在数字化之初,业界和管理者都没有认识到这种封闭标准所带来的危害性,没有像日本那样,在开始数字化的时候,统一明确定义CA接口,所以才会出现CA标准的混乱。与硬件有关的DVB标准没有问题,CA的混乱封闭仅仅是后来CA公司处于商业目的人为造成的。,而谈论DVB标准的诞生也不能不考虑当时的历史背景。
在十几年前制定数字电视DVB技术标准的时候,数字电视乃至IT技术的水平与现在相比不可同日而语。从事数字电视技术较早的工程师都知道,在数字电视技术刚刚开始得到应用的那几年,半导体工艺刚进入亚微米(<1um,1um=1000nm)时代,单片式的机顶盒芯片都还没有出现,更没有现在的机顶盒芯片高级安全功能的概念,好像连电脑CPU芯片的ID号概念都没有。普遍增加高级安全功能的机顶盒芯片大量出现也就是这几年的事情。而在当时将类似PROM之类的存储器和MCU系统做在一起的芯片工艺复杂,价格非常昂贵,现在意义上的智能卡还没有投入商用。能够获得较便宜的可以写入机顶盒ID号的芯片是PAL、PLD之类的可编程逻辑门阵芯片。最初的数字电视加密及寻址技术就是靠这些焊在线路板上的芯片实现的。所以,最早的数字电视加密是无卡的。
因为受半导体工艺技术的限制,芯片的集成度很低,当时机顶盒的线路板比现在的计算机主板还要复杂,价格也非常昂贵,主要用于有线电视前端作为信号源接收。从事电视行业较早的广电技术人员都知道,现在的数字电视机顶盒在当时不叫机顶盒,而是称做综合接收解码器(Integrated Receiver Decoder,简称IRD),至今还有一些广电的机房里作为节目源的卫星接收机叫做IRD。所以,最早的数字电视机顶盒主要用于工程而非家庭。随着IRD价格的不断下降,才开始大量进入家庭。
而当时还没有智能卡这个概念,普遍叫做IC卡,主要是存储一些简单的信息,所以很长一段时间内大家叫它为IC卡,直到现在还有很多人这样叫。后来随着技术进步,大约从2000年左右开始,卡里集成进MCU,在有了一定的运算能力之后才逐渐叫它为智能卡。随着智能卡价格逐渐被接受,再加上它使用方便,很快在各个行业中得到广泛应用,其中包括现在数字电视加密智能卡的销售对象运营商,而机顶盒的销售对象是普通用户。这种技术和商业模式最初在欧洲形成,并扩散到全世界,一直持续到现在。
值得指出的是,机顶盒是一个舶来词(Set Top Box),意思是放在电视机上面的盒子,是在中国开始有线电视数字化时叫起来的。Set Top Box的叫法首先在美国和欧洲有线电视行业兴起。最开始的时候,有线电视运营商为了增加传输电视节目的数量,用到了增补频道,而那个时候的电视机普遍没有接收增补频道的功能,于是就出现了能接收增补频道的转换器。当时在国内有人叫有线电视上(下)变换器、有线电视变频器、增补频道变换器,叫法比较乱。在那个时候时,泰信就开发了一款用于这种变换器的芯片。这款控制芯片当时卖到近20元。
这是一颗掩模型的8位单片机,比现在的机顶盒芯片还要贵。说出来或许现在很多人不相信,那时候这颗芯片的程序资料是用软盘邮寄的方式提供给国外半导体厂家的,连电子邮件都没有。也就是在泰信用软盘传递MCU代码的时期,DVB的同密标准才开始制定。所以,在当时恐怕谁都没有想到,十几年后的网络技术会如此发达,更想不到CW网络共享会变成CA安全的一个克星。所以,当时有的CA公司针对机顶盒的CW通讯是透明的。对CW加密传输确实提高了CA的安全性,后来广电行业对CW是否有加密传输作为判断一个CA技术水平的依据。
因为CA和机顶盒有严重的软硬件捆绑导致CA代码无法更新,比较老旧的CA至今还延续着CW透明的传输方式。在《DVB标准,欧洲人的阴谋?》讲到在制定DVB标准时,怀疑标准制定者故意不定义CA接口,以套牢照搬照抄DVB标准的国家和运营商。但笔者觉得他们可能没有那么阴险,在当时的历史条件下,不可能想得那么遥远。只不过是后来因为智能卡CA没有与时俱进,没有改变靠封闭获得安全性的技术和商业模式,以严守CA接口的秘密来获取利润。于是在越来越开放的环境下,这种封闭受到了越来越严重的挑战。
智能卡CA在EMM授权信息上利用了智能卡唯一序列号,授权信息与之相关联,并将授权信息保存下来。在这里,智能卡发挥了它的强项。但在从ECM中把CW解密出来的过程就与智能卡的ID号没有了关系,并且所有智能卡都是一样的。就当CW被解密出来之后,还要通过一个接口送到机顶盒里,其安全性完全脱离开机顶盒,所以才出现了问题。这种ECM加密和硬件之间形成了弱关联,甚至没有关联,安全性完全依靠对算法和密钥的人为保密,以及智能卡对它的保护,这样独立于机顶盒硬件之后的加密算法就很容易受到攻击。这就是为什么在卫星电视领域,每当一个新版本的CA推出后就很快遭到破解。直到CW共享变成了主流盗版模式之后,黑客才减弱了对ECM加密算法的攻击。
一些CA公司为了适应大批量生产,智能卡芯片是掩模的,代码不可更改,所以ECM算法破解后就可以长期使用,直到被破解的卡被完全换掉。在这个过程中黑客是可以侦测出CW的,所以有的CA厂家就在这个表面的接口上做文章,给要传输的数据染色,以便追踪共享的来源。这仅仅能对付很初级的黑客,但实际上,接触到机顶盒CA的软件工程师可以不受任何干扰,就可以绕过这种追踪,直接得到没有染色的CW,再将它扩散出去。
于是,为了不让外界的机顶盒工程师接触到机顶盒CA软件,有的CA公司只能采取更加封闭的技术措施,将所有与机顶盒有关的软件全部封闭在自己公司内部开发,不再把包含有染色的机顶盒CA软件授权扩散给机顶盒厂家,使得机顶盒技术有越来越封闭的倾向,特别是在三网融合的背景之下,十分不利于数字电视技术的发展。但从保密的角度,这种做法是将安全性向机顶盒转移,只不过是从封闭的角度进行的。其实与无卡CA殊途同归,最终都是要抛弃智能卡。
因为DVB同密标准中对于EMM、ECM、CW的传输定义足够靠近底层,可以很灵活地对其进行定义。所以,足够靠近底层基础的DVB标准没有问题,只是各个CA公司为了经济利益在这个基础上的定义都是封闭保密的,CA公司一多就形成了混乱,进而导致了现在机顶盒的严重混乱。
泰信对这些接口进行了规范和开放,并将CA的安全性定义到与其相关联的机顶盒硬件上。于是CA软件就可以做到开放透明,可以通过下载实现和增加各种CA功能,适应了在开放的环境下保证CA的安全性,从而对DVB CA标准的接口定义方面作了有益的补充。这个接口不但可以加载无卡CA,也可以加载智能卡CA,从而做到了向下兼容与统一。在机顶盒芯片高级安全功能越来越普遍的情况下,泰信定义的这种开放式CA得到了越来越多运营商的支持,从而保证了数字电视向三网融合过程中的平稳过渡。