现在国内推出的数字电视(DTV)条件接收系统(CAS)在接收端基本上都是采用 “一机一卡,机卡配对”的智能卡进行管理,服务器端不能及时了解用户端的情况,如果用户端的智能卡被破解,整个系统就形同虚设,造成服务商巨大的经济损失。
随着数字电视的普及,这个问题的解决也变得越来越迫切。
1 当前条件接收系统的安全性分析
现在的条件接收系统采用3层加密系统。
进行扰乱,使非授权用户无法接收信号;而授权用户在接收端通过同样的CW控制解扰器对信号解扰,恢复出可以接收的信号。
加密:因为CW必须通过公用网络传输到接收端,必须对其进行加密保护。首先通过服务密钥(SK)对CW加密形成授权控制信息(ECM);然后,通过个人分配密钥PDK对SK进行加密形成授权管理信息(EMM)。解密时通过智能卡中的本地密钥逐步解出上层密钥,最后得到CW。
当前流行的CAS系统看似非常安全,通过3层加密,有的甚至更多层加密,但系统毕竟由多个环节组成,黑客可以根据不同系统的特点,采用不同的攻击方法。
(1)对CW进行攻击。CW是整个系统的基础,是条件接收系统的核心,如果CW被破解,其他一切加密措施也就失去了意义。CW一般比较长,且变化频率比较快,破译CW非常困难,即使破译了一个CW,往往已过了有效期。但是,CW的整个周期序列如果全部破解,对整个系统是灾难性的。
(2)对ECM,EMM进行攻击。在系统传输过程中截获ECM,EMM密钥及数据破解,同时制造假冒消息和盗版卡,达到破译的目的。
(3)对用户智能卡进行攻击。用户智能卡作为加密控制钥匙散发到电视观众中去,黑客同样可以购买到合法用户卡,因此用户智能卡遭受攻击的机会很多。黑客可以通过使用标准的智能卡开发测试工具,试探读取内部密钥数据、授权数据及应用程序,制作盗版卡或仿真卡;黑客利用先进的技术测试卡内硬件的结构和电信号,破译卡的结构和数据,制作盗版卡。
2 安全防范措施
2.1 针对CW的攻击,采用安全性较高的CW产生器
CW产生器是在芯片内部实现:它是以可预置线性反雷数要求互质,每个LFSR的反馈多项式要求是本原的,这样产生的伪随机序列具有最大周期。总线是控制码发生器(一个伪随机序列发生器)产生的选择器控制码,有8个抽头并行输出,每两位对应一个选择器的选择端。每个选择器的输出是选出的4个LFSR反馈之一,作为与之相连的LFSR时钟。这是Gollmann级联的改进型,通过数据选择消除了Gollmann级联易受锁定攻击的缺点。4个LSFR输出的异或(当输入奇数个1时输出为1),除去LFSR的线性影响,通过数字选择器选取这些异或后的输出之一作为CW产生器串行序列的输出,通过串转并输出作为CW。数字选择器滤除了CW 产生器的代数特性避免相关(线性代数)攻击。这样产生的CW周期性长,相关性小,安全性高。
选择码生成器是一个伪随机产生序列,通过它产生的序列码去控制选择器的选择输入端。因为用户管理信息需要计算机管理,所以可以在计算机中产生序列码作为选择码生成器的初始值和LFSR的初始值。计算机中的软件容易修改,初始值可以随时改变,如果黑客破解了当时的CW序列,由于初始值的改变,又生成了新的CW序列,避免了整个系统的毁灭性打击。
2.2 针对智能卡和ECM,EMM攻击的策略,采用一种“机卡分离”方案
无论是对智能卡还是对ECM,EMM攻击,目的都是制造盗版卡,造成服务商的损失。既然机卡配对的管理方式有这么大的安全隐患,为什么现在流行这种方法呢?这是因为截止到现在,国内数字电视还没有普及,数字电视条件接收系统的标准还没有确定,这种方式管理简单,成本低。并且,对于黑客来说,他们花那么大的本钱去破解可能得不偿失,因为现在的数字电视只是起步,用户较少,等他们破解了系统,可能由于标准的制定,服务商又采用了新的系统。所以这种管理系统目前来说还比较安全。
但是,随着数字电视普及和条件接收系统标准的制定,再使用一机一卡、机卡配对的方式管理,遭受攻击的可能性就大大增加。所以说这种管理方式只是从模拟电视条件接收系统到数字电视条件接收系统的过渡产物。随着数字电视产业的蓬勃发展,将来的条件接收系统的主流必然是“机卡分离”的方式,彻底解决一机一卡易受攻击的缺点。
采用的方法是借鉴现在的国际互联网络中的网卡技术,每个用户的用户ID都是不同的,PDK是用户ID和其他信息的一个函数,不同的是它采用了盗版防护机制,即使黑客通过高科技制造出一模一样的盗版,通过回传绑定机制也可以发现。具体方法如下:用户ID加密后存放在ROM中,用户观看次数加密后存放在EEPROM中(如果电路有回传线路可选),其他的解密、解扰电路和算法都存放在用户端的主芯片中。IC卡和现在流行的“一机一卡,机卡配对”内有解密电路的智能卡完全不同,在它里面只保存IC卡号和IC卡密码(如果没用回传线路,里面还有余额)等,就像现在的电话IC卡一样,用户在什么地方买卡都可以,只要是播放本节目的服务商发行的卡都可以用,实行机卡分离。
用户买到IC卡后,首先通过回传系统或者电话通知服务端,使IC卡号和接收机用户ID进行绑定。一般来说,用户为了避免买到伪造卡,买卡时就像手机充值一样,拿到卡后就立即打电话通过服务端进行认证和绑定。用户的旧卡的余额也转移到新绑定的卡上(有回传通路的)。绑定后,服务端就用IC卡号和用户ID的函数共同生成PDK,通过这样的PDK对SK加密。通过IC卡绑定,还可以发现伪造的接收电路,因为,当有不同的IC卡去绑定同一个用户ID时,就会被发现,接收电路的真假通过用户资料马上就可辨别。再说,就是伪造接收电路,还要买接收卡,达不到免费接收的目的,黑客不会去花费功夫制作伪造电路的。
接收时用户必须插入IC卡,安全处理器首先对IC卡识别真伪。识别后,如果是没有回传线路的系统,安全处理器读取IC卡的余额,如果余额较多,读取IC卡的卡号和ROM内的用户ID对SK解密;如果余额不足,通知用户及时换卡。换卡后,电视就按新卡序号进行加密。用户端可以设计有保存余额的存储器,把里面保存的旧卡余额加到新卡中去。没有回传线路的这类系统,面对黑客的攻击主要是对IC卡的余额读取的攻击。针对这类攻击,在读取余额时与上次余额进行比较,如果没有换卡且卡上余额大于存储器中保存的上次观看后的余额,IC作废。而余额读取的电路和算法在主芯片中,对主芯片的破解难度一般较大。即使这样,也不能说完全安全,采用IC卡有一定的使用期限的方法降低对余额读取攻击的风险。
在有回传线路的系统中,就不会面临读余额的攻击。因为用户的余额保存在服务端,用户的IC卡只有卡号和密码,用户每开一次机和关一次机,用户ID和用户IC卡号加密(加密方式和ID存储在ROM内的加密方式不同)后传到服务端。服务端根据用户的开关机情况计算接收费用和卡上余额,当余额不足时,用户屏幕上会出现通知用户及时充值的信息。对于黑客攻击来说,同时仿制出接收电路和接收IC卡的可能性很小,就是有,过一段时间后,IC卡的余额就会用完,对整个系统的影响很小。如果要求更高的安全性,可以把用户接收次数加密后同时传到服务器端,服务端和上一次接收的次数比较,可以查出是不是非法用户。PDK可以使用上次接收次数、用户ID和IC卡号的函数,增加保密性。
经上述处理后,整个系统的安全性就主要看对SK和CW的加密强度,以及CW的周期序列长度和易变性。CW的周期长度靠CW产生器保证,前面介绍了一种安全性较高的实现方法。至于对SK和CW的加密方法,现在都比较成熟。由于CW变化比较快,可以选择加密强度较高,加密较快的DES,IDEA等算法;SK变化比较慢,可以选择加密强度更高,加密较慢的RSA等方法,现在这些加密算法依旧比较安全,用于条件接收系统中可以抵御黑客的攻击。
3 可行性分析
机卡分离的管理方式的安全性高于现在流行的“一机一卡,机卡配对”的管理方式,并且实现并不复杂。特别是,随着数字电视的发展,用户追求个性化服务,必然会实现服务端与用户的交流,比如实现节目预定,通过回传知道电视的收视率,改进服务质量等,那么,通过回传方式的机卡分离管理用户并没有增加太多成本。
对于现在的单通道数字电视系统,增加一条信道会增加很多成本, 可以采用没有回传通路的用户ID和IC卡序号绑定的方式代替现在的在内部有解密系统的智能卡,它的成本比智能卡的管理方式成本并没有增加很多,并且机卡分离的IC卡损坏或丢失比内部有解密系统智能卡损失小得多,机卡分离的IC卡丢失,用户可以买取新卡,把余额转入新卡,对用户来说并没用任何损失。
4 结论
由以上分析可知,现在流行的机卡配对管理模式存在着很大的安全隐患,而机卡分离的管理方式安全性就高得多,并且机卡分离方式实现成本不是很高,方便用户付费。随着数字电视的普及,机卡分离的管理模式必然成为数字电视条件接收的主要管理方式。