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