基于Android的機(jī)頂盒CAS系統(tǒng)的開發(fā)
摘要:詳細(xì)闡述了機(jī)頂盒CAS終端子系統(tǒng)的設(shè)計過程,提出一種CAS子系統(tǒng)軟件框架,并介紹了Android系統(tǒng)的NDK環(huán)境搭建以及上層應(yīng)用(JAVA)與底層(C語言)的無縫銜接,并成功地把CAS子系統(tǒng)移植到Android系統(tǒng)中。實(shí)驗(yàn)證明,此CAS子系統(tǒng)可以穩(wěn)定地在華為H3716C平臺(Android平臺)上運(yùn)行。
關(guān)鍵詞:Android;機(jī)頂盒;CAS;NDK
引言
CAS(Conditional Access System,條件接收系統(tǒng))是一種加密系統(tǒng)方法總稱,通過這個系統(tǒng)可以實(shí)現(xiàn)網(wǎng)絡(luò)控制、收費(fèi)、加密、管理等諸多功能,廣泛應(yīng)用于視頻點(diǎn)播、電子銀行、網(wǎng)上超市、遠(yuǎn)程教育等諸多環(huán)境。其與數(shù)字廣播系統(tǒng)獨(dú)立,但對商業(yè)的數(shù)字廣播系統(tǒng)來說,是其成功運(yùn)營的基礎(chǔ)、增值服務(wù)的命脈,CAS系統(tǒng)須保證未授權(quán)用戶不能收看加密節(jié)目,而授權(quán)的用戶可以收看加密節(jié)目,同時可以對單用戶進(jìn)行識別、控制,消除傳統(tǒng)網(wǎng)路電視的盲目性,是我國數(shù)字網(wǎng)絡(luò)改造的核心部分。CAS系統(tǒng)由兩部分組成:前端加擾管理系統(tǒng)和終端解擾子系統(tǒng)。機(jī)頂盒屬于終端設(shè)備,本文介紹的CAS系統(tǒng)屬于終端解擾子系統(tǒng)。
任何一款復(fù)雜電子設(shè)備,都離不開一款強(qiáng)大的操作系統(tǒng)支持,而 Android系統(tǒng)起初是Google公司為移動設(shè)備開發(fā)的一套操作系統(tǒng),但由于其開源、擁有OHA聯(lián)盟強(qiáng)大的后盾,而且具有獨(dú)特的系統(tǒng)架構(gòu)以及Linux內(nèi)核底層的穩(wěn)定支撐,很快有許多其他產(chǎn)品廠商都紛紛開發(fā)出 And roid平臺,使其成為目前在大型嵌入式設(shè)備上最流行的操作系統(tǒng)。目前華為、中必等為代表的機(jī)頂盒廠商都在紛紛推出基于Android平臺的機(jī)頂盒。本文詳細(xì)介紹了機(jī)頂盒CAS終端子系統(tǒng)的設(shè)計過程和移植到Android平臺上的過程。
1 終端解擾子系統(tǒng)解擾過程
數(shù)字電視節(jié)目都是通過介質(zhì)(地面、電纜、衛(wèi)星)以TS流的形式傳播的。TS流依據(jù)MPEG-2協(xié)議被分成長度188字節(jié)的ES包,每一個ES包都有自身識別的PID號,根據(jù)PID號的不同分成各種功能不同的表,其中對CAS系統(tǒng)有用的是ECM表和EMM表。EMM(Entitle Manager Message)表為授權(quán)管理信息表,里面主要包含每個用戶授權(quán)的節(jié)目數(shù)和對應(yīng)的SK(Service Key)業(yè)務(wù)密鑰信息。ECM(Entitle Control Message)表為授權(quán)控制信息表,里面含有對解擾最重要的CW(Control Word)控制字,取得對應(yīng)節(jié)目的CW之后,就可以交給安全模塊解擾,解擾后的明文CW就可以用來解擾加密節(jié)目,整個解密過程也就完成了。
CA解擾的過程如圖1所示。
2 終端子系統(tǒng)設(shè)計
考慮到應(yīng)用設(shè)計與底層硬件智能卡進(jìn)行交互,且Android系統(tǒng)提供有NDK套件工具,使得底層的其他語言的API與Android應(yīng)用層JAVA語言無縫對接,所以可以把CAS以庫的形式存放到Android中間層,供Android上層GUI調(diào)用。CAS系統(tǒng)的設(shè)計用到上述的ECM表和EMM表,但EMM表和ECM表要從PSI中的PMT、CAT表獲得其PID號。圖2、圖3是用專用工具截取的一段PMT和CAT表里面的CA信息。
評論