條件接收系統(tǒng)中智能卡的設(shè)計(jì)與實(shí)現(xiàn)
文章出處:http://coolbang.cn 作者:中國一卡通網(wǎng) 收編 人氣: 發(fā)表時(shí)間:2011年09月27日
1、什么是條件接收系統(tǒng)(CAS)
條件接收系統(tǒng)(CAS)指對(duì)數(shù)字電視節(jié)目的內(nèi)容進(jìn)行數(shù)字加擾(或稱數(shù)字加密)以建立有效的收費(fèi)體系,被譽(yù)為數(shù)字電視健康發(fā)展的技術(shù)保障系統(tǒng)。
按位置分CAS由前端(發(fā)送端)和終端(用戶接收部分組成。前端主要完成節(jié)目數(shù)據(jù)流的加擾、CW的加密、EMM的生成、用戶信息的管理以及相應(yīng)眼務(wù);終端主要完成解擾與解密,相關(guān)的硬件設(shè)備解擾器外加1個(gè)智能卡。
目前的技術(shù)主流是:解復(fù)用部分與CW相關(guān)的解擾部戍在終端STB(機(jī)頂盒)的主芯片中;智能卡作為全性的最重要設(shè)備,在用戶端完成所有的解密功比,作為CA開發(fā)商,需要提供能夠完成解密功能智能卡,并能為STB軟件開發(fā)商提供移植技術(shù)。
2、智能卡硬件電路的設(shè)計(jì)
在研發(fā)的條件接收系統(tǒng)中,依據(jù)硬件設(shè)計(jì)的原理和CAS高安全性的特點(diǎn),主芯片選用ATMEL公司生產(chǎn)的AT90SCl616C。他以高性能、低功耗的AVR 8位CPU為核心,內(nèi)嵌16k的Flash可編程內(nèi)存,16 k的E2PROM以及1 k的RAM,配合一個(gè)16位的協(xié)處理器(SCl6)完成高速的保密和認(rèn)證功能。
3、 解密與收費(fèi)功能的實(shí)現(xiàn)
在CAS的用戶接收端,智能卡解析用戶的授權(quán)并完成所有的解密功能。與之相關(guān)的用戶基本信息、授權(quán)信息、個(gè)人分配密鑰等都以二進(jìn)制數(shù)據(jù)的形式存儲(chǔ)在智能卡 的文件中。這些數(shù)據(jù)的存儲(chǔ)過程,是在終端與卡的接口函數(shù)的平臺(tái)上,使用APDU命令,在E2PROM內(nèi)建立文件,并進(jìn)行相關(guān)操作。開發(fā)使用的計(jì)算機(jī)語言可 以是VB,VC,VFP,C語言等。筆者選用VB進(jìn)行開發(fā)。
3.1 CA信息的獲取
在本條件接收系統(tǒng)中,EMM是以全局尋址Global,組尋址Shared,惟一尋址Unique 3種不同尋址策略發(fā)送到用戶接收端的,用戶端STB在接收EMM前,需要先從智能卡中讀取一個(gè)惟一的用戶ID號(hào),再對(duì)STB中的寄存器做相應(yīng)設(shè)置,然后接 收EMM。因此,用戶ID作為智能卡的惟一尋址地址,需要建立基本信息文件并加以存儲(chǔ)。另外,根據(jù)MPEG-2標(biāo) 準(zhǔn)的規(guī)定,在接收CAT表和PMT表的過程中,對(duì)EMMPID,ECMPID解析前,都要先對(duì)CA_system_ID進(jìn)行判斷,因 此,CA_system_ID也應(yīng)該存儲(chǔ)在智能卡的基本信息文件中。此外,根據(jù)各CA開發(fā)商對(duì)CA信息在接收前的不同處理方式,加密算法的類型與版本也可 作為必要信息存儲(chǔ)于智能卡的文件中。所有這些基本信息,可以放人同一文件中,也可以根據(jù)需要,采用不同的文件類型(如二進(jìn)制文件、定長紀(jì)錄文件等)加以存儲(chǔ)。
3.2 解密功能的實(shí)現(xiàn)
本系統(tǒng)采用RSA算法,結(jié)合硬件電路來實(shí)現(xiàn)對(duì)ECM的所有解密過程。Kerckhoff原理指出:一個(gè)加密算法的全部秘密僅立足于密鑰的秘密性之上。因 此,一個(gè)根密鑰的泄露對(duì)智能卡、對(duì)整個(gè)CA系統(tǒng)而言都將是毀滅性的,他迫使應(yīng)用供應(yīng)商關(guān)閉使用的CA系統(tǒng),而卡的發(fā)行商將更換所有的卡。出于保密的需要, 本文在這里僅就密鑰的生成、保護(hù)與訪問權(quán)限做簡要介紹。
(1)密鑰的生成
對(duì)于投入市場、發(fā)送到用戶手中的智能卡,一律不寫入根密鑰;對(duì)于每張卡內(nèi)的主控密鑰,其實(shí)都是由芯片編號(hào)生成的導(dǎo)出密鑰。并且,卡內(nèi)的密鑰有數(shù)10種之 多,且用法各不相同,即使將卡內(nèi)密鑰悉數(shù)破解,也只是妨礙同類卡的安全,即一個(gè)組的安全,而一個(gè)組的最大用戶僅有256個(gè),這對(duì)整個(gè)系統(tǒng)并沒有多大妨礙, 本系統(tǒng)在前端部分可以通過對(duì)用戶智能卡的芯片編號(hào)(具有惟一性)進(jìn)行跟蹤,一旦發(fā)現(xiàn),可以通過相應(yīng)手段剔除黑卡,使非法用戶無法取得商業(yè)利益。
(2)密鑰的保護(hù)
密鑰是放在密鑰文件中,作為內(nèi)部EF文件存儲(chǔ)于E2PROM中的,內(nèi)部EF文件本身一旦建立,不允許從終端讀出內(nèi)部數(shù)據(jù)的特點(diǎn),最大程度上保證了密鑰的安 全性。此外,為了進(jìn)一步提高密鑰的安全性,我們對(duì)自己的智能卡內(nèi)部密鑰文件采用了"線路加密保?quot;方式,即對(duì)傳輸?shù)拿荑€數(shù)據(jù)進(jìn)行RSA加密并附加 4B的MAC(報(bào)文鑒別碼),智能卡收到后首先進(jìn)行校驗(yàn),只有校驗(yàn)正確的數(shù)據(jù)才予以接受,從而將密鑰泄露的可能性將至最低。
(3)密鑰的訪問
對(duì)于投入市場的智能卡,無論采用何種方式,都不可能從智能卡中讀出密鑰數(shù)據(jù),這是由智能卡本身硬件電路的安全性特點(diǎn)決定的。對(duì)STB移植來說,只要使用專用的智能卡命令,將獲得的ECM,EMM寫入智能卡,就可以得到解擾所需的控制字CW了。
3.3 收費(fèi)功能的實(shí)現(xiàn)
本系統(tǒng)在前端采用與銀行和代理收費(fèi)點(diǎn)聯(lián)網(wǎng)的方式,在終端通過在智能卡內(nèi)建立文件存儲(chǔ)授權(quán)信息,并建立電子錢包文件和普通錢包文件,來實(shí)現(xiàn)收費(fèi)功能。獲得何 種授權(quán)和扣款多少由EMM寫入智能卡后分析獲取,對(duì)錢包文件的建立也采用了"線路加密保護(hù)"方式,以保護(hù)消費(fèi)者的權(quán)益。
4、移植結(jié)果分析
系統(tǒng)已在ST和NEC方案上進(jìn)行了移植,并獲得成功,目前正在某機(jī)頂盒公司投入生產(chǎn)。從移植結(jié)果來看,對(duì)智能卡的驅(qū)動(dòng)和讀寫成為移植能否成功的關(guān)鍵。
例如,現(xiàn)在在對(duì)某方案的移植過程中,STB中的程序在調(diào)用讀卡寫卡函數(shù)時(shí),會(huì)偶爾出現(xiàn)傳輸數(shù)據(jù)的丟失(主要是首字節(jié)的丟失),其實(shí),這是由于智能卡默認(rèn)數(shù)據(jù)傳輸速率過高造成的。解決的辦法就是在讀卡函數(shù)和寫卡函數(shù)前加一個(gè)延時(shí)函數(shù)。
5、未來CAS中智能卡的發(fā)展方向
雖然智能卡的應(yīng)用和制作技術(shù)已相當(dāng)成熟,但由于智能卡是CAS安全的最重要的設(shè)備,同時(shí),他與機(jī)頂盒之間數(shù)據(jù)的交換和CW的讀出,都可以被用戶帶回家中進(jìn)行各種分析和破解,因此,為了增強(qiáng)整個(gè)CA系統(tǒng)的安全性,未來CAS中智能卡的發(fā)展方向?yàn)椋嚎梢詫⒔鈹_模塊集成在智能卡主芯片中,甚至將接收端整個(gè)CA模 塊都考慮集成在智能卡中,同時(shí)使智能卡具有中間件的部分功能。當(dāng)然,這樣的設(shè)計(jì)在目前來看是有技術(shù)困難的。首先,集成壓縮后的主芯片要像現(xiàn)在的智能卡那 樣,僅有幾個(gè)毫米的厚度,是不太現(xiàn)實(shí)的;其次,雖然中間件作為機(jī)頂盒軟件結(jié)構(gòu)的核心已經(jīng)有成熟的應(yīng)用,但在智能卡中如何實(shí)現(xiàn),也是需要考慮的問題。不過, 隨著社會(huì)的發(fā)展,一方面會(huì)對(duì)CAS的安全性提出更高的要求,一方面會(huì)推動(dòng)微電子技術(shù)和電子數(shù)據(jù)處理技術(shù)的進(jìn)一步發(fā)展,那么,CAS中智能卡的發(fā)展方向,也就可想而知了。
6 、結(jié)語
當(dāng)前,隨著我國數(shù)字電視的普及推動(dòng)和條件接收技術(shù)的日臻成熟,已經(jīng)有越來越多的廠商將目光投向CAS的開發(fā)上;同時(shí),眾多的機(jī)頂盒開發(fā)商也都在自己的產(chǎn)品上移植CA,以適應(yīng)激烈的市場競爭。因此,研究CAS中的智能卡,無論是對(duì)于CAS的研發(fā),還是對(duì)于機(jī)頂盒的移植,都有借鑒意義。