解文龍,盧金禹,華博,谷陽,王同慶
(河北廣電無線傳媒股份有限公司,河北 石家莊 050011)
關鍵字:河北IPTV;防篡改;EPG;安全性
隨著河北IPTV用戶在近幾年的快速發展,目前用戶規模已達1700萬戶,成了重要的播控媒介。對于EPG的播出安全、防止內容被非法篡改尤為重要。EPG主要功能是為用戶收看電視節目和享受信息服務提供一個良好的導航機制,使用戶能夠方便快捷地找到自己關心的節目,查看節目的附加信息。2019年,河北廣電總局下達了建設總平臺EPG管理系統的任務,各省新媒體對接分平臺EPG管理系統的任務,其中要求各省新媒體公司在EPG管理系統中保障部署的服務器、模板信息滿足防篡改的要求[1]。河北IPTV平臺中,EPG服務器在運營商機房內。如何對龐大的EPG服務器的內容進行監管、如何保證內容的修改是河北IPTV授權的修改內容成為急需解決的問題。本文將針對這些問題進行探討。
EPG是electronic program guide的英文縮寫,意思是電子節目菜單,IPTV所提供的各種業務的索引及導航都是通過電子節目指南系統來完成的;IPTV是交互式網絡電視。IPTV既不同于傳統的模擬式有線電視,也不同于經典的數字電視。它是在運營商寬帶網傳輸的新媒體;C1是河北IPTV與移動、聯通、電信運營商約定的文件分發接口,通過C1接口將EPG模板文件由河北IPTV推送至運營商各EPG分支服務器;SP是Content Provider服務提供商的簡稱;CP是Content Provider內容提供商的簡稱;RSA是公開密鑰密碼體制,是一種使用不同的加密密鑰與解密密鑰“由已知加密密鑰推導出解密密鑰在計算上是不可行的”密碼體制;STB是數字視頻變換盒(set top box)。
目前全國各省的IPTV系統架構圖如圖1所示。IPTV借助運營商的通信網絡,開發人員通過協定好的數據派發接口C1將EPG模板頁面推送至EPG核心服務器,經由EPG核心服務器向各EPG分支服務器推送,然后通過EPG分支服務器分發至電視終端機頂盒,向電視終端用戶提供媒體服務。EPG分支服務器直接面向電視終端提供EPG模板頁面,獲取媒體服務。通過EPG服務器向電視用戶提供服務。EPG服務器部署在運營商側,通過EPG核心節點獲取引入節目源、CP(Content Provider)提供內容源,通過EPG分支節點將節目源,頁面等服務提供給電視用戶。

圖1 IPTV 系統架構圖
IPTV從系統架構上就帶來了廣電側對EPG核心服務器以及EPG分支服務器的內容安全把握度較低的不足。全國絕大部分省份中,EPG核心服務器以及EPG分支服務器由運營商維護,這就引發了廣電側無法及時監控服務器上的文件變動的情況,所有文件的下發均通過C1接口進行分發,再反饋下發結果。下發后的文件信息無法持續追蹤,造成了安全隱患[2],例如,不法分子通過控制位于電視終端的分支服務器,篡改播放內容,違規違法播放敏感視頻等。
各省份IPTV傳媒公司通過C1接口將頁面修改文件推送至電信運營商EPG核心節點,并分發至EPG分支接點,由此可以很明顯地得出結論,EPG文件防篡改的關鍵在于檢測EPG分支接點的文件是否是授權的變動。
EPG模板文件防篡改系統,包括EPG防篡改服務器和EPG防篡改客戶端系統,所述EPG防篡改服務器配置于系統管理端,所述EPG防篡改客戶端配置于EPG分支服務器。EPG防篡改服務器與EPG防篡改客戶端之間的數據傳輸通道依賴于傳統IPTV網絡構建[3]。
本系統由EPG主系統,EPG分支接點部署的防篡改客戶端、文件系統、數據庫、可視化系統組成,如圖2所示。EPG防篡改主系統通過與各運營商開放的業務端口與部署在EPG分支系統中系統進行消息通信;通過調取C1接口的下發數據更新本地文件系統授權文件樹,并將異動、客戶端系統心跳信息進行數據庫存儲,并在可視化系統中展現。

