《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 用FPGA實現(xiàn)數(shù)字電視條件接收系統(tǒng)
用FPGA實現(xiàn)數(shù)字電視條件接收系統(tǒng)
摘要: 在采用MPEG-2的數(shù)字電視中,加擾過程就是用一個由控制字CW控制的偽隨機(jī)序列對PES流或TS流進(jìn)行擾動,使沒有被授權(quán)的用戶不能觀看節(jié)目。對于授權(quán)用戶,他們的接收機(jī)也有一個同樣的偽隨機(jī)序列產(chǎn)生器,如果接收到正確的CW,就可以生成解擾序列,解除信號的擾動,恢復(fù)出接收機(jī)可以播放的信號。 
Abstract:
Key words :

  數(shù)字電視是近十幾年發(fā)展起來的高新技術(shù),其聲像質(zhì)量,抗干擾性及傳送節(jié)目的數(shù)目等方面有模擬電視無法比擬的優(yōu)點(diǎn)。數(shù)字電視的開播,使觀眾可以欣賞更多的優(yōu)質(zhì)節(jié)目;同時,服務(wù)商則希望實現(xiàn)按觀看內(nèi)容進(jìn)行收費(fèi)的良性運(yùn)營。條件接收系統(tǒng)CAS主要的功能就是確保只有付費(fèi)用戶才能收看所選節(jié)目,徹底解決運(yùn)營商的收費(fèi)問題??梢哉f,CAS是運(yùn)營商發(fā)展新服務(wù)的關(guān)鍵。但是,我國目前開通的數(shù)字電視用的CAS大多是國外的軟硬件方案,隨著數(shù)字電視的普及,CAS的國產(chǎn)化就成為非常緊迫的要求。

  1 數(shù)字電視條件接收系統(tǒng)(CAS)的工作原理

  1.1 CAS的加擾和解擾

  在采用MPEG-2的數(shù)字電視中,加擾過程就是用一個由控制字CW控制的偽隨機(jī)序列對PES流或TS流進(jìn)行擾動,使沒有被授權(quán)的用戶不能觀看節(jié)目。對于授權(quán)用戶,他們的接收機(jī)也有一個同樣的偽隨機(jī)序列產(chǎn)生器,如果接收到正確的CW,就可以生成解擾序列,解除信號的擾動,恢復(fù)出接收機(jī)可以播放的信號?!?/p>

  1.2 CAS的加密和解密

  用戶解擾的關(guān)鍵就是得到正確的CW,而CW是隨著有用信號通過公用的信道傳輸。所以說,CAS的加密實際就是對CW的加密,以防止非授權(quán)用戶的侵入。結(jié)合圖1介紹CW的加解密機(jī)制。

DVB條件接受原理框圖

  CW一方面控制加擾器對數(shù)據(jù)流加擾;另一方面通過業(yè)務(wù)密鑰SK(Server Key)加密形成授權(quán)控制信息ECM送到接收端。為了信號的保密性,CW一般幾秒就要改變一次,并且SK也必須進(jìn)行加密保護(hù)。一般來說,對SK加密完全按照各個用戶的特征來進(jìn)行。由于每臺接收機(jī)可以編惟一的接收機(jī)號,所以可通過此序號生成個人分配密鑰PDK(Personal DistributionKey)對SK加密,形成授權(quán)管理信息EMM。PDK由CA系統(tǒng)設(shè)備產(chǎn)生并嚴(yán)格控制,在接收端不能被用戶讀出。本文采用的方法是在接收端把PDK裝入FPGA芯片中,增加保密性。為了能提供不同級別、不同類型的服務(wù),一套CA系統(tǒng)往往為每個用戶分配好幾個PDK,來滿足豐富的業(yè)務(wù)需求。EMM是用戶管理信息和SK等通過PDK加密形成。用戶管理信息由服務(wù)商的用戶管理系統(tǒng)形成,包括用戶名稱、地址、智能卡號等。EMM平均每 8~10 s插入傳送流一次,以便新開機(jī)用戶解擾。解擾是加擾的逆過程,首先是用戶插入IC卡,輸入用戶密碼,如果密碼正確PDK就會對SK進(jìn)行解密;然后,由SK 對ECM解密出控制字CW。

  2 條件接收系統(tǒng)的FPGA實現(xiàn)

  FPGA(Field Programmable Gate Array)有豐富的觸發(fā)器和I/O口可以滿足完成CAS功能,開發(fā)周期短,可以反復(fù)修改,特別適合需不斷完善電路的開發(fā)階段。

  要實現(xiàn)CAS硬件設(shè)計,首先要理解程序特殊信息PSI。PSI能從多節(jié)目的TS流中找出所需要的節(jié)目碼流和條件接收信息等。PSI必須以一定的頻率不斷發(fā)送,至少20次/s,以便新開的接收機(jī)能及時解釋傳送流的性質(zhì)。PSI由4個表組成,包括:程序關(guān)聯(lián)表(PAT)、程序映射表(PMT)、網(wǎng)絡(luò)信息表(NIT)以及條件訪問表(CAT)。其中CAT和PMT與條件接收有關(guān)。條件接收信息EMM和ECM的位置是通過CAT和PMT中的條件訪問描述子確定。表1介紹了條件描述子[1]。

