吳 琳,楊秀芝
(福州大學(xué)福建省數(shù)字電視工程研究中心,福建 福州 350002)
隨著數(shù)字電視產(chǎn)業(yè)的快速發(fā)展,各種增值業(yè)務(wù)不斷出現(xiàn)。條件接收系統(tǒng)(Conditional Access System,CAS)是實現(xiàn)節(jié)目付費和個性化增值業(yè)務(wù)的基礎(chǔ),同密技術(shù)的實現(xiàn)為數(shù)字電視網(wǎng)絡(luò)運營商檢驗條件接收系統(tǒng)的優(yōu)劣提供了一種技術(shù)手段[1]。典型的條件接收系統(tǒng)由用戶管理系統(tǒng)、節(jié)目信息管理系統(tǒng)、加密/解密系統(tǒng)和加擾/解擾系統(tǒng)等構(gòu)成[2]。其中的加密/解密系統(tǒng)存在兩種加密單元,分別是對ECM與EMM的加密處理。本文研究的授權(quán)控制信息發(fā)生器(ECMG),其功能主要是與加擾器中同密同步器(SCS)通信,對加擾控制字(CW)進行加密,將加密后的數(shù)據(jù)與訪問準(zhǔn)則(AC)信息組合生成ECM包,將ECM包交給SOPC系統(tǒng),通過網(wǎng)絡(luò)接口返回給加擾器。
ECMG總體設(shè)計框圖如圖1所示。
圖1 ECMG設(shè)計框圖
加擾器中的控制字發(fā)生器(CWG)產(chǎn)生CW;SCS獲得CW,與ECMG建立TCP連接,為每個連接建立通道,在通道內(nèi)建立所需要的流,通過相關(guān)的流向ECMG提供CW和相關(guān)信息;ECMG接收CW,用DES算法將其加密,加密后的數(shù)據(jù)與相關(guān)信息組成ECM包,返回給加擾器[3]。
ECMG硬件設(shè)計又可稱為ECMG加密機,該部分主要完成兩大模塊:加密模塊與ECM包生成模塊。采用硬件實現(xiàn)加密,安全度增加、加密速度加快,因此運用高效快速的FPGA來實現(xiàn)這兩大模塊是一個理想的選擇。
ECMG加密機結(jié)構(gòu)框圖如圖2所示。
圖2 ECMG加密機結(jié)構(gòu)圖
SKG:密鑰生成器。當(dāng)SKG接收到網(wǎng)絡(luò)傳來的SK_rdy有效信號時,則產(chǎn)生本輪加密CW的密鑰SK。
CW接收:當(dāng)接收到網(wǎng)絡(luò)傳來的CW_rdy有效信號時,讀取CW_men內(nèi)的數(shù)據(jù),讀取完成產(chǎn)生CWrv_rdy脈沖信號。
相關(guān)信息接收:相關(guān)信息主要是AC信息。當(dāng)接收到SCS通過網(wǎng)絡(luò)傳來的AC_rdy有效信號時,讀取暫存于片內(nèi)RAM中的訪問準(zhǔn)則,也可以直接從網(wǎng)絡(luò)傳輸?shù)南⒅蝎@取,這樣就需要與加擾器約定傳輸?shù)男畔⒏袷健?/p>
DES加密:當(dāng)收到CWrv_rdy信號,即CW讀取完畢時,用SK對取出的CW進行DES加密運算。
CRC校驗:對組成的ECM密文進行CRC運算,產(chǎn)生4 byte的CRC字段,并添加于ECM包。
ECM組包存入RAM:在運用SK加密CW后,將加密后的數(shù)據(jù)與訪問準(zhǔn)則信息按照制定的ECM數(shù)據(jù)格式組成ECM包,再將該數(shù)據(jù)存入RAM。
SOPC是Altera公司推出的一種高效靈活的片上系統(tǒng)解決方案,開創(chuàng)了嵌入式系統(tǒng)設(shè)計的新理念[4]。Nios II是32位RISC嵌入式處理器,它是SOPC的核心[5]。Altera將μC/OS-II實時操作系統(tǒng)、NicheStack TCP/IP協(xié)議棧內(nèi)嵌到Nios II IDE中,軟件的設(shè)計可以方便靈活地使用該系統(tǒng)。該軟件控制的設(shè)計利用以上工具完成。
該SOPC系統(tǒng)硬件定制如圖3所示。
圖3 SOPC系統(tǒng)定制圖(截圖)
本系統(tǒng)在SOPC Builder上定制了Nios II軟核CPU、SDRAM、ext_flash、網(wǎng)絡(luò)處理芯片 LAN91C111、Timer以及包含控制CW,ECM讀寫的PIO口。
在同密機制下,AC信息是由各個CA廠商將其傳遞給SCS,SCS則負(fù)責(zé)將AC信息和從CWG取得的CW傳送給ECMG,ECMG將相關(guān)的節(jié)目信息和CW的密文組成ECM包并返回給SCS,SCS將收到的ECM包存儲在RAM里進行播發(fā),SCS還控制ECM與CW之間的同步[6]。
ECMG主要與加擾器中SCS進行通信。ECMG作為服務(wù)器,SCS作為客戶端。SCS事先知道ECMG的IP地址與端口號,并向ECMG提出連接請求,建立TCP連接。
3.2.1 同密同步器
SCS工作流程可總結(jié)如下:
1)從加擾配置界面獲得Ecm_Pid,Scg_Id,AC,ECMG_IP,ECMG_Port信息。SCS根據(jù)Scg_Id提取相應(yīng)的CW,并將CW,Ecm_Pid,AC組合構(gòu)造成CW_provision消息。SCS根據(jù)ECMG_IP,ECMG_Port信息與ECMG建立TCP連接。
2)SCS依據(jù)Scg_Id和加擾周期來控制ECM與CW之間的同步。
3)SCS根據(jù)Scg_Id建立多個流,將CW_provision消息循環(huán)地傳給ECMG,ECMG返回ECM_response,SCS將返回的ECM信息進行分析并存儲。
3.2.2 ECMG與SCS的接口通信
對于接口來說,消息具有以下結(jié)構(gòu):
Generic_message
{ protocol_version 1B //協(xié)議版本的8比特域,0x01
message_type 2B //消息類型
message_length 2B//消息中的字節(jié)數(shù)
for(i=0;i<n;i++)
{parameter_type 2B//參數(shù)類型
parameter_length 2B//參數(shù)長度
parameter_value <parameer_length>B//參數(shù)實際值 }
}
根據(jù)數(shù)字電視廣播條件接受系統(tǒng)規(guī)范,ECMG與SCS接口的消息類型值如表1所示。
表1 消息類型值
ECMG與SCS通信過程如下:
1)SCS根據(jù)ECMG_IP,ECMG_Port向ECMG提出連接請求,雙方建立TCP連接。
2)SCS發(fā)起建立通道請求,消息類型為Channel_setup;ECMG開始建立通道,若成功則返回通道狀態(tài),消息類型為Channel_status;若失敗則返回通道建立錯誤消息,類型為Channel_error,并關(guān)閉TCP連接。
3)SCS收到Channel_status后發(fā)起建立流請求,消息類型為Stream_setup;ECMG開始建立流,若成功則返回流狀態(tài),消息類型為Stream_status;若失敗則返回流建立錯誤消息,類型為Stream_error,并關(guān)閉通道和TCP連接。
4)SCS收到Stream_status后,從CWG中取出CW,與收到的配置信息Ecm_Pid,AC一起構(gòu)造成CW_provision,將該消息傳送給ECMG;ECMG分析收到的CW_provision消息,將控制字CW存儲,交給加密機進行硬件加密;將密文與分析出的Ecm_Pid,AC等信息按制定的ECM組包格式,組成ECM包。將ECM包與包頭組合構(gòu)造ECM_response消息返回給SCS。
5)SCS收到ECM_response后,分析消息,將ECM包進行存儲并同步播發(fā)。
6)當(dāng)不再需要ECM或出錯時,SCS發(fā)送流關(guān)閉請求,消息類型為Stream_close_request;ECMG返回流關(guān)閉消息,類型為Stream_close_response。
ECMG與加擾器中的SCS進行網(wǎng)絡(luò)通信,加擾器是采用研究中心自主研發(fā)的加擾器。
將本文設(shè)計的ECMG系統(tǒng)通過JTAG口下載到Stratix II開發(fā)板上。進行加擾系統(tǒng)配置,設(shè)置Ecm_Pid,Scg_Id,AC,ECMG_IP,ECMG_Port信息。再將本 ECMG系統(tǒng)與加擾器進行連接測試。打開Nios II IDE中的console界面打印出消息并分析,如圖4所示。
測試結(jié)果顯示,加擾器的IP為192.168.0.129,ECMG監(jiān)聽端口為6001,從加擾器的IP接收數(shù)據(jù)。首先ECMG收到Channel_setup消息,返回Channel_status消息;然后收到Stream_setup消息,返回Stream_status消息;接著收到CW_provision消息,返回ECM_response消息;最后循環(huán)接收CW_provision,返回ECM_response。測試結(jié)果符合廣電標(biāo)準(zhǔn)與設(shè)計要求。
圖4 測試結(jié)果分析圖(截圖)
[1]李紅艷,沈士洲,吳國威.同密技術(shù)在數(shù)字電視系統(tǒng)中的應(yīng)用[J].電視技術(shù),2004,28(9):38-40.
[2]GY/Z175—2001,數(shù)字電視廣播條件接收系統(tǒng)規(guī)范[S].2001.
[3]魏軍,楊秀芝.基于SOPC的ECMG的設(shè)計與硬件實現(xiàn)[J].中國有線電視,2010(1):51-53.
[4]江國強.SOPC技術(shù)與應(yīng)用[M].北京:機械工業(yè)出版社,2006.
[5]Altera corporation.Using the NicheStack TCP/IP stack—Nios II edition tutorial[EB/OL]. [2012-05-20].http://www.docin.com/p-391338883.html.
[6]滕旭,李懷宇,鄭世寶.DVB同密技術(shù)與應(yīng)用[J].電視技術(shù),2004,28(6):27-29.