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