條件描述子

 

  EMM信息包的位置是通過CAT表中的描述子確定。ECM信息包的位置確定稍微復(fù)雜一些。當(dāng)在PES流層加擾,出現(xiàn)在PES流中ECM信息被反映到TS 流的PMT中,ECM的條件描述子就出現(xiàn)在PMT中。當(dāng)在TS層加擾,ECM不出現(xiàn)在PES流中,如果條件信息通過復(fù)接加入TS流,ECM的條件描述子就出現(xiàn)在PMT中;如果條件信息沒有通過復(fù)接加入TS流,確定ECM的位置可以有2種方法:一種方法是復(fù)接時在PMT中預(yù)先加入ECM條件描述子,用他確定 TS流中ECM的位置,本文就是采用這種方法;另一種方法是也用CAT中的條件描述子確定ECM信息包的位置,通過CA_system_ID辨別ECM和EMM。

   實現(xiàn)CAS時還要注意以下一些限制[2]:

  (1)僅在PES層或TS層加擾,不要兩層同時加擾。
  (2)加擾的PES包頭不允許超過184 B。
 ?。?)攜帶PES包的TS包,除了含有PES包尾的可以有自適應(yīng)域外,其他的不可以含有自適應(yīng)域。
  (4)PID等于MPEG-2規(guī)范的條件描述子CA_PID值的TS包,應(yīng)僅含有條件系統(tǒng)信息,不能攜帶其他信息。另一方面,條件信息不應(yīng)該出現(xiàn)在其他地方,例如自適應(yīng)域等。
 ?。?)在同一個TS中,兩個CA提供商不應(yīng)該使用相同的CA_PID。

  為了避免客戶端解擾設(shè)備太復(fù)雜,DVB(DigitalVideo Broadcasting)對在PES層加擾做了前3條限制;廣播數(shù)據(jù)跨越媒體邊界(例如從有線廣播到衛(wèi)星廣播)時需要新的CA信息替換原有的CA信息,為了靈活高效地進(jìn)行CA信息替換,DVB做了后2條限制。

  解擾只是加擾的逆過程,并且相對簡單,所以下面只對條件接收系統(tǒng)加擾過程的FPGA實現(xiàn)進(jìn)行討論。

  2.1 加擾器的實現(xiàn)

  加擾器在條件接收中是一個關(guān)鍵部分,他關(guān)系到整個系統(tǒng)的保密程度,所以需要一個安全性較高的加擾器。圖2所示加擾器是在FPGA內(nèi)部實現(xiàn):他是以可預(yù)置線性反饋寄存器(LFSR)為基礎(chǔ),與數(shù)據(jù)選擇器共同形成。4個LFSR的階數(shù)要求互質(zhì),每個LFSR的反饋多項式要求是本原的,這樣產(chǎn)生的偽隨機(jī)序列具有最大周期??偩€是控制碼發(fā)生器(一個偽隨機(jī)序列發(fā)生器)產(chǎn)生的選擇器控制碼,有8個抽頭并行輸出,每2位對應(yīng)一個選擇器的選擇端。每個選擇器的輸出是選出的4個LFSR反饋之一,作為與之相連的LFSR時鐘。這是Gollmann級連的改進(jìn)型,通過數(shù)據(jù)選擇消除了Gollmann級連易受鎖定攻擊的缺點(diǎn)。4個LSFR輸出的XOR(這是FPGA中的一個器件,當(dāng)輸入有奇數(shù)個1時輸出為1),除去LFSR的線性影響,通過數(shù)字選擇器選取這些XOR的輸出之一作為加擾序列的輸出。數(shù)字選擇器濾除了加擾器的代數(shù)特性避免相關(guān)(線性代數(shù))攻擊[3]。

