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