条件接收系统中智能卡的设计与实现
文章出处:http://www.nexussmartsolutions.com 作者:中国一卡通网 收编 人气: 发表时间:2011年09月27日
1、什么是条件接收系统(CAS)
条件接收系统(CAS)指对数字电视节目的内容进行数字加扰(或称数字加密)以建立有效的收费体系,被誉为数字电视健康发展的技术保障系统。
按位置分CAS由前端(发送端)和终端(用户接收部分组成。前端主要完成节目数据流的加扰、CW的加密、EMM的生成、用户信息的管理以及相应眼务;终端主要完成解扰与解密,相关的硬件设备解扰器外加1个智能卡。
目前的技术主流是:解复用部分与CW相关的解扰部戍在终端STB(机顶盒)的主芯片中;智能卡作为全性的最重要设备,在用户端完成所有的解密功比,作为CA开发商,需要提供能够完成解密功能智能卡,并能为STB软件开发商提供移植技术。
2、智能卡硬件电路的设计
在研发的条件接收系统中,依据硬件设计的原理和CAS高安全性的特点,主芯片选用ATMEL公司生产的AT90SCl616C。他以高性能、低功耗的AVR 8位CPU为核心,内嵌16k的Flash可编程内存,16 k的E2PROM以及1 k的RAM,配合一个16位的协处理器(SCl6)完成高速的保密和认证功能。
3、 解密与收费功能的实现
在CAS的用户接收端,智能卡解析用户的授权并完成所有的解密功能。与之相关的用户基本信息、授权信息、个人分配密钥等都以二进制数据的形式存储在智能卡 的文件中。这些数据的存储过程,是在终端与卡的接口函数的平台上,使用APDU命令,在E2PROM内建立文件,并进行相关操作。开发使用的计算机语言可 以是VB,VC,VFP,C语言等。笔者选用VB进行开发。
3.1 CA信息的获取
在本条件接收系统中,EMM是以全局寻址Global,组寻址Shared,惟一寻址Unique 3种不同寻址策略发送到用户接收端的,用户端STB在接收EMM前,需要先从智能卡中读取一个惟一的用户ID号,再对STB中的寄存器做相应设置,然后接 收EMM。因此,用户ID作为智能卡的惟一寻址地址,需要建立基本信息文件并加以存储。另外,根据MPEG-2标 准的规定,在接收CAT表和PMT表的过程中,对EMMPID,ECMPID解析前,都要先对CA_system_ID进行判断,因 此,CA_system_ID也应该存储在智能卡的基本信息文件中。此外,根据各CA开发商对CA信息在接收前的不同处理方式,加密算法的类型与版本也可 作为必要信息存储于智能卡的文件中。所有这些基本信息,可以放人同一文件中,也可以根据需要,采用不同的文件类型(如二进制文件、定长纪录文件等)加以存储。
3.2 解密功能的实现
本系统采用RSA算法,结合硬件电路来实现对ECM的所有解密过程。Kerckhoff原理指出:一个加密算法的全部秘密仅立足于密钥的秘密性之上。因 此,一个根密钥的泄露对智能卡、对整个CA系统而言都将是毁灭性的,他迫使应用供应商关闭使用的CA系统,而卡的发行商将更换所有的卡。出于保密的需要, 本文在这里仅就密钥的生成、保护与访问权限做简要介绍。
(1)密钥的生成
对于投入市场、发送到用户手中的智能卡,一律不写入根密钥;对于每张卡内的主控密钥,其实都是由芯片编号生成的导出密钥。并且,卡内的密钥有数10种之 多,且用法各不相同,即使将卡内密钥悉数破解,也只是妨碍同类卡的安全,即一个组的安全,而一个组的最大用户仅有256个,这对整个系统并没有多大妨碍, 本系统在前端部分可以通过对用户智能卡的芯片编号(具有惟一性)进行跟踪,一旦发现,可以通过相应手段剔除黑卡,使非法用户无法取得商业利益。
(2)密钥的保护
密钥是放在密钥文件中,作为内部EF文件存储于E2PROM中的,内部EF文件本身一旦建立,不允许从终端读出内部数据的特点,最大程度上保证了密钥的安 全性。此外,为了进一步提高密钥的安全性,我们对自己的智能卡内部密钥文件采用了"线路加密保?quot;方式,即对传输的密钥数据进行RSA加密并附加 4B的MAC(报文鉴别码),智能卡收到后首先进行校验,只有校验正确的数据才予以接受,从而将密钥泄露的可能性将至最低。
(3)密钥的访问
对于投入市场的智能卡,无论采用何种方式,都不可能从智能卡中读出密钥数据,这是由智能卡本身硬件电路的安全性特点决定的。对STB移植来说,只要使用专用的智能卡命令,将获得的ECM,EMM写入智能卡,就可以得到解扰所需的控制字CW了。
3.3 收费功能的实现
本系统在前端采用与银行和代理收费点联网的方式,在终端通过在智能卡内建立文件存储授权信息,并建立电子钱包文件和普通钱包文件,来实现收费功能。获得何 种授权和扣款多少由EMM写入智能卡后分析获取,对钱包文件的建立也采用了"线路加密保护"方式,以保护消费者的权益。
4、移植结果分析
系统已在ST和NEC方案上进行了移植,并获得成功,目前正在某机顶盒公司投入生产。从移植结果来看,对智能卡的驱动和读写成为移植能否成功的关键。
例如,现在在对某方案的移植过程中,STB中的程序在调用读卡写卡函数时,会偶尔出现传输数据的丢失(主要是首字节的丢失),其实,这是由于智能卡默认数据传输速率过高造成的。解决的办法就是在读卡函数和写卡函数前加一个延时函数。
5、未来CAS中智能卡的发展方向
虽然智能卡的应用和制作技术已相当成熟,但由于智能卡是CAS安全的最重要的设备,同时,他与机顶盒之间数据的交换和CW的读出,都可以被用户带回家中进行各种分析和破解,因此,为了增强整个CA系统的安全性,未来CAS中智能卡的发展方向为:可以将解扰模块集成在智能卡主芯片中,甚至将接收端整个CA模 块都考虑集成在智能卡中,同时使智能卡具有中间件的部分功能。当然,这样的设计在目前来看是有技术困难的。首先,集成压缩后的主芯片要像现在的智能卡那 样,仅有几个毫米的厚度,是不太现实的;其次,虽然中间件作为机顶盒软件结构的核心已经有成熟的应用,但在智能卡中如何实现,也是需要考虑的问题。不过, 随着社会的发展,一方面会对CAS的安全性提出更高的要求,一方面会推动微电子技术和电子数据处理技术的进一步发展,那么,CAS中智能卡的发展方向,也就可想而知了。
6 、结语
当前,随着我国数字电视的普及推动和条件接收技术的日臻成熟,已经有越来越多的厂商将目光投向CAS的开发上;同时,众多的机顶盒开发商也都在自己的产品上移植CA,以适应激烈的市场竞争。因此,研究CAS中的智能卡,无论是对于CAS的研发,还是对于机顶盒的移植,都有借鉴意义。