加擾器

  選擇碼生成器可由CW產(chǎn)生器代替,CW一部分作為選擇器的選擇碼,一部分寫入4個可預(yù)置的LFSR。這樣,加擾器寄存器不是很多,周期又較長,達(dá)到節(jié)約硬件且保密程度較高的目的。

 

  2.2 條件接收發(fā)送端FPGA實現(xiàn)

  用戶管理信息需要PC機(jī)處理和保存,既然他是必須的,就可以在PC機(jī)中做些其他的事情,以便降低硬件的復(fù)雜度,增強(qiáng)信息的保密性。服務(wù)密約SK和控制字CW發(fā)生器初始值可以在PC機(jī)中通過偽隨機(jī)序列生成程序生成。在PC機(jī)中生成SK和CW初值的優(yōu)點(diǎn)就是程序容易改動,偽隨機(jī)序列周期可以足夠長,保密性高。

  在一些文獻(xiàn)中,ECM在PES層已經(jīng)加入,對于PES層加擾當(dāng)然很適合;但是對于TS層加擾,完成ECM包中含有的CW和寫入加擾器的CW一致性(實際就是加擾和解擾的同步)比較困難。采用ECM也在TS層加入,實現(xiàn)加解擾同步就容易得多。

  TS流是連續(xù)不斷的實時信號,條件信號并不可以任意加入其中。不過,TS流中存在大量的空包,可以通過空包替換的方法實現(xiàn)條件包的加入??瞻鎿Q器實際就是一個數(shù)據(jù)選擇器,在需要條件包的地方,讓條件包代替空包。

  ECM包PID寄存器存放從PMT中讀取的ECM包的PID,以便形成ECM包時利用。ECM包和EMM包的形成是給EMM和ECM加上包頭、PID和Table_id等。ECM包的Table_id有兩個,0x80和0x81,是為了方便接收端解擾,只有ECM包含新的CW時,他才發(fā)生變化。如果Table_id 沒發(fā)生變化,接受端就可以不處理這個ECM包,還用以前的CW。EMM只有一個時,可以把他放入CAT包;如果有多個時,可單獨(dú)形成EMM包,通過CAT 包中的描述子確定他的PID。其實,為了節(jié)約硬件,在加入TS流前條件包并不一定是一個完整的TS包,他包含必要的信息就行了。在代替空包時,有用信息代替空包中的前一部分,和余下的空包中內(nèi)容共同構(gòu)成TS包。SK信息變化很慢,EMM包和CAT包只需滿足剛開機(jī)用戶能迅速找到SK就行。ECM包替代空包比CAT包或EMM包嚴(yán)格的多,因為CW變化快,并且要使ECM包內(nèi)的CW和寫入加擾器的CW同步,以便保證正確解擾。

  CW的加密采用DES(Data Encryption Standard)算法,DES速度快,加密強(qiáng)度較高,硬件容易實現(xiàn),適合CW變化較快的要求。SK的加密采用RSA算法,RSA 算法速度比DES慢的多,硬件實現(xiàn)只是DES速度的千分之一,但是加密強(qiáng)度大。SK的變化頻率低,使用時間長,安全性要求高,RSA正好滿足這些要求。 TS流的加擾,采用上述的加擾器,通過加擾控制,使之不對條件包、私有數(shù)據(jù)包、空包、TS包頭、PID等不可加擾的數(shù)據(jù)進(jìn)行加擾。   

CAS發(fā)送端FPGA實現(xiàn)總體框圖

  3 結(jié)語    

  本文介紹了條件接收系統(tǒng)的基本原理,并提出一種復(fù)接和條件接收相分離的實現(xiàn)方法。這種方法使條件接收系統(tǒng)不受復(fù)接的約束,實現(xiàn)起來比較靈活,便于調(diào)試。并且這種結(jié)構(gòu)不僅可以對單節(jié)目TS流加擾,也可以對多節(jié)目TS流進(jìn)行加擾。采用空包替換,在TS層加入ECM條件包,容易實現(xiàn)加解擾的同步。在實現(xiàn)條件接收的過程中,設(shè)計出安全性較高的加擾器成功應(yīng)用于系統(tǒng),實現(xiàn)了信息的加、解擾。

  參考文獻(xiàn)

 ?。?]ISO/IEC13818-1-1996,information technology-generic of moving picture anda-ssociated audio information part1:systems[S].
  [2]DVBDocument A007.Support for use of scrambling and conditional access within digitalbroadcasting system[S].DVB ProjectOffice.28th February,1997.
 ?。?]Bruce Schneier.應(yīng)用密碼學(xué),協(xié)議,算法與C源程序[M].吳世忠,祝世雄,張文政,等譯.北京:機(jī)械工業(yè)出版社,2000.
 ?。?]Final Draft ETSI EN 300 468 V1.5.1-2003.Digital Video Broadcasting(DVB).Specification for Service Information(SI)in DVB systems[S].

 

 
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。