编者按:本期DVBCN进一步探讨CA系统的安全性问题,之前有网友A认为无卡CA技术还是安全的,无卡CA没有被破解的记录,反倒是智能卡CA被破解得很厉害。CA的安全是靠芯片捆绑保护,实际上也是和芯片捆绑的,只不过捆绑的不是智能卡芯片,而是捆绑了主芯片以及带有ID号的FLASH和DRAM,不论智能卡CA还是无卡CA,它的安全性都是取决于与芯片的捆绑。芯片硬件越复杂,破解的难度就越大,对应捆绑的CA安全性就越高。既然是和芯片捆绑,从安全的角度来讲,捆绑多个芯片肯定要比捆绑一个芯片安全性要高,捆绑机顶盒芯片肯定比捆绑智能卡芯片安全性高。也有网友B认为靠技术封闭获得CA的安全性不可取。
但这次网友C却认为从目前情况来看,无卡CA明显先天不足。由于高级安全特性芯片未广泛应用,现有的无卡CA有的是没有硬件安全保护,有的是在主板上增加一块安全芯片(注意不是高级安全特性芯片,而是在普通机顶盒芯片旁增加的一块负责安全功能的芯片)。没有硬件安全保护的无卡CA,黑客仅需要复制机顶盒的FLASH就能制造盗版机顶盒观看节目,完全没有安全性可言;而增加一块安全芯片的无卡CA,事实上是将智能卡的一部分安全保障功能转移到安全芯片中完成,同样存在回传CW的通道加密问题及机顶盒中CW被盗取的漏洞。而安全芯片没有智能卡的温度探测、电压探测及自毁功能,容易被黑客跟踪内部程序,安全性不如采用智能卡的CA系统。详读下文:
近期来,论坛上对CA系统安全性的质疑纷纷扬扬,甚至有人认为数字电视运营商就不应该上CA系统。对于这些质疑者的论调,我认为大家首先应该了解的是:任何安全性都是相对而言的。目前应用的安全系统,包括公认安全性较高的银行系统,都是通过密码算法、密钥、密码协议、密码策略、密码管理等来保障其安全性的。而一个系统有密码算法,就有破解算法,关键是破解算法所需的计算量。比如银行系统,由于采用了设计严密的SET/SSL协议,选用了强度较高的RSA非对称算法、数字签名及数字证书技术,使得黑客即使采用当前最先进的计算设备,硬性破解银行系统也需要几百年时间。CA系统的安全性,同样是依靠密码算法和协议来保障的。当然由于CA系统的私有性,各种CA系统采用的算法不一,有采用RSA和3DES融合算法的,也有仅采用DES算法的,也就是说,目前CA系统的算法强度不在一个数量级上。若采用强度最低的DES算法,黑客用一台PC十几天时间就能用穷举法获得密钥,破解CA。而采用RSA和3DES融合算法,以穷举法破解的时间会在百年以上。一句话,任何系统都是能被破解的,关键是破解系统所需的时间、支出与破解系统所得利益之间的关系。
当然,CA系统的安全性不仅仅依靠密码算法的强度,也依赖于整个系统协议的健全性。许多CA系统的破解,都不是因为黑客攻破了算法,而是利用了系统的漏洞。对于CA系统而言,CW是整个系统的重中之重,对于一套加密节目,同一运营商的所有机顶盒都使用相同的CW对码流解扰。因此,如何获得CW就成为了黑客们千方百计寻找的漏洞。
目前,黑客们一般会采用三种方法获取CW。第一种是从机顶盒与智能卡之间的通信接口截取CW。由于智能卡解出CW后必须回传给机顶盒,这就成为了黑客们盯上的首要漏洞。以前的CA系统很多是将CW明文回传的,黑客能很容易地截取并分析出CW。随着CA技术的发展,如今大多数的CA系统已经对机卡之间的通信接口作了加密保护。由于CA系统的私有性,机卡通信加密算法的强度也有强有弱,有的CA系统仅用固定密钥配合对称算法对机卡通信信道加密,黑客们能很容易地用穷举法推算出密钥,破解系统。而较先进的CA系统则采用了一次一密的动态密钥加密算法,每次机顶盒开机后,都会与智能卡协商产生不同的会话密钥。频繁的密钥变化,使黑客们无法搜集足够多的密文推算密钥,即使推算出了密钥,也仅能应用于某段时间而无法长期使用。
第二种方法是智能卡共享,也就是用一张正版的智能卡带动两台以上的机顶盒。将多台机顶盒与智能卡的通信数据接到同一张智能卡中,即可利用正版智能卡的计算能力向多台机顶盒回传CW。对于这一系统漏洞,各家CA系统基本都采取了有效的封堵措施。首先是机卡配对,由CA前端发送配对指令,使须配对的机顶盒与智能卡中存有相同的数字序列,每次机顶盒开机时都会与智能卡交互验证该序列,这就使得一台机顶盒只能与一张智能卡配合,限制了智能卡的共享。但机卡配对并不能完全杜绝智能卡共享的发生,黑客可复制机顶盒的FLASH,使多台机顶盒都存有相同的配对序列,破坏机卡配对。而一次一密的机卡间加密通信则能从根本上解决该问题。每次开机时,机顶盒和智能卡之间都会根据智能卡号、当前时间及智能卡生成的随机数等协商生成会话密钥,也就是说,即使两台机顶盒完全一样,由于开机时间和智能卡生成的随机数不同,协商的会话密钥也将不同。这就从根本上保证了智能卡无法同时与两台以上的机顶盒通信,杜绝了智能卡共享的发生。
第三种方法是从机顶盒中直接盗取CW,这也是目前大多数CA系统无法防范的一个漏洞。由于CW被写入解扰器时必须是明文的,因此若黑客跟踪机顶盒内程序运行,或直接在机顶盒中利用CA移植的机会安装后门程序,都会泄漏CW。解决该问题的一种办法,是在机顶盒中选用高级安全特性芯片。由于高级安全特性芯片具有唯一的ID号、加解密算法引擎及可让CA厂商定制写入的OTP(one time programming)区域,CW被传入芯片时完全可以是加密的,CW可在芯片内部解密并写入解扰器。高级安全特性芯片还封闭了JTAG调试接口,使黑客无法跟踪芯片内部程序运行,保证了CW的安全。但目前高级安全特性芯片的应用还存在着较大的问题,芯片成本的增加、芯片必须由CA厂商定制引起的供货周期大幅度延长都会对整个产业链产生影响。因此,高级安全特性芯片目前还处于起步阶段,实际应用很少。
为了在现阶段解决机顶盒中CW被盗用的漏洞,某些较有远见的CA厂商采用了所谓的“CA内核下沉技术”。即与主流芯片厂商签订协议,由芯片厂商向该CA厂商开放解扰器的驱动代码与硬件接口,由CA厂商将解扰器的驱动程序直接包含在CA内核中,这样,CA厂商就获得了对解扰器的直接控制,可以在CA内核中完成CW的解密与写入,封堵了机顶盒中CW被盗用的漏洞。这种方法增加了CA厂商的工作量(需要根据不同的机顶盒芯片开发不同的CA内核),但在高级安全特性芯片未得到推广的今天,无疑是解决机顶盒中CW盗用问题的较好方法。
针对前面提到的三种黑客破解方式,有厂商提出了无卡CA的解决方案,也就是不要智能卡,CA系统解密功能均在机顶盒中完成。从目前情况来看,无卡CA明显先天不足。由于高级安全特性芯片未广泛应用,现有的无卡CA有的是没有硬件安全保护,有的是在主板上增加一块安全芯片(注意[FS:Page]不是高级安全特性芯片,而是在普通机顶盒芯片旁增加的一块负责安全功能的芯片)。没有硬件安全保护的无卡CA,黑客仅需要复制机顶盒的FLASH就能制造盗版机顶盒观看节目,完全没有安全性可言;而增加一块安全芯片的无卡CA,事实上是将智能卡的一部分安全保障功能转移到安全芯片中完成,同样存在回传CW的通道加密问题及机顶盒中CW被盗取的漏洞。而安全芯片没有智能卡的温度探测、电压探测及自毁功能,容易被黑客跟踪内部程序,安全性不如采用智能卡的CA系统。
安全性是CA系统的基础,但CA系统并不仅仅只有安全功能。数字电视运营商需要CA系统的支持和配合来管理用户、管理产品、开发增值服务,因此,CA是数字电视系统中不可或缺的一部分。当然,CA系统最根本的仍是其安全性,虽然从理论上说世界上没有破不了的系统,但优秀的CA系统完全可以做到使黑客破解的成本远大于破解后所得的利益,关键是数字电视运营商选择的CA系统是否足够优秀。辨证有卡CA无卡CA