圖2 EPG 文件防篡改系統架構邏輯圖
EPG防篡改主系統通過與架設在EPG分支系統中的客戶端系統心跳(heart beat)消息進行通信,用來檢測客戶端系統的運行狀態。客戶端系統實時掃描EPG模板頁面所在目錄,若發生文件變化,發送消息到防篡改主系統進行文件授權檢測。文件授權檢測為本系統通過檢測文件系統維護的C1授權文件樹,通過自有算法將C1接口下發數據及文件信息進行維護,最小化地減少文件的重復獲取及最快速地獲取監測信息。若發現異動文件,本系統同樣維護了一張異動文件的文件樹,并將文件路徑根據各時段檢測到的移動信息一并存儲至數據庫。所有系統中的數據傳輸均在運營商和河北IPTV內網鏈路中。EPG防篡改服務器和EPG防篡改客戶端還都設有交互控制器、RSA密文校驗模塊,用來對EPG防篡改服務器和EPG防篡改客戶端之間的交互信息進行加解密和數據校驗,保證數據通道的安全,防止消息及接口功能被劫持。
由于EPG分支系統部署在運營商機房,設備的網關信息廣電側并不能檢測。運營商考慮到設備安全的因素,設備本身的管理端SSH(secure shell)方式在部署完防篡改客戶端后會關閉。如何保障在所有EPG服務器的分支服務器內部署的防篡改客戶端系統的穩定運營,檢測運行狀態等信息就帶來了各種待解決的問題。本系統通過EPG防篡改主系統與架設在EPG分支系統中的客戶端系統維護一條定時心跳信息,用來檢測系統的運行狀態,實現對各分支客戶端系統的狀態進行檢測,若運行異常,需要排查,以確保防篡改系統的穩定運行。心跳消息通過河北IPTV非對稱加密算法進行加密,滿足心跳消息在傳輸鏈路中的安全。
當系統檢測到心跳消息中斷,會立刻告警至負責人,將心跳消息中斷的服務器信息通過內部郵箱推送至相關負責人,并啟動河北IPTVEPG管理應急機制。河北IPTVEPG管理應急機制與本文討論的內容無關,本文不再詳述。
E P G 系統中有大量的模板文件,例如H T M L、JavaScript、CSS、JPEG等靜態文件。移動、聯通、電信有上千臺EPG服務器。如何對有這龐大文件數量、龐大服務器數量的模板文件進行實時監控是一個難點問題。
目前EPG服務器均為Linux系統。系統將EPG模板內各文件目錄通過客戶端系統注冊,并監聽Linux系統的notify消息檢測文件目錄的文件變動。notify的機制類似于系統調用信號,Linux內核其實提供了一種鏈式通知機制,每一個節點可以注冊一個函數,當某些時間發生后,會進行對應的函數回調,將通知注冊了函數的節點。本文所屬的防篡改系統通過對文件的新增、修改、刪除操作進行注冊,過濾掉無用的消息后,將文件變動信息發送至EPG文件防篡改主系統進行下一步分析。如果檢測的路徑新增文件目錄,系統會重新將新增的文件目錄追加注冊,以確保EPG模板內所有的文件均被監聽[4]。需要說明的是,目前C1接口沒有支持刪除的操作,故客戶端系統檢測到的文件刪除操作均為文件異動信息。
EPG防篡改的核心為判定模板文件的合法性,本章節將對此問題進行討論。由前文所述可知,河北IPTV的EPG系統中,EPG服務器分為EPG核心服務器和EPG分支服務器。河北IPTV通過C1接口將需要分發的模板文件推送至EPG核心服務器,再由其分發至各EPG分支服務器。EPG防篡改系統通過EPG分支系統回傳的文件變化信息與C1下發文件數進行遍歷對比,通過MD5算法得到回傳文件的MD5值[5],若有匹配到的同MD5值的文件且EPG節點信息、路徑信息、時間戳信息匹配,則判定二次授權檢測成功,反之判定為異動文件,將異動文件從對應的EPG分支服務器獲取,存儲在本地文件系統中,將異動信息記錄在數據庫系統中,為可視化系統提供對比分析等可視化展示。
一個運營商有上百臺EPG分支服務器。每臺EPG分支服務器都會產生若干條文件變動信息。如何將大量文件變動信息集中在很短的時間內回傳至EPG防篡改主程序,并快速判定文件變動和與C1下發節點的文件進行匹配是遇到的另一個關鍵問題。河北IPTV通過C1下發文件樹、異動文件樹等技術解決了文件溯源、文件判定的問題;通過文件緩存、文件樹緩存、時間戳等技術解決了文件快速翻庫的問題,并以極短的速度對文件進行快速授權檢測。
本系統的核心即為二次授權機制。全國大部分新媒體的IPTV平臺都是部署在運營商的EPG服務器內。目前通過C1接口將EPG模板向各EPG分支系統推送,EPG模板文件的C1接口的下發權限均在河北廣電無線傳媒公司內,即各EPG分支系統內模板文件的變動信息,均需要通過C1接口推送,完成第一次授權。當下發文件推送至各EPG分支系統內時,文件會同步產生變化信息,客戶端系統會將變動文件消息推送至EPG防篡改主系統,并根據C1下發記錄進行二次授權檢測,從而確保文件變動的合理性。
EPG防篡改文件系統結構圖如圖3所示。由于存在多個分支EPG系統,每次C1接口推送文件會產生大量的文件變動信息。系統為減少不必要的重復C1接口數據請求,通過自有算法維護了一個本地C1下發文件樹。該文件樹中存儲了如節點信息、時間戳、分支信息、分發ID、文件目錄、文件MD5等關鍵信息,待文件系統內未能檢測到目標文件時才會重新請求C1接口數據,并更新C1下發文件數。

圖3 EPG 防篡改文件系統
在內網環境中,如何防止非法通過內網抓包、通過非常規途徑完成消息篡改或者偽造消息進行發布從而造成重大的播出事故,是當前的關注點。河北IPTV通過采用非對稱加密的方式對消息進行加密處理。系統在所有消息交互中,采用了河北IPTV非對稱加密算法,保障了消息在EPG防篡改系統的主系統和防篡改客戶端系統傳輸過程中的被泄露、篡改的可能性。
考慮到用戶側機頂盒性能的因素,RSA非對稱加密算法可能會對機頂盒的頁面渲染造成過多的資源開銷,因此,將算法升級為河北IPTV非對稱加密算法,將河北IPTV內部所有的消息收發均滿足該算法支持。這一舉措在保障了非對稱加密算法的前提下,保障了算法的快速加密解密。由于該算法涉及保密,本文對加密算法不再詳述。
本文討論的方案能夠實現文件級的EPG文件防篡改管理。針對現有技術中存在的問題,提供一種IPTV模板文件防篡改方法,通過二次授權驗證機制,在不影響運營商服務器的基礎上,實現廣電側對播控安全的把控。后續的工作會在國標加密算法、系統架構上進行深一步研究。