牛曉旭,宋文喆,王翾
(1.中國傳媒大學(xué) 廣播電視數(shù)字化教育部工程研究中心,北京 100024;2.國家新聞出版廣電總局 哈爾濱監(jiān)測臺(tái),哈爾濱 150089)
《國民經(jīng)濟(jì)和社會(huì)發(fā)展第十一個(gè)五年規(guī)劃綱要》提出:“擴(kuò)大廣播電視覆蓋范圍;發(fā)展數(shù)字廣播影視;確保安全播出”。國家廣電總局要求,2015年完成全國有線電視數(shù)字化整體轉(zhuǎn)換,關(guān)閉模擬電視信號(hào)。而且諸如IPTV之類的廣播電視同樣是建立在數(shù)字化的基礎(chǔ)上的。數(shù)字化的廣播電視現(xiàn)在基本上已經(jīng)實(shí)現(xiàn)。
數(shù)字化就是將許多復(fù)雜多變的信息轉(zhuǎn)變?yōu)榭梢远攘康臄?shù)字、數(shù)據(jù),再以這些數(shù)字、數(shù)據(jù)建立起適當(dāng)?shù)臄?shù)字化模型。計(jì)算機(jī)正是在數(shù)字化的基礎(chǔ)上產(chǎn)生的。如果將具有高速計(jì)算和分析能力的智能計(jì)算機(jī)用于廣播電視的直接監(jiān)測,將會(huì)使監(jiān)測變得更加高效和智能,取得意想不到的效果。要實(shí)現(xiàn)從計(jì)算機(jī)客戶端實(shí)現(xiàn)監(jiān)測的功能,必須通過系統(tǒng)的身份認(rèn)證。
下文將介紹有線數(shù)字電視和IPTV這兩種典型的廣播電視實(shí)現(xiàn)用戶身份認(rèn)證的方式和實(shí)現(xiàn)方法。
數(shù)字有線電視實(shí)現(xiàn)用戶認(rèn)證授權(quán)的核心技術(shù)是條件接收CA(Conditional Access)。條件接收就是對(duì)視頻、音頻和數(shù)據(jù)等信息加密、傳輸并為合法用戶接收解密的過程。以只有獲得授權(quán)的用戶才能使用相關(guān)業(yè)務(wù)的方式實(shí)現(xiàn)數(shù)字電視廣播系統(tǒng)的有償服務(wù)。條件接收廣播電視運(yùn)營商管理手段的拓展,使運(yùn)營商能夠?qū)τ脩羰盏降男畔⑦M(jìn)行授權(quán)控制[1]。
由圖1可知,在條件接受中有兩個(gè)最為關(guān)鍵技術(shù):加解擾技術(shù)和加解密技術(shù)。
圖1 常用條件接收系統(tǒng)原理
加擾是指在發(fā)送端使用加擾序列對(duì)視頻、音頻或者數(shù)據(jù)碼流進(jìn)行擾動(dòng),將數(shù)據(jù)打亂。加擾序列由偽隨機(jī)序列發(fā)生器產(chǎn)生,具有近似隨機(jī)序列的功率譜特征,不同的是它具有周期,但周期很長,一般是數(shù)小時(shí)甚至是數(shù)天。在初始條件已知的情況下,可以推測出偽隨機(jī)序列發(fā)生器產(chǎn)生的加擾序列。偽隨機(jī)序列發(fā)生器的初始條件受控于控制字(Control Word)。根據(jù)這個(gè)原理,只要在接收端有一個(gè)相同的偽隨機(jī)序列發(fā)生器,同時(shí)將控制字CW傳給它,就可以獲得解擾序列,運(yùn)用對(duì)應(yīng)的解擾算法就可以對(duì)相應(yīng)的信息流解擾恢復(fù)原始信號(hào)[2]。
CW是隨加擾信息一起通過公用網(wǎng)傳輸,一旦CW被不法分子截取破解,那么整個(gè)系統(tǒng)就不能實(shí)現(xiàn)用戶的認(rèn)證鑒權(quán),所以需要一個(gè)密鑰對(duì)CW進(jìn)行加密。通常這個(gè)密鑰由服務(wù)商提供,與用戶付費(fèi)條件有關(guān),用來控制其提供的服務(wù),也稱為業(yè)務(wù)密鑰SK(Service Key)。使用業(yè)務(wù)密鑰SK(Service Key)對(duì)控制字CW加密形成授權(quán)控制信息ECM(Entitle Control Message),復(fù)用到傳送流當(dāng)中。
在傳輸流的過程中,如果SK被讀取破解,那么破解者同樣可以收看非訂購的節(jié)目,對(duì)整個(gè)系統(tǒng)的安全性構(gòu)成極大的威脅。必須對(duì)SK進(jìn)行再加密保護(hù)。這個(gè)加密過程完全按照各個(gè)用戶特征來進(jìn)行,密鑰稱為個(gè)人分配密鑰(PDK)。加密后形成授權(quán)管理信息EMM。PDK一般由CA系統(tǒng)設(shè)備自動(dòng)產(chǎn)生并嚴(yán)格控制,并通過CA系統(tǒng)提供的專用設(shè)備燒入到智能卡中,不能再讀出,用戶通過購買智能卡方式獲得,三者關(guān)系如圖2所示。
圖2 CW、SK和PDK關(guān)系
IPTV即網(wǎng)絡(luò)電視,通過互聯(lián)網(wǎng)協(xié)議(IP)來提供多種數(shù)字媒體服務(wù)及其增值業(yè)務(wù)的技術(shù)。主要包括音視頻點(diǎn)播、音視頻廣播、時(shí)移電視、錄播、通信服務(wù)、信息服務(wù)和互動(dòng)游戲等。隨著三網(wǎng)融合的推進(jìn)、文化體制改革的進(jìn)一步深化以及技術(shù)標(biāo)準(zhǔn)的進(jìn)步,IPTV的發(fā)展?jié)摿κ蔷薮蟮摹?/p>
圖3 IPTV認(rèn)證鑒權(quán)流程
IPTV機(jī)頂盒在實(shí)現(xiàn)認(rèn)證鑒權(quán)過程中有三個(gè)重要的技術(shù):PPPoE、AAA認(rèn)證、3DES加密技術(shù)[3],如圖3所示。
IPTV網(wǎng)絡(luò)本質(zhì)上是一個(gè)IP網(wǎng)絡(luò),要進(jìn)入該網(wǎng)絡(luò)有多種方式可以選擇,PPPoE相對(duì)于其他傳統(tǒng)接入方式具有較高的性價(jià)比。它既能實(shí)現(xiàn)通過同一個(gè)用戶前置接入設(shè)備連接遠(yuǎn)程的多個(gè)用戶主機(jī),又能提供類似撥號(hào)一樣的接入控制,計(jì)費(fèi)等功能。目前,IPTV網(wǎng)絡(luò)接入常采用的就是PPPoE協(xié)議。
PPPoE是point-to-point protocol over ethernet的簡稱,實(shí)現(xiàn)PPP與以太網(wǎng)(Ethernet)相結(jié)合,在以太網(wǎng)絡(luò)中轉(zhuǎn)播PPP幀信息。PPP是為串行通信設(shè)計(jì)的鏈路層協(xié)議,通過撥號(hào)建立點(diǎn)對(duì)點(diǎn)連接發(fā)送數(shù)據(jù),完成各種主機(jī)、網(wǎng)橋和路由器之間簡單連接的一種共通,其原理見圖4。
機(jī)頂盒運(yùn)行PPPoE協(xié)議的工作流程包含發(fā)現(xiàn)和會(huì)話兩個(gè)階段;發(fā)現(xiàn)階段:第一步,由用戶側(cè)首先發(fā)送這樣一個(gè)PADI(PPPOE Active Discovery Initiation)報(bào)文。第二步,由訪問集中器回應(yīng)各用戶主機(jī)發(fā)送的PADI報(bào)文,此時(shí)該P(yáng)ADO(PPPOE Active Discovery Offer)報(bào)文所對(duì)應(yīng)的以太網(wǎng)幀的源地址填充訪問集中器的MAC地址,而目的地址則填充從PADI中所獲取的用戶主機(jī)的MAC地址。第三步,是由用戶主機(jī)向訪問服務(wù)器發(fā)送單播的請(qǐng)求PADR(PPPOE Active Discovery Request)報(bào)文。第四步,此時(shí)訪問集中器當(dāng)收到PADR報(bào)文時(shí),就準(zhǔn)備進(jìn)入開始一個(gè)PPP的會(huì)話了,而此時(shí)訪問集中器會(huì)為在這個(gè)會(huì)話分配一個(gè)唯一的會(huì)話進(jìn)程ID,并在發(fā)送給主機(jī)的PADS(PPPOE Active Discovery Session-confirmation)報(bào)文中攜帶上這個(gè)會(huì)話ID。
會(huì)話階段:第一步,客戶端和認(rèn)證服務(wù)器之間進(jìn)行PPP的LCP協(xié)商,建立鏈路層通信。同時(shí),協(xié)商使用PAP、CHAP認(rèn)證方式。第二步,客戶端收到報(bào)文后,將用戶名和密碼按協(xié)商使用的認(rèn)證方式做它發(fā)送給認(rèn)證服務(wù)器。第三步,服務(wù)器驗(yàn)證用戶名及密碼是否合法,然后回應(yīng)認(rèn)證成功/失敗報(bào)文到客戶端。如果認(rèn)證失敗,則流程到此結(jié)束。第四步,驗(yàn)證成功之后,客戶端進(jìn)行NCP(如IPCP)協(xié)商,通過向服務(wù)器發(fā)送請(qǐng)求報(bào)文獲取IP地址。服務(wù)器端通過返回一個(gè)NAK報(bào)文,分配給用戶端一個(gè)IP地址,然后結(jié)束會(huì)話。至此,用戶進(jìn)入到系統(tǒng)之中。
圖4 PPPoE原理
AAA 技術(shù)是Authentication(認(rèn)證)、Authorization(授權(quán))、Accounting(計(jì)費(fèi))的簡稱。
認(rèn)證是指用戶在使用IPTV提供的服務(wù)時(shí)對(duì)用戶身份的確認(rèn)。整個(gè)認(rèn)證通常是采用用戶輸入用戶名與密碼來進(jìn)行權(quán)限審核。只有確認(rèn)了用戶的身份,才能知道所提供的服務(wù)應(yīng)該向誰收費(fèi),同時(shí)也能防止非法用戶(黑客)對(duì)網(wǎng)絡(luò)進(jìn)行破壞。授權(quán)是指根據(jù)用戶開戶時(shí)所申請(qǐng)的服務(wù)類別,授予客戶相應(yīng)的權(quán)限,指定了被認(rèn)證的用戶在IPTV系統(tǒng)中能夠使用的業(yè)務(wù)和資源。計(jì)費(fèi)是指統(tǒng)計(jì)和記錄用戶使用系統(tǒng)所提供服務(wù)的情況,以便收取相應(yīng)的費(fèi)用。認(rèn)證、授權(quán)和計(jì)費(fèi)是整個(gè)IPTV系統(tǒng)運(yùn)營的基礎(chǔ),交互流程見圖5。
圖5 客戶端與AAA服務(wù)器交互流程圖
認(rèn)證過程:首先,PC客戶端向AAA 服務(wù)器發(fā)起一個(gè)獲得TokenKey的http請(qǐng)求報(bào)文,請(qǐng)求中包含用戶名以及它的IP 地址,之后AAA 服務(wù)器先判斷IP地址是否在所管轄的子網(wǎng)內(nèi),如果是,繼續(xù)判斷用戶名在AAA 服務(wù)器中是否存在。如果存在,AAA 服務(wù)器會(huì)根據(jù)用戶名和當(dāng)前時(shí)間戳進(jìn)行計(jì)算,產(chǎn)生一些168 位的TokenKey,并通過獲得TokenKey的響應(yīng)報(bào)文把TokenKey傳遞給PC客戶端。PC客戶端使用TokenKey作為密鑰,將ID,MAC,IP,PASSWORD等消息進(jìn)行加密。
然后,PC客戶端發(fā)起用戶認(rèn)證的http請(qǐng)求報(bào)文給AAA 服務(wù)器。請(qǐng)求中包含用戶名和用TokenKey加密之后的PASSWORD等信息。AAA服務(wù)器從數(shù)據(jù)庫中查到PC客戶端對(duì)應(yīng)的TokenKey后,以它作為密鑰解開消息,并對(duì)解開后得到的PASSWORD 與數(shù)據(jù)庫內(nèi)用戶名對(duì)應(yīng)的PASSWORD 進(jìn)行比較,如果兩者一致,則通過驗(yàn)證,發(fā)送用戶認(rèn)證請(qǐng)求響應(yīng)消息給PC客戶端。返回碼為0,表示認(rèn)證成功。認(rèn)證成功后,我們就可以向IPTV業(yè)務(wù)平臺(tái)的電子節(jié)目導(dǎo)航(EPG)發(fā)起請(qǐng)求,進(jìn)行IPTV業(yè)務(wù)的使用[4]。
授權(quán)過程:用戶可以通過PC客戶端選擇IPTV業(yè)務(wù),如直播、點(diǎn)播。當(dāng)用戶確定要觀看的業(yè)務(wù)時(shí),就會(huì)向AAA 服務(wù)器發(fā)起授權(quán)請(qǐng)求,AAA 服務(wù)器會(huì)根據(jù)該用戶的權(quán)限判斷其是否可以使用這個(gè)業(yè)務(wù),如果用戶的權(quán)限符合要求,則授權(quán)成功,用戶可以使用該業(yè)務(wù)。
計(jì)費(fèi)過程:當(dāng)用戶通過PC客戶端選擇的IPTV業(yè)務(wù)屬于付費(fèi)業(yè)務(wù)時(shí),會(huì)向AAA服務(wù)器發(fā)起計(jì)費(fèi)請(qǐng)求,AAA服務(wù)器根據(jù)用戶的賬戶余額與該業(yè)務(wù)的費(fèi)用的比較,然后返回響應(yīng)結(jié)果。
3DES是數(shù)據(jù)加密標(biāo)準(zhǔn)DES(Date Encryption Standard)的一種模式。DES是美國于1977年提出的基于64 位明文分組,密鑰長度為48×16 的加密標(biāo)準(zhǔn)。但是由于技術(shù)的發(fā)展,計(jì)算機(jī)速度的大量提升,以及儲(chǔ)存空間的海量化,對(duì)DES 的攻擊的各種方法不斷的被提出(例如基于差分密碼分析以及線形密碼分析等攻擊方法)。為了抵抗對(duì)DES 的各種攻擊,3DES就應(yīng)運(yùn)而生,見圖6。3DES相當(dāng)于采用三組密鑰進(jìn)行三次DES運(yùn)算,有著高強(qiáng)度加密安全性能。
圖6 3DES加密示意圖
3DES加密算法的核心也就是DES加密算法,設(shè)Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密表,這樣,
3DES加密過程為:C=Ek3(Dk2(Ek1(P)))
3DES解密過程為:P=Dk1((EK2(Dk3(C)))
K1、K2、K3決定了算法的安全性,若三個(gè)密鑰互不相同,本質(zhì)上就相當(dāng)于用一個(gè)長為168位的密鑰進(jìn)行加密。多年來,它在對(duì)付強(qiáng)力攻擊時(shí)是比較安全的。若數(shù)據(jù)對(duì)安全性要求不那么高,K1可以等于K3[5]。
無論是數(shù)字有線電視還是IPTV他們的身份認(rèn)證,有嚴(yán)格的國家標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn),機(jī)頂盒實(shí)現(xiàn)的功能都是可以利用軟件實(shí)現(xiàn)。在計(jì)算機(jī)外部連接一個(gè)接口適配器,將數(shù)字有線電視和IPTV信號(hào)接入到計(jì)算機(jī),完成機(jī)頂盒實(shí)現(xiàn)的功能[6],監(jiān)測框架見圖7。
對(duì)于數(shù)字有線電視,從智能卡中讀取用戶信息得到密鑰PDK。通過解密模塊,解出業(yè)務(wù)密鑰SK,進(jìn)而解出用于解擾的控制字CW。將CW傳給解擾模塊,就能獲得節(jié)目信息,為監(jiān)測做好準(zhǔn)備。
對(duì)于IPTV,同樣從智能卡讀取用戶名和密碼等信息,利用PPPoE模塊撥號(hào)獲得IP地址,進(jìn)入到網(wǎng)絡(luò)之中。之后,認(rèn)證模塊發(fā)送認(rèn)證請(qǐng)求,獲得臨時(shí)身份TokenKey。在3DES模塊完成密碼對(duì)隨機(jī)數(shù)、臨時(shí)身份、用戶名、IP地址、MAC地址等信息加密。獲得Authentication鑒權(quán)信息。并把Authentication發(fā)送給服務(wù)器。服務(wù)器通過與數(shù)據(jù)庫中的用戶信息核對(duì),確定用戶的權(quán)限。認(rèn)證成功之后,就可以向服務(wù)器請(qǐng)求整個(gè)系統(tǒng)節(jié)目的入口EPG。
在監(jiān)測模塊,我們根據(jù)不同的需求,設(shè)計(jì)不同的功能。自動(dòng)分析網(wǎng)絡(luò)的傳輸狀況(例如MDI),監(jiān)測節(jié)目是否正常播出,智能分析點(diǎn)播節(jié)目是否含有非法節(jié)目。
圖7 計(jì)算機(jī)智能監(jiān)測框架
對(duì)于數(shù)字有線電視和IPTV的機(jī)頂盒,嵌入式CPU是它的大腦,它和計(jì)算機(jī)的CPU沒有本質(zhì)的區(qū)別,完成相應(yīng)的數(shù)學(xué)運(yùn)算和邏輯運(yùn)算,并執(zhí)行用戶命令和發(fā)出控制指令。相當(dāng)于一個(gè)低級(jí)的計(jì)算機(jī)。相關(guān)的標(biāo)準(zhǔn)和技術(shù)都是很成熟的。所以,實(shí)現(xiàn)計(jì)算機(jī)客戶端智能監(jiān)測完全可以實(shí)現(xiàn)的。
[1]杜大偉.淺談?dòng)芯€電視的有條件接收[J].中國有線電視,2009,(01):32-34..
[2]李建厚,高旭.淺談?dòng)?jì)算機(jī)在數(shù)字電視CAS中的應(yīng)用[J].電子世界,2013,(02):62-63.
[3]IPTV 機(jī)頂盒技術(shù)規(guī)范 V2.0(暫行稿)[S].中國電信集團(tuán)公司,2008.
[4]葉賽,張洪偉.基于IPTV 的AAA 服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2008,15:126-128.
[5]鄧悅恒.3DES算法原理與設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2011,20:4817-4818,4828.
[6]李天生.電腦能否代替有線數(shù)字電視機(jī)頂盒[J].數(shù)字技術(shù)與應(yīng)用,2011,(05